徐如蘭 蔡華華
(中國(guó)民用航空華北地區(qū)空中交通管理局 北京市 100621)
民航空管系統(tǒng)THALES 雷達(dá)和自動(dòng)化設(shè)備占據(jù)相當(dāng)比重,THALES 雷達(dá)系統(tǒng)的附屬設(shè)備協(xié)議轉(zhuǎn)換設(shè)備 (P_LINE)具有協(xié)議轉(zhuǎn)換及信號(hào)分配的功能。雷達(dá)數(shù)據(jù)采用高級(jí)數(shù)據(jù)鏈路控制(High-Level Data Link Control,HDLC)[1]協(xié)議傳輸,目前,為了提高雷達(dá)目標(biāo)位置的準(zhǔn)確性和連續(xù)性,空管系統(tǒng)采用多雷達(dá)融合技術(shù),需要引接多路雷達(dá)數(shù)據(jù)。THALES 雷達(dá)的P_LINE 設(shè)備既實(shí)現(xiàn)了雷達(dá)核心系統(tǒng)內(nèi)外網(wǎng)的網(wǎng)關(guān)功能,同時(shí)也實(shí)現(xiàn)空管自動(dòng)化系統(tǒng)的數(shù)據(jù)接入功能。研究適用于空管多雷達(dá)處理系統(tǒng)的空管雷達(dá)多協(xié)議轉(zhuǎn)換設(shè)備,具備全功能替代對(duì)應(yīng)進(jìn)口設(shè)備的能力,突破了國(guó)外進(jìn)口設(shè)備在空管雷達(dá)數(shù)據(jù)協(xié)議轉(zhuǎn)換的技術(shù)壁壘,可在民航空管行業(yè)推廣應(yīng)用。
P_LINE 設(shè)備在雷達(dá)系統(tǒng)中主要實(shí)現(xiàn)各物理通信接口之間(如串口與網(wǎng)口)以及各種通信協(xié)議之間的相互轉(zhuǎn)換,在功能上實(shí)現(xiàn)串口數(shù)據(jù)收發(fā)、數(shù)據(jù)解析、數(shù)據(jù)封裝和網(wǎng)絡(luò)數(shù)據(jù)收發(fā)。如圖1所示。
圖1:P_LINE 設(shè)備在雷達(dá)系統(tǒng)中的邏輯連接圖
空管雷達(dá)數(shù)據(jù)協(xié)議轉(zhuǎn)換設(shè)備的總體目標(biāo)是能夠替代THALES雷達(dá)的對(duì)外接口單元P_LINE 設(shè)備功能,實(shí)現(xiàn)雷達(dá)數(shù)據(jù)協(xié)議的轉(zhuǎn)換,為空管自動(dòng)化系統(tǒng)提供可用的雷達(dá)數(shù)據(jù)。具體功能有實(shí)現(xiàn)各種傳輸層以下的數(shù)據(jù)通信協(xié)議轉(zhuǎn)換,如將互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)數(shù)據(jù)轉(zhuǎn)換成HDLC 同步數(shù)據(jù)、異步數(shù)據(jù);將IP 協(xié)議數(shù)據(jù)轉(zhuǎn)換成E1(即歐洲的30 路脈碼調(diào)制)數(shù)據(jù);將串口的同步、異步數(shù)據(jù)、E1數(shù)據(jù)轉(zhuǎn)換成IP 數(shù)據(jù);實(shí)現(xiàn)各種物理通信接口適配功能;實(shí)現(xiàn)各種雷達(dá)數(shù)據(jù)格式轉(zhuǎn)換,如將專屬的雷達(dá)數(shù)據(jù)轉(zhuǎn)換成歐標(biāo)數(shù)據(jù)等;實(shí)現(xiàn)與各個(gè)雷達(dá)系統(tǒng)工作站的命令交互;實(shí)現(xiàn)雷達(dá)系統(tǒng)內(nèi)外網(wǎng)絡(luò)隔離作用,以確保雷達(dá)核心系統(tǒng)免受外部網(wǎng)絡(luò)攻擊。空管雷達(dá)數(shù)據(jù)協(xié)議轉(zhuǎn)換設(shè)備除具備上述功能外,根據(jù)民航空管系統(tǒng)的實(shí)際需要,提供以下增強(qiáng)型功能:實(shí)現(xiàn)雷達(dá)數(shù)據(jù)分路功能:將一路數(shù)據(jù)分路成多路數(shù)據(jù)輸出。實(shí)現(xiàn)雷達(dá)數(shù)據(jù)比選輸出功能:從多路輸入雷達(dá)數(shù)據(jù)中選擇誤幀率低的一路輸出。如圖2所示。
圖2:轉(zhuǎn)換設(shè)備邏輯組成架構(gòu)圖
網(wǎng)口到串口數(shù)據(jù)轉(zhuǎn)換功能。雷達(dá)系統(tǒng)產(chǎn)生的雷達(dá)數(shù)據(jù),封裝成IP 數(shù)據(jù)包,通過(guò)雷達(dá)系統(tǒng)的內(nèi)部局域網(wǎng)將數(shù)據(jù)發(fā)送給P_LINE 設(shè)備,P_LINE 設(shè)備通過(guò)IP 報(bào)文,獲取有用的雷達(dá)數(shù)據(jù),將其封裝成IP數(shù)據(jù)包送給外部的網(wǎng)絡(luò)設(shè)備用戶或轉(zhuǎn)換成HDLC 協(xié)議的數(shù)據(jù)發(fā)送給串口接入設(shè)備用戶。
串口到網(wǎng)口數(shù)據(jù)轉(zhuǎn)換功能。P_LINE 設(shè)備接收某個(gè)串口輸入的外部雷達(dá)數(shù)據(jù),經(jīng)過(guò)解析HDLC 數(shù)據(jù),將其封裝成IP 數(shù)據(jù)包,發(fā)送給雷達(dá)系統(tǒng)。
在雷達(dá)數(shù)據(jù)傳輸接口中采用串行通信控制器實(shí)現(xiàn) HDLC 雷達(dá)數(shù)據(jù)的接收和發(fā)送,采用網(wǎng)絡(luò)接口控制器完成網(wǎng)絡(luò)數(shù)據(jù)的接收和發(fā)送。通過(guò)對(duì)串行通信控制器和網(wǎng)絡(luò)接口控制器的控制實(shí)現(xiàn)從 HDLC 雷達(dá)數(shù)據(jù)到網(wǎng)絡(luò)雷達(dá)數(shù)據(jù)的協(xié)議轉(zhuǎn)換,或者從網(wǎng)絡(luò)雷達(dá)數(shù)據(jù)到 HDLC雷達(dá)數(shù)據(jù)的協(xié)議轉(zhuǎn)換。
根據(jù)功能需求,空管雷達(dá)數(shù)據(jù)協(xié)議轉(zhuǎn)換設(shè)備采用了嵌入式系統(tǒng)平臺(tái),該硬件平臺(tái)是“DSP+FPGA”綜合體,即同時(shí)搭載數(shù)字信號(hào)處理器(Digital Signal Prosessor,DSP)和現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,FPGA)[2],并通過(guò)軟件編程實(shí)現(xiàn)THALES雷達(dá)的對(duì)外接口設(shè)備的功能,主要由兩組DSP、兩組FPGA、兩組網(wǎng)口,1 組E1 端口以及四組串口轉(zhuǎn)換模塊組成。如圖3所示。
圖3:設(shè)備組成示意圖
圖3:HDLC 幀封裝時(shí)序圖
采用雙DSP 的好處是可大大提高代碼的執(zhí)行效率,采用FPGA的目的則是提高硬件的搭建效率,節(jié)約了開發(fā)硬件的時(shí)間。
HDLC 是高級(jí)數(shù)據(jù)鏈路控制(High-Level Data Link Control)的簡(jiǎn)稱[3,4],是一個(gè)在同步網(wǎng)上傳輸數(shù)據(jù)、面向比特的數(shù)據(jù)鏈路層協(xié)議,它是由國(guó)際標(biāo)準(zhǔn)化組織根據(jù) IBM 公司的 SDLC(Synchronous Data Link Control)協(xié)議擴(kuò)展開發(fā)而成的。HDLC 數(shù)據(jù)報(bào)文可透明傳輸;全雙工通信,有較高的數(shù)據(jù)傳輸效率;所有幀采用循環(huán)冗余(CRC)檢驗(yàn),傳輸可靠性高,傳輸控制功能與處理功能分離,具有靈活性。在 HDLC 中,數(shù)據(jù)和控制報(bào)文均以幀的標(biāo)準(zhǔn)格式傳送,HDLC 的完整的幀由標(biāo)志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、幀校驗(yàn)序列字段(FCS)等組成。
傳輸控制協(xié)議/ 因特網(wǎng)互聯(lián)協(xié)議,又叫網(wǎng)絡(luò)通訊協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP),為了使雷達(dá)數(shù)據(jù)在以太網(wǎng)上基于 TCP/IP 協(xié)議傳輸,系統(tǒng)從 HDLC 數(shù)據(jù)中提取地址幀、控制幀、信息幀和 CRC 校驗(yàn)幀,對(duì)其進(jìn)行 TCP 數(shù)據(jù)包或用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)數(shù)據(jù)包封裝,送至以太網(wǎng)控制器,加上以太網(wǎng)首部和以太網(wǎng)尾部,送入傳輸線路。在數(shù)據(jù)目的端,從 TCP/IP 數(shù)據(jù)包中取出相關(guān)數(shù)據(jù),進(jìn)行 CRC 校驗(yàn)后,或送至雷達(dá)數(shù)據(jù)處理系統(tǒng),或者加幀頭、幀尾字節(jié)等后從同步數(shù)據(jù)接口輸出至其他雷達(dá)數(shù)據(jù)接收設(shè)備。
與雷達(dá)處理系統(tǒng)的通信采用TCP 協(xié)議或UDP 協(xié)議。從IP 數(shù)據(jù)中獲取的路由信息,包括目的地址、源地址、目的端口號(hào)、源端口號(hào)等。根據(jù)這些信息查鏈路配置表,找到數(shù)據(jù)的輸出端口。從IP數(shù)據(jù)中獲取的路由信息,包括目的地址、源地址、目的端口號(hào)、源端口號(hào)等。根據(jù)這些信息查鏈路配置表,找到數(shù)據(jù)的輸出端口,端口號(hào)(i)=鏈路配置表查詢函數(shù)(IP 源端口號(hào),IP 目的端口號(hào),IP 源地址,IP 目的地址)。將數(shù)據(jù)送相應(yīng)的FPGA 數(shù)據(jù)接收通道(i)。FPGA 的數(shù)據(jù)接收通道由數(shù)據(jù)接收緩存,HDLC 幀封裝,數(shù)據(jù)發(fā)送隊(duì)列組成。HDLC 所有幀都必須以FLAG 標(biāo)志開始和結(jié)束,以實(shí)現(xiàn)幀的同步,空載時(shí)可以連續(xù)發(fā)送FLAG(7E 或FF/7F/F7/E7)用來(lái)做時(shí)間填充。HDLC 的0 比特填充技術(shù):在發(fā)送端的信碼中連續(xù)5 個(gè)1 后插入一個(gè)0;在接收端,則去掉5 個(gè)1 后面的0,恢復(fù)正常的數(shù)據(jù)序列。它用于排除信息流中出現(xiàn)標(biāo)志字段的可能性。ISO/IEC 3309 標(biāo)準(zhǔn)規(guī)定的HDLC 的基本幀結(jié)構(gòu)(表1)。
表1:HDLC 幀結(jié)構(gòu)
每幀的起始和結(jié)束以"7E"(01111110)做標(biāo)志,兩個(gè)"7E"之間為數(shù)據(jù)段(含地址數(shù)據(jù)、控制數(shù)據(jù)、信息數(shù)據(jù))和幀校驗(yàn)序列。幀校驗(yàn)采用CRC 算法,對(duì)除了插入的"零"以外的所有數(shù)據(jù)進(jìn)行校驗(yàn)。為了避免將數(shù)據(jù)中的"7E"誤為標(biāo)志,在發(fā)送端和接收端要相應(yīng)地對(duì)數(shù)據(jù)流和幀校驗(yàn)序列進(jìn)行"插零"及"刪零"操作。將封裝完畢的HDLC 數(shù)據(jù)幀放入FPGA 的輸出端口。
通過(guò)串口接收HDLC 格式的數(shù)據(jù)。檢測(cè)7E 同步頭,采用bit0刪除技術(shù),將接收HDLC 數(shù)據(jù)中5 個(gè)連續(xù)1 后面的0 刪除。HDLC bit0 刪除時(shí)序如圖4所示。采用CRC-16 標(biāo)準(zhǔn),計(jì)算多項(xiàng)是x16 +x12 + x5 + 1,校驗(yàn)結(jié)果“F0B8”判為無(wú)錯(cuò)誤幀。DSP 根據(jù)數(shù)據(jù)所在的通道號(hào)(i)查鏈路配置表,找到IP 數(shù)據(jù)的路由信息。
圖4:HDLC 數(shù)據(jù)接收時(shí)序圖
IP 數(shù)據(jù)通過(guò)網(wǎng)口芯片進(jìn)入DSP 的網(wǎng)口數(shù)據(jù)接收程序,接收程序解析IP 數(shù)據(jù)幀,獲取路由信息和有效數(shù)據(jù)信息。
異步數(shù)據(jù)封裝。與HDLC 同步串行通信傳輸不一樣,異步通信傳送以字符為單位,字符與字符間的傳送是完全異步的,位與位之間的傳送基本上是同步的。異步串行通信的特點(diǎn)可以概括為:以字符為單位傳送信息;相鄰兩字符間的間隔是任意長(zhǎng);因?yàn)橐粋€(gè)字符中的比特位長(zhǎng)度有限,所以需要的接收時(shí)鐘和發(fā)送時(shí)鐘只要相近就可以。簡(jiǎn)單的說(shuō)就是字符間異步、字符內(nèi)部各位同步。
異步串行通信的數(shù)據(jù)格式要求每個(gè)字符(每幀信息)由4 個(gè)部分組成:1 位起始位,規(guī)定為低電0;5 ~8 位數(shù)據(jù)位,即要傳送的有效信息;1 位奇偶校驗(yàn)位;1 ~2 位停止位,規(guī)定為高電平1。進(jìn)入FPGA 串口接收通道的數(shù)據(jù),封裝成異步數(shù)據(jù),送端口發(fā)送。完成異步數(shù)據(jù)格式轉(zhuǎn)換。
將接收到的異步數(shù)據(jù)字節(jié)祛除起始位、校驗(yàn)位和停止位,取出數(shù)據(jù)。根據(jù)路由表,將異步數(shù)據(jù)組成IP 數(shù)據(jù)幀,送網(wǎng)絡(luò)接口。
FPGA 開發(fā)平臺(tái)是本項(xiàng)目研究的關(guān)鍵平臺(tái)技術(shù),完成項(xiàng)目功能的硬件主要由核心板 EP1C12 開發(fā)平臺(tái)和擴(kuò)展板構(gòu)成。EP1C12 核心板為基于 Altera Cyclone 器件的嵌入式系統(tǒng)開發(fā)提供了一個(gè)硬件平臺(tái)。FPGA 開發(fā)平臺(tái)為開發(fā)設(shè)計(jì)人員提供了豐富的資源,資源包括接口通信、控制、存儲(chǔ)、數(shù)據(jù)轉(zhuǎn)換以及人機(jī)交互顯示等幾大模塊,如接口通信模塊、存儲(chǔ)模塊、數(shù)據(jù)轉(zhuǎn)換模塊、人機(jī)交互顯示模塊等,利用 “Quartus”的軟件可進(jìn)行FPGA 設(shè)計(jì)和開發(fā),集成復(fù)雜的門電路的設(shè)計(jì)。項(xiàng)目采用Altera Quartus II 版本軟件。EP1C12 核心板和QuartusII 軟件的使用上類似于其它高級(jí)集成編程環(huán)境的軟件,是電子器件功能設(shè)計(jì)的工具,形式上是更依賴于硬件、更靠近最底層。完成的功能可媲美高級(jí)語(yǔ)言,有時(shí)能夠完成高級(jí)計(jì)算機(jī)語(yǔ)言無(wú)法完成的任務(wù),且執(zhí)行效率也要高一些。在民航空管系統(tǒng)中,結(jié)合FPGA 平臺(tái)技術(shù)到空管設(shè)備國(guó)產(chǎn)化中是技術(shù)創(chuàng)新的亮點(diǎn)。具體關(guān)鍵技術(shù)如下(圖5)。
圖5:空管雷達(dá)多雷達(dá)協(xié)議轉(zhuǎn)換設(shè)備(P_LINE)
國(guó)內(nèi)空管主用進(jìn)口雷達(dá)的接口設(shè)備均采用了POWER_PC 平臺(tái),CPU 的處理能力有限,存在數(shù)據(jù)流量過(guò)載風(fēng)險(xiǎn)。項(xiàng)目選用的DSP+FPGA 平臺(tái)中的芯片板卡均為低功耗器件,多路數(shù)據(jù)并行處理技術(shù)的特點(diǎn),DSP 采用流水線處理模式,負(fù)責(zé)命令解析與處理,在FPGA 上建立多路數(shù)據(jù)傳輸?shù)膮f(xié)處理單元,可以并行解析數(shù)據(jù)幀、組成數(shù)據(jù)幀、進(jìn)行鏈路層以下數(shù)據(jù)協(xié)議轉(zhuǎn)換,包括CRC 校驗(yàn)值計(jì)算均由FPGA 負(fù)責(zé)。這種架構(gòu)的數(shù)據(jù)處理實(shí)時(shí)性強(qiáng),擴(kuò)展多路數(shù)據(jù)時(shí),對(duì)實(shí)時(shí)性沒(méi)有影響。
為了確??展芾走_(dá)數(shù)據(jù)的實(shí)時(shí)性,雷達(dá)數(shù)據(jù)采用串口同步數(shù)據(jù)傳輸模式。同步數(shù)據(jù)傳輸對(duì)時(shí)鐘的要求很高,為了確保數(shù)據(jù)輸入端口與輸出端口的時(shí)鐘同步,設(shè)備采用了彈性緩存技術(shù),提供數(shù)據(jù)的本地分路功能,當(dāng)輸入端口與輸出端口均由外設(shè)提供時(shí)鐘時(shí),采用彈性緩存,確保輸入數(shù)據(jù)與輸出數(shù)據(jù)的一致性。
在設(shè)計(jì)轉(zhuǎn)換設(shè)備硬件平臺(tái)和軟件架構(gòu)時(shí),要最大限度的減少數(shù)據(jù)轉(zhuǎn)換環(huán)節(jié)的延時(shí),設(shè)計(jì)設(shè)備時(shí)實(shí)際采用雙DSP+雙FPGA 模式,兩塊DSP 共同擔(dān)負(fù)數(shù)據(jù)處理工作,由FPGA 為雙方建立同步用緩存,為了避免緩存過(guò)深導(dǎo)致數(shù)據(jù)轉(zhuǎn)換時(shí)延抖動(dòng)過(guò)大,用環(huán)形隊(duì)列作為緩存的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),由FPGA 產(chǎn)生環(huán)形隊(duì)列讀時(shí)鐘、寫時(shí)鐘、讀允許和寫允許信號(hào)的雙向控制時(shí)序邏輯。
空管雷達(dá)多協(xié)議轉(zhuǎn)換設(shè)備的國(guó)產(chǎn)化研制,可解決進(jìn)口空管雷達(dá)對(duì)外數(shù)據(jù)接口單元故障率高,維修時(shí)間長(zhǎng),成本高等問(wèn)題。通過(guò)研究實(shí)現(xiàn)了用軟件編程的方式在統(tǒng)一的硬件平臺(tái)上,基于現(xiàn)場(chǎng)可編程邏輯陣列平臺(tái)技術(shù)的空管雷達(dá)協(xié)議轉(zhuǎn)換設(shè)備研發(fā),實(shí)現(xiàn)目前民航主用空管雷達(dá)對(duì)外接口單元的功能替代。從而將設(shè)備故障響應(yīng)時(shí)間從3至6個(gè)月縮短到48小時(shí)內(nèi),國(guó)產(chǎn)化替代后功能相同,提高了實(shí)效性、確保了設(shè)備正常運(yùn)行,保障了空管安全生產(chǎn)。