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