卜凡湘++魏祥利++李輝


摘 要
航管S模式是為解決傳統(tǒng)A/C模式監(jiān)視能力不足而設(shè)計的最新監(jiān)視方法,閉鎖協(xié)議是S模式協(xié)議中重要的組成部分。本文介紹了S模式閉鎖協(xié)議,并采用TMS320F28335 DSP完成了S模式應(yīng)答機中閉鎖協(xié)議的實現(xiàn)。
【關(guān)鍵詞】S模式 閉鎖 DSP
1 引言
航管S模式(Mode Select)是歐美國家開發(fā)的先進航管協(xié)議,用于解決傳統(tǒng)A/C模式監(jiān)視容量不足的問題。傳統(tǒng)A/C模式下,隨著空域內(nèi)的飛機數(shù)量增多,應(yīng)答信號之間會產(chǎn)生嚴重的混擾和串擾,對日交通流量在1000架次以上的機場,其監(jiān)視能力已接近極限。S模式下為每架飛機分配一個唯一的24位地址,只需根據(jù)飛機地址對飛機單獨詢問,同時只有一架飛機在應(yīng)答,避免了應(yīng)答信號的混擾,提高了其監(jiān)視容量。
地面二次雷達為獲取空域內(nèi)飛機的地址,會周期性的發(fā)出全呼叫詢問,而全呼叫詢問是針對所有飛機的,為避免出現(xiàn)類似于A/C模式下的混擾問題,在S模式中設(shè)計有閉鎖協(xié)議(Lockout),以減少同時出現(xiàn)的應(yīng)答信號數(shù)量。本文介紹了閉鎖協(xié)議和一種利用DSP實現(xiàn)閉鎖協(xié)議的方法。
2 閉鎖協(xié)議(Lockout)
閉鎖協(xié)議用于控制S模式應(yīng)答機對全呼叫詢問的應(yīng)答。通過特定的S模式詢問啟動閉鎖狀態(tài),在閉鎖狀態(tài)下,對指定的全呼叫詢問不產(chǎn)生應(yīng)答。
2.1 S模式詢問類型
S模式詢問中包含56位或112位數(shù)據(jù),定義如表1,其中前5位為UF字段,表示詢問類型。UF4、5、20和21為監(jiān)視詢問,UF11為全呼叫詢問。為和傳統(tǒng)A/C模式兼容,S模式應(yīng)答機還可以接收純脈沖格式的ATCRBS/S模式全呼叫詢問。
UF4、5、20和21的詢問中的SD字段內(nèi)容受DI字段控制,如表2所示。
2.2 閉鎖協(xié)議
S模式應(yīng)答機閉鎖協(xié)議包括非選擇性閉鎖協(xié)議和多站閉鎖協(xié)議。通過UF4、5、20和21詢問來啟動閉鎖協(xié)議。
2.2.1 非選擇性閉鎖協(xié)議
以下條件任意一條滿足時啟動非選擇性閉鎖協(xié)議:a) PC=1;b) DI=1或7,LOS=1,IIS=0。啟動后進入非選擇性閉鎖狀態(tài),持續(xù)18s±1s,在閉鎖狀態(tài)下,對CL=0,IC=0的UF11全呼叫詢問和ATCRBS/S模式全呼叫詢問不產(chǎn)生應(yīng)答。在閉鎖狀態(tài)下,如果重新接收到啟動條件,則重新計時18s±1s。
2.2.2 多站閉鎖協(xié)議
多站閉鎖協(xié)議分為II多站閉鎖協(xié)議和SI多站閉鎖協(xié)議。II多站閉鎖協(xié)議允許對15個地面站的全呼叫詢問進行閉鎖,SI多站閉鎖協(xié)議允許對63個地面站的全呼叫詢問進行閉鎖。對各地面站分別控制,互不影響。IIS=1~15時,表示II站點1~15,SIS=1~63時,表示SI站點1~63。在全呼叫詢問中,當CL=0,IC=1~15時,表示II站點1~15,CL=1,IC=1~15時,表示SI站點1~15,CL=2~4,IC=0~15時,表示SI站點16~63。
當DI=1或7,LOS=1,IIS為某一個站點號,啟動對該地面站的II多站閉鎖協(xié)議;當DI=3,LSS=1,SIS為某一個站點號,啟動對該地面站的SI多站閉鎖協(xié)議。針對某一個地面站的閉鎖協(xié)議啟動后進入閉鎖狀態(tài),持續(xù)18s±1s,在閉鎖狀態(tài)下,對帶有該地面站站點號的UF11全呼叫詢問不產(chǎn)生應(yīng)答。可同時對多個地面站進行閉鎖。在閉鎖狀態(tài)下,如果重新接收到啟動條件,則重新計時18s±1s。
3 在DSP中的實現(xiàn)閉鎖協(xié)議
本項目采用DSP TMS320F28335,工作頻率設(shè)置為100MHz。
該DSP中有3個32位的CPU計數(shù)器,為實現(xiàn)S模式閉鎖協(xié)議,難點在于如何實現(xiàn)79個獨立工作的計時器。本項目復(fù)用1個CPU計數(shù)器構(gòu)建79個計時器。
3.1 實現(xiàn)原理
CPU計數(shù)器在加載計數(shù)值后,按系統(tǒng)時鐘減1計數(shù),計到0后觸發(fā)CPU中斷。當只有1個計時器需要工作時,向CPU計數(shù)器加載計數(shù)值1,800,000,000(即18s),計數(shù)到0即完成了該計時器的18s計時。當1個計時器計時完成之前需要啟動第二個計時器,設(shè)當前的計數(shù)值為N,在CPU計數(shù)器計數(shù)到0后,只需重新啟動計數(shù)器,并設(shè)定計數(shù)值為1,800,000,000-N,當CPU計數(shù)器再次計數(shù)到0后,即完成了第二個計時器的18s計時。因此,只要合理設(shè)置每個計時器的真實計數(shù)周期,可以復(fù)用1個計數(shù)器完成79個獨立工作的計時器。
3.2 實現(xiàn)方法
定義變量Run_Flag、Run_Tx和PRD_VEC,Run_Flag表示非選擇性閉鎖和多站閉鎖的狀態(tài),Run_Tx用于存儲處于計時狀態(tài)的計時器序列,PRD_VEC用于存儲Run_Tx序列中各計時器的計數(shù)修正值。這三個變量的對應(yīng)關(guān)系如圖1所示。
當需要啟動計時器時,對應(yīng)的Run_Flag位置1,在Run_Tx隊列的末尾添加該計時器位號,計算該計時器的計數(shù)修正值,寫入PRD_VEC隊列的末尾。
當需要重啟動計時器時,在Run_Tx隊列中,將該計時器移到隊列尾部,重新計算該計時器的計數(shù)修正值,寫入PRD_VEC隊列的末尾。計時器重啟動流程如圖2所示。
當計數(shù)器計到0后,即Run_Tx隊列中的第一個計時器對應(yīng)的閉鎖狀態(tài)結(jié)束,將其對應(yīng)的Run_Flag標志位清0;將Run_Tx隊列向前移1位;將PRD_VEC隊列的第一個寫入CPU計數(shù)器,然后將PRD_VEC隊列向前移1位,后續(xù)的其他計時器繼續(xù)計時。
在接收到全呼叫詢問后,通過判斷對應(yīng)的Run_Flag標志位,確定是否被閉鎖,進而確定是否需要應(yīng)答,完成S模式應(yīng)答機閉鎖協(xié)議。
4 分析
CPU計數(shù)器計數(shù)到0后,需在中斷服務(wù)程序中重新加載計數(shù)值才能重新開始計數(shù),中斷服務(wù)程序的執(zhí)行時間及中斷等待時間會影響計時準確度。經(jīng)實際測試,中斷服務(wù)程序執(zhí)行時間<5μs,中斷等待時間<70μs,在所有79個計時器同時計時的情況下,最大累積誤差不大于5.85ms,遠小于±1s的要求。
5 結(jié)論
該方法可以在DSP中實現(xiàn)S模式應(yīng)答機閉鎖協(xié)議,且對DSP的資源消耗少,時間誤差小,可以滿足實際應(yīng)用需求。
參考文獻
[1]Surveillance radar and collision avoidance systems[S].Annex 10 to the convention on international civil aviation.ICAO,2007.
[2]DO-181E Minimum Operational Performance Standards for Air Traffic Control System/Mode Select(ATCRBS/Mode S)Airborne Equipment[S].RTCA,2011.
[3]劉陵順等.TMS320F28335 DSP原理及開發(fā)編程[M].北京:北京航空航天大學(xué)出版社,2011(12).
作者單位
陜西長嶺電子科技有限責任公司 陜西省寶雞市 721006