C645x的串行RapidlO息線通信系統(tǒng)設計
引 言
隨著社會信息交流需求的急劇增加、個人移動通信的迅速普及,頻譜已成為越來越寶貴的資源。天線技術采用空分復用(SDMA),利用在信號傳播方向上的差別,將同頻率、同時隙的信號區(qū)分開來。它可以成倍地擴展通信容量,并和其他復用技術相結合,最大限度地利用有限的頻譜資源。另外在移動通信中,由于復雜的地形、建筑物結構對電波傳播的影響,大量用戶間的相互影響,產(chǎn)生時延擴散、瑞利衰落、多徑、共信道干擾等,使通信質(zhì)量受到嚴重影響。采用智能天線可以有效的解決這個問題。
目前迫切需要解決的是語音、視頻和數(shù)據(jù)三重播放的應用問題。三重播放的核心集中在連接性和計算能力上。連接性就是必須實現(xiàn)不同設備、板卡和系統(tǒng)之間數(shù)據(jù)的高速通信;計算能力指設備、板卡和系統(tǒng)中的處理器能夠滿足新的復雜的算法要求。數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速發(fā)展,數(shù)字信號處理技術應運而生并得到迅速的發(fā)展。數(shù)字信號處理是一種通過使用數(shù)學技巧執(zhí)行轉換或提取信息,來處理現(xiàn)實信號的方法,這些信號由數(shù)字序列表示。在過去的二十多年時間里,數(shù)字信號處理已經(jīng)在通信等領域得到極為廣泛的應用。德州儀器、Freescale等半導體廠商在這一領域擁有很強的實力。
1 串行RapidIO及其結構
RapidIO互連技術在2001年完成基本規(guī)范。2003年10月,國際標準組織和國際電工委員會(IEC)一致通過了RapidIO互連規(guī)范,即ISO/IEC DIS 18372。目前在系統(tǒng)邏輯器件、FPGA和ASIC器件中已經(jīng)實現(xiàn)了該技術。TI公司經(jīng)過努力,也已經(jīng)在DSP芯片上實現(xiàn)了該項技術。串行RapidIO互連架構解決了高性能嵌入式系統(tǒng)在可靠性和互連性方面的挑戰(zhàn)。嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機器和設備運行的裝置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。從中可以看出嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。目前國內(nèi)一個普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。
基于DSP的串行RapidIO的主要特點有:
①引腳數(shù)少;
?、跀?shù)據(jù)寬度和速度可調(diào);
③具備DMA和消息傳遞功能;
④支持復雜可調(diào)整的拓撲結構;
⑤支持多點傳送;
?、蘅煽啃愿撸商峁┓召|(zhì)量保證;
?、吖牡?。
C645x的串行RapidIO有3層結構,如圖1所示。RapidIO結構主要包括物理層、傳輸層和邏輯層。其中物理層負責描述器件的接口規(guī)范,例如分組傳輸機制、流量控制、電特性以及低級錯誤管理等;傳輸層為在不同端點設備之間傳送分組提供路由信息,交換設備以基于器件的路由方式工作于傳輸層;邏輯層定義總體的協(xié)議和分組格式,每個分組最多包含256字節(jié)的載荷,事務通過Load、Store或DMA操作來訪問地址空間。圖1中,邏輯層包括I/0系統(tǒng)、傳送消息、全局共享內(nèi)存以及為將來可能增加功能預留的擴充單元。
2 系統(tǒng)硬件結構
TMS320C645x系列DSP為TI公司推出的速度達到1.2 GHz的DSP,主要應用于電信、醫(yī)療電子和新興的電子行業(yè);可以連接32位DDR2內(nèi)存和66 MHz的PCI接口;具有2個串行干兆媒體獨立接口、以太網(wǎng)MAC端口、1個千兆以太網(wǎng)關,還有一個用于無縫連接公共電信數(shù)據(jù)流的電信串行接口。TMS320C645x具有的這些特性非常適合于超高速數(shù)據(jù)處理系統(tǒng)中。在高速數(shù)據(jù)系統(tǒng)中,大量數(shù)據(jù)的芯片之間的傳輸十分關鍵。只有快速、及時地將數(shù)據(jù)傳輸出去或者讀取進來,才可以減輕系統(tǒng)對數(shù)據(jù)存儲的壓力。圖2為TMS320C645x系列DSP的串行Ra—pidIO內(nèi)部結構框圖。
從圖2可以看出,接收到的差分數(shù)據(jù)進入串行Ra—pidI0,首先RapidIO模塊根據(jù)數(shù)據(jù)的上升沿變化速度檢測出數(shù)據(jù)發(fā)送時鐘頻率,并以此頻率來接收后面的數(shù)據(jù)。然后,將接收的串行數(shù)據(jù)經(jīng)過S2P(Series to Parallel)單元,將串行數(shù)據(jù)轉換成10位的并行數(shù)據(jù),從而降低了10倍數(shù)據(jù)傳輸速度。物理層得到并行數(shù)據(jù)后,將數(shù)據(jù)送到邏輯層,依次經(jīng)過譯碼、FIFO、CRC校驗和拆包處理,送到緩沖并進行數(shù)據(jù)處理,最后經(jīng)過DMA總線送到DSP處理單元,完成數(shù)據(jù)的接收。
2個DSP之間的RapidIO連接簡單、方便,如圖3所示,只要將收發(fā)數(shù)據(jù)相應地連接上就可以了。由于RapidIO有4根并行數(shù)據(jù)總線,如果將所有的數(shù)據(jù)總線全部連接上,可以確保最高的通信速率。也可以使用1根數(shù)據(jù)總線通信,這時數(shù)據(jù)傳輸速度降低到最高通信速率的1/4。如果多個DSP相互之間都需要進行通信,則一般采用單根數(shù)據(jù)通信方式。圖4中的3個DSP之間相互使用RapidIO總線通信。此外,DSP之間的數(shù)據(jù)地和模擬地需要分別連接在一起(見圖3)。
[!--empirenews.page--] 3 系統(tǒng)軟件設計
RapidIO總線的設置有3個步驟:
?、僭O置RapidIO的時鐘,通過SERDES_CFG_CNTL寄存器設置數(shù)據(jù)收發(fā)的速率;
②使能RapidIO的接收器,同時設置一些和數(shù)據(jù)接收相關的參數(shù),包括差分信號的自適應均衡設計、相位偏差設置、信號損耗設置等;
③使能RapidIO的發(fā)送器,同時設置一些和數(shù)據(jù)發(fā)送相關的參數(shù),包括發(fā)送速率、總線寬度等。
設置RapidIO速率為3.125 Gbps,使能接收器和發(fā)送器的代碼如下:
開始和結束都是由主機發(fā)起和控制的,從機被動地接收命令并執(zhí)行指令。當從機需要主動向主機發(fā)送數(shù)據(jù)時,只能由從機發(fā)出中斷到主機;主機響應中斷后,發(fā)出數(shù)據(jù)讀取命令。具體的工作流程如圖5所示。主機的命令發(fā)起機構發(fā)出操作命令,并將發(fā)送請求包經(jīng)過命令傳輸機構傳送到從機的命令執(zhí)行機構,從機的命令執(zhí)行機構可能執(zhí)行數(shù)據(jù)接收(主機向從機發(fā)送數(shù)據(jù))和數(shù)據(jù)發(fā)送(主機要求從機發(fā)送數(shù)據(jù))任務。命令執(zhí)行機構處理完成相應命令,發(fā)送應答包到主機,主機判斷到命令完成,將命令狀態(tài)清除,完成整個命令的操作。
RapidIO在數(shù)據(jù)傳輸過程中,可能產(chǎn)生錯誤。根據(jù)錯誤情況,RapidIO發(fā)出2種不同的中斷到CPU:狀態(tài)錯誤,此時CPU應復位或者重新同步RapidIO;嚴重錯誤,此時CPU應復位所有和RapidIO相關的設備。
4 總 結
本文介紹了DSP中的串行RapidIO總線,詳述了該總線的層次結構和內(nèi)部結構,并且結合多個DSP之間的RapidIO通信介紹了硬件和軟件系統(tǒng)設計。該總線可以實現(xiàn)10 Gbps的高速數(shù)據(jù)通信,可以滿足語音、圖像和數(shù)據(jù)等多種通信業(yè)務的需求。整個通信系統(tǒng)連接簡單、通信可靠、實用性強