HCS12X單片機(jī)的SD卡FAT文件系統(tǒng)讀寫設(shè)計(jì)[3]

終端與業(yè)務(wù) 責(zé)任編輯:kaixiu 2010-11-19

摘要:3.2HCSl2XSPl模塊初始化MC9S12XSl28MAA單片機(jī)包含2個(gè)串行外設(shè)接口SPI,可以很方便地實(shí)現(xiàn)對(duì)MicroSD卡接口的數(shù)據(jù)傳輸。為了配置時(shí)鐘和數(shù)據(jù)長(zhǎng)度,需要對(duì)SPI控制寄存器(SPCRl和SPICR2)、SPI波特率寄存器SPIBR和SPI數(shù)據(jù)寄存器SPIDR進(jìn)行設(shè)置:使能SPI模塊,將SPICRl中的MSTR位置1使單片機(jī)工作在主機(jī)模式,產(chǎn)生串行時(shí)鐘來(lái)同步主從

  3.2 HCSl2XSPl模塊初始化

  MC9S12XSl28MAA單片機(jī)包含2個(gè)串行外設(shè)接口SPI,可以很方便地實(shí)現(xiàn)對(duì)Micro SD卡接口的數(shù)據(jù)傳輸。為了配置時(shí)鐘和數(shù)據(jù)長(zhǎng)度,需要對(duì)SPI控制寄存器(SPCRl和SPICR2)、SPI波特率寄存器SPIBR和SPI數(shù)據(jù)寄存器SPIDR進(jìn)行設(shè)置:使能SPI模塊,將SPICRl中的MSTR位置1使單片機(jī)工作在主機(jī)模式,產(chǎn)生串行時(shí)鐘來(lái)同步主從雙方的移位寄存器,配置SPI時(shí)鐘極性位與SPI時(shí)鐘相位控制位,使能從機(jī)輸出選擇;初始化SPI波特率寄存器。

  3.3 SD卡初始化

  SD卡初始數(shù)據(jù)傳輸需工作在低于400 kb/s的頻率,因此配置SPI波特率寄存器,以工作在低速模式下。片選信號(hào)后應(yīng)延時(shí)至少74個(gè)時(shí)鐘周期。SD卡默認(rèn)缺省使用SD總線傳輸協(xié)議,主機(jī)需要發(fā)出命令CMDO(CMD_GO_IDLE_STATE)才能使SD卡工作在SPI傳輸模式下,當(dāng)單片機(jī)返回0x 01時(shí)說(shuō)明已經(jīng)進(jìn)入了IDLE狀態(tài)。此時(shí)應(yīng)循環(huán)發(fā)送CMD55+ACMD41以確認(rèn)是否為SD卡,如果回應(yīng)超時(shí)則發(fā)送CMDl(CMD_SEND_OP_COND)以確認(rèn)是否為MMC卡。經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),Kingston公司的Micro SD卡使用CMD55+ACMD41或者CMDl都可以進(jìn)行激活。激活SD卡的SPI模式后SD卡進(jìn)入準(zhǔn)備狀態(tài),此時(shí)發(fā)送CMDl6(CMD_SET_BLOCKLEN)設(shè)置SD卡的讀寫塊大小,然后重新配置SPI波特率寄存器SPIBR使單片機(jī)SPI工作在高速頻率下,延時(shí)8個(gè)時(shí)鐘周期后返回,完成SD卡初始化。圖2為SD卡SPI高速模式初始化流程。

  3.4讀寫單塊數(shù)據(jù)

  SD卡單塊數(shù)據(jù)的讀取是先通過(guò)單片機(jī)發(fā)送CMDl7(CMD_READ_SINGLE_BLOCK)命令,以SD卡指定數(shù)據(jù)塊起始位地址作為參數(shù),如果讀取成功SD卡會(huì)返回1個(gè)R1命令作為響應(yīng)。然后發(fā)送1個(gè)起始數(shù)據(jù)命令,接著發(fā)送單塊字節(jié)數(shù)量的數(shù)據(jù)并接收SPI數(shù)據(jù)寄存器SPIDR中的數(shù)據(jù),最后是2字節(jié)CRC校驗(yàn)。

  SD卡單塊數(shù)據(jù)的寫入與讀取相似,通過(guò)單片機(jī)發(fā)送CMD24(CMD_WRITE_SINGLE_BLOCK)命令,以SD卡指定數(shù)據(jù)塊起始位地址作為參數(shù),如果讀取成功SD卡會(huì)返回1個(gè)R1命令作為響應(yīng)。然后發(fā)送1個(gè)起始數(shù)據(jù)命令,接著發(fā)送單塊字節(jié)數(shù)量的需寫入數(shù)據(jù),最后是2字節(jié)CRC校驗(yàn)。

[1]  [2]  [3]  [4]  [5]  [6]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

通信工程師備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

距離2025 通信工程師考試

還有
  • 3
  • 1
  • 3
專注在線職業(yè)教育23年

項(xiàng)目管理

信息系統(tǒng)項(xiàng)目管理師

廠商認(rèn)證

信息系統(tǒng)項(xiàng)目管理師

信息系統(tǒng)項(xiàng)目管理師

學(xué)歷提升

!
咨詢?cè)诰€老師!