I am writing an embedded device driver for high-speed SD cards. Every command works great except CMD6 where I get a data CRC error.
I put the transaction on a logic analyzer and see 144*4-bits = 576 bits from the SD card. I was expecting 512 data +16 crc = 528-bits. Not sure why extra 48-bits (12 extra nibbles).
The first 512 bits match what I expected. The next 48-bits look like they contain information, but not sure what. The last 16 bits is the CRC for the previous 560 (512 expected + 48 extra) bits (I wrote a matlab script to calculate CRC16 on the captured data).
Any clues what the extra 48 bits are? Or what I may be doing wrong.