上篇推文為大家介紹了創(chuàng)龍科技(Tronlong)最新推出的DSP + ZYNQ評估板TL6678ZH-EVM,由核心板和底板構成,核心板(SOM-TL6678ZH)集成了C6678和Zynq-7045/7100兩款不同架構的處理器。
那么這款DSP + ZYNQ核心板,是如何實現(xiàn)核間通訊呢?

1 SRIO簡介SRIO(Serial Rapid I/O)是高速串行RapidIO通信接口,常用于DSP與DSP、DSP與FPGA之間的數(shù)據(jù)高速傳輸。SRIO引腳占用數(shù)量少,支持多點傳輸,速率可配置為1.25Gbps、2.5Gbps、3.125Gbps和5Gbps。
SRIO包含三層結構協(xié)議,即物理層、傳輸層、邏輯層。
(1) 邏輯層:定義包的類型、大小、物理地址、傳輸協(xié)議等必要配置信息。
(2) 傳輸層:定義包交換、路由和尋址規(guī)則,以確保信息在系統(tǒng)內正確傳輸。
(3) 物理層:包含設備級接口信息,如電氣特性、錯誤管理數(shù)據(jù)和基本流量控制數(shù)據(jù)等信息。
RapidIO體系結構如下:


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


本文主要介紹DSP + ZYNQ基于SRIO的通信案例。
案例源碼、產品資料(用戶手冊、核心板硬件資料、產品規(guī)格書)可點site.tronlong.com/pfdownload。
2 SRIO通信案例2.1 案例功能評估板DSP端和ZYNQ PL端進行SRIO通信測試,并統(tǒng)計讀寫速率。評估板DSP端作為Initiator,評估板ZYNQ PL端作為Target。SRIO默認配置為x4模式,每個通道速率5Gbps,并分別使用NWRITE + NREAD和SWRITE + NREAD模式進行測試。ZYNQ PL端使用一個36Kbit的BRAM作為設備存儲空間,將DSP端發(fā)送的過來數(shù)據(jù)儲存至BRAM。
2.2 案例測試先加載運行ZYNQ PL端程序,再運行DSP端程序,CCS Console窗口將打印測試結果。
NWRITE + NREAD模式:NWRITE= 12.50Gbps NREAD= 7.74Gbps
SWRITE + NREAD模式:SWRITE= 12.49Gbps NREAD= 7.74Gbps
備注:由于寫測試僅統(tǒng)計發(fā)送數(shù)據(jù)至SRIO FIFO的時間,讀測試統(tǒng)計發(fā)送讀請求并等待Target發(fā)送數(shù)據(jù)完成的時間,因此寫速率將比讀速率高。

2.3 關鍵代碼2.3.1 DSP工程(1) 程序配置說明。

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



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

(4) SRIO寫測試流程。



(5) SRIO讀測試流程。



2.3.2 ZYNQ工程(1) 端口定義。

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

(3) 例化Serial RapidIO Gen2 IP核。



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

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



SRIO詳細開發(fā)說明請參考產品光盤“6-開發(fā)參考資料\TI官方參考文檔\”目錄下的《Serial Rapid IO (SRIO) User Guide.pdf》文檔。
備注:關于本案例涉及的IP核、模塊的配置詳細說明,可下載產品資料進行查看。
|