引 言
隨著電子技術(shù)和通信技術(shù)的發(fā)展,對高速通信和超快速計算的需求日益增大。從早期的簡單語音傳輸發(fā)展到圖像傳輸和大量數(shù)據(jù)傳輸;調(diào)制方式上由單載波發(fā)展到多載波調(diào)制;天線技術(shù)方面由單天線發(fā)展到多天線傳輸;電子技術(shù)方面從單核處理器發(fā)展到多核處理器。這些技術(shù)都是為了提高信號傳輸?shù)母咚俣群透哽`敏度以滿足高速通信的需求。
目前迫切需要解決的是語音、視頻和數(shù)據(jù)三重播放的應(yīng)用問題。三重播放的核心集中在連接性和計算能力上。連接性就是必須實(shí)現(xiàn)不同設(shè)備、板卡和系統(tǒng)之間數(shù)據(jù)的高速通信;計算能力指設(shè)備、板卡和系統(tǒng)中的處理器能夠滿足新的復(fù)雜的算法要求。本文介紹一種在數(shù)字信號處理器(DSP)C645x上實(shí)現(xiàn)串行RapidIO總線數(shù)據(jù)傳輸?shù)姆椒。該串行RapidIO傳輸可以達(dá)到芯片之間的10 Gbps的傳輸速度,滿足高速數(shù)據(jù)通信的需求。
1 串行RapidIO及其結(jié)構(gòu)
RapidIO互連技術(shù)在2001年完成基本規(guī)范。2003年10月,國際標(biāo)準(zhǔn)組織和國際電工委員會(IEC)一致通過了RapidIO互連規(guī)范,即ISO/IEC DIS 18372。目前在系統(tǒng)邏輯器件、FPGA和ASIC器件中已經(jīng)實(shí)現(xiàn)了該技術(shù)。TI公司經(jīng)過努力,也已經(jīng)在DSP芯片上實(shí)現(xiàn)了該項(xiàng)技術(shù)。串行RapidIO互連架構(gòu)解決了高性能嵌入式系統(tǒng)(包括無線基礎(chǔ)設(shè)施器件、網(wǎng)絡(luò)接入設(shè)備、多服務(wù)平臺、高端路由器和存儲設(shè)備等)在可靠性和互連性方面的挑戰(zhàn)。Ra—pidIO互連為嵌入式系統(tǒng)設(shè)計提供了高帶寬和低延遲的數(shù)據(jù)通信。RapiclIO技術(shù)允許任何數(shù)據(jù)協(xié)議運(yùn)行;同時通過提供自建的糾錯機(jī)制和點(diǎn)對點(diǎn)架構(gòu)來排除單點(diǎn)故障,滿足嵌入式設(shè)計的可靠性需求。
基于DSP的串行RapidIO的主要特點(diǎn)有:
①引腳數(shù)少;
②數(shù)據(jù)寬度和速度可調(diào);
③具備DMA和消息傳遞功能;
④支持復(fù)雜可調(diào)整的拓?fù)浣Y(jié)構(gòu);
⑤支持多點(diǎn)傳送;
⑥可靠性高,可提供服務(wù)質(zhì)量保證;
⑦功耗低。
C645x的串行RapidIO有3層結(jié)構(gòu),如圖1所示。RapidIO結(jié)構(gòu)主要包括物理層、傳輸層和邏輯層。其中物理層負(fù)責(zé)描述器件的接口規(guī)范,例如分組傳輸機(jī)制、流量控制、電特性以及低級錯誤管理等;傳輸層為在不同端點(diǎn)設(shè)備之間傳送分組提供路由信息,交換設(shè)備以基于器件的路由方式工作于傳輸層;邏輯層定義總體的協(xié)議和分組格式,每個分組最多包含256字節(jié)的載荷,事務(wù)通過Load、Store或DMA操作來訪問地址空間。圖1中,邏輯層包括I/0系統(tǒng)、傳送消息、全局共享內(nèi)存以及為將來可能增加功能預(yù)留的擴(kuò)充單元。傳輸層僅有一個實(shí)現(xiàn)通用傳輸協(xié)議單元;物理層現(xiàn)在包括8/16LP_LVDS和1x/4x串行LP兩個單元,同樣預(yù)留可擴(kuò)充單元。圖中的應(yīng)用協(xié)議和編輯清單屬于應(yīng)用層,由不同用戶改寫。
2 系統(tǒng)硬件結(jié)構(gòu)
TMS320C645x系列DSP為TI公司推出的速度達(dá)到1.2 GHz的DSP,主要應(yīng)用于電信、醫(yī)療電子和新興的電子行業(yè);可以連接32位DDR2內(nèi)存和66 MHz的PCI接口;具有2個串行干兆媒體獨(dú)立接口、以太網(wǎng)MAC端口、1個千兆以太網(wǎng)關(guān),還有一個用于無縫連接公共電信數(shù)據(jù)流的電信串行接口。TMS320C645x具有的這些特性非常適合于超高速數(shù)據(jù)處理系統(tǒng)中。在高速數(shù)據(jù)系統(tǒng)中,大量數(shù)據(jù)的芯片之間的傳輸十分關(guān)鍵。只有快速、及時地將數(shù)據(jù)傳輸出去或者讀取進(jìn)來,才可以減輕系統(tǒng)對數(shù)據(jù)存儲的壓力。為此TMS320C645x專門增加了串行RapidIO模塊,使得在高速數(shù)據(jù)處理的同時,數(shù)據(jù)傳輸速度可以達(dá)到10 Gbps。圖2為TMS320C645x系列DSP的串行Ra—pidIO內(nèi)部結(jié)構(gòu)框圖。
從圖2可以看出,接收到的差分?jǐn)?shù)據(jù)進(jìn)入串行Ra—pidI0,首先RapidIO模塊根據(jù)數(shù)據(jù)的上升沿變化速度檢測出數(shù)據(jù)發(fā)送時鐘頻率,并以此頻率來接收后面的數(shù)據(jù)。然后,將接收的串行數(shù)據(jù)經(jīng)過S2P(Series to Parallel)單元,將串行數(shù)據(jù)轉(zhuǎn)換成10位的并行數(shù)據(jù),從而降低了10倍數(shù)據(jù)傳輸速度。物理層得到并行數(shù)據(jù)后,將數(shù)據(jù)送到邏輯層,依次經(jīng)過譯碼、FIFO、CRC校驗(yàn)和拆包處理,送到緩沖并進(jìn)行數(shù)據(jù)處理,最后經(jīng)過DMA總線送到DSP處理單元,完成數(shù)據(jù)的接收。數(shù)據(jù)發(fā)送和接收過程相似,需要經(jīng)過一個并串轉(zhuǎn)變P2S單元,發(fā)送無需時鐘處理單元,發(fā)送數(shù)據(jù)的速度包含了時鐘速度。
2個DSP之間的RapidIO連接簡單、方便,如圖3所示,只要將收發(fā)數(shù)據(jù)相應(yīng)地連接上就可以了。由于RapidIO有4根并行數(shù)據(jù)總線,如果將所有的數(shù)據(jù)總線全部連接上,可以確保最高的通信速率。也可以使用1根數(shù)據(jù)總線通信,這時數(shù)據(jù)傳輸速度降低到最高通信速率的1/4。如果多個DSP相互之間都需要進(jìn)行通信,則一般采用單根數(shù)據(jù)通信方式。圖4中的3個DSP之間相互使用RapidIO總線通信。由于只有4根數(shù)據(jù)總線,最多只能實(shí)現(xiàn)4個DSP之間相互使用RapidIO總線通信。需要注意的是,由于RapidIO通信速率較高,在數(shù)據(jù)總線的連接上,一定要注意屏蔽電磁干擾,盡量做到數(shù)據(jù)線等長。此外,DSP之間的數(shù)據(jù)地和模擬地需要分別連接在一起(見圖3)。
作者:汪安民 張勝波 來源:單片機(jī)與嵌入式系統(tǒng)