由外部總線(xiàn)訪(fǎng)問(wèn)MPC5554的內部存儲器
3 系統設計
3.1 硬件設計
主芯片使用處理器MPC5554,其內部Flash有2 MB,通過(guò)EBI模塊進(jìn)行外部訪(fǎng)問(wèn)。外部主機使用Altera公司生產(chǎn)的Cyclone II系列FPGA芯片EP2C35F672,芯片的I/O資源豐富,選用的672引腳封裝最大可用I/O為475個(gè),對于I/O需求很多的應用非常適合。EP2C35F672的33 216個(gè)LE單元,105個(gè)M4K的RAM塊,可以滿(mǎn)足較高要求的應用。
電路板上的電源種類(lèi)較多,MPC5554需要有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處生成。
根據圖1所示的連接,將MPC5554的EXTAL、TS、TSIZ[0:1]、ADDR[8:31]、DATA[O:31]、RD_WR、BR、BG、BB、TA、TEA等信號線(xiàn)全部接至FPGA的I/O處,其中EXTAL需要引至FPGA的PLL輸出口作為外部輸入時(shí)鐘,其余的都接至普通I/O。
為了方便調試及觀(guān)察結果,將MPC5554的1路SCI接口引出,通過(guò)MAX3232電平轉換至RS232電平,然后連至PC上的串口,使用超級終端程序進(jìn)行觀(guān)察。
3.2 軟件設計
軟件的設計需要MPC5554與FPGA協(xié)同工作。首先需要將MPC5554配置為外主模式,在MPC5554的EBI模塊里共有2個(gè)主要的配置寄存器,分別是EBI模塊配置寄存器EBI_MCR和EBI總線(xiàn)監控寄存器EBI_BMCR。
EBI模塊配置寄存器負責整個(gè)模塊的基礎配置,MDIS位控制EBI模塊是否啟用,EXTM位配置EBI是否為外主模式,DBM位控制。EBI為32位或16位數據總線(xiàn),EARP[O:1]用來(lái)設置總線(xiàn)請求的優(yōu)先級。
EBI總線(xiàn)監控寄存器負責對總線(xiàn)監測控制,BMT[O:7]位為總線(xiàn)監測的超時(shí)周期,BME位控制總線(xiàn)監測的使能。
另外,還有一個(gè)總線(xiàn)傳輸錯誤狀態(tài)寄存器EBI_TESR,TEAF位為傳輸錯誤標志位,BMTF為總線(xiàn)監測超時(shí)標志位。
EBI模塊的初始化程序為:
在讀取操作時(shí),EBI模塊在接收到FPGA發(fā)來(lái)的地址信息后,返回相應地址的數據信息;在寫(xiě)入操作時(shí),EBI模塊根據FPGA發(fā)來(lái)的地址信息,將數據信息寫(xiě)入相應地址。根據圖2~圖5的流程與時(shí)序,作為外部主機的FPGA起到發(fā)起數據傳輸并結束的作用。FPGA部分使用VHDL語(yǔ)言,只附上結構體里的process部分。
結 語(yǔ)
本文所述的基于MPC5554和FPGA的測試系統已調試完成,MPC5554內部的Flash存儲器可以通過(guò)EBI模塊由外部的FPGA進(jìn)行讀寫(xiě)。與外掛的存儲器相比,通信讀/寫(xiě)速度和系統的可靠性都大大提高。在實(shí)際應用中,其他處理器也可以像文中的FPGA一樣模擬總線(xiàn)時(shí)序。當應用中不需要數據傳輸時(shí),也可將連接配置為普通I/0以作他用,硬件配置靈活。
評論