您可以在SPI模式下使用SD卡时在读取的块中间取消CS设置吗?

问题描述 投票:0回答:1

我的微控制器缓冲区有限,因此,不是读取整个扇区,而是尝试从SD卡上的扇区读取N个字节,然后将这N个字节发送到目标设备(FPGA),然后重复执行直到整个扇区都被读取。为此,我必须将片选(CS)置为无效,然后将CS置为FPGA。当我在SD卡上重新设置CS时,似乎无法从该扇区读取更多数据,因此我想知道是否通过取消CS来终止SD卡上的该事务。不过,似乎找不到CS规范来证明这一点。

fpga avr spi
1个回答
1
投票

[当您首次声明CS时,SD卡(以及我使用过的所有其他SPI设备)期望开始新的事务。 CS首先声明的时钟用作同步点,没有它,它将只是一个无限的比特流,并且需要某种替代的同步方法。规范可能没有明确地说断言CS会终止事务,但是断言它会启动一个新事务这一事实意味着。

我认为标准容量SD(SDSC)卡可以让您读取小于512字节的块。这将限制您可以使用的卡,但如果可以接受,则可以考虑。否则,最好的选择(不修改硬件)可能是根据需要反复读取该块。

© www.soinside.com 2019 - 2024. All rights reserved.