999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的硬件抽象層設計*

2021-08-06 09:19:04黃忠凡孫健興
通信技術 2021年7期
關鍵詞:信號

黃忠凡,代 榮,孫健興,李 翔

(武漢中原電子集團有限公司,湖北 武漢 430205)

0 引 言

軟件定義無線電[1]平臺是基于通用的硬件平臺,使用可編程的軟件方法來滿足不同需求的無線電系統。現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)具有高速并行性及許多常用的無線通信IP核,如低密度奇偶校驗碼(Low Density Parity Check Code,LDPC)、Turbo等,使得波形開發人員能快速構建波形算法,節省大量代碼開發時間。將物理層放在FPGA上實現已成為現代無線通信波形設計主流做法。FPGA波形的可移植性是軟件無線電中較為復雜且非常重要的一部分工作,既要體現軟件無線電架構的靈活性又要保證波形交互處理的實時性[2]。為此軟件無線電的體系標準(Software Communication Architecture,SCA)[3]于 2007年頒布了硬件抽象層(Modem Hardware Abstraction Layer,MHAL)[4]接口標準;在2010年又頒布了片上總線硬件抽象層(MHAL On Chip Bus,MOCB)[5]接口標準。其中,MHAL針對的是FPGA、DSP類處理器間通過總線交互的場景。而隨著集成電路往片上系統(System On Chip,SOC)方向發展,一個芯片里面往往集成了多個核,核與核之間通過共享內存交互,MOCB就是針對這種趨勢提出的硬件抽象層規范。國內目前關于MHAL的研究有很多,但基于新趨勢MOCB的研究還很少,特別是FPGA的MOCB的相關研究幾乎沒有。此外,SCA規范對MOCB的描述只有總綱和接口規范,并沒有描述整個MOCB的工作原理和實現方案。本文結合作者多年SOC開發經驗和對軟件無線電的理解,詳細描述了FPGA中MOCB的設計過程,為其他開發人員提供一種參考。

1 FPGA MOCB概述

FPGA MOCB為運行在FPGA中的波形應用提供標準、統一的接口,并搭建一套消息傳輸機制實現FPGA內波形應用與其他處理器,如FPGA、數字信號處理器(Digital Signal Processing,DSP)、精簡指令處理器(Advanced RISC Machines,ARM)上的波形應用互通。波形開發人員無需關注底層硬件實現,只需將硬件平臺研制人員提供的FPGA MOCB實體模塊例化到自己的設計中,經過一起編譯后形成統一的執行文件加載到FPGA中就能在硬件平臺運行,就能實現完整的FPGA功能。

由于MOCB應用在基于共享內存交互的處理器上,因此本文以集成ARM與FPGA的SOC舉例說明實際波形應用在MOCB上的部署。如圖1所示,ARM與FPGA之間沒有直接接口相連,只通過共享內存交互數據。所有波形應用組件、射頻組件都封裝成MOCB接口與MOCB相連,其中順序處理類組件如“Mac層組幀波形組件”放在ARM上,并行處理類物理層組件放FPGA上。MOCB的設計宗旨就是對下抽象所有外部硬件接口,包括但不限于處理器接口、射頻控制接口、外部存儲器訪問接口等,且不關心實現方式,只需要最終轉換成對上為波形應用組件提供統一的接口,就能實現不同處理單元之間的波形應用組件的任意互通。這樣波形不用關心底層實現,盡最大可能實現可移植性。圖1中與共享內存的接口將由MOCB自己封裝一層“輸入輸出(Input Output,IO)驅動適配”,FPGA上的“糾錯編碼波形組件”只需要與MOCB接口相連既可以與ARM上的“Mac組幀波形組件”通信,不用關心底層的共享內存如何控制的問題,體現了波形移植的靈活性。

MOCB接收數據的過程可簡單描述為,接收IO驅動發送而來的物理地址和數據,將物理地址映射為邏輯地址,根據邏輯地址將數據存儲至目標存儲器,而目標存儲器、硬件抽象層接口與波形組件三者是為一對一連接關系,因此可將數據路由至目的組件。相應地,硬件抽象層發送數據的過程可描述為:首先,由組件通過硬件抽象層接口將待發送數據發送至對應的存儲器;其次,硬件抽象層將數據讀出并將邏輯地址映射為物理地址;最后,通過IO接口驅動發送外部。

FPGA MOCB的接口規范如圖2所示,分為發起方和目的方,均包括基本信號、可選信號和擴展信號。其中,基本信號定義了一般平臺所需要的基本信號子集,而可選信號和擴展信號則是為了滿足較為復雜的平臺所需要的擴展特性而定義的可選信號。在具體實現時,可根據平臺和波形具體的應用需求而合理地選擇需要的接口信號,信號的定義在SCA規范[6]里面有詳細描述。

2 FPGA MOCB具體實現

本文使用Xilinx XC7Z035 FPGA芯片作為硬件抽象層實現平臺。XC7Z035是一款SOC芯片,集成了2個ARM內核即處理系統(Process System,PS)和1個FPGA即可編程邏輯(Programmable Logic,PL),PS與PL基于共享內存的數據傳輸方式。圖3為MOCB在FPGA上的設計結構。圖3中測試波形組件是為了測試MOCB性能而構建的測試用例。

2.1 設計要點

通過深入分析MOCB規范總綱和原理,本文總結出以下幾點設計要點。

(1)SCA規范中MOCB對上的組件只有兩類:一類為通信波形應用組件如編碼調制等,另一類為射頻控制組件(Radio Frequency Control,RFC)。對射頻控制進行統一的原因在于通信波形與射頻控制是息息相關的,并且規范了射頻控制組件更有利于波形移植。另外,MOCB對下面的硬件平臺的IO驅動類并沒有要求,只需要盡可能抽象底層硬件驅動即可,方便以后平臺到平臺的移植。

(2)MOCB即可以作為目的方端也可以作為發起方。與MHAL不同,MOCB的發起方既可以向目的方發送數據,還可以從目的方主動讀取數據。從實際無線通信波形設計角度出發,一般是把波形應用組件作為發起方,因此本文在FPGA上實現的MOCB接口只作為目的方。

(3)MOCB對上的每個組件只有一個源邏輯地址(Logical Destination,LD),其目的LD數目沒有限制,存在一對多情況。

(4)不同處理器上面的波形組件必須通過MOCB通信,如PS上的波形應用組件與PL中的波形應用組件交互數據必須經過MOCB。

(5)為了兼顧軟件無線電架構的靈活性與波形處理的實時性,同一處理器上的組件之間可以通過MOCB通信,也可以不經過MOCB直接互通,因為有些波形組件之間要求處理的實時性,經過MOCB路由后會帶來處理延時。本設計支持PL中的兩個組件可以直接內部通信也可以通過MOCB通信。另外為了達到波形與具體硬件平臺的分離目的,波形應用組件與外設驅動之間必須通過MOCB進行通信。

(6)全部波形應用組件如果部署在不同的基于共享內存交互的處理器上面,需要為每一個波形應用組件分配一塊連續的內存,并為其指定初始地址。同時,需要在硬件抽象層內部預存一個地址映射表進行物理地址與邏輯地址之間的相互映射。這里的物理地址是指共享內存的I/O接口地址線的傳輸地址。特別注意處理器內部波形應用組件與平臺自身使用的物理地址空間要分開。而內部波形組件的物理地址可以重疊,但起始地址不能一樣,只要MOCB設計者能保持不沖突即可。這樣做的目的也是為了體現硬件設備的差異性和波形組件的可移植性,保證共享內存使用的高效性。

(7)共享內存的方式必然會產生讀寫操作沖突,MOCB允許源端通過MOCB接口的“事件信號”告知目的方一個事件的發生。

2.2 收發處理過程

PL上的波形組件A如果要發送數據包,整個發送過程分為以下4個步驟。

(1)先要經過MOCB接口模塊的MOCB接口時序模塊子模塊與流量控制模塊子模塊交互啟動發時序。如果目的方發緩存模塊子模塊有足夠空間存儲數據包,流量控制模塊子模塊就允許組件A發送數據,同時將數據包的地址信息反饋給本地適配與地址解析模塊。

(2)本地適配與地址解析模塊根據地址映射表識別出該數據包去往的目的LD,判斷是要去往PL內部的組件B還是要去往PS內部的組件C,相應的生成不同的請求信號。同一時刻PL上可能有其他組件也會發送數據包,也會生成請求,請求仲裁模塊接收所有請求,如果收到去往同一目的地的多個請求,將根據優先級高低進行仲裁,并將仲裁結果同步反饋給本地適配與地址解析模塊和交叉開關。

(3)本地適配與地址解析模塊根據仲裁結果通知相應的MOCB接口模塊可以發送數據了,交叉開關同步根據仲裁結果打開獲勝的發送方與目的地的通道開關。

(4)傳輸完成后,作為獲勝發起方的組件還會驅動事件信號通知目的組件。

PL上的組件如果要讀取數據包,整個接收過程分為以下兩個步驟。

(1)向流量控制模塊子模塊請求接收數據。

(2)流量控制模塊子模塊監控目的方收緩存模塊子模塊中是否存有完整一包數據。如果有就立刻響應組件的請求,將數據通過MOCB接口時序模塊子模塊送給波形組件;如果沒有就執行與發送過程類似的請求仲裁操作,通過交叉開關通道從目的地址讀回數據包。

2.3 接口時序

本文實現的MOCB接口時序適合于突發長度傳輸模式,讀寫都是一次性完成一整包數據傳輸。

寫時序如圖4所示,主要步驟如下文所述。

(1)在第2個周期,波形應用組件作為發起方通過發起寫使能(WR_EN)來開始一次寫傳輸,同時發出有效的地址(A1)、數據(D1)、突發大小有效(SizeV)和突發大?。⊿ize)。

(2)MOCB作為目的方,經過內部邏輯處理后能受理發起方的寫傳輸,則將命令接收信號CmdA置高,發起方繼續后面的寫傳輸。直到整個突發傳輸過程全部完成。例如,發起方連續地向同一個地址A1寫4次,可表示為向一個內存映射物理地址為A1的波形應用組件連續寫4個數據。

(3)目的方在每個時鐘周期采樣寫使能、地址、數據、突發大小有效和突發大小信號,并在其內部使用這些信號執行寫操作。

讀時序如圖5所示,主要步驟如下文所述。

(1)在第2個周期,波形應用組件作為發起方通過發起讀使能(RD_EN)來開始一次讀傳輸,同時發出有效的地址(A1)、突發大小有效(SizeV)和突發大小(Size)。

(2)如果MOCB作為目的方,經過內部邏輯處理后能受理發起方的讀操作,則將命令接收信號CmdA置高,發起方繼續后面的讀傳輸。直到整個突發傳輸過程全部完成。例如,發起方連續地向同一個地址A1讀4次,可表示為向一個內存映射物理地址為A1的波形應用組件連續讀4個數據。

(3)目的方在每個時鐘周期采樣讀使能、地址、突發大小有效和突發大小信號,并在其內部使用這些信號執行讀操作。目的方判斷發送方的DataA信號,為高則開始發出DataV和Data信號。

(4)發送方根據DataV信號接收相應長度的Data,DataA為高表示發起方能一直接收目的方的數據。

3 性能測試

FPGA MOCB的引入必然會帶來時延與吞吐率的開銷。本文搭建如圖3所示實際測試環境來測試其性能,其中PS端跑freertos操作系統構建了只有1個測試波形組件的簡化版PS_MOCB,該組件完成與PL上組件交互,同時統計收包數、校驗對錯及性能統計,PL端構建了兩個測試波形組件。測試結果有效性以PL與PS都不掉包為標準,性能如表1所示,表中值表示發10 000包統計的每包傳輸速率,分不同包長進行了對比測試,結果顯示包長越長性能越優,并且無論大包還是小包,包時延均小于32 μs。經分析,包長變短的時候性能下降的原因在于PS端從內存搬數據的任務占用固定時間較長,傳輸短包時候沒有優勢。該問題屬于平臺驅動問題,可以后續優化。

表1 FPGA MOCB的性能

通過結果可知,PL上的測試波形組件與PS測試波形組件的經過共享內存交互速率能達到1 901 Mb/s,因此FPGA MOCB完全能滿足波形應用組件需求,同時如果PL上的兩個組件不直接互通而是經過FPGA MOCB互通。經過Modelsim仿真,延時也只有5個時鐘處理周期,能保證波形處理的實時性。

4 結 語

本文結合實際應用場景對MOCB的原理進行了深入研究,提煉出設計要點,基于FPGA給出了詳細的實現方案,為他人設計MOCB給出一種參考。同時經過實際環境測試MOCB性能得出,MOCB實現了軟件無線電架構移植靈活性的同時,兼顧了波形處理的實時性結論。但本文沒有將MOCB置于基于SCA架構開發的實際無線通信波形環境中進行驗證,后續將設計一套基于該MOCB的通用軟件無線電驗證平臺。

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 69国产精品视频免费| 国产91视频免费| 99久久精品无码专区免费| 久久久久人妻一区精品色奶水| 国产精品思思热在线| 欧美va亚洲va香蕉在线| 亚洲色图综合在线| 久久综合丝袜长腿丝袜| 国产视频a| 国产一区二区福利| 一级在线毛片| 国产亚洲第一页| 亚洲视频二| 中国一级特黄大片在线观看| 亚洲色图另类| 亚洲综合第一区| 精品综合久久久久久97超人该| 无码在线激情片| 日韩高清中文字幕| 欧美日韩一区二区三区在线视频| 国产伦片中文免费观看| 亚洲男人的天堂久久香蕉| 粗大猛烈进出高潮视频无码| a级毛片视频免费观看| 国产第一页亚洲| 亚洲天堂网在线播放| 精品第一国产综合精品Aⅴ| 亚洲AV无码精品无码久久蜜桃| 久草青青在线视频| 亚洲国产成人麻豆精品| 国产亚洲精品自在久久不卡| 欧美福利在线观看| 香蕉伊思人视频| 综合色天天| 亚洲系列中文字幕一区二区| 亚洲视屏在线观看| 国产制服丝袜无码视频| 久久久成年黄色视频| 国产黑丝一区| 欧美一道本| 国产91小视频在线观看| 欧美在线免费| 极品私人尤物在线精品首页| 奇米影视狠狠精品7777| 一级毛片无毒不卡直接观看| 99国产在线视频| 国产网友愉拍精品视频| 国产区在线看| 国产91丝袜在线播放动漫 | 亚洲AⅤ无码日韩AV无码网站| 成人另类稀缺在线观看| 午夜a级毛片| 毛片久久网站小视频| 免费人成在线观看视频色| 亚洲精品午夜无码电影网| 国产99视频精品免费观看9e| 波多野结衣在线se| 国产另类视频| 午夜电影在线观看国产1区| 人妻夜夜爽天天爽| 亚洲全网成人资源在线观看| 国产一区二区人大臿蕉香蕉| 91久久精品日日躁夜夜躁欧美| 中文字幕人妻av一区二区| 午夜视频在线观看免费网站| 91福利免费| 激情五月婷婷综合网| 2021天堂在线亚洲精品专区| 日本一本正道综合久久dvd| 日韩视频福利| 成人日韩视频| 无码又爽又刺激的高潮视频| 国产精品99久久久久久董美香 | 91精品综合| 亚洲一区黄色| 亚洲精品片911| 男女精品视频| 午夜视频在线观看区二区| 欧美亚洲网| 在线国产资源| 99久久人妻精品免费二区| 亚洲一区二区黄色|