3.4 SD卡的初始化
SD卡的初始化要遵循一定的步驟。首先將SPI時鐘降低到400 kHz,等待至少74個時鐘周期。接著拉低片選信號,并發(fā)送CMD0命令,對SD卡進行復位并使其進入SPI模式,這里需要正確的CRC校驗,校驗字節(jié)為0x95。若SD卡進入空閑狀態(tài)(即接收響應為0x01時),則發(fā)送CMD1命令,激活卡的初始化過程,此時響應為0x00。然后設置塊的長度,一般為512字節(jié)。最后將片選拉高并將SPI時鐘設為最大值,以保證最大的讀寫速度。SD卡初始化過程如圖3所示。
SD卡初始化代碼如下:
3.5 SD卡單塊數(shù)據(jù)讀寫
SPI模式支持單塊和多塊數(shù)據(jù)的讀寫操作,可通過發(fā)送相應的命令來實現(xiàn)。讀單塊數(shù)據(jù)的操作過程如圖4所示。拉低片選后,首先由主控制器MCF51QE128發(fā)送讀單塊數(shù)據(jù)命令CMD17,然后等待SD卡的響應。當收到數(shù)據(jù)塊開始標志0xfe后,開始從SD卡讀取512字節(jié)的數(shù)據(jù),最后讀取2字節(jié)的CRC校驗位。
讀單塊數(shù)據(jù)的函數(shù)代碼如下:
寫單塊數(shù)據(jù)的操作過程與讀操作類似,如圖5所示。拉低片選后同樣由主控制器MCF51QE128發(fā)送寫單塊數(shù)據(jù)命令CMD24,SD卡正確響應后發(fā)送數(shù)據(jù)塊開始標志0xfe,接著發(fā)送512字節(jié)數(shù)據(jù)塊和2字節(jié)CRC校驗。
寫入數(shù)據(jù)后,SD卡會發(fā)送1字節(jié)的數(shù)據(jù)響應來反饋數(shù)據(jù)寫入的情況,其格式如圖6所示。當數(shù)據(jù)正確寫入SD卡后,數(shù)據(jù)響應為0x05。最后讀數(shù)據(jù)總線,寫數(shù)據(jù)忙時等待,直到總線為高電平。
寫單塊數(shù)據(jù)的函數(shù)代碼如下:
結(jié) 語
SD卡是目前廣泛應用的可擦除的大容量存儲設備,其接口設計可作為各類嵌入式系統(tǒng)中存儲單元的一般解決方案。本文結(jié)合SD卡標準的相關(guān)技術(shù),基于MCF51QE128微控制器完成了硬件接口和底層通信軟件的設計。在此基礎上,可進一步構(gòu)建文件系統(tǒng),實現(xiàn)對存儲數(shù)據(jù)更有效的管理。
【本文標簽】: 多層 pcb 多層PCB面板 沉金板 公司設備
【責任編輯】:鼎紀電子PCB??? 版權(quán)所有:http://ai-hots.com/轉(zhuǎn)載請注明出處
掃一掃更精彩!
2001-2018 深圳鼎紀電子有限公司 版權(quán)所有
粵ICP備16081348號
全國服務熱線:0755-27586790
24小時銷售熱線:18025855806|18682125228
地址:深圳市寶安區(qū)西鄉(xiāng)黃崗嶺工業(yè)區(qū)灣區(qū)人工智能產(chǎn)業(yè)園B棟605
深圳鼎紀電子有限公司:單面PCB板