引 言
數(shù)字信號(hào)處理技術(shù)已廣泛應(yīng)用于通信、雷達(dá)、聲納、遙感、圖形圖像處理和語音處理等領(lǐng)域。隨著現(xiàn)代科技的發(fā)展,尤其是半導(dǎo)體工藝的進(jìn)入深亞微米時(shí)代,新的功能強(qiáng)勁的高性能數(shù)字信號(hào)處理器(DSP)也相繼推出,如ADI(美國(guó)模擬器件)公司的TigerSHARC系列和TI(德州儀器)公司的C6000系列,但是,要實(shí)現(xiàn)對(duì)運(yùn)算量和實(shí)時(shí)性要求越來越高的DSP 算法,如對(duì)基于分?jǐn)?shù)階傅立葉變換的Chirp信號(hào)檢測(cè)與估計(jì),合成孔徑雷達(dá)(SAR)成像,高頻地波雷達(dá)中的自適應(yīng)濾波和自適應(yīng)波束形成等算法,單片 DSP 仍然顯得力不從心。這些挑戰(zhàn)主要涉及兩個(gè)主題:一是計(jì)算能力,指設(shè)備、板卡和系統(tǒng)中分別可用的處理資源。采用多DSP、多FPGA系統(tǒng),將是提高運(yùn)算能力的一個(gè)有效途徑。二是連接性,從本質(zhì)上說就是實(shí)現(xiàn)不同設(shè)備、板卡和系統(tǒng)之間的“快速”數(shù)據(jù)轉(zhuǎn)移。對(duì)于一些復(fù)雜的信息系統(tǒng),對(duì)海量數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性提出了苛刻的要求,多DSP之間、DSP與高速AD采集系統(tǒng)、DSP與FPGA間的高速數(shù)據(jù)傳輸,是影響信號(hào)處理流程的主要瓶頸之一。TI公司最新推出的高性能 TMS320C6455(下文稱C6455)處理器,具有高速運(yùn)算能力的同時(shí)集成了高速串行接口SRIO,方便多DSP以及DSP與FPGA之間的數(shù)據(jù)傳輸,在一定程度上滿足了高速實(shí)時(shí)處理和傳輸?shù)囊。本文在多DSP+FPGA通用信號(hào)處理平臺(tái)的基礎(chǔ)上,深入研究了多DSP間,DSP與FPGA間的SRIO的數(shù)據(jù)通信和加載技術(shù)的軟硬件設(shè)計(jì)與實(shí)現(xiàn)。這些技術(shù)包括了目前SRIO接口的各種應(yīng)用方式,可作為SRIO接口及C6455開發(fā)提供參考[1-3]。
1 C6455特性及SRIO標(biāo)準(zhǔn)介紹
C6455是目前單片處理能力最強(qiáng)的新型高性能定點(diǎn)DSP,它是TI 公司基于第三代先進(jìn)VeloviTI VLIW(超長(zhǎng)指令字)結(jié)構(gòu)開發(fā)出來的新產(chǎn)品。最高主頻為1.2GHz,16位定點(diǎn)處理能力為9600MMAC/s。C6455建立在增強(qiáng)型C64x+ DSP內(nèi)核基礎(chǔ)之上,代碼尺寸平均縮短了20%至30%,周期效率提高了20%。C6455不僅是內(nèi)核的增強(qiáng)和運(yùn)算速度的提升,相比以前的芯片,集成了豐富的外圍接口,如千兆以太網(wǎng)控制器,66 MHz PCI總線接口,最重要的是增加了新的外設(shè)接口SRIO,全雙工工作時(shí),四個(gè)端口峰值速率每秒高達(dá)25 Gbits,解決了DSP高速數(shù)據(jù)傳輸?shù)钠款i,降低了開發(fā)多處理器系統(tǒng)的難度[4-5]。
RapidIO是新一代高速互連技術(shù),已于2004年被國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)際電工協(xié)會(huì)(IEC)批準(zhǔn)為ISO/IEC DIS 18372標(biāo)準(zhǔn)。RapidIO互連定義包括兩類技術(shù):面向高性能微處理器及系統(tǒng)互連的Parallel RapidIO接口;面向串行背板、DSP和相關(guān)串行控制平面應(yīng)用的Serial RapidIO接口。SRIO支持編程模型包括基本存儲(chǔ)器映射IO事務(wù)、基于端口的消息傳遞和基于硬件一致性的全局共享分布式處理器。
SRIO互連架構(gòu)是一個(gè)開放的標(biāo)準(zhǔn),滿足了嵌入式基礎(chǔ)實(shí)施在應(yīng)用方面的廣泛需要。可行的應(yīng)用包括多處理器、存儲(chǔ)器、網(wǎng)絡(luò)設(shè)備中的存儲(chǔ)器映射I/O器件、存儲(chǔ)子系統(tǒng)和通用計(jì)算平臺(tái)。這一互連技術(shù)主要作為系統(tǒng)內(nèi)部互連,支持芯片到芯片和板到板的通信,可以實(shí)現(xiàn)從1Gbps到60Gbps的性能水平,在高速互連方面將會(huì)有廣闊的發(fā)展前景[6]。
2 C6455間的SRIO通信
2.1 C6455間的接口互連
C6455內(nèi)嵌了SRIO模塊,擁有4個(gè)全雙工的port(端口),支持SRIO 1x/4x串行協(xié)議。每個(gè)port支持1.25Gbps、2.5Gbps、3.125Gbps的波特率,每個(gè)port可以單獨(dú)構(gòu)成1x模式,也可以四個(gè) port共同構(gòu)成4x模式。SRIO采用的是CML(電流型邏輯)電平,布線時(shí)必須遵循布線約束。為了最小化來自接收方100歐終端電阻的反射,差分對(duì)應(yīng)該具有50歐的阻抗,并且差分走線必須等長(zhǎng)。在接收端串接耦合電容,隔離直流偏置。圖1是兩片C6455之間SRIO接口設(shè)計(jì)。
2.2 包格式
SRIO的傳輸操作是基于請(qǐng)求和響應(yīng)機(jī)制,包(packet)是系統(tǒng)中端點(diǎn)器件的通信單元。圖2是一次傳輸操作的流程圖。首先由發(fā)起者產(chǎn)生一個(gè)傳輸請(qǐng)求,請(qǐng)求包被傳輸?shù)较噜彽慕粨Q器件,從而進(jìn)入交換結(jié)構(gòu),通過交換機(jī)構(gòu)這個(gè)完整的請(qǐng)求包被轉(zhuǎn)發(fā)到目標(biāo)器件。目標(biāo)器件根據(jù)請(qǐng)求完成相應(yīng)操作后,發(fā)送相應(yīng)的響應(yīng)包,經(jīng)過交換機(jī)構(gòu)傳回到發(fā)起者。此時(shí)一個(gè)完整的傳輸過程完成。
SRIO有三個(gè)層的協(xié)議共同組成,每層協(xié)議在包中都有體現(xiàn)。圖3給出典型的請(qǐng)求包和響應(yīng)包的包格式示意圖。
請(qǐng)求包以物理層字段開始。S位指示這是一個(gè)包還是一個(gè)控制符號(hào),AckID表明交換結(jié)構(gòu)器件將使用控制符號(hào)來確認(rèn)哪一個(gè)包,Prio字段指示用于流量控制的包優(yōu)先級(jí),TT為目標(biāo)地址和源地址字段指示傳輸?shù)刂返臋C(jī)制類型、報(bào)應(yīng)被遞送到的器件的地址和產(chǎn)生包的器件的地址,F(xiàn)type表示正被請(qǐng)求的事務(wù),長(zhǎng)度字段等于編碼后事務(wù)的長(zhǎng)度,SRIO事務(wù)數(shù)據(jù)的有效載荷長(zhǎng)度從1到256字節(jié)不等,源事務(wù)ID指示發(fā)送器件的事務(wù)ID,SRIO器件在兩個(gè)端點(diǎn)器件間最多允許256個(gè)未完成的事務(wù)。對(duì)于存儲(chǔ)器映射事務(wù),跟隨在源事務(wù)ID后面的是器件偏移地址字段,用于指示數(shù)據(jù)的存放地址,CRC為校驗(yàn)碼。
響應(yīng)包與請(qǐng)求包類似,狀態(tài)字段指示是否成功完成了事務(wù),目標(biāo)事務(wù)ID字段的值與請(qǐng)求包中斷事務(wù)ID字段的值相等。
作者:黃克武,吳海洲 北京理工大學(xué) 來源:電子測(cè)量技術(shù)