基于SoPC的多路傳輸數據總線接口的設計需求是在板級多路傳輸數據總線接口模塊的基礎上提出的,通過對板級器件的IP化,將原有板上芯片以IP的形式集成到FPGA中,用單片集成電路實現原板級電路的設計。根據板級多路傳輸數據總線接口模塊的系統結構,提出了如圖4所示的基于SoPC的嵌入式系統架構圖,該嵌入式系統集成了PowerPC405處理器、串行通信總線協議處理器,具有實時時鐘(RTC) 、看門狗(WDT) 、計時器( TIMER)功能,可實現GJB289A-97(數字式時分制指令/響應型多路傳輸數據總線)中規定的RT/BC功能,支持實現ISBC協議(改進的靜態總線控制協議) ,通過方式選擇分別支持LBE總線訪問、VME總線訪問、PC I總線訪問(通過PLX9054 橋接器) 、PCI-Express總線訪問(通過PEX8311橋接器)四
種主機接口訪問方式。
硬件設計過程中,系統設計者在XPS圖形界面下調用現成的IP庫,搭建SoPC的硬件環境,通過硬件平臺產生器(p latgen)生成硬件文件,其中PowerPC405處理器、雙口存儲器、SRAM、串行通信總線協議處理單元掛接在PLB總線上;實時時鐘(RTC) 、看門狗(WDT) 、計時器(TIMER) 、外部總線接口( EB I) 、通用輸入輸出接口( GPIO) 、串口控制器(UART)掛接在OPB 總線上;通用中斷控制器(UIC) 、仲裁器和PLB /OPB 橋的寄存器通過DCR總線訪問。硬件架構搭建起后通過硬件仿真模型產生器( SimGen)對硬件的功能進行仿真。
?
2. 3 軟件設計
基于SoPC的嵌入式系統軟件設計過程中,軟件設計者要明確嵌入式系統的相關硬件配置,諸如內存地址映射關系,硬件寄存器配置等,這將決定開發出的嵌入式軟件是否具備實用性。嵌入式軟件的設計通常包括CPU啟動代碼,系統初始化代碼,硬件自測試程序,設備驅動程序,實時操作系統及應用軟件等,根據不同的系統需求,軟件包含的內容稍有差異。軟件設計階段,設計者將選擇出編譯和調試工具并完成編程。
基于SoPC的多路傳輸數據總線接口的軟件由初始化程序、自測試程序、BC /RT控制程序組成。基于SoPC的嵌入式軟件開發是在EDK環境下采用C語言編程實現的,通過軟件平臺產生器( libgen) 、應用軟件編譯工具(GNU Compiler)編譯連接得到可執行文件,該文件可與生成的硬件位流文件通過JTAG接口一起下載到FPGA 運行,也可先將位流文件固化到外部PROM中,應用軟件的可執行文件轉換成二進制文件固化到外部FLASH中,系統上電后自動加載硬件邏輯并將應用軟件搬家到SRAM運行。各部分軟件完成如下的功能:初始化程序完成CPU初始化及相關功能單元的初始化;自測試程序完成系統的上電自測試和內部自檢; BC /RT控制程序完成該嵌入式系統作為BC或RT時的數據傳輸控制?;赟oPC的嵌入式系統硬件設計和軟件設計可以并行開展,利用軟硬件協同設計的思想,可加快整個嵌入式設計的速度。
2. 4 測試驗證
基于SoPC的嵌入式系統設計的測試驗證用來保證系統不存在軟件和硬件上的缺陷。軟件測試驗證旨在通過執行軟件并觀察其行為是否滿足設計要求,而硬件測試驗證則包括了確保硬件能夠對外在的激勵作出正確的響應并能正確的執行軟件。
基于SoPC的多路傳輸數據總線接口中復雜的軟硬件結構及其種類繁多的IP資源,使得該系統的測試驗證工作也變得復雜。在測試驗證過程中,采用多級測試驗證技術,首先對各單一模塊進行仿真測試,進行軟硬件協同驗證,再通過集成各個功能模塊進行系統集成驗證,最后進行板級驗證。在進行系統各模塊功能驗證時,軟件可以作為硬件測試的信號源,針對各個模塊都編寫相應的C語言測試向量,進行功能覆蓋率測試。在單一功能模塊驗證測試的基礎上,將各模塊集成為一個完整的系統,對整個系統進行集成測試。進行板級驗證時,可以運行更為完整、更接近實際應用的C程序測試向量,使得測試更全面、更可靠。圖5所示為板級驗證平臺示意圖。
3 結束語
本文通過對Xilinx公司Virtex-4 FX系列FPGA的介紹,分析了其內嵌的PowerPC405處理器的體系結構及CoreConnect總線的特點,通過基于SoPC的多路傳輸數據總線接口的硬、軟件設計技術和驗證技術的介紹,更好地闡述了基于SoPC的嵌入式系統設計方法。在基于SoPC的嵌入式系統設計中,通過單片FPGA實現多片專用芯片的功能,減少器件數目,縮小系統面積,增加系統可靠性,達到了對板級多路傳輸數據總線接口模塊小型化、集成化的目的?;赟oPC的嵌入式系統設計以其數據處理速度快、集成度高、開發周期短、應用靈活方便等特點,相信在航空航天領域將會得到廣泛的應用。
評論