我在嵌入式设计中使用microSD卡。该卡使用SPI接口连接到微控制器。对于之前使用过的所有卡片都可以正常工作,但现在我的新卡片不会初始化。该卡是Transcend 2 GB microSD卡(TS2GUSD)。使用SPI接口初始化microSD卡
发送初始时钟串切换到SPI模式后,我执行以下操作:
CMD0(参数0,CRC位0x95) - >响应0×01 - >行
CMD8(参数0x000001AA,CRC×87) - >响应0×01 0x000001AA - >意味着它是SDC V2 +卡,电压范围2.7 N - 3.6 V的支持 - >确定
然后我应该发送ACMD41命令,但是当发送必须位于CMD41之前的CMD55(参数0,CRC 0)时,我得到响应0x05 - >非法命令。 我也试过发送CMD1(对于MMC卡),但它给出了类似的非法命令的回应。该代码适用于我的Sandisk 2 GB microSD卡。
我该如何解决这个问题?
不错!好,你把问题挖出来了......我只是惊呆了,因为接缝指出USB读卡器不使用组合命令。 您可以/应该将您的答案标记为正确答案。 BTW,sandisk,transcent等没有半导体代工厂...他们为他们的产品提供控制器和数字设计服务(他们实际上并没有制造芯片) – jpinto3912 2009-06-08 17:21:19
我必须等待48小时才能将我的答案标记为正确因为某些原因。 我认为USB读卡器会使用“真正的”SD存储卡协议“接口(具有更高的速度),在这种模式下,你必须使用CRC,并且可能没有问题 – Ron 2009-06-09 10:33:14