基于SCA規范下FPGA的硬件抽象層設計
在FPGA上運行的波形組件,在設計時只需要按照HAL-C所定義好的格式設計好波形組件與HAL-C的交互即可。數據與其他模塊間交互的具體過程可交給HAL-C去完成,即將與具體接口相關的工作交由HAL-C去完成。也就是說,在進行軟件設計時不需要關心底層硬件模塊能為軟件設計提供怎樣的具體端口形式,而只要硬件抽象層模塊能夠滿足軟件模塊設計所需的數據傳輸速率就行。
本文引用地址:http://www.104case.com/article/191737.htm3 在硬件平臺上實現HAL-C應用
為實現SCA規范下的數字信號處理功能,可以設計一個通用硬件平臺,其結構如圖5所示。該方案以FPGA、DSP為信號處理平臺的算法核心,以CPLD為結構的控制核心,從而構造一個具有通用性、可擴充、易升級的多功能信號處理平臺。
本設計中的FPGA采用Xilinx公司Virtex 5系列的2200萬門器件XC5VLX220-1FF1760I以及500萬門器件XC5VSX95T-lFF1136I。DSP選用TI公司的TMS320C6416T,該DSP具有的豐富的集成外設,可適應各種不同的應用需求。通用FLASH采用Spansion公司的S29GL512N10TAI高密度NOR型FLASH。S9GL512N的容量高達512Mbit,可以存儲多個版本的DSP和FPGA程序。NOR型FLASH的讀操作時序和EEPROM相同,讀/寫操作最短周期為100ns,可以直接用于DSP的BOOT引導。TMS320C6416T與CPLD配合,可以控制FPGA配置文件的下載過程。FPGA芯片通過高速并行接口可與AD和DA直接相連,以進行高速的數字處理。DSP芯片可通過EMIFA(外部存儲器接口)接口與FPGA進行通信。
在實際應用中,平臺需以多模式的方式工作,并應根據需要實時更新功能程序。因此,用戶可在FLASH芯片中劃分區域,以將多種功能程序分別存儲在不同區域,并確定區域首地址。系統上電復位后,DSP和FLASH芯片先完成初始化,之后DSP會按照默認方式訪問默認首地址并加載默認DSP和FPGA功能程序,以便系統工作在默認模式下;當需要更新模式時,主控設備先發送指令,DSP檢測到指令后,DSP便按照指令要求查到對應首地址,并從新功能的首地址開始為DSP和FPGA加載新的功能程序,系統即工作在新模式下。如此便可在同一個硬件平臺上,通過動態調用不同的軟件程序來實現多功能、多模式的工作。
利用此硬件平臺還可實現MSK數字調制解調功能。FPGA的硬件抽象層的實現可將FPGA與外部接口在FPGA內,用一個專用的小模塊來實現對外交互,并在這個特定模塊里定義好HC與外部交互的接口形式(如數據總線,相關的時鐘信號、控制信號等)。然后根據功能需要在FPGA內為AD、DA、DSP、CPLD以及互連的FPGA抽象出獨立的標準通信接口模塊ADHAL、DAHAL、DSPHAL、CPLDHAL和FPGAHAL,另外,還需要設計MSK調制和解調的HC模塊,其中調制部分包括DDS和數字正交上變頻兩個子模塊。數字正交上變頻可采用AD9779來實現。解調部分主要包括數字正交下變頻、基帶解調、中值濾波和位同步四個子模塊。這些HC模塊均為獨立的文件,而且各個模塊的參數均可配置。這樣便可利用上述編制好的文件來實現MSK調制解調功能。事實上,只需要在一個工程中把用到的文件包含進來,并在頂層文件中實例化各個模塊,同時根據實際硬件連接約束FPGA的引腳,最后通過綜合實現并生成FPGA配置文件,再用DSP和CPLD來完成配置,即可實現如圖6所示的FPGA內部抽象層。也可以通過主機動態配置各個模塊的參數以及連接關系,以實現不同頻段的調制和解調。如果要完成其它方式的數字調制解調,只需要把MSK調制和解調的HC模塊替換為其他數字調制解調算法,并通過主機發送指令重新對FPGA進行配置即可。這樣就可提高軟件模塊的可移植性、可重用和可互操作性。
4結束語
通過HAL-C提供的平臺,不但可使波形應用開發者從底層硬件的細節處理中脫離出來,專注實現組件的算法功能,而且,基于FPGA硬件抽象層連接設計的軟件,還具有很好的可移植性,因而能有效縮短系統開發周期,提高系統開發效率。
評論