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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于Avalon總線的SD卡讀寫控制器的設計

          基于Avalon總線的SD卡讀寫控制器的設計

          作者: 時間:2011-04-11 來源:網(wǎng)絡 收藏

          5 系統(tǒng)硬件設計
          為了驗證,在DE2開發(fā)平臺上搭建了最基本的硬件系統(tǒng),主要包括:NiosⅡ處理器,PLL鎖相環(huán),片上RAM,JTAG UART和自定義的。NiosⅡ作為系統(tǒng)主,PLL用來產(chǎn)生SD卡讀/寫所需的時鐘信號,片上RAM用來存儲代碼和數(shù)據(jù),JTAG UART主要用來調(diào)試,打印數(shù)據(jù)到控制臺驗證寫入的數(shù)據(jù)和讀出的數(shù)據(jù)是否相同。
          硬件系統(tǒng)的建立主要利用Altera公司QuartusⅡ開發(fā)工具以及其集成的SoPC Builder完成的,關鍵在于如何用SoPC Builder將控制器添加到元件列表中。在SoPC Builder提供的圖形化的界面下,添加控制器Verilog源程序后,設置控制器中各信號在-MM中的信號類型等,圖2即為添加好的SD卡讀寫控制器。

          本文引用地址:http://www.ex-cimer.com/article/191242.htm


          圖2中,各引腳的描述如下:
          base_clock:控制器輸入時鐘,該設計采用PLL產(chǎn)生的25MHz時鐘信號;
          clk_to_SD:SD卡時鐘信號輸入;
          cmd_SD:SD卡命令,響應輸入/輸出信號;
          data_SD:SD卡數(shù)據(jù)信號。
          根據(jù)SD控制器的寄存器映射,在Nios IDE中編寫C程序控制SD卡控制器進行讀/寫操作,下面代碼為寫SD卡的一段程序,讀SD卡的的過程與其類似。

          讀/寫完一個扇區(qū)后,控制器會產(chǎn)生一個中斷,此時即可進行下一次讀/寫操作。由于SD卡讀/寫有比較復雜的時序要求,命令、響應眾多,在設計的初期,采用Modelsim做了各方面的功能仿真,功能仿真完成后采用QuartusⅡ自帶的SignalTapⅡ邏輯分析儀來測試
          分析內(nèi)部邏輯的工作狀態(tài),SignalTapⅡ使用簡單方便,更重要的是可以實時觀測內(nèi)部信號變化,而且可以設置觸發(fā)條件,大大提高了開發(fā)的效率。圖3是用SignalTapⅡ邏輯分析儀捕捉到的波形。


          圖3中,status_reg為狀態(tài)寄存器,00000900表明卡已處于就緒狀態(tài),control_reg為控制寄存器,00000001H表明已經(jīng)開始了一次對扇區(qū)0的寫傳輸,mread的上升沿即開始了Master端口的讀傳輸,這里的讀指的是將內(nèi)存中buf數(shù)組中的數(shù)據(jù)讀入控制器,再由控制器寫入SD卡中,waitrequest為等待信號,高電平時無法進行數(shù)據(jù)傳輸,waitrequest無效后可以很明顯地看到000000DFH由Master端口讀入控制器,再由讀寫控制邏輯寫入SD卡。

          6 結語
          該設計采用SoPC技術實現(xiàn)了SD卡讀寫控制器,通過NiosⅡ處理器控制實現(xiàn)了SD卡讀/寫。由于該控制器根據(jù)接口規(guī)范進行開發(fā),可以很方便以IP核的形式集成到其他SoPC系統(tǒng)中,簡單實現(xiàn)SD卡的讀/寫,大大降低了開發(fā)成本和難度。本文所設計的SD卡讀寫控制器還有一大優(yōu)點就是具有Master端口,可以自主完成數(shù)據(jù)的讀/寫,無需CPU的干預,另外采用了中斷,降低了響應延時,提高了讀/寫速率。該設計滿足了大部分數(shù)據(jù)存儲需求,適用于工業(yè)監(jiān)測控制,一般消費類電子產(chǎn)品等。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();