嵌入式


SD卡信号

<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/d45399f389f762d6ca1e3ac8eb5b4ed7?showdoc=.jpg" alt="" /> <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a3aa145bdff1943ff648ff7dd8f58420?showdoc=.jpg" alt="" /></p> <h3>SD卡相关寄存器</h3> <p>SD卡内部有7个寄存器,其中OCR,CID,CSD和SCR寄存器保存卡的配置信息;RCA寄存器保存着通信过程中卡当前暂时分配的地址;卡状态(Card Status)和SD状态(SD Status)寄存器保存着卡的状态,这两个寄存器的内容与通信模式(SD模式或SPI模式)相关 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/4290492ed25b372aae3f9bb1315b92a5?showdoc=.jpg" alt="" /></p> <h4>命令传输</h4> <p>命令是用于启动操作的令牌。命令在<code>CMD</code>线上以串行的方式传输。所以命令都为固定长度48位。命令路径以半双工模式运行,因此可以发送和接收和响应。 最大支持64个命令:<code>CMD0~CMD63</code>(其中<code>CMD57~63</code>是保留的),另外还有<code>ACMD</code>应用命令。 (本章不打算详细介绍SD各条命令的含义,而且我们编写程序的时候也不会用到,只需大概了解一下即可) <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/3304859bb19557631f0117da39f4385f?showdoc=.jpg" alt="" /> <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/98c5abc3ea04695aa05ef8bf32b57502?showdoc=.jpg" alt="" /> 响应是一个令牌,作为对先前接收命令的应答,从卡发送到主机,响应在CMD线上以串行方式传输。 SDMMC支持两种响应类型,48位短响应和136位长响应。两种类型均使用CRC错误检验。 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/39988c64a043f11683797a83ab5eac51?showdoc=.jpg" alt="" /></p> <h4>数据传输</h4> <p>SD的读写操作是以块为操作对象。先发送命令开始传输,然后传输数据块,传输完数据块紧接着传输CRC检验值。最好发送停止命令停止数据传输。 <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/75b1c7fffd6fd2f249541b317a170dae?showdoc=.jpg" alt="" /></p> <h5>SD卡识别流畅图和数据传输流程图:</h5> <p>(本章不打算详细介绍SD的状态图,编写程序的时候也不会用到,只需大概了解一下即可) <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/bc067121c948d23635762ceede70f855?showdoc=.jpg" alt="" /> <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/609634839c1c1c6d926fbb685d10d183?showdoc=.jpg" alt="" /></p>

页面列表

ITEM_HTML