I'm working with the MK64FN1M and I am having issues with SDIO block transfers using CMD53 (command). Up till now I have had no problems sending commands and byte transfers. I am using 1-bit at 400 KHz baud, 1 block, 128 bytes, 128 >> 2 for the watermark, and card detect disabled on both ends.
I've connected a scope and can confirm that data is being sent and received on the SDIO DAT0 pin. I can also confirm that the command sent is correct on the command pin and that the data transmitted or received is the correct binary data that I am sending or expecting to receive.
The issue is that the data being sent is only around 14 bytes + the 2 byte CRC. When receiving data, again, the clock only runs long enough to receive 16 bytes and afterwards the IC holds the data line low.
Is this a flaw in the MK64FN1M0VLL12? Am I missing anything or is there a workaround?
Solved! Go to Solution.
DRAT! Mistakenly had the MCU configured for 4-pin and the IC configured for 1-pins.
Hi, Nate Sigrist.
I'm working with the MK60DN512ZVLQ10 and I am having troubles with SDIO block transfers using CMD53 (command). The Problem is that when I send CMD53 for block transfers, the device can't return the data. However, I can use CMD52 to read/write single data successfully. Could you send me your sdio.c/sdio.h file as reference?Thank you very much.
My e-mail is andy_xuchao@163.com.
Here is a screen shot of MK64FN1M0VLL12 sending a block read request to an IC followed by the IC sending block data over the data line (green)
Here is a screen shot of the MK64FN1M0VLL12 sending a block write request to an IC followed by the MCU sending block data over the data line (green)
DRAT! Mistakenly had the MCU configured for 4-pin and the IC configured for 1-pins.