張慶順,周拴柱,劉贊,于天燕,張鎖良
(1. 河北大學(xué)電子信息工程學(xué)院,河北省數(shù)字醫(yī)療工程重點(diǎn)實(shí)驗(yàn)室,河北保定 071002;
2.中國人民解放軍66165部隊(duì)通信修理所,河北保定 071002)
摘 要:在借鑒IP over CCSDS(consultative committee for space data systems)space links等相關(guān)建議的基礎(chǔ)上,就TCP/IP協(xié)議和CCSDS AOS(高級在軌系統(tǒng))空間數(shù)據(jù)鏈路協(xié)議之間的轉(zhuǎn)換,提出了一種基于FPGA(field-programmable gate array)的IP over CCSDS協(xié)議長幀拆分算法的設(shè)計(jì)實(shí)現(xiàn)方法,并給出了仿真驗(yàn)證結(jié)果.
關(guān)鍵詞:TCP/IP;CCSDS;AOS;IP over CCSDS;協(xié)議轉(zhuǎn)換
DOI:10.3969/j.issn.1000-1565.2015.02.017
基于FPGA的IP over CCSDS協(xié)議中長幀拆分的實(shí)現(xiàn)與仿真
張慶順1,周拴柱1,劉贊1,于天燕2,張鎖良1
(1. 河北大學(xué)電子信息工程學(xué)院,河北省數(shù)字醫(yī)療工程重點(diǎn)實(shí)驗(yàn)室,河北保定071002;
2.中國人民解放軍66165部隊(duì)通信修理所,河北保定071002)
摘要:在借鑒IP over CCSDS(consultative committee for space data systems)space links等相關(guān)建議的基礎(chǔ)上,就TCP/IP協(xié)議和CCSDS AOS(高級在軌系統(tǒng))空間數(shù)據(jù)鏈路協(xié)議之間的轉(zhuǎn)換,提出了一種基于FPGA(field-programmable gate array)的IP over CCSDS協(xié)議長幀拆分算法的設(shè)計(jì)實(shí)現(xiàn)方法,并給出了仿真驗(yàn)證結(jié)果.
關(guān)鍵詞:TCP/IP;CCSDS;AOS;IP over CCSDS;協(xié)議轉(zhuǎn)換
DOI:10.3969/j.issn.1000-1565.2015.02.017
收稿日期:2014-12-05
基金項(xiàng)目:第一作者:張慶順(1979-),男,陜西漢中人,河北大學(xué)講師,主要從事高速數(shù)據(jù)通信的研究.E-mail:zqs@hbv.cn
通信作者:張鎖良(1966-),男,河北藁城人,河北大學(xué)教授,主要從事高速數(shù)據(jù)通信的研究.E-mail:zhangsl@hbu.cn
中圖分類號:TN915
文獻(xiàn)標(biāo)志碼:志碼:A
文章編號:編號:1000-1565(2015)02-0204-06
Abstract:On the basis of drawing on IP over CCSDS space links and other relevant recommendations,it is proposed that the implementation method of FPGA-based IP over CCSDS protocol long frame split about the protocol conversion between TCP/IP protocol and CCSDS AOS (advanced orbit system) space data link. Simulation results are given.
Implementation and simulation of FPGA-based IP over CCSDS
protocol long frame split
ZHANG Qingshun1,ZHOU Shuanzhu1,LIU Zan1,YU Tianyan2,ZHANG Suoliang1
(1.Key Laboratory of Digtal Medical Engineering of Hebei Province, College of Electronic
and Information Engineering,Hebei University,Baoding 071002,China;2.Communi cation
Repairment Institute,The Chinese People’s Liberation Army Unit 66165,Baoding 071002,China)
Key words: TCP/IP;CCSDS;AOS;IP over CCSDS;protocol conversion
為了適應(yīng)空間技術(shù)的發(fā)展要求,由世界主要的空間機(jī)構(gòu)組成的國際空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì)(consultative committee for space data systems,CCSDS)于1982年成立.CCSDS是一個(gè)各空間局國際合作組織,致力于建立有助于航天通信和數(shù)據(jù)交換系統(tǒng)的標(biāo)準(zhǔn),共同探討一些空間數(shù)據(jù)系統(tǒng)的開發(fā)和運(yùn)營中出現(xiàn)的常見問題,其目的是建立標(biāo)準(zhǔn)化、開放性的空間數(shù)據(jù)系統(tǒng),以便相互支持和提高費(fèi)效比.它當(dāng)前有11個(gè)成員機(jī)構(gòu)、28個(gè)觀察機(jī)構(gòu)和超過140個(gè)工業(yè)協(xié)會(huì)組成,超過700個(gè)太空任務(wù)選擇CCSDS標(biāo)準(zhǔn),而且數(shù)量還在繼續(xù)增長.中國于20世紀(jì)90年代初開始研究CCSDS協(xié)議,空間探測技術(shù)發(fā)展較晚.隨著空間探測的不斷深入和深空探測的開展,現(xiàn)有的體制已經(jīng)不能滿足需求,因此研究CCSDS建議意義重大[1].
Internet及其技術(shù)的迅猛發(fā)展引發(fā)了信息時(shí)代的一次革命,TCP/IP是Internet網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí)使用的主要協(xié)議族,已成事實(shí)上的標(biāo)準(zhǔn).它的主要優(yōu)勢在于它的路由性、共享性、管理性和安全性[2].TCP/IP技術(shù)已發(fā)展成熟,各類相關(guān)產(chǎn)品種類較多.航天測控通信網(wǎng)采用這種標(biāo)準(zhǔn)協(xié)議的網(wǎng)絡(luò),可以降低系統(tǒng)運(yùn)營、維護(hù)與管理的成本,并有利于測控通信網(wǎng)的未來發(fā)展.此外,航天測控領(lǐng)域采用TCP/IP協(xié)議使得航天測控通信增加許多優(yōu)勢:數(shù)據(jù)傳輸不再是點(diǎn)對點(diǎn)路由,而是網(wǎng)絡(luò)的拓?fù)浜吐酚蓞f(xié)議,選取最佳可用路徑,大大提高了傳輸?shù)撵`活性;TCP/IP網(wǎng)絡(luò)還能夠提供很多服務(wù),包括文件傳輸服務(wù)、電子郵件服務(wù)、Web服務(wù)和統(tǒng)一網(wǎng)絡(luò)管理等服務(wù),這對航天測控通信將產(chǎn)生深遠(yuǎn)的影響[3].
IP over CCSDS是CCSDS推薦的,在航天器和地面系統(tǒng)之間、航天器之間及航天器內(nèi)部利用TCP/IP協(xié)議進(jìn)行空間數(shù)據(jù)通信的標(biāo)準(zhǔn)規(guī)范.本文在借鑒IP over CCSDS space links藍(lán)皮書702.1-B-1的基礎(chǔ)上,提出了一種基于FPGA的IP over CCSDS協(xié)議長幀拆分算法的設(shè)計(jì)實(shí)現(xiàn)方法,并給出了仿真驗(yàn)證結(jié)果.
1IP over CCSDS協(xié)議轉(zhuǎn)換技術(shù)分析
圖1為IP over CCSDS網(wǎng)關(guān)部署示意,它實(shí)現(xiàn)了TCP/IP協(xié)議和CCSDS空間鏈路協(xié)議的轉(zhuǎn)換,可部署在空間站和地面測控站之間,空間站和地面測控站均為TCP/IP網(wǎng)絡(luò)[4].
圖1 IP over CCSD網(wǎng)關(guān)部署示意 Fig.1 IP over CCSDS gateway deployment diagram
IP over CCSDS Space Links提出了4種傳輸方式,分別為telemetry(TM),telecommand(TC),advanced orbiting systems(AOS)和Proximity-1.TM空間數(shù)據(jù)鏈路協(xié)議通常用于從航天器到地面站發(fā)送遙測信息,即空-地鏈路,用于低速下行鏈路.TC空間數(shù)據(jù)鏈路協(xié)議通常用于從地面站向航天器發(fā)送命令,即地-空鏈路,主要用于低速上行鏈路.AOS空間數(shù)據(jù)鏈路協(xié)議服務(wù)于空-空、空-地探測通信等系統(tǒng),可以處理大容量、高速率數(shù)據(jù),支持不同需求用戶同時(shí)訪問,用于高速上/下行鏈路.Proximity-1空間數(shù)據(jù)鏈路協(xié)議是中等速率上/下行鏈路、近距離及低功耗鏈路,可以提高鄰近航天器之間的通信效率.Proximity-1延時(shí)短、信號強(qiáng)度中等,適合短途、雙向、固定或變化的無線鏈路.由于AOS協(xié)議適用于大容量、高速率上/下行鏈路,并支持多路虛擬通道復(fù)用,因此適合傳輸視頻、圖像和音頻等,符合現(xiàn)實(shí)需要[5].
為在CCSDS空間鏈路之上傳輸IP包,IP over CCSDS space links藍(lán)皮書提出利用AOS封裝服務(wù),將IP數(shù)據(jù)包放入到CCSDS封裝分組中進(jìn)行傳輸(圖2)[6].如圖2所示,由于TCP/IP 協(xié)議不適合空間通信信道,IP數(shù)據(jù)包必須通過CCSDS IP封裝(IPE)協(xié)議進(jìn)行CCSDS封裝,CCSDS封裝包再利用AOS空間數(shù)據(jù)鏈路協(xié)議進(jìn)行傳輸.該方案還可以將IP數(shù)據(jù)包進(jìn)行分包重組后再封裝到CCSDS封裝包里,可以充分利用有限的信道資源.本文依據(jù)上述方案研究并提出了IP數(shù)據(jù)包分包重組并通過數(shù)據(jù)鏈路層的AOS幀進(jìn)行傳輸?shù)脑O(shè)計(jì)實(shí)現(xiàn)方法.
IP over CCSDS模塊包含物理層接口、IP解析與封裝、IP over CCSDS(圖中簡稱IPoC)解析與封裝和同步發(fā)送、接收,如圖3所示.
圖2 CCSDS空間鏈路之上傳輸IP數(shù)據(jù)包 圖3 IP over CCSDS模塊功能結(jié)構(gòu) Fig.2 On CCSDS space link transmission of IP packets Fig.3 IP over CCSDS module function structure
物理層接口包含以太網(wǎng)卡和光纖模塊,其中以太網(wǎng)卡負(fù)責(zé)與地面測控通信網(wǎng)和空間通信網(wǎng)連接,光纖模塊負(fù)責(zé)與Modem連接再進(jìn)行天地鏈路傳輸.IP解析:對IP包進(jìn)行分析,拆分出數(shù)據(jù)域.IP封裝:把數(shù)據(jù)域加上IP頭封裝成IP包.IP over CCSDS封裝:把IP包進(jìn)行分包重組,并封裝成CCSDS的AOS數(shù)據(jù)幀.
2IP協(xié)議和AOS數(shù)據(jù)鏈路協(xié)議的轉(zhuǎn)換
采用的AOS傳輸幀的結(jié)構(gòu)[7]如圖4所示,整個(gè)傳輸幀總共65字節(jié),其中AOS幀頭5字節(jié)、傳輸幀數(shù)據(jù)字段58字節(jié)及幀差錯(cuò)控制字段2字節(jié).
圖4 AOS傳輸幀的幀結(jié)構(gòu) Fig.4 AOS transmission frame of frame structure
AOS傳輸幀由AOS幀頭、M_PDU頭、封裝包頭、IPE和IP數(shù)據(jù)包組成.封裝包頭、IPE和IP數(shù)據(jù)包在M_PDU分組區(qū)中,其中在成幀的時(shí)候會(huì)發(fā)生2種情況[8],如圖5所示.當(dāng)IP數(shù)據(jù)包長度大于AOS幀的數(shù)據(jù)字段時(shí)需要對IP數(shù)據(jù)包進(jìn)行拆分放到2個(gè)及以上AOS傳輸幀中,如圖5a所示.為了充分利用有限的信道資源,當(dāng)AOS傳輸幀中已有IP數(shù)據(jù)包#2但是還有足夠空間,此時(shí)可以再放入IP數(shù)據(jù)包#3,如圖5b所示.
圖5 AOS傳輸幀 Fig.5 AOS transmission frame
圖6 IP數(shù)據(jù)包處理流程 Fig.6 packet processing flow chart
在發(fā)送端,采用FIFO(First input first output,先入先出隊(duì)列)來實(shí)現(xiàn)變長的IP數(shù)據(jù)包封裝到固定長度的CCSDS AOS數(shù)據(jù)鏈路幀,將IP數(shù)據(jù)包放入FIFO中,通過計(jì)數(shù)器來控制IP數(shù)據(jù)包按順序從FIFO輸出,再通過拼接和分割的方式將IP數(shù)據(jù)包封裝到AOS幀[9-10],如圖6所示.
由于AOS幀的長度是一定的,而IP數(shù)據(jù)包的長度是可變的,因此不可避免地帶來了IP數(shù)據(jù)包分割的問題,包分割不同于IP數(shù)據(jù)包的分片,分片的過程中必須生成數(shù)據(jù)包頭部,而分割則不需要.?dāng)?shù)據(jù)能分割傳輸,這是由AOS協(xié)議提供的服務(wù)的特性所決定的.如果IP數(shù)據(jù)包的長度大于M_PDU包區(qū)長度則需對其分割,將分割結(jié)果分別放入M_PDU的包區(qū).
假設(shè)封裝包頭長度為LE,IPE頭長度為LI,M_PDU長度為LM,IP數(shù)據(jù)包長度為LIP,M_PDU的包區(qū)長度為L=LM-LE-LI.
IP 數(shù)據(jù)包到CCSDS AOS 空間鏈路數(shù)據(jù)幀的轉(zhuǎn)換過程包括以下步驟:
1)讀取IP數(shù)據(jù)包,將其長度LPL與M_PDU的包區(qū)長度L進(jìn)行比較,當(dāng)不大于L時(shí),讀取IP數(shù)據(jù)包放入M_PDU包區(qū),未滿區(qū)域補(bǔ)Idle Packet,生成AOS幀后返回重新讀取IP數(shù)據(jù)包.
2)當(dāng)IPL大于L時(shí),對IP數(shù)據(jù)包進(jìn)行分割,讀取L長的IP數(shù)據(jù)放入M_PDU包區(qū),生成AOS幀,并將IP數(shù)據(jù)包的長度減少L.
3)剩余長度再判斷是否大于LM.
4)當(dāng)剩余長度不大于LM時(shí),讀取IP數(shù)據(jù)包放入M_PDU包區(qū),生成AOS幀后返回重新讀取IP數(shù)據(jù)包.
5)當(dāng)剩余長度大于LM時(shí),對IP數(shù)據(jù)包進(jìn)行分割,讀取LM長的IP數(shù)據(jù)放入M_PDU包區(qū),生成AOS幀,并將IP數(shù)據(jù)包的長度減少LM,再返回到3.
3仿真結(jié)果與分析
本仿真采用Modelsim SE 10.1b工具軟件,仿真結(jié)果如圖7所示.圖7為時(shí)間在700 ns內(nèi)的仿真圖,圖8,圖9是圖7的局部顯示.
圖7 仿真圖 Fig.7 Simulation diagram
圖7中,當(dāng)full 1下降沿來臨時(shí),開始在len_fifo中寫入數(shù)據(jù),當(dāng)full 2下降沿來臨時(shí),開始在data_fifo中寫入數(shù)據(jù).AOS為輸出數(shù)據(jù).AOS_valid為數(shù)據(jù)有效標(biāo)識,當(dāng)AOS數(shù)據(jù)有效時(shí),AOS_valid為1,否則AOS_valid為0.frame_header_sof為AOS數(shù)據(jù)的第1字節(jié),frame_header_eof為AOS數(shù)據(jù)的最后1字節(jié).flag為IP的標(biāo)識,當(dāng)傳輸同一個(gè)IP包的數(shù)據(jù)時(shí),flag為1,否則為0.
圖8 仿真圖的前部分 Fig.8 Early part of the simulation diagram
圖8中,當(dāng)full 1和full 2下降沿到來后,等待12個(gè)時(shí)鐘,開始生成AOS幀,frame_header_sof和AOS_valid變?yōu)椤?”,AOS幀的前13個(gè)字節(jié)為幀頭,其中包含AOS幀頭、M_PDU頭、封裝包頭和IPE.其幀頭的前2個(gè)字節(jié)是傳輸幀頭、航天標(biāo)識和虛擬信道標(biāo)識,用十六進(jìn)制表示為16′h4000.接下來6個(gè)字節(jié)為信道幀計(jì)數(shù)、信令字段和M_PDU頭,本文只生成AOS幀不涉及傳輸,因此在這里全部設(shè)置為0.接著是封裝頭,它由4字節(jié)組成,即32′h EA000000.幀頭的最后一個(gè)字節(jié)是IPE,由1字節(jié)組成,即8′h21.AOS幀數(shù)據(jù)段的內(nèi)容為data_fifo中寫入的數(shù)據(jù),由圖7可知,data_fifo的數(shù)據(jù)內(nèi)容從“02”開始,因此AOS幀數(shù)據(jù)段的第1個(gè)字節(jié)為8′h02.當(dāng)1個(gè)AOS幀傳輸結(jié)束時(shí),frame_header_eof變?yōu)椤?”.
如圖9所示,AOS幀結(jié)束時(shí),frame_header_eof會(huì)出現(xiàn)1個(gè)時(shí)鐘周期的“1”,同時(shí)AOS_valid變?yōu)椤?”.AOS幀的數(shù)據(jù)字段為50字節(jié),讀取的len_fifo中的第1個(gè)數(shù)據(jù)為49,所以會(huì)從data_fifo中讀取49個(gè)數(shù)據(jù)填充到AOS幀數(shù)據(jù)字段,剩余1字節(jié)補(bǔ)0,從而生成1個(gè)完整的AOS幀.如圖7所示,當(dāng)讀取的數(shù)據(jù)長度為51字節(jié)時(shí),1個(gè)IP數(shù)據(jù)包會(huì)拆分重組為2個(gè)AOS幀.第1個(gè)AOS幀填充50個(gè)字節(jié)的數(shù)據(jù),第2個(gè)AOS幀填充剩下的最后1個(gè)字節(jié)的數(shù)據(jù),其余的位置會(huì)全部補(bǔ)零.仿真結(jié)果實(shí)現(xiàn)了預(yù)定的功能.
圖9 仿真圖的后部分 Fig.9 Second part of the simulation diagram
本設(shè)計(jì)最終使用Verilog HDL語言,在Xilinx公司的XC5VLX110T FPGA芯片上實(shí)現(xiàn)了上述設(shè)計(jì)并進(jìn)行了硬件驗(yàn)證,結(jié)果與仿真結(jié)果一致,硬件處理的性能指標(biāo)可以達(dá)到1 Gbps.
參考文獻(xiàn):
[1]李少賓,白海斌,張亞生.IP over CCSDS協(xié)議適配的高速并行實(shí)現(xiàn)技術(shù)[J]. 飛行器測控學(xué)報(bào),2013(5):432-437.
LI Shaobin,BAI Haibin,ZHANG Yasheng.High speed parallel implementation of IP over CCSDS protocol adaptation technology[J].Journal of aircraft measurement and control, 2013(5):432-437.
[2]張輝.一種基于TCP/IP協(xié)議的網(wǎng)絡(luò)安全防御系統(tǒng)設(shè)計(jì)[J]. 電腦開發(fā)與應(yīng)用,2013(1):35-37.
ZHANG Hui.A network security defense system based on TCP/IP protocol design[J].Development And application of the Computer,2013(1):35-37.
[3]魏晨曦.TCP/IP技術(shù)在航天測控通信中的應(yīng)用[J].無線電工程,2005,35(8):21-23.
WEI Chenxi.TCP/IP technology application in aerospace measurement and control communication[J].Radio Engineering,2005,35(8):21-23.
[4]李少賓,張亞生,宋春曉.IP over CCSDS協(xié)議轉(zhuǎn)換技術(shù)研究[J].載人航天,2012(6):13-19.
LI Shaobin,ZHANG Yasheng,SONG Chunxiao.IP over CCSDS protocol conversion technology research[J].Manned Space,2012(6):13-19.
[5]任放,趙和平,陳曦.基于CCSDS Proximity-1協(xié)議的動(dòng)態(tài)變幀長策略研究[J].航天器工程,2013,22(4):72-76.
REN Fang,ZHAO Heping,CHEN Xi.Based on CCSDS protocol Proximity-1 dynamic strategy research variable frame length[J].The Spacecraft Engineering, 2013,22(4):72-76.
[6]CCSDS 702.1-B-1-2012.IP over CCSDS SpaceLinks[S].
[7]CCSDS 732.0-B-2-2006.Aos Space Data Link Protocol[S].
[8]CCSDS 702.1-R-4-2010.IP over CCSDS SpaceLinks[S].
[9]梁莉,魯士文.CCSDS標(biāo)準(zhǔn)和TCP/IP協(xié)議間的網(wǎng)關(guān)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006(4):134-136.
LIANG Li,LU Shiwen.CCSDS standard and TCP/IP protocol between the gateway design and implementation[J].Computer Engineering, 2006(4):134-136.
[10]丁艷會(huì),李健.高級在軌系統(tǒng)下行鏈路控制器的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008(4):297-298.
DING Yanhui,LI Jian.Advanced orbit system down link controller design and implementation[J].Micro Computer Information,2008(4):297-298.
(責(zé)任編輯:王蘭英)
河北大學(xué)學(xué)報(bào)(自然科學(xué)版)2015年2期