安國(guó)臣,劉家男,馬洪濤
(河北科技大學(xué),河北 石家莊 050000)
隨著衛(wèi)星通信技術(shù)的發(fā)展,數(shù)據(jù)的透明轉(zhuǎn)發(fā)已經(jīng)不能滿足現(xiàn)階段的衛(wèi)星通信的需求,融合星上交換、星上路由等技術(shù)實(shí)現(xiàn)衛(wèi)星通信業(yè)務(wù)的全I(xiàn)P化,進(jìn)而提高了系統(tǒng)的靈活性和可靠性[1,2]。為了滿足衛(wèi)星通信領(lǐng)域的有效性和可靠性,采用專用通信協(xié)議。本系統(tǒng)實(shí)現(xiàn)了以太網(wǎng)協(xié)議和自定義專用鏈路協(xié)議之間的協(xié)議轉(zhuǎn)換,為衛(wèi)星通信提供了可靠的保障。
系統(tǒng)采用Xilinx公司Virtex5系列的FPGA芯片作為核心芯片,通過(guò)對(duì)4路以太網(wǎng)數(shù)據(jù)的輪詢、拆包、拼幀和合包等處理,完成了以太網(wǎng)協(xié)議與專業(yè)鏈路協(xié)議之間的相互轉(zhuǎn)換功能。
根據(jù)系統(tǒng)功能需求系統(tǒng)分為數(shù)據(jù)上行和數(shù)據(jù)下行兩部分,其中數(shù)據(jù)上行部分負(fù)責(zé)從網(wǎng)絡(luò)測(cè)試儀中接收以太網(wǎng)數(shù)據(jù)包,對(duì)其拆包、拼幀等處理,完成對(duì)以太網(wǎng)協(xié)議與專用鏈路協(xié)議之間的轉(zhuǎn)換等功能,并由LVDS接口發(fā)送到星上設(shè)備;數(shù)據(jù)下行部分與之相反,負(fù)責(zé)接收專用鏈路數(shù)據(jù)包,對(duì)其合包、拼幀等處理,完成對(duì)專用鏈路協(xié)議與以太網(wǎng)協(xié)議的轉(zhuǎn)換等功能,并通過(guò)網(wǎng)口發(fā)送回網(wǎng)絡(luò)測(cè)試儀。
數(shù)據(jù)上行部分負(fù)責(zé)完成以太網(wǎng)協(xié)議與專用鏈路數(shù)據(jù)協(xié)議的轉(zhuǎn)換功能,在其結(jié)構(gòu)上可以分為以下3部分:接收部分、協(xié)議轉(zhuǎn)換部分和發(fā)送部分,其結(jié)構(gòu)框圖,如圖1所示。
圖1 數(shù)據(jù)上行部分設(shè)計(jì)框圖
由圖1可知,數(shù)據(jù)上行分成了3個(gè)獨(dú)立模塊:MAC接收模塊、拆包拼幀模塊和發(fā)送模塊,各模塊功能具體詳述如下。① MAC接收模塊負(fù)責(zé)從網(wǎng)口接收以太網(wǎng)數(shù)據(jù)包,并完成包過(guò)濾、幀長(zhǎng)計(jì)算和CRC校驗(yàn)等處理。對(duì)校驗(yàn)通過(guò)的數(shù)據(jù)包提取源MAC地址、目的MAC地址、幀類型、源IP地址和目的IP地址等信息,并將其存入幀頭FIFO存儲(chǔ)器中,其余數(shù)據(jù)信息存入數(shù)據(jù)FIFO存儲(chǔ)器中。② 拆包拼幀模塊負(fù)責(zé)輪詢接收來(lái)自上一級(jí)模塊FIFO中的幀頭、幀長(zhǎng)和數(shù)據(jù)信息,并根據(jù)讀取的幀長(zhǎng)信息對(duì)數(shù)據(jù)進(jìn)行拆包處理,將其分成數(shù)組256字節(jié)小包數(shù)據(jù),存入數(shù)據(jù)FIFO存儲(chǔ)器中,然后根據(jù)幀頭信息中的源MAC地址和源IP地址拼出專用鏈路數(shù)據(jù)幀頭,并將其存入幀頭FIFO存儲(chǔ)器中[3]。需要注意的是當(dāng)最后一組數(shù)據(jù)不足256字節(jié)時(shí),需通過(guò)補(bǔ)零將數(shù)據(jù)補(bǔ)充完整[4]。③ 發(fā)送模塊負(fù)責(zé)接收來(lái)自拆包拼幀模塊中的并行數(shù)據(jù),并經(jīng)過(guò)并串轉(zhuǎn)換處理,將串行數(shù)據(jù)發(fā)送到星上設(shè)備。
與數(shù)據(jù)上行部分相反,數(shù)據(jù)下行部分負(fù)責(zé)完成專用鏈路協(xié)議與以太網(wǎng)協(xié)議轉(zhuǎn)換功能,在其結(jié)構(gòu)上也分為3部分:接收部分、協(xié)議轉(zhuǎn)換部分和發(fā)送部分,其結(jié)構(gòu)框圖,如圖2所示。
如圖2可知,數(shù)據(jù)下行分成了3個(gè)獨(dú)立模塊:LVDS接收模塊、合包拼幀模塊和MAC發(fā)送模塊,各模塊功能具體詳述如下。① 接收模塊負(fù)責(zé)從LVDS口接收串行數(shù)據(jù),經(jīng)過(guò)串并轉(zhuǎn)換處理,將數(shù)據(jù)包拆分為幀頭和數(shù)據(jù),并完成幀長(zhǎng)計(jì)算,將其存入相應(yīng)FIFO存儲(chǔ)器之中。② 合包拼幀模塊負(fù)責(zé)從LVDS接收模塊讀取FIFO存儲(chǔ)器中的幀頭、幀長(zhǎng)和數(shù)據(jù)信息。根據(jù)幀頭信息中的目的站地址,添加設(shè)定好的以太網(wǎng)數(shù)據(jù)包頭,并將讀取的小包數(shù)據(jù)按照順序合成完整的一個(gè)以太網(wǎng)數(shù)據(jù)包。③MAC發(fā)送模塊負(fù)責(zé)讀取合包拼幀模塊FIFO存儲(chǔ)器中的數(shù)據(jù),并根據(jù)其解析出來(lái)的幀類型輸送到MAC核之中,并從對(duì)應(yīng)的網(wǎng)口輸出。
系統(tǒng)的性能和功能測(cè)試采用設(shè)備自環(huán)測(cè)試方法,并用思博倫Spirent C1網(wǎng)絡(luò)測(cè)試儀作為發(fā)包設(shè)備,在其專用控制軟件Spirent TestCenter Application中配置好端口速率、包類型和協(xié)議格式,完成數(shù)據(jù)發(fā)包工作[5],測(cè)試結(jié)果如圖3所示。由圖3可知,網(wǎng)絡(luò)測(cè)試儀發(fā)送了831720240包,在經(jīng)過(guò)協(xié)議轉(zhuǎn)換處理和LVDS口自環(huán)后,網(wǎng)絡(luò)測(cè)試儀接收回來(lái)的數(shù)據(jù)為831720240,不存在丟包現(xiàn)象,達(dá)到了專用通信協(xié)議轉(zhuǎn)換系統(tǒng)的性能要求。
圖3 測(cè)試結(jié)果
系統(tǒng)采用FPGA作為核心芯片,給出了協(xié)議轉(zhuǎn)換模塊的詳細(xì)設(shè)計(jì)方案。經(jīng)過(guò)系統(tǒng)驗(yàn)證,系統(tǒng)實(shí)現(xiàn)了以太網(wǎng)協(xié)議和專用通信協(xié)議之間的相互轉(zhuǎn)化功能,為星上設(shè)備提供了可靠的數(shù)據(jù)源,具有很實(shí)用的參考價(jià)值和工程價(jià)值。