<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的SD卡FAT文件系統(tǒng)讀寫設(shè)計(jì)

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

          作者: 時(shí)間:2011-11-18 來源:網(wǎng)絡(luò) 收藏

          2 硬件設(shè)計(jì)
          有2種操作模式:模式、SPI模式。模式允許通過4線高速總線傳輸,但由于大部分單片機(jī)無此接口模塊,故選擇SPI模式。HCSl2X系列單片機(jī)內(nèi)部都帶有此同步串行外部設(shè)備接口(Serial Peripheral Interface,SPI)。單片機(jī)可以通過SPI系統(tǒng)組成一個(gè)通信速率比SCI高的同步網(wǎng)絡(luò),故使用SPI模式可以把外設(shè)減少到最低。SPI模式相對(duì)于SD卡模式的缺點(diǎn)是損失了傳輸速度;但是目前的微處理器的處理速度越來越高,利用SPI模式大都能滿足工程需要。
          的全雙工8位有4個(gè)引腳,分別為主入從出引腳MISO、主入從出引腳MOSI、串行時(shí)鐘引腳SCK以及從機(jī)片選引腳SS。當(dāng)CS信號(hào)線為低電平時(shí),主機(jī)開始所有的總線傳輸。數(shù)據(jù)從單片機(jī)的MOSI引腳同步輸入 SD卡的DA引腳, SD卡返回?cái)?shù)據(jù)由DO線同步輸入單片機(jī)的MISO引腳,數(shù)據(jù)在CLK信號(hào)的上升沿同步輸入和輸出。

          3 軟件設(shè)計(jì)
          3.1 HCSl2X總線時(shí)鐘超頻
          MC9S12XSl28MAA默認(rèn)總線時(shí)鐘默認(rèn)同外接晶振相關(guān),但可以通過配置PLL鎖相環(huán)實(shí)現(xiàn)單片機(jī)總線超頻,從而加快SD卡讀取速率。實(shí)驗(yàn)中可通過下列代碼將單片機(jī)總線頻率超頻到80MHz:

          c.JPG

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

          b.JPG

          51單片機(jī)相關(guān)文章:51單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理


          晶振相關(guān)文章:晶振原理
          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();