想了解DSP+ZYNQ核間通訊?看完這篇就夠了|基於DSP + ZYNQ的TL6678ZH-EVM評估板

上篇推文爲大家介紹了創龍科技(Tronlong)最新推出的DSP + ZYNQ評估板TL6678ZH-EVM,由核心板和底板構成,核心板(SOM-TL6678ZH)集成了C6678和Zynq-7045/7100兩款不同架構的處理器。

那麼這款DSP + ZYNQ核心板,是如何實現核間通訊呢?

 

核心板簡介

SOM-TL6678ZH是一款基於TIKeyStone架構C6000系列TMS320C6678八核C66x定點/浮點DSP,以及Xilinx Zynq-7000系列XC7Z045/XC7Z100 SoC處理器設計的高端異構多核工業級核心板。TMS320C6678每核心主頻可高達1.25GHz,XC7Z045/XC7Z100集成PS端雙核ARM Cortex-A9 + PL端Kintex-7架構28nm可編程邏輯資源。核心板內部DSP與ZYNQ通過SRIO通信總線連接,並通過工業級高速B2B連接器引出千兆網口、PCIe、HyperLink、EMIF16、USB、CAN、UART、GTX等通信接口。

本文主要介紹DSP + ZYNQ基於SRIO的通信案例。

案例源碼、產品資料(用戶手冊、核心板硬件資料、產品規格書)可點site.tronlong.com/pfdownload

 

1 SRIO簡介

SRIO(Serial Rapid I/O)是高速串行RapidIO通信接口,常用於DSP與DSP、DSP與FPGA之間的數據高速傳輸。SRIO引腳佔用數量少,支持多點傳輸,速率可配置爲1.25Gbps、2.5Gbps、3.125Gbps和5Gbps。

SRIO包含三層結構協議,即物理層傳輸層、邏輯層。

(1) 邏輯層:定義包的類型、大小、物理地址、傳輸協議等必要配置信息。

(2) 傳輸層:定義包交換、路由和尋址規則,以確保信息在系統內正確傳輸。

(3) 物理層:包含設備級接口信息,如電氣特性、錯誤管理數據和基本流量控制數據等信息。

RapidIO體系結構如下:

 

2 SRIO通信案例

2.1 案例功能

評估板DSP端和ZYNQ PL端進行SRIO通信測試,並統計讀寫速率。評估板DSP端作爲Initiator,評估板ZYNQ PL端作爲Target。SRIO默認配置爲x4模式,每個通道速率5Gbps,並分別使用NWRITE + NREAD和SWRITE + NREAD模式進行測試。ZYNQ PL端使用一個36Kbit的BRAM作爲設備存儲空間,將DSP端發送的過來數據儲存至BRAM。

2.2 案例測試

先加載運行ZYNQ PL端程序,再運行DSP端程序,CCS Console窗口將打印測試結果。

NWRITE + NREAD模式:NWRITE= 12.50Gbps  NREAD= 7.74Gbps

SWRITE + NREAD模式:SWRITE= 12.49Gbps   NREAD= 7.74Gbps

備註:由於寫測試僅統計發送數據至SRIO FIFO的時間,讀測試統計發送讀請求並等待Target發送數據完成的時間,因此寫速率將比讀速率高。

 

2.3 關鍵代碼

2.3.1 DSP工程

(1) 程序配置說明。

(2) 使能SRIO PSC,初始化SRIO子系統,SRIO通信測試。

(3) 以NWRITE + NREAD和SWRITE + NREAD模式進行SRIO通信測試,單次讀寫大小爲transfer_size,單位爲Byte。w_format_type寫格式類型在main函數中調用srio_test()傳入。

(4) SRIO寫測試流程。

 

(5) SRIO讀測試流程。

 

2.3.2 ZYNQ工程

(1) 端口定義。

 

 

 

(2) 使用STARTUPE2原語提供的EOS作爲系統復位信號,CFGMCLK(65MHz)作爲系統時鐘。

 

(3) 例化Serial RapidIO Gen2 IP核。

 

 

其中Serial RapidIO Gen2 IP核輸出的log_clk爲125MHz。

(4) 調用srio_response_gen模塊,其接口與Serial RapidIO Gen2 IP核連接。

 

SRIO詳細開發說明請參考產品光盤“6-開發參考資料\TI官方參考文檔\”目錄下的《Serial Rapid IO (SRIO) User Guide.pdf》文檔。

備註:關於本案例涉及的IP核、模塊的配置詳細說明,可下載產品資料進行查看。

 

4 更多推薦

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章