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

基于高性能DSP 平臺及其開發環境的SRIO 模塊的測速方法及應用研究

2020-08-13 02:16:26陶子然曹文君王沁喆葉文靜
機電產品開發與創新 2020年4期

陶子然, 曹文君, 王沁喆, 葉文靜

(中國電子科技集團第三十八研究所, 安徽 合肥 230000)

0 引言

隨著現代信息技術的高速發展, 數字信號處理在軍用及民用領域都取得了極大發展和廣泛應用, 同時日益增長的信號處理需求也對整機、 分機平臺提出了越來越高的要求。 特別是在航天航空、圖像處理、AI 等高科技前沿領域,信號處理實時性高,數據量大,數據交互頻繁及信號處理算法繁雜度高, 傳統的解決方法無法滿足該類需求的情況下,基于DSP 和FPGA 的協同處理架構主流。這一系統較傳統方法顯著提升了系統的運算速度和數據處理能力。 處理器之間主要采用的高速通信接口包括SRIO、PCIe 等。 RapidIO 技術是一種高帶寬、低延遲的基于包交換的開放式互聯技術標準,2001 年由Freescale 公司發表正式規范,主要應用于嵌入式系統的高速互聯,支持芯片到芯片以及板卡到板卡間的高速通信。 高速串行輸入輸出SRIO (Serial RapidIO) 作為新一代高速通信協議,具有非常優異的高帶寬、低延遲、低功耗等特性。 本文提出了一種基于高性能DSP SRIO 模塊的測試速率的方法,DSP 在信號板板內與DSP 通信以及通過交換芯片與板間的FPGA 通信的實例研究了相關研究方法。 通過該方法,可以較為準確的測算SRIO 模塊的通信速率,所測結果也為架構模型提供了數據支持。

1 SRIO 模塊簡介

RapidIO 技術作為一種高帶寬、低延遲的基于包交換的開放式互聯技術,可以滿足高性能嵌入式系統的需求,支持芯片到芯片以及板卡到板卡間的高速通信。 多用于多處理器、存儲器及通用信號處理平臺間的高速交互。 其主要特點包括靈活的系統結構,允許點對點傳輸;帶錯誤檢測的魯棒傳輸;可拓展的頻率和接口寬度;非軟件密集型操作;低開銷的高帶寬互聯;低引腳數、低功耗、低延遲。

2 硬件平臺及驅動程序

基于SRIO 的驅動程序包括SRIO 模塊初始化功能,DMA 數據傳輸功能,DOORBELL 中斷功能,MESSAGE 數據傳輸功能和維護包傳輸功能。 本實驗的硬件平臺為基于高性能DSP 的某兩型板卡,信號處理板與接口板。平臺架構如圖1,2 所示。

圖1 接口板結構圖

圖2 信號板結構圖

為了實現通信測速功能, 實驗中涉及到DSP 端的SRIO 模塊驅動編程設計主要包含以下幾個方面:

(1)SRIO 模塊工作模式設置。 在開發環境ECS 中,手動創建bsp 包后進入PLL 配置界面,在圖形化界面中配置內核頻率,在勾選相應的SRIO 控制器后,可以配置通道數和通道速率。 本文采用4x,5G 模式設置,DSP 工作于中斷模式下與FPGA 進行互連通信。 在涉及到DDR 作為數據傳輸對象時,需設置地址映射表,不同地址映射表對應不同的索引方式, 索引方式可以選擇38 位AXI 地址是如何組成的, 可以選擇SourceID 或者SourceAddr,“索引號來源” 則選擇38 位AXI 地址的組成方式, 如選擇默認方式RIO_Addr[33:30]/SourceID[3:0],則是將SourceID 放在低4位,將RIO_Addr 放在了高34 位,實際的地址一般為32位,34 位RIO_Addr 就是將32 位的地址左移兩位。AXI 地址高18 位根據需要填寫。 例如若是映射到DDR0,DDR0 的基地址為0x80000000 (32 位), 將其左移2 位即得到34位RIO_Addr,這就是AXI 地址的高34 位,再加上低4 位的SourceID,就組成了完整的AXI 地址。 0x80000000(32 位)左 移 兩 位 是 0x200000000 (34 位), 即 2 進 制0b1000000000000000000000000000000000,取其高18 位,即0b100000000000000000,即0x20000,將0x20000 填寫在窗口中即可,也可以將0x200000000(34 位)直接右移16 位,即可得AXI 地址高18 位。

(2)SRIO 模塊初始化。

初始化函數如下:

status=srio_driver_initialize(SRIOCTL,NULL);

status=srio_driver_open(SRIOCTL,NULL);

如果兩個函數的返回值status 均為0,則表明DSP 與目標元件link 成功, 通常使用status|= srio_driver_initialize(SRIOCTL,NULL);來多次確認返回值的狀態,保證其沒有出錯。

(3)交換芯片的配置。 對于直連的通信架構來說,無需對交換進行配置。在目前主流系統架構中,交換是必不可少的。對于存在交換的系統,需要根據交換的類型對其進行相應的路由配置。 本文的實驗平臺所使用的交換為1800,1800 配置函數為:

cps1800(slave_addr);

程序中對1800 的路由的配置在下圖所示, 程序將0x11 路由到port8, 將0x12 路由到port4, 將0x21 路由到port1,將0x22 路由到port9,將0x31 路由到port7,將0x32路由到port0,將0x41 路由到port3,將0x42 路由到port11。可以根據實際使用情況進行修改。

圖3 1800 路由配置

(4)讀寫驅動函數配置。 本文使DSP 采用DMA 模式與FPGA 進行通信,DMA 模式適合在數據量較大的傳輸中使用, 主設備可以主動對從設備進行讀寫。 SRIO 在DMA 模式中可以實現DDR 寫讀DDR,DDR 寫讀內存,內存寫讀DDR,內存寫讀內存。 DMA 模式中發送方需要配置的參數主要有:dma_param.dest_id(DestID)、dma_param.axi_37(AXI 地址37 位)、dma_param.axi_36_34(AXI 地址36~34 位)、dma_param.dma_seq (DMA 通道, 賦值0 即可)、dma_param.src_addr(源地址)、dma_param.dst_addr(目的地址)、rw_args.count (傳輸數目, 內核傳輸數目最大256K,DDR 傳輸數目可達1M,一個DMA 的數據包的最大數據量為256K 字)。

讀寫驅動函數設置如下:

srio_driver_write(deviceID,*ARG);

srio_driver_read(deviceID,*ARG);

(5)方案優化函數。 本文DSP 端通過門鈴中斷計數,在此過程中DSP 端需讀取門鈴FIFO,否則將造成DSP 無法進入MISC 中斷程序的情況。 在讀取周期計數時,數據量過大時會造成計數寄存器CC0 溢出的情況,需引入周期計數寄存器CC1 進行補位計算,計算公式為:

Time=(val_high_CC1*4294967296)+ val_low_CC0。

優化函數如下:

FIFO_read(deviceID,*ARG);

Cycle_get(void);

3 實驗方法與驗證

本文通過信號板對板間DSP 芯片和FPGA 通過SRIO 通信進行測試,記錄每次數據傳輸首尾兩個門鈴中斷之間的周期,多次測量取平均值。具體軟件流程圖如圖4 所示。

圖4 算法軟件流程圖

將信號板和接口板依次插入機箱對應槽位。 分別將接口板和信號板通過JTAG 下載器連接到測試計算機,查看信號板上位機IP 地址, 設置為10.100.39.39。 信號板、接口板上電,接口板上FPGA 和信號板上DSP 分別加載測試例程。加載完成后,DSP 程序運行,完成1800 交換芯片配置。DSP程序進入while 循環等待接收門鈴中斷和數據。 同時設置FPGA 程序VIO 的參數為vio_cnt_1000 為10000000,loop_cnt 為100,delay_time 為2。 測試例程包長、包數可控,典型包長為256B,每次發送100 包,循環10000000 次,傳輸指定格式的數據為從0 開始的遞增數列。 FPGA 端測試程序發送數據的流程為:先發送一個DOORBELL 包表示開始發送, 發送25KB 的遞增數據后延時4 個時鐘周期再發送一個DOORBELL 包表示一次發送結束,再發送下一個25KB 遞增數,依次發送10000000 次25KB 共約238.41GB 遞增數據。 在接收端,DSP 每隔100 包數據,記錄下兩個門鈴間的周期,在ECS變量窗口顯示每個門鈴所對應的當前周期數, 同時顯示通信速率。

4 實驗結果及波形

實驗每次連續測試10 次,每次測試包數不小于一億包,取接收端輸出速率平均值作為板間SRIO 速率。 實驗結果如表1 所示。 FPGA 實驗波形如圖5、6 所示。

表1 板間FPGA 與DSP 通信速率

圖5 FPGA 數據波形圖-1

圖6 FPGA 數據波形圖-2

5 結論

本文基于高性能DSP 平臺的SRIO 接口模塊建立DSP 與FPGA 之間的通信系統測算速率, 并提出相應的準確計數方法。在4x,5G 模式下,SRIO 模塊4lane 通道整個鏈路的傳輸瓶頸不大于4×5=20Gbps 的速率(即鏈路速率最大理論值),在計算SRIO 包的開銷以及8b/10b 的轉換開銷之后, 根據有效數據負載速率的通用計算公式:V有效負載最大速率=鏈路速率最大理論值×0.8(8b/10b 轉換且包括兩級開銷)等于4Gbps。實驗統計結果為單次100包周期為16418, 速率計算公式為100×256×8/(16418×2),經計算在該硬件平臺SRIO 模塊平均寫速率為6.23Gbps,單通道平均速率為3.11Gbps。 由DSP 讀數的平均讀速率為3.29Gbps。 讀寫速率相當, 且達到理論最大有效速率的80%,表明該系統能夠高速傳輸大批量數據,當數據量較大時,讀寫速率同步提升,通信開銷占比總傳輸時間比例減小,整體速率超過12Gbps,傳輸效率較為理想。

主站蜘蛛池模板: 婷婷亚洲视频| 一级毛片在线播放| 亚洲伊人久久精品影院| 福利一区三区| 亚洲午夜福利在线| 亚洲第一成年人网站| 91年精品国产福利线观看久久| 国产swag在线观看| 青草91视频免费观看| 亚洲国产91人成在线| 精品一区二区三区视频免费观看| 99久久精品国产麻豆婷婷| 五月婷婷丁香综合| 九九热精品视频在线| 色婷婷综合在线| 91九色国产在线| 亚洲av色吊丝无码| 亚洲男人天堂2018| 国产精品永久久久久| 国产第八页| 久久久久久久久久国产精品| 中文天堂在线视频| 日本午夜网站| 波多野结衣在线一区二区| 午夜无码一区二区三区在线app| 福利姬国产精品一区在线| 美女无遮挡免费网站| 制服丝袜一区二区三区在线| 又猛又黄又爽无遮挡的视频网站| 国产成人精品无码一区二| 高清色本在线www| 国产一区亚洲一区| 国产综合网站| 波多野结衣视频网站| 日韩人妻精品一区| 夜精品a一区二区三区| 一级毛片免费不卡在线| 伊人精品视频免费在线| 国产丰满大乳无码免费播放| 欧美不卡二区| 精品伊人久久久久7777人| 日本不卡在线视频| 麻豆国产在线观看一区二区| 亚洲成人精品久久| 亚洲精品在线观看91| 亚洲一级色| 伊在人亚洲香蕉精品播放 | 亚洲精品色AV无码看| 亚洲日韩高清在线亚洲专区| 欧美α片免费观看| 91成人免费观看在线观看| 五月天福利视频| 亚洲成人高清在线观看| 国产成人精品男人的天堂下载| 亚欧美国产综合| 精品91在线| 欧美一级在线播放| 国产精品福利尤物youwu| 全午夜免费一级毛片| 亚洲综合极品香蕉久久网| 综1合AV在线播放| 免费无码AV片在线观看国产| 国产区在线看| 91精品国产91久久久久久三级| 日韩123欧美字幕| 丁香六月激情婷婷| 4虎影视国产在线观看精品| 激情综合图区| 一级香蕉人体视频| 永久免费无码成人网站| 日本成人不卡视频| 9久久伊人精品综合| 午夜国产理论| 四虎成人精品在永久免费| 亚洲天堂久久新| 国产a v无码专区亚洲av| 色有码无码视频| 无码aaa视频| 视频一本大道香蕉久在线播放| 色135综合网| 国产精选小视频在线观看| 中文字幕亚洲专区第19页|