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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 由外部總線訪問MPC5554的內部存儲器

          由外部總線訪問MPC5554的內部存儲器

          作者: 時間:2009-03-24 來源:網(wǎng)絡 收藏

          3 系統(tǒng)設計
          3.1 硬件設計

          主芯片使用處理器,其Flash有2 MB,通過EBI模塊進行主機使用Altera公司生產(chǎn)的Cyclone II系列FPGA芯片EP2C35F672,芯片的I/O資源豐富,選用的672引腳封裝最大可用I/O為475個,對于I/O需求很多的應用非常適合。EP2C35F672的33 216個LE單元,105個M4K的RAM塊,可以滿足較高要求的應用。
          電路板上的電源種類較多,需要有5 V、3.3V、1.5 V供電,EP2C35F672需要3.3 V和1.2 V供電,輸入則為5 V。采用2片LT1765將5 V轉換至3.3 V和1.2 V,1.5 V則利用NJD2783從3.3 V處生成。
          根據(jù)圖1所示的連接,將的EXTAL、TS、TSIZ[0:1]、ADDR[8:31]、DATA[O:31]、RD_WR、BR、BG、BB、TA、TEA等信號線全部接至FPGA的I/O處,其中EXTAL需要引至FPGA的PLL輸出口作為外部輸入時鐘,其余的都接至普通I/O。
          為了方便調試及觀察結果,將MPC5554的1路SCI接口引出,通過MAX3232電平轉換至RS232電平,然后連至PC上的串口,使用超級終端程序進行觀察。
          3.2 軟件設計
          軟件的設計需要MPC5554與FPGA協(xié)同工作。首先需要將MPC5554配置為外主模式,在MPC5554的EBI模塊里共有2個主要的配置寄存器,分別是EBI模塊配置寄存器EBI_MCR和EBI監(jiān)控寄存器EBI_BMCR。
          EBI模塊配置寄存器負責整個模塊的基礎配置,MDIS位控制EBI模塊是否啟用,EXTM位配置EBI是否為外主模式,DBM位控制。EBI為32位或16位數(shù)據(jù),EARP[O:1]用來設置請求的優(yōu)先級。
          EBI總線監(jiān)控寄存器負責對總線監(jiān)測控制,BMT[O:7]位為總線監(jiān)測的超時周期,BME位控制總線監(jiān)測的使能。
          另外,還有一個總線傳輸錯誤狀態(tài)寄存器EBI_TESR,TEAF位為傳輸錯誤標志位,BMTF為總線監(jiān)測超時標志位。
          EBI模塊的初始化程序為:


          在讀取操作時,EBI模塊在接收到FPGA發(fā)來的地址信息后,返回相應地址的數(shù)據(jù)信息;在寫入操作時,EBI模塊根據(jù)FPGA發(fā)來的地址信息,將數(shù)據(jù)信息寫入相應地址。根據(jù)圖2~圖5的流程與時序,作為外部主機的FPGA起到發(fā)起數(shù)據(jù)傳輸并結束的作用。FPGA部分使用VHDL語言,只附上結構體里的process部分。

          結 語
          本文所述的基于MPC5554和FPGA的測試系統(tǒng)已調試完成,MPC5554的Flash可以通過EBI模塊由外部的FPGA進行讀寫。與外掛的相比,通信讀/寫速度和系統(tǒng)的可靠性都大大提高。在實際應用中,其他處理器也可以像文中的FPGA一樣模擬總線時序。當應用中不需要數(shù)據(jù)傳輸時,也可將連接配置為普通I/0以作他用,硬件配置靈活。


          上一頁 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); })();