上篇推文爲大家介紹了創龍科技(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。
(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 更多推薦