張劍鋒,周 偉,吳 軍
(南京熊貓漢達(dá)科技有限公司,南京 210000)
為滿足現(xiàn)代電子裝備的綜合一體化技術(shù)發(fā)展,在數(shù)字平臺(tái)中大量采用由高性能FPGA、通用處理器等芯片組成的高集成數(shù)字處理模塊。為實(shí)現(xiàn)模塊之間的數(shù)據(jù)傳輸,傳統(tǒng)的采用PCI、以太網(wǎng)或RapidIO 等總線。數(shù)字平臺(tái)單總線模式必然會(huì)導(dǎo)致控制信號(hào)和高速基帶數(shù)據(jù)對(duì)總線的搶占,造成系統(tǒng)時(shí)延變大以及丟包現(xiàn)象,嚴(yán)重影響系統(tǒng)性能和可靠性。VPX 總線采用RapidIO 和Advanced Switch Interconnect 等現(xiàn)代的工業(yè)標(biāo)準(zhǔn)的串行交換結(jié)構(gòu),實(shí)現(xiàn)了更高的背板帶寬和數(shù)據(jù)交換,減少了處理時(shí)延和輸入數(shù)據(jù)流的中斷。VPX 核心交換可以提供32對(duì)差分對(duì),每對(duì)差分對(duì)理論上可以提供10Gbps 的數(shù)據(jù)交換能力[1],一個(gè)VPX 模塊理論上最高可以提供8Gbyte 的數(shù)據(jù)交換能力,是綜合一體化電子裝備研制的首選總線之一。VPX 定義了集中式、分布式兩種系統(tǒng)互連結(jié)構(gòu),采用基于交換開(kāi)關(guān)的互連網(wǎng)絡(luò),有多種串行開(kāi)關(guān)協(xié)議映射在VPX 中,如RapidIO、PCI Express、Ethernet 等,同時(shí)VPX 系統(tǒng)保持了與傳統(tǒng)VME 總線的兼容性,從而有效提高數(shù)據(jù)總線帶寬和系統(tǒng)的工作特性。
RapidIO 技術(shù)是一種高性能低引腳數(shù)基于包交換的交叉開(kāi)關(guān)互連技術(shù),是第一個(gè)嵌入式互連國(guó)際標(biāo)準(zhǔn)。RapidIO 規(guī)范采用時(shí)鐘數(shù)據(jù)恢復(fù)同步技術(shù)和8B/10B 編解碼機(jī)制,適合于長(zhǎng)距離傳輸,支持1x/2x/4x/8x/16x 通道模式和最高6.25Gb/s 的波特率。RapidIO 技術(shù)屬于系統(tǒng)內(nèi)部互連技術(shù),適合于多器件緊耦合的工作環(huán)境,其高帶寬、低延時(shí)、高效率及高可靠性的優(yōu)點(diǎn)為高性能的嵌入式系統(tǒng)的內(nèi)部互連通信提供了良好的解決方案。在高速通用處理設(shè)計(jì)中,通過(guò)交換開(kāi)關(guān)互連實(shí)現(xiàn)RapidIO 總線互連,完成模塊上處理器之間和與系統(tǒng)其他模塊處理器間的高速通信。
Gigabit Ethernet(千兆以太網(wǎng))技術(shù)作為一種高速以太網(wǎng)技術(shù),繼承了傳統(tǒng)以太網(wǎng)結(jié)構(gòu)簡(jiǎn)單、算法簡(jiǎn)潔、良好兼容性、技術(shù)價(jià)格便宜的特點(diǎn),又顯著提高了傳輸速率。千兆以太網(wǎng)技術(shù)采用與10M/100M 以太網(wǎng)相同的幀格式、幀結(jié)構(gòu)、網(wǎng)絡(luò)協(xié)議、全/半雙工工作方式、流控模式以及布線系統(tǒng),可以不用改變傳統(tǒng)以太網(wǎng)的桌面應(yīng)用和操作系統(tǒng)實(shí)現(xiàn)與傳統(tǒng)以太網(wǎng)很好地配合工作。在升級(jí)到千兆以太網(wǎng)時(shí),不必改變網(wǎng)絡(luò)應(yīng)用程序、網(wǎng)管部件和網(wǎng)絡(luò)操作系統(tǒng),能夠最大程度地保護(hù)用戶投資。以太網(wǎng)技術(shù)具有共享性、開(kāi)放性、靈活性等特點(diǎn),廣泛應(yīng)用于局域網(wǎng)(LAN)、城域網(wǎng)(MAN)和廣域網(wǎng)(WAN)領(lǐng)域。在高速通用處理設(shè)計(jì)中,通過(guò)交換開(kāi)關(guān)實(shí)現(xiàn)Gigabit Ethernet 總線互連,完成模塊與系統(tǒng)中交換模塊的以太網(wǎng)連接,實(shí)現(xiàn)模塊和系統(tǒng)統(tǒng)一的以太網(wǎng)接口,可以完成基于以太網(wǎng)接口的調(diào)試維護(hù)和遠(yuǎn)程數(shù)據(jù)加載。
為滿足未來(lái)綜合電子裝備高帶寬、低時(shí)延數(shù)據(jù)傳輸要求以及系統(tǒng)內(nèi)處理器、模塊之間點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多的通信能力。本文基于VPX 總線技術(shù),采用BCM54680 和TSI578芯片實(shí)現(xiàn)了數(shù)字平臺(tái)的以太網(wǎng)、RapidIO 雙總線交換。其中,以太網(wǎng)總線傳輸控制信號(hào),RapidIO 傳輸高速低時(shí)延基帶數(shù)據(jù)。有效解決了一體化數(shù)字平臺(tái)總線時(shí)延大、易丟包等問(wèn)題,實(shí)現(xiàn)了多個(gè)模塊之間全互聯(lián)的數(shù)據(jù)交換、訪問(wèn)。
網(wǎng)絡(luò)交換模塊由以太網(wǎng)交換芯片BCM54680、RapidIO 交換芯片TSI578、控制與配置單元及其他公共單元組成。其中,①BCM54680 是BroadCOM 公司的一款8 通道10M/100M/1000M 以太網(wǎng)PHY 芯片,提供SGMII 接口,支持端口速率自適應(yīng)。BCM54680基于BroadCOM 成熟的數(shù)字信號(hào)處理器技術(shù),結(jié)合了數(shù)字自適應(yīng)均衡器,ADCs,鎖相環(huán),線路驅(qū)動(dòng)器,編碼器解碼器回聲消除器,串?dāng)_消除器以及集成到單個(gè)單片機(jī)中的所有其他所需支持電路CMOS 的芯片。BCM54680可自動(dòng)與線纜另一端的任何收發(fā)器協(xié)商,以達(dá)成運(yùn)行速度。該芯片還可以評(píng)估雙絞線的狀況,以確保界限可以支持千兆速度的操作,并檢測(cè)和糾正大多數(shù)常見(jiàn)的接線問(wèn)題。②TSI578是Tundra 公司的第三代交換芯片,該芯片支持高達(dá)3.125G 的高速串行數(shù)據(jù)交互,可提供最多16路1X 或8路4X mode 的RapidIO 接口,每個(gè)接口還可以配置為每秒1.25G 和2.5G,端口速率配置靈活,芯片集成了高速的全雙工serdes 和8b/10b 編碼,包含接收器均衡、傳輸預(yù)加重,支持IEEE1149.6標(biāo)準(zhǔn),芯片內(nèi)部增強(qiáng)了無(wú)阻塞內(nèi)部交換體系,可通過(guò)調(diào)度算法來(lái)管理通信量,可監(jiān)控各個(gè)端口的性能,同時(shí)也可設(shè)定緩存深度,一個(gè)重配置來(lái)消除低優(yōu)先級(jí)數(shù)據(jù)包得不到處理的現(xiàn)象,最多支持64000個(gè)端點(diǎn)的數(shù)據(jù)包路由表。
TSI578的操作簡(jiǎn)單,可以靈活修改其中的寄存器來(lái)改變TSI578的工作模式。在具體應(yīng)用中可以通過(guò)JTAG、I2C 和Rapid IO 修改TSI578的寄存器。本文采用I2C 訪問(wèn)和修改TSI578的寄存器實(shí)現(xiàn)工作模式、速率等修改。網(wǎng)絡(luò)交換模塊系統(tǒng)架構(gòu)框圖,如圖1所示。
圖1 網(wǎng)絡(luò)交換模塊系統(tǒng)框圖
網(wǎng)絡(luò)交換模塊對(duì)外接口包含:①Rapid IO 接口:本模塊對(duì)外提供8路接口,分別與7路數(shù)字信號(hào)處理模塊,1路人機(jī)交互模塊連接。②以太網(wǎng)接口:本模塊對(duì)外提供8路接口,分別與7路數(shù)字信號(hào)處理模塊,1路人機(jī)交互模塊連接。③自定義IO:預(yù)留離散控制線、背板控制信號(hào)等。④調(diào)試串口:1個(gè),調(diào)試階段對(duì)本模塊狀態(tài)監(jiān)視,命令控制。
網(wǎng)絡(luò)交換模塊電源種類較多,根據(jù)手冊(cè)提供的一些要求,對(duì)電源進(jìn)行合并處理,F(xiàn)PGA 芯片有一定的上電時(shí)序要求。
網(wǎng)絡(luò)交換模塊時(shí)鐘采用本地時(shí)鐘和系統(tǒng)統(tǒng)一時(shí)鐘兩種模式,模塊調(diào)試時(shí)采用本地時(shí)鐘,系統(tǒng)工作時(shí),交換模塊采用背板的統(tǒng)一時(shí)鐘,保證時(shí)鐘的精度和時(shí)鐘同源。
網(wǎng)絡(luò)交換模塊工作流程:以太網(wǎng)總線,在接收狀態(tài)下,控制信號(hào)從數(shù)字處理模塊的以太網(wǎng)接口通過(guò)背板輸入到網(wǎng)絡(luò)交換模塊的BCM54680,BCM54680完成數(shù)據(jù)的解析后發(fā)送給人機(jī)交互模塊。在發(fā)送狀態(tài)下,從人機(jī)交互模塊過(guò)來(lái)的數(shù)據(jù)經(jīng)過(guò)BCM54680完成數(shù)據(jù)的解析后,根據(jù)目的地址的要求提供給對(duì)應(yīng)的數(shù)字信號(hào)處理模塊。針對(duì)RapidIO 數(shù)據(jù)傳輸,數(shù)據(jù)由數(shù)字信號(hào)處理模塊過(guò)來(lái),根據(jù)數(shù)據(jù)中攜帶的目的地址的相關(guān)信息實(shí)現(xiàn)信號(hào)往哪個(gè)模塊發(fā)送,這樣可實(shí)現(xiàn)點(diǎn)到點(diǎn)和點(diǎn)對(duì)多的通信。
網(wǎng)絡(luò)交換模塊各芯片的軟件配置主要通過(guò)FPGA 串口完成。通過(guò)FPGA 去訪問(wèn)BCM54680以及TSI578,串口協(xié)議需要在FPGA 內(nèi)部進(jìn)行協(xié)議轉(zhuǎn)換,最終采用的串口協(xié)議如表1所示:
表1 串口協(xié)議
采用串口通過(guò)FPGA 配置BCM54680的流程圖,如圖2所示:
圖2 FPGA配置BCM54680流程圖
網(wǎng)口配置完成后,本次測(cè)試和電腦主機(jī)進(jìn)行通信,當(dāng)對(duì)方配置完成后,網(wǎng)口測(cè)試結(jié)果:設(shè)備網(wǎng)口能夠與電腦主機(jī)互聯(lián)互通,收發(fā)數(shù)據(jù)正常,同時(shí)設(shè)備多個(gè)網(wǎng)口能夠互聯(lián)互通測(cè)試,測(cè)試結(jié)果符合預(yù)期。
采用串口通過(guò)FPGA 配置TSI578的流程,主要是:?jiǎn)伟逭?dòng)——配置端口速率——配置DEST_ID——配置端口號(hào)——觀測(cè)數(shù)據(jù)傳輸。
RapidIO 口配置完成后,數(shù)據(jù)傳輸結(jié)果:RapidIO 傳輸正常,收發(fā)數(shù)據(jù)正常,測(cè)試結(jié)果符合預(yù)期。
本文介紹了基于BCM54680和TSI578芯片的以太網(wǎng)交換和RapidIO 交換的設(shè)計(jì)原理和實(shí)現(xiàn)方法,并給出了實(shí)現(xiàn)的硬件設(shè)計(jì)和軟件配置。隨著現(xiàn)代電子裝備的綜合化技術(shù)深入發(fā)展,基于以太網(wǎng)和RapidIO 雙總線的交換模塊將成為高速串行總線系統(tǒng)架構(gòu)中重要的組件模塊,并在嵌入式系統(tǒng)中得到廣泛的應(yīng)用。