《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于SCA規范下FPGA的硬件抽象層設計

基于SCA規范下FPGA的硬件抽象層設計

2011-07-14
關鍵詞: CPLD Virtex 5 FPGA SCA XC5VLX220

引言

軟件無線電(Software Radio)是指用軟件定義的、能實現多種功能的無線電通訊系統,其核心思想是構造一個具有開放性、標準化、模塊化的通用硬件平臺,以將各種功能(如工作頻段、調制解調類型、數據格式、加密模式、通信協議等)用軟件來完成,從而通過加載不同的通信軟件來實現不同的通信模式和功能。由于功能的定義和實現都由軟件完成,所以可以通過配置不同的參數來支持不同電臺系統的互連互通,這使得軟件定義無線電具有很強的靈活性。

由于軟件無線電的諸多優點,美軍的聯合戰術無線電系統(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所示。

 

如圖1所示,組件一般用于實現應用功能。這類組件由波形開發者依據HAL-C應用接口進行設計,而在硬件平臺上則依據PE的具體環境實現這些HAL-C應用接口。由硬件平臺提供的HAL-C應用接口可給HC提供一個底層的通信接口,這些底層API的主要目的是讓同一或者不同PE上的HC能夠通信。HC1、HC2之間的通信并不是直接進行的,而是通過HAL-C提供的通信機制來實現。HC1、HC2的開發者只需要把數據發送給HAL就可以了。具體數據如何從HC1傳輸到HC2,則是硬件抽象層要完成的工作。

通??捎靡粋€貯存在HAL-C基層結構的簡單傳輸模塊Tx來描述數據的傳輸。有兩種類型的傳輸需要描述,一種是貯存在不同PE上的HC之間通過物理信道進行數據和控制信號的傳輸,如圖1中HC2到HC3的數據傳輸。它可以通過不同的物理信道實現(如PCI,RapidIO等),物理信道可以看作是傳輸在硬件平臺上的映射;另一種傳輸是在硬件內部進行的傳輸,雖然組件自己可以實現數據的傳輸,但是若使用硬件抽象層連接來約束這種傳輸,則能提高組件的通用性。

為了簡化上面的連接模型,這里引入了end-point的概念。即一條從HC出發,通過傳輸模塊的路徑被指定為一條邏輯通道。HC可使用HAL-C應用接口來訪問endpoint,以發送和接收數據。HAL-C基層結構負責把數據通過邏輯信道移動到指定的endpoint,這就可以把以前HC開發者應該做的工作轉移到硬件抽象層中來實現,從而使波形開發與硬件相關資源相分離。

2 FPGA硬件抽象層連接接口

SCA規范中使用了兩種類型的接口:“provides”和“uses”。其中“provides”接口用來提供服務,“uses”接口用來使用這種服務。這種思想可被擴展應用到FPGA的組件級。也就是把一個由HAL-C基層結構向組件提供數據的接口定義為HAL-C基層結構的“provides”端口,然后由組件利用HAL-C基層結構的“uses”端口給其它組件提供數據。HAL-C API希望HC通過通用接口來發送和接收數據。在FPGA上,可使用source和sink來定義SCA中的這兩種端口。這些接口通常以線路和信號的形式存在。

2.1 source接口

source接口用于從HC向HAL-C基層結構傳遞數據,它可根據硬件平臺的實現來確定信息被發送到指定的HC中。source接口應當實現的信號如下:

clock:接口的同步時鐘,所有信號均應與該時鐘同步;

data:數據總線,其寬度可以是1,8,16,32,64位;

channel:與數據傳輸相關的邏輯通道號;

length:定義數據緩沖區中要傳輸的字節數,可用MAXBUFFERSIZE描述數據的最大長度;

write:傳輸數據的使能信號;

socketRequest:寬度為MAXSOURCESOCK-ETS的矢量,用于描述一個指定的邏輯信道接口正在請求訪問sink的邏輯信道;

socketReady:寬度為MAXSINKSOCKETS的矢量所包含的一個流控制信號,用以應答source接口的請求信號。

source接口模塊如圖2所示。

 

2.2 sink接口

sink接口主要用于從HAL-C基層結構接收數據并送給HC。sink接口應當接收source接口輸出的信號,它應當接收大小由length信號確定的數據。socketReady表示當sink接口從source接口接收數據時的寬度,該寬度為MAXSINKSOCKETS的矢量所包含的一個流控制信號,是為source端口應答的信號。

圖3所示為sink接口模塊圖。

 

2.3 source和sink的典型應用模型

FPGA是硬件可編程設備,FPGA的內部功能模塊可通過直接線路或總線相互連接。這意味著一個包含多個功能模塊的FPGA內部體系可以被分解成分散的子模塊,這些子模塊可通過外部連接機制相互連接。圖4所示是FPGA內部使用sink和source的典型模塊圖。

 

在FPGA上運行的波形組件,在設計時只需要按照HAL-C所定義好的格式設計好波形組件與HAL-C的交互即可。數據與其他模塊間交互的具體過程可交給HAL-C去完成,即將與具體接口相關的工作交由HAL-C去完成。也就是說,在進行軟件設計時不需要關心底層硬件模塊能為軟件設計提供怎樣的具體端口形式,而只要硬件抽象層模塊能夠滿足軟件模塊設計所需的數據傳輸速率就行。

3 在硬件平臺上實現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硬件抽象層連接設計的軟件,還具有很好的可移植性,因而能有效縮短系統開發周期,提高系統開發效率。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品女人的天堂av| 午夜在线电影亚洲一区| 中文在线一区| 日韩视频欧美视频| 最新69国产成人精品视频免费| 国产一区久久| 国产欧美日韩另类视频免费观看| 国产精品久久久一区麻豆最新章节| 欧美久久久久久久久久| 嫩草成人www欧美| 两个人的视频www国产精品| 久久久国产一区二区| 久久精品国产免费观看| 久久成人国产精品| 久久er99精品| 久久久99爱| 久久久精品999| 久久综合999| 欧美波霸影院| 欧美日韩二区三区| 欧美日韩午夜| 国产精品女人毛片| 国产日韩欧美日韩| 狠狠色噜噜狠狠色综合久| 激情欧美一区二区三区在线观看 | 国产欧美1区2区3区| 国产精品一区二区久久国产| 国产女人aaa级久久久级| 国产偷国产偷精品高清尤物| 国产欧美一区二区视频| 国模叶桐国产精品一区| 亚洲电影视频在线| 亚洲靠逼com| 亚洲一级片在线观看| 午夜一区二区三区不卡视频| 久久av一区二区三区| 亚洲欧洲在线视频| 中日韩高清电影网| 欧美一级久久久久久久大片| 久久九九精品| 欧美成人有码| 欧美日韩裸体免费视频| 国产精品女主播| 一区二区亚洲| 一本在线高清不卡dvd| 香蕉乱码成人久久天堂爱免费 | 欧美日韩国产影片| 国产精品高潮视频| 国模叶桐国产精品一区| 亚洲国产精品小视频| 中文国产成人精品| 欧美伊人精品成人久久综合97| 亚洲精品国产精品久久清纯直播| 在线亚洲美日韩| 久久国产天堂福利天堂| 欧美激情亚洲自拍| 国产美女一区| 亚洲国产成人tv| 亚洲一区二区动漫| 亚洲欧洲日本mm| 亚洲欧美一区二区三区久久 | 免费在线观看精品| 国产精品高清在线观看| 黄色成人在线网址| 正在播放亚洲| 91久久精品一区| 香蕉成人久久| 欧美激情精品久久久久久变态| 国产精品久久二区二区| 亚洲第一综合天堂另类专| 亚洲夜间福利| 亚洲国产精品视频一区| 亚洲专区国产精品| 欧美成人激情在线| 国产伦精品一区二区三区在线观看 | 一区二区三区在线视频播放| a4yy欧美一区二区三区| 亚洲第一级黄色片| 亚洲综合视频一区| 欧美激情一区二区三区蜜桃视频| 国产日韩亚洲欧美精品| 一区二区黄色| 亚洲日韩第九十九页| 欧美呦呦网站| 欧美香蕉视频| 亚洲精品久久久久久一区二区| 欧美一区二区在线视频| 亚洲一区不卡| 欧美激情亚洲激情| 激情另类综合| 欧美一区二区视频在线观看| 亚洲男女自偷自拍图片另类| 欧美国产精品人人做人人爱| 国产视频一区欧美| 亚洲天堂第二页| 一区二区福利| 欧美韩国一区| 影音先锋久久久| 欧美资源在线| 欧美在线www| 国产精品视频免费一区| 99精品国产在热久久下载| 日韩视频精品在线观看| 美日韩精品免费| 国产一区二区三区久久悠悠色av | 亚洲欧洲在线免费| 久久天天狠狠| 国产午夜精品视频| 亚洲欧美在线看| 欧美一区二区在线看| 国产精品久久77777| 一本色道88久久加勒比精品 | 亚洲一区二区三区精品在线| 欧美精品色综合| 亚洲欧洲精品一区二区三区| 亚洲黄色在线视频| 久久影院亚洲| 国语精品一区| 久久精品人人做人人综合| 久久久国产精彩视频美女艺术照福利| 国产精品亚洲不卡a| 亚洲小说欧美另类社区| 亚洲男人av电影| 国产精品一区二区a| 午夜视频久久久| 欧美有码视频| 国产午夜精品一区二区三区欧美 | 欧美精品一区在线播放| 亚洲黄色免费电影| 日韩一级免费| 欧美日韩视频专区在线播放| 99在线精品视频| 亚洲香蕉视频| 国产精品无码永久免费888| 午夜精品国产精品大乳美女| 久久激情五月激情| 国产字幕视频一区二区| 亚洲国产日韩欧美在线图片| 欧美阿v一级看视频| 亚洲精品久久久久久久久久久| 亚洲视频免费看| 国产精品久久久999| 亚洲一区欧美激情| 欧美在线短视频| 精品69视频一区二区三区| 91久久黄色| 欧美日韩在线播放一区| 亚洲午夜精品视频| 久久精品女人天堂| 伊人成年综合电影网| 亚洲免费成人av电影| 欧美日韩性视频在线| 亚洲免费视频网站| 久久久久久久国产| 亚洲黄色天堂| 亚洲欧美日本精品| 狠狠综合久久av一区二区老牛| 亚洲精选一区二区| 国产精品高清免费在线观看| 欧美一区二区三区喷汁尤物| 免费久久99精品国产| 亚洲精品一品区二品区三品区| 亚洲欧美区自拍先锋| 国产亚洲va综合人人澡精品| 亚洲国产欧美一区| 欧美天堂亚洲电影院在线播放 | 亚洲欧美中文在线视频| 久久在线播放| 亚洲精品欧美精品| 午夜欧美精品久久久久久久| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美一区二区免费| 欧美高清在线一区| 亚洲一区三区电影在线观看| 噜噜噜噜噜久久久久久91| 亚洲人成在线观看| 午夜一区二区三区在线观看| 狠狠爱综合网| 在线一区二区三区四区| 国产一区二区毛片| 日韩一级精品视频在线观看| 国产精品一级二级三级| 亚洲精品1区2区| 国产精品视频专区| 亚洲三级性片| 国产精品午夜国产小视频| 亚洲人体影院| 国产日产精品一区二区三区四区的观看方式 | 美国三级日本三级久久99| 一区二区三区.www| 狂野欧美激情性xxxx欧美| 亚洲一本大道在线| 免费成人av| 亚洲欧美日韩人成在线播放| 欧美高清视频一二三区| 亚洲欧美精品在线| 欧美色另类天堂2015| 亚洲成色777777在线观看影院| 欧美三级精品| 亚洲精品一区在线观看|