新聞中心

SD卡接口設(shè)計(jì)

作者: 時(shí)間:2011-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
3.2 底層SPI通信
底層的SPI通信是實(shí)現(xiàn)最終讀寫(xiě)的關(guān)鍵。由于MCF51QE128自帶SPI硬件,因此只需要讀寫(xiě)SPI數(shù)據(jù)寄存器的值。這里自定了byte、word和dword三種數(shù)據(jù)類(lèi)型,分別對(duì)應(yīng)于8位、16位和32位數(shù)據(jù)。代碼如下:

本文引用地址:http://2s4d.com/article/150041.htm


3.3 卡的通用寫(xiě)命令
由于卡的命令具有統(tǒng)一的格式,因此可以用一個(gè)通用的寫(xiě)命令函數(shù)來(lái)實(shí)現(xiàn)所有命令的發(fā)送。另外,考慮到多數(shù)命令的響應(yīng)類(lèi)型都是R1,這里的通用寫(xiě)命令函數(shù)所接收的響應(yīng)類(lèi)型默認(rèn)為R1。函數(shù)代碼如下:


3.4 卡的初始化
SD卡的初始化要遵循一定的步驟。首先將SPI時(shí)鐘降低到400 kHz,等待至少74個(gè)時(shí)鐘周期。接著拉低片選信號(hào),并發(fā)送CMD0命令,對(duì)SD卡進(jìn)行復(fù)位并使其進(jìn)入SPI模式,這里需要正確的CRC校驗(yàn),校驗(yàn)字節(jié)為0x95。若SD卡進(jìn)入空閑狀態(tài)(即接收響應(yīng)為0x01時(shí)),則發(fā)送CMD1命令,激活卡的初始化過(guò)程,此時(shí)響應(yīng)為0x00。然后設(shè)置塊的長(zhǎng)度,一般為512字節(jié)。最后將片選拉高并將SPI時(shí)鐘設(shè)為最大值,以保證最大的讀寫(xiě)速度。SD卡初始化過(guò)程如圖3所示。

SD卡初始化代碼如下:



關(guān)鍵詞: 設(shè)計(jì) 接口 SD

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉