余飛俠 水泉



摘要:S模式二次雷達數據鏈接口提供鏈路管理和S模式特定服務,以實現S模式地-空數據通信。文中介紹了數據鏈接口控制協議的主要內容,并對其進行功能驗證。
關鍵詞:S模式子網;數據鏈;GDLP/DLF協議;功能驗證
中圖分類號:TP311? ?文獻標識碼:A
文章編號:1009-3044(2019)16-0020-04
開放科學(資源服務)標識碼(OSID):
1 S模式數據鏈子網概述
S模式數據鏈子網是空-地數據通信子網的一部分,為飛機上和地面上的附屬子網點提供面向連接的通信服務和S模式特定服務。S模式數據鏈子網主要由S模式應答機、機載數據鏈處理器(ADLP)、地面數據鏈處理器(GDLP)、S模式詢問機組成,其系統框圖如下圖所示。
GDLP和ADLP之間采用簡化的ISO 8208協議進行通信,降低了S模式空-地鏈路的帶寬要求。在通信層次結構中,可將GDLP和ADLP與詢問機和應答機視為同一層次,GDLP和ADLP利用詢問機-應答機之間的數據鏈服務實現子網通信。GDLP提供了基于S模式數據鏈的交換虛擬電路(SVC)通信服務和S模式特定服務接入。
GDLP可以通過GDLP/DLF接口控制協議(EATCHIP GDLP/Local User ICD for POEMS)與S模式二次雷達通信,以ASTERIX CAT18格式進行數據傳輸。S模式二次雷達進行鏈路管理,并提供S模式特定服務,包括廣播、GICB、SVC/MSP服務,主要功能包括:
a) 鏈路管理,包括建立、維護、取消和釋放GDLP/DLF連接;
b) 廣播管理,包括上行鏈路廣播管理和下行鏈路廣播管理:
1) 上行鏈路廣播管理。根據GDLP/DLF接口收到的廣播請求,產生詢問指令,通過射頻鏈路發送Comm A廣播詢問;
2) 下行鏈路廣播管理。接收應答機發出的Comm B廣播應答,并將Comm B廣播數據分發GDLP/DLF接口;
c) GICB管理。將GDLP/DLF接口收到的GICB數據請求,與雷達內部應用產生的數據請求進行合并,生成詢問時序和詢問信號,通過射頻鏈路傳送給指定目標;
d) SVC/MSP管理,包括上行鏈路SVC/MSP數據包管理和下行鏈路SVC/MSP數據包管理:
1) 將GDLP/DLF接口收到的SVC或MSP上行數據包(packet)拆分成SLM或ELM幀后緩存到隊列中,并對隊列緩存的數據量進行監測,當緩存的數據幀超過預設的閥值后則通知GDLP/LU接口模塊,限制外部上傳的數據流量;
2) 將多個邏輯上鏈接在一起的Comm-B應答消息組裝成一個SLM幀,或多個邏輯上鏈接在一起的Comm-D應答消息組裝成一個ELM幀,并將SLM或ELM幀數據通過GDLP/DLF接口轉發給GDLP。
2 通信協議分析與功能驗證
2.1 鏈路管理
2.1.1 通信協議
2.1.1.1 建立連接
GDLP首先向S模式二次雷達DLF(以下簡稱DLF)發送建立連接請求消息(Associate_req),在收到建立連接響應消息(Associate_Resp)之前,GDLP將每隔T1(Associate_req重傳定時器,通常為1秒)時間發送一次該消息。DLF在收到Associate_req消息后,將刪除與該鏈路有關的飛機數據,重置內部定時器和計數器,并回饋Associate_Resp消息。Associate_Resp消息的D_result設置為:CAUSE=3h(finished),DIAG=0h(No diagnostic available)。
2.1.1.2 保持連接
如果GDLP與DLF之間沒有數據消息時,GDLP將每隔T2(無事務時的Keep_alive周期,通常為1秒)時間發送1次保持(Keep_alive)消息,以維護與DLF之間的連接。
2.1.1.3 關閉連接
GDLP通過向DLF發送中斷連接請求(Abort_req)或釋放連接請求(Release_req)消息來關閉連接。
a) Abort_req用于立即終止處于連接建立階段的GDLP/DLF連接。
b) Release_req用于正常終止GDLP/DLF連接,并需要DLF確認。當DLF能夠終止GDLP/DLF連接時,DLF發送接收關閉連接的Release_resp消息,將該消息的D_result設置為:CAUSE=3h(finished),DIAG=0h(No diagnostic available),并丟棄與該特定連接相關的所有飛機數據。如果DLF不能立即終止該連接,DLF發送拒絕關閉連接的Release_resp,并將該消息的D_result設置為:CAUSE=1h(rejected),DIAG=0h(No diagnostic available)。GDLP將等待T4(Release_req重傳定時器,通常為3秒)時間后繼續發送Release_req,然后每隔T4時間發送1次,共發送R4(Release_req傳輸次數,通常為4)次。
如果GDLP在T3(GDLP連接超時,通常為4秒)時間段內沒有收到任何消息,將向DLF發送Abort_req消息,并將該消息的D_result設置為:CAUSE=6h (invalid result),DIAG=8h(timer T3 expiry)。此時,中斷連接請求(Abort_req)不需要確認,GDLP將會清除與該連接相關的所有飛機數據。
2.1.2 功能驗證
下面以S模式二次雷達DLF為主,GDLP為從,進行GDLP/DLF鏈路管理功能驗證。其中,Associate_req重傳定時器T1設置為1秒,無事務時的Keep_alive周期T2設為1秒,GDLP連接超時T3設為4秒,Release_req重傳定時器T4設為3秒,Release_req傳輸次數R4設為4次。主要通信過程和數據內容如下圖所示。
GDLP每隔1秒向S模式二次雷達發送1次建立連接請求,直到雷達的GDLP/DLF接口回饋建立連接響應。在GDLP與雷達之間沒有數據通信時,雷達將定期發送保持連接信息,直到GDLP發出終止連接請求和釋放連接請求。
2.2 GICB服務
2.2.1 通信協議
GDLP向DLF發送GICB_extraction請求消息,該請求應包含要錄取的BDS寄存器編號。DLF收到GICB錄取請求后,產生GICB_extraction_ack消息,并將D_result設置為:CAUSE=0h(Accepted) or =1h(rejected)。
GDLP應為GICB_extraction請求分配一個唯一的D_GICB_number,DLF不會接收GDLP送來的與掛起的GICB_extraction具有相同GICB_number的GICB錄取請求。DLF將拒絕收到的重復的GICB_extraction請求,并將GICB_extraction_ack消息的D_result設置為:CAUSE=1h(reject),DIAG=6h(Duplicate request number)。GICB_extraction請求消息中還有一些可選的參數:D_time (請求結束),D_GICB_periodicity,D_GICB_properties (周期限制,異步更新,應答目的地,優先級)。這些參數的默認值為:
a) 若GICB_extraction請求消息中缺少D_time,請求將一直存在,直到鏈路/GDLP/S模式二次雷達詢問機故障,或飛機離開;
b) 若GICB_extraction請求消息中缺少D_GICB_properties:
1) 沒有周期限制(PC=0);
2) 沒有異步更新(AU = 0, NE=0);
3) 應答目的地將只是GDLP(RD=0);
4) 請求優先級將被設為8(中級);
c) 若GICB_extraction請求消息中缺少D_GICB_periodicity,DLF將只執行1次錄取。DLF將在第一次錄取成功后,結束該GICB請求。
DLF收到GDLP發送的Cancel_GICB_extraction請求消息后,將向GDLP發送GICB_extraction_ack消息。DLF根據以下情況分別進行處理:
a) 若Cancel_GICB_extraction消息中的D_GICB_number項已定義,且數據內容有效(仍在DLF數據庫中),則GICB_extraction_ack消息中包含D_GICB_number項,并將D_result設置為:CAUSE=2h(cancelled),DIAG=0h(No diagnostic available);
b) 若Cancel_GICB_extraction消息中的D_GICB_number項已定義,但數據內容無效,則GICB_extraction_ack消息中包含D_GICB_number項,并將D_result設置為:CAUSE=1h(rejected),DIAG=7h(Unknown request number);
c) 若Cancel_GICB_extraction消息中沒有定義D_GICB_number項,則表示取消所有GICB錄取請求:
1) 對于已經取消的有效的錄取請求,則GICB_extraction_ack消息中包含D_GICB_number項,并將D_result設置為:CAUSE=2h(cancelled),DIAG=0h(No diagnostic available);
2) 若沒有有效的請求能夠取消(沒有掛起的請求),則GICB_extraction_ack消息中不包含D_GICB_number項,并將D_result設置為:CAUSE=1h(rejected),DIAG=7h(Unknown request number);
d) 若Cancel_GICB_extraction消息中沒有D_GICB_number項,DLF應丟棄指定S模式地址的飛機的所有GICB請求。且若S模式地址為FFFFFFh,則丟棄所有飛機的所有GICB請求。
e) 若Cancel_GICB_extraction消息中包含D_GICB_number項,DLF應丟棄D_GICB_number字段中指定的GICB請求。
DLF向GDLP發送GICB_response消息,用于指示BDS錄取是否成功。若錄取成功,則GICB_response消息中包含寄存器內容,且對于單次錄取的情況,將D_result設置為:CAUSE=3h(finished),DIAG=0h(No diagnostic available);對于非單次錄取的情況,將D_result設置為:CAUSE= 5h(In progress),DIAG=0h(No diagnostic available)。
然而,若S模式二次雷達的天線波束已經掃描過該飛機,則DLF應向GDLP發送GICB_response消息,用于指示失敗的GICB請求編號和嘗試的錄取時間,并將D_result設置為:CAUSE=4h(Delayed),DIAG=0h(No diagnostic available)。對于將周期約束指標設置為0的請求,即使在波束駐留期內重新詢問后仍然錄取失敗,下一次嘗試將在下一個天線掃描時進行(即在要求的錄取周期內多次嘗試才能成功錄取)。對于周期約束指標為1的請求,即使在波束駐留期內重新詢問后仍然錄取失敗,下一次嘗試將根據請求的周期確定。
若錄取請求的生命周期結束或僅為單次錄取,則DLF向GDLP發送GICB_response消息,并將D_result設置為:CAUSE=3h(finished),DIAG=0h(No diagnostic available)。
2.2.2 功能驗證
下面以S模式二次雷達DLF為主,GDLP為從,進行GICB錄取功能驗證。主要對GICB_number、飛機的S模式地址、BDS寄存器編號、GICB_periodicity等參數進行了設置Time和GICB_properties參數。主要通信過程和數據內容如下圖所示。
GDLP與S模式二次雷達建立通信后,通過GDLP/DLF接口的GICB服務通信協議發起BDS錄取請求,S模式二次雷達收到請求后,與雷達內部應用產生的數據請求進行合并,產生包含BDS錄取請求的詢問信號;目標的應答機收到請求后,產生包含相應BDS寄存器數據的應答信號,S模式二次雷達對收到的應答信號進行解碼和數據錄取,把特定目標的BDS數據按照ASTERIX CAT 018格式送給發送該GICB錄取請求的GDLP。
2.3 SVC/MSP服務
2.3.1 通信協議
2.3.1.1 上行鏈路SVC/MSP數據包
GDLP向DLF發送Uplink_packet消息,DLF應回饋Uplink_packet_ack消息。若DLF能夠處理該數據包,則DLF將Uplink_packet_ack消息中的D_result設置為:CAUSE=0h(Accepted),DIAG=0h(No diagnostic available);若DLF不能處理該數據包,則DLF將Uplink_packet_ack消息中的D_result設置為:CAUSE=1h(Rejected),DIAG=0h(No diagnostic available)。并且,若DLF是由于上行鏈路數據流量限制而不能處理該數據包,則DLF將Uplink_packet_ack消息中的D_result設置為:CAUSE=1h(Rejected),DIAG=10h(Uplink flow disabled)。若DLF接受該請求,則應將數據包緩存在對應的飛機隊列中。
GDLP應為每個Uplink_packet請求分配唯一的D_packet_number,DLF不會接收GDLP送來的與掛起的Uplink_packet具有相同D_packet_number的上行數據包傳輸請求。DLF將拒絕收到的重復的Uplink_packet請求,并將Uplink_packet_ack消息中的D_result設置為:CAUSE=1h(reject),DIAG=6h(Duplicate request number)。
DLF應響應GDLP發出的Cancel_uplink_packet消息,并向GDLP發送Uplink_ packet_ack消息,并根據以下情況分別進行處理:
a) 若Cancel_uplink_packet消息中的D_packet_number項已定義,且數據內容有效(仍在DLF數據庫中),則Uplink_ packet_ack消息中包含D_packet_number項,并將D_result設置為:CAUSE=2h(cancelled),DIAG=0h(No diagnostic available);
b) 若Cancel_uplink_packet消息中的D_packet_number項已定義,但數據內容無效,則Uplink_packet_ack消息中包含D_packet_number項,并將D_result設置為:CAUSE=1h(rejected),DIAG=7h(Unknown request number);
c) 若Cancel_uplink_packet消息中沒有定義D_packet_number項,則表示取消所有上行數據包傳輸請求:
1) 對于已經取消的有效的上行數據包傳輸請求,則Uplink_ packet_ack消息中把這些數據包的編號列入D_packet_number_list項,并將D_result設置為:CAUSE=2h(cancelled),DIAG=0h(No diagnostic available);
2) 若沒有有效的請求能夠取消(沒有掛起的請求),則Uplink_packet_ack消息中不包含D_packet_number_list項,并將D_result設置為:CAUSE=1h(rejected),DIAG=7h(Unknown request number);
d) 若Cancel_uplink_packet消息中沒有D_packet_number項,DLF應丟棄所有的Uplink_packet請求;
e) 若Cancel_uplink_packet消息中包含D_packet_number項,DLF應丟棄D_packet_number字段中指定的Uplink_packet請求。
DLF收到不同的Cancel_uplink_packet請求時,如指定飛機的、所有飛機的或所有的數據包傳輸請求。如果S模式地址為FFFFFFh,則丟棄所有飛機的所有Uplink_packet請求。
DLF完成上行數據幀傳輸后,應向GDLP發送Uplink_packet_ack消息,并將D_result設置為:CAUSE=3h(finished),DIAG=0h(No diagnostic available)。
對于已經取消傳輸的數據包,DLF應向GDLP發送Uplink_packet_ack消息,并將D_result設置為:CAUSE=2h(Cancelled),DIAG=0h(No diagnostic available)。
2.3.1.2 數據流控制
數據流控制項包括:
a) XON_level:DLF在此隊列級別向GDLP發送一個XON消息,并在此隊列級別恢復上行流;
b) XOFF_level1:DLF在此隊列級別向GDLP發送XOFF消息,上行流將在此隊列級別停止;
c) XOFF_level2:DLF在此隊列級別達到物理隊列極限。
當對特定飛機的數據鏈接請求飽和(XOFF_level1)時,DLF向GDLP發送包含飛機地址的Data_XOFF消息。如果Data_XOFF消息包含的飛機地址為FFFFFFh,則GDLP應停止向該S模式二次雷達發送任何上行數據包傳輸請求。如果Data_XOFF包含非FFFFFFh的S模式地址列表,GDLP應停止向這些指定S模式地址的飛機發送上行數據包傳輸請求。
當DLF能夠處理新的上行鏈路數據包傳輸請求(XON_level)時,DLF向GDLP發送Data_XON消息。如果Data_XON消息包含的飛機地址為FFFFFFh,則再次授予GDLP發送上行數據包傳輸請求的權限。如果Data_XON包含非FFFFFFh的S模式地址列表,GDLP有權向這些指定S模式地址的飛機發送上行數據包傳輸請求。
數據流量控制應在以下約束條件下進行:
a) XOFF_level1 ≥ 0.9(XOFF_level2)
b) XON_level ≥ 0.33(XOFF_level1)
這兩個參數是用戶可配置的。
2.3.1.3 下行鏈路SVC/MSP數據包
DLF通過Downlink_packet消息向指定GDLP發送下行鏈路數據包。通過將Downlink_packet消息中的D_Result字段設置為:CAUSE=6h(Invalid Result),DIAG=5h(Invalid LV field),來通知GDLP消息中的LV字段無效。Downlink_packet中一般不包含LV字段,只用于指示這種特殊情況。在這種LV字段無效的情況下,DLF不知道下行鏈路數據包的長度,并應在Downlink_packet消息的D_Mode_S_packet中包含接收到的完整的下行數據幀。
2.3.2 功能驗證
下面以S模式二次雷達DLF為主,GDLP為從,進行上行數據包傳輸功能驗證。主要對Packet_number、飛機的S模式地址、Packet_properties等參數進行了設置,未進行數據流量控制項參數設置。主要通信過程和數據內容如下圖所示。
GDLP可向地面S模式二次雷達發起Uplink Packet傳輸請求,雷達根據數據包的大小將從GDLP/DLF接口收到的SVC或MSP上行數據包(packet)拆分成SLM或ELM幀后緩存到隊列中,并對隊列緩存的數據量進行監測,當緩存的數據幀超過預設的閥值后則通知GDLP/LU接口模塊,限制GDLP上傳的數據流量。地面S模式二次雷達按照擴展長度通信協議,將數據包的內容以幀的形式發送給目標的應答機,應答機將收到的幀數據合并成一個包含完整的Comm C數據的消息以packet數據包的形式發送給ADLP。
機載應答機在收到ADLP發出的Comm D數據傳輸事件后,產生包含Comm D數據錄取通知的應答信號,地面S模式二次雷達收到錄取通知后,隨即產生包含Comm D消息預訂的詢問信號;目標的應答機收到預訂請求后,產生包含Comm D消息預訂確認的應答信號;接著,地面S模式二次雷達發送包含Comm D消息錄取請求的詢問信號,應答機產生包含Comm D消息數據的應答信號;雷達在收到最后一個Comm D應答信號后,將收到的幀數據合并成一個包含完整的Comm D數據的消息以packet數據包的形式按ASTERIX CAT 018格式發送給GDLP。同時,雷達關閉此次Comm D消息傳輸。
3 結束語
本文介紹了S模式二次雷達數據鏈接口控制協議,并對其提供的GICB服務、上行SVC/MSP服務和下行SVC/MSP服務進行了詳細分析和功能驗證。S模式二次雷達能夠提供S模式特定服務,實現S模式地-空數據通信,為航空電信網設備提供了一種新的地-空數據通信技術手段。
參考文獻:
[1] SUR.ET2.ST03.3112-SPC-01-00,Mode S Datalink Function Messages [S],2007.
[2] SUR-ET2-ST03.3112-SPC-02-00,EATCHIP GDLP/Local User ICD for POEMS [S],1999.
【通聯編輯:梁書】