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