基于TMS320C6455的高速SRIO接口設計
C6455復位和上電時的引導模式主要有:NO BOOT模式,主機引導模式,FLASH引導模式,主I2C引導模式,從I2C引導模式,SRIO引導模式。C6455的EMIFA端口引腳EMIFA [0:19]和ABA[1:0]被復用作配置引腳,和專用引腳PCI_EN一起構成C6455的硬件配置引腳。采用哪種引導模式,由復位或上電時采樣管腳 BOOTMOOD[3:0]來決定[7-9]。表1是引導模式選擇方式。

對被加載的從DSP來說,設置BOOTMOOD[3:0]=1x00,此時為SRIO引導模式,SRIO被配置成四個1x端口,由port0對從DSP進行加載。另外,差分晶振選擇125M的時鐘源。上電后,固化在從DSP內部ROM的“boot loader”對從DSP進行一些必要的初始化配置:
使能全局中斷,SRIO的中斷管腳被使能,使從 DSP可以接收來自主DSP的中斷;
boot loader配置PLL1模塊為15倍頻,也就是使內核工作在750MHz;
boot loader初始化從 DSP的SRIO端口,使SRIO的時鐘模塊配置成1.25G。
主DSP對SRIO端口進行初始化配置,并將時鐘模塊配置成1.25G。此時主DSP與從DSP之間互相發送同步信息,直到鏈路建立。鏈路成功建立以后,主DSP執行NWRITE操作,將待加載程序裝載到L2 SRAM內存中。代碼裝載完成后,執行門鈴操作,向從DSP發送中斷,從DSP收到中斷后脫離“掛起”狀態,從地址0x800000處運行程序,加載過程結束。圖7便是SRIO引導過程。實測表明,主DSP通過FLASH加載完成后,可通過SRIO接口對從DSP完成加載。

4 C6455與FPGA等構建SRIO網絡
SRIO與微處理器總線類似,它在硬件中完成存儲器和器件尋址以及分組處理,降低了用于I/O處理的開銷,減小了延遲。一個運行于3.125 Gbps的4通道SRIO鏈路能在完全保持數據完整性的前提下提供25 Gbps的流量,保障了海量數據傳輸的實時性。
SRIO網絡建立在兩個“基本模塊”基礎之上:端點設備(Endpoint)和交換設備(Switch)。有兩種連接方式,一種是簡單的端點到端點互聯,一種是端點到交換設備的互聯,端點設備負責收發數據包,交換設備負責在端口之間傳遞數據包,但不負責數據包的解釋。通過Switch交換,可以構建一個 CPU,DSP以及FPGA不同平臺互聯互通的數據傳輸網,進行共享式或分布式處理。圖8給出了SRIO網絡的構建模塊。
C6455具有很強的處理能力,但對于并行算法,采用FPGA可以達到更高的效率。本文以SRIO為橋接,設計了一個C6455和Xilinx Virtex-4 FPGA兩者相結合的處理平臺,C6455和Virtex-4都有豐富的接口,該平臺不但實現了C6455與Virtex-4之間的數據傳輸,還實現了 PCI、網絡MAC、USB等不同協議域之間建立數據流。結構如圖9所示。
SRIO系統由一塊主C6455管理,可加載另外2片C6455,也可建立SRIO到SRIO,PCI到SRIO,MAC到SRIO等數據流。 Xilinx公司根據最新的RapidIO v1.3規范設計了其端點IP解決方案,同時集成了PCIe,以太網MACs等IP核,PCIe的32/64位地址空間(基地址)可自動映射至34/66 位SRIO地址空間(基地址)。PCIe應用程序通過內存或I/O讀寫與C6455通信。這些事務均可通過流寫入、原語和確認讀/寫事務 (SWRITEs, ATOMIC, NREADs, NWRITE/NWRITE_Rs)等I/O操作映射至SRIO空間。以實現從PCIe到SRIO或從SRIO向PCIe的轉換,從而在各個協議域之間建立數據流。
5 結 論
在C6455等高端DSP中,SRIO已逐漸成為主流數據互連方式之一。SRIO具有引腳少、I/O處理開銷低、可達3.125Gbps高速率等優勢, C6455間的SRIO通信設計和基于SRIO的加載技術提高了系統設計的靈活性,而基于DSP和FPGA的SRIO網絡設計降低了多處理器集成的難度,可方便進行共享式或分布式處理,構成具備共享帶寬和強大處理能力的通用處理平臺,從而更好地解決“強大計算能力”和“快速數據傳輸”兩大挑戰。
交換機相關文章:交換機工作原理
合成孔徑雷達相關文章:合成孔徑雷達原理
評論