基于SCA規范下FPGA的硬件抽象層設計
軟件無線電(Software Radio)是指用軟件定義的、能實現多種功能的無線電通訊系統,其核心思想是構造一個具有開放性、標準化、模塊化的通用硬件平臺,以將各種功能(如工作頻段、調制解調類型、數據格式、加密模式、通信協議等)用軟件來完成,從而通過加載不同的通信軟件來實現不同的通信模式和功能。由于功能的定義和實現都由軟件完成,所以可以通過配置不同的參數來支持不同電臺系統的互連互通,這使得軟件定義無線電具有很強的靈活性。
本文引用地址:http://www.104case.com/article/191737.htm由于軟件無線電的諸多優點,美軍的聯合戰術無線電系統(JTRS)計劃采用了軟件無線電的設計思想,并定義了軟件通信體系結構(SCA)規范。目的是實現電臺硬件的模塊化,軟件的可移植、可重用和可互操作性。將SCA體系結構逐漸擴展到2 GHz以上使用時,如果還在SCA的硬件體系結構中僅僅使用通用處理器(GPP)和DSP等,將無法滿足高速數字信號處理發展的需求,因此,能更好適應高速數字信號處理的可編程器件(FPGA)將不可避免的需要應用到SCA的硬件平臺中。目前,FPGA并不支持CORBA中間件,故不能直接應用到SCA體系結構中。另外,由于FPGA芯片的外部輸入/輸出端口沒有像通用處理器和DSP芯片那樣從應用程序中抽象出來,當每次應用程序代碼移植到新的平臺時,這些接口都要改變,這一點不利于實現波形應用的可移植性。
SCA3.0規范中提出了硬件抽象層連接(HAL-C)的概念。硬件抽象層可對具體硬件的實現進行抽象,它介于硬件平臺和運行于硬件平臺上的軟件之間。負責完成軟件設計中與硬件相關的內容,并完成相關的接口功能,它可使軟件的設計很好地獨立于硬件,從而有效地提高軟件設計的可移植性。使得在JTRS設備的開發過程中能實現應用軟件的設計與通用硬件平臺的開發相分離,盡可能減小硬件平臺的具體結構對應用軟件設計的影響。
1硬件抽象層的基本概念及結構
HAL-C通過對硬件單元的對外接口進行抽象,從而定義了一系列標準的通信應用編程接口(API),以實現與外部的通信功能。這樣,當要求與外部通信時,僅需要通過對定義好的不同的API進行調用即可,這將極大地減小硬件平臺結構對軟件設計的影響,有效地降低對重要軟件組件接口進行重新編寫的可能性。
1.1基本概念
在硬件抽象層概念中,波形(Waveform)一般是指為了實現信息的無線傳輸而對信息所采取的一系列變換,一般包括無線通信雙方為實現傳輸而采取的所有協議;處理元件(Processing Element,PE)是指一個能夠執行信號處理功能的硬件組件,通常GPP、DSP、FPGA、ASIC或者其它的能夠執行信號處理功能的硬件設備都可以看作是一個處理元件;硬件抽象層組件(HAI-CComponent,HC)是完成一定處理功能的一個功能模塊,它屬于波形應用的一個部分,通常HC是一個執行于目標設備上的、由波形開發人員編寫的軟件模塊,HC需要運行于一個給定的PE上,且同一個PE可以運行多個HC。
1.2硬件抽象層基本結構
硬件抽象層連接時,可根據不同硬件模塊的特點對硬件模塊進行抽象,抽象后的硬件再對外接口。對于軟件模塊的設計者來說,只是提供收發數據的功能,那么,具體如何實現收發功能即不需要軟件設計者考慮。其典型的HAL-C模型如圖1所示。

評論