天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

HCS12X單片機的SD卡FAT文件系統讀寫設計[3]

終端與業務 責任編輯:kaixiu 2010-11-19

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

  3.2 HCSl2XSPl模塊初始化

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

  3.3 SD卡初始化

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

  3.4讀寫單塊數據

  SD卡單塊數據的讀取是先通過單片機發送CMDl7(CMD_READ_SINGLE_BLOCK)命令,以SD卡指定數據塊起始位地址作為參數,如果讀取成功SD卡會返回1個R1命令作為響應。然后發送1個起始數據命令,接著發送單塊字節數量的數據并接收SPI數據寄存器SPIDR中的數據,最后是2字節CRC校驗。

  SD卡單塊數據的寫入與讀取相似,通過單片機發送CMD24(CMD_WRITE_SINGLE_BLOCK)命令,以SD卡指定數據塊起始位地址作為參數,如果讀取成功SD卡會返回1個R1命令作為響應。然后發送1個起始數據命令,接著發送單塊字節數量的需寫入數據,最后是2字節CRC校驗。

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

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

通信工程師備考資料免費領取

去領取

專注在線職業教育25年

信息系統項目管理師

信息系統項目管理師

信息系統項目管理師

!
咨詢在線老師!