基于CC2530的SDHC卡讀寫(xiě)設(shè)計(jì)
2 軟件設(shè)計(jì)
2.1 SDHC卡初始化程序設(shè)計(jì)
為完成SDHC卡的上電過(guò)程,CC2530必須向SDHC卡發(fā)送至少74個(gè)時(shí)鐘周期,之后SDHC卡會(huì)自動(dòng)進(jìn)入SD總線模式。若在SD總線模式下,使片選信號(hào)CS處于低電平狀態(tài),向SDHC卡發(fā)送復(fù)位命令(CMD0),SDHC卡將進(jìn)入SPI總線模式,否則SDHC卡工作在SD總線模式。SDHC卡進(jìn)入SPI工作模式之后,使用CMD8命令識(shí)別卡的版本,然后主機(jī)不斷地向SDHC卡發(fā)送命令A(yù)CMD41(CMD55與CMD41的組合),使卡處于空閑狀態(tài),最后通過(guò)CMD58命令區(qū)別是標(biāo)準(zhǔn)容量卡還是大容量卡。SPI模式的一般初始化流程如圖2所示。本文引用地址:http://m.butianyuan.cn/article/160672.htm
CMD指令是6字節(jié)指令,第1字節(jié)高兩位分別為起始位(對(duì)應(yīng)0)、傳輸位(對(duì)應(yīng)1),剩余6位為命令號(hào),如CMD0的命令號(hào)為000000,合起來(lái)第1字節(jié)就是40H。因?yàn)镾PI模式是無(wú)需CRC校驗(yàn)位的,所以在CMD0與CMD8之后的CMD命令,是無(wú)需關(guān)心CRC校驗(yàn)位的。命令的具體內(nèi)容見(jiàn)表1所列。
評(píng)論