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视频| 国产精品青青| 91外围女在线观看| 国产成人区在线观看视频| 国产成人a在线观看视频| 亚洲开心婷婷中文字幕| 婷婷久久综合九色综合88| 伊人久久久久久久久久| 国产乱人伦AV在线A| www.精品国产| 欧洲高清无码在线| 情侣午夜国产在线一区无码| 素人激情视频福利| 9啪在线视频| 日韩国产 在线| 色婷婷亚洲综合五月| 日韩精品欧美国产在线| 日本精品视频| 国产aaaaa一级毛片| 亚洲欧美日韩动漫| 91精品视频网站| 日韩天堂在线观看| 精品视频在线观看你懂的一区| m男亚洲一区中文字幕| 久久77777| 国产a网站| 欧美日韩国产在线观看一区二区三区| 午夜高清国产拍精品| yjizz国产在线视频网| 亚洲精品中文字幕午夜| 国产高清免费午夜在线视频| 欧美精品在线免费| 99在线视频精品| 亚洲va视频| 国产亚洲一区二区三区在线| 免费无码网站| 亚洲欧美综合在线观看| 亚洲午夜国产片在线观看| 国产在线观看91精品| 成人午夜免费观看| 日韩国产综合精选| 爽爽影院十八禁在线观看| 国产亚洲视频在线观看| 国产精品女在线观看| 伊人久综合| 久久九九热视频| 青青草a国产免费观看| 国产真实二区一区在线亚洲| 精品无码国产自产野外拍在线| 亚洲精品卡2卡3卡4卡5卡区| 99ri精品视频在线观看播放| 国产精品福利社| 素人激情视频福利| 亚洲国产日韩在线成人蜜芽| 日本妇乱子伦视频| 色综合天天综合中文网| 亚洲中文字幕无码mv| 久久亚洲国产最新网站| 亚洲成网777777国产精品| 国产哺乳奶水91在线播放| 手机精品福利在线观看| 成人在线亚洲| 67194亚洲无码| 日本影院一区| 久久精品女人天堂aaa| 香蕉久人久人青草青草| 欧美怡红院视频一区二区三区| 天堂在线www网亚洲| 午夜视频免费试看| 亚洲中文在线视频| 高潮爽到爆的喷水女主播视频 | 国产在线视频自拍| 国产精品手机视频一区二区| 欧美综合区自拍亚洲综合绿色| 毛片免费高清免费| www亚洲天堂| 亚洲av综合网| 五月天天天色| 久久黄色一级片| 青青草原偷拍视频| 国产情精品嫩草影院88av| 九九线精品视频在线观看|