湯永東
(中國人民解放軍第五七二〇工廠,安徽 蕪湖 241007)
作為飛機重要的機載電子設備,代碼轉換器是連接飛機導航系統計算機與外部系統之間數據傳輸重要的關鍵部件[1],其性能直接關系到通信的可靠性。為提高其可靠性,對其進行測試將顯得尤為重要。迄今為止,有關代碼轉換器方面的研究主要集中在測試電路設計[2]、可靠性試驗[3]等方面,有關代碼轉換器測試設備設計方面的研究較少。
目前,飛機大修測試代碼轉換器測試的設備使用時間較長、功能很不穩定,且32位雙極性碼板和20位串行碼板之間傳輸誤碼率也越來越高,從而導致測試設備經常無法使用,嚴重影響代碼轉換器修理與生產進度。維修工程師也為此對該設備進行多次維修,但由于沒有板卡資料和程序,無法解決設備修復核心技術問題。
當前,飛機維修與保障正呈數字化、自動化、網絡化發展趨勢。基于多處理協同技術與自動測試理論[4]的維修手段正被廣泛應用于飛機修理保障領域。文獻[5]和文獻[6]基于C8051F040+BU61580、FPGA+SCV64這兩種主從處理器,完成1553B總線通信接口模塊、VME總線從模塊的設計;文獻[7]基于虛擬儀器與自動測試理論,完成飛機三相靜止變流器綜合測試設備設計。
為掌握代碼轉換器不同傳輸數據之間的解析方法,針對代碼轉換器研究與修理現狀,形成代碼轉換器測試分析能力,筆者基于多處理協同技術與自動測試理論,以單片機為主處理器,以FPGA為協處理器,提出一種基于“FPGA+單片機”架構的代碼轉換器測試儀設計方法。
① 20位串行碼轉換為32位雙極性碼按2通道,每個通道16字。
② 通過對串行碼中每一個字所包含的信息進行解碼,形成用于控制頻率碼通道的一次性指令。
③ 串行碼的交換是按照同步原理在主動設備(檢測儀)的控制下完成的。代碼轉換器是從動設備,主動設備按照2個通道中的每個通道形成發送碼選通交換信號(CBK1OUT、CBK2OUT)、接收碼選通交換信號(CNK1OUT、CNK2OUT)、同步脈沖交換信號(40KOUT、80KOUT)和串行碼交換信號(DOUT1、DOUT2、DIN1、DIN2)。
④ 在每個同步周期(40KOUT)內,信息“0”表示與同步脈沖相同,而信息“1”則表示與同步脈沖相反。
⑤ 串行碼所傳送的信號電平與TTL集成電路的標準電平相一致,即“0”電平對應的電壓為0~0.45 V,而“1”電平對應的電壓為2.4~5 V。
⑥ 根據發送碼選用脈沖的選通,代碼轉換器接收來自主動設備的信息,而通過接收碼選通實現信息的發送。
⑦ 在傳送的串行碼中(20位串行碼為1個字),高位的前4位表示字的地址,而剩下的16位則表示信息,其字格式定義如表1所示。
表1 20位串行碼的字格式
⑧ 由于地址已經占用了4個二進制位,按照每個通道能容納16個不同地址字的原則,2個通道共可容納32個字。
⑨ 代碼轉換器發送帶地址的串行碼,其中地址是上一次發送選通脈沖時從主動設備接收來的。
① 32位雙極性碼以32位雙極性碼為1個字,每個字由地址、信息以及輔助部分組成,其字格式定義如表2所示。
表2 32位雙極性碼的字格式
如果前面所有位(從1~31)上的和是偶數,則32位傳送“1”,否則,傳送“0”。31、30字位(輔助位)的值如表3所示。
表3 31、30字位(輔助位)的值
通過表2可以看出,如果31、30位的值相符(相等),則表示這兩位所表示的是符號信息,否則,表示的是數據的不確定信息,或者表示的是檢測數據。
② 32位雙極性碼的地址部分首先發送,而且信息部分是先低位后高位傳送。
③ 為了提高抗干擾能力,代碼以雙極、電平為±(5±0.5) V的方式通過2個匯流條“a”和“б”傳送。為了保證在接收時能夠在差動輸入級對同相干擾進行抑制,在信息脈沖信息傳送時“a”線路上的電壓和“б”線路上的電壓總是相反的。
④ 每個通道在周期內所能傳輸的字不大于16個,如果發送字中的每一位時間為T,那么字之間發送間隔則為4T, 其中T=1/48 kHz=20.8 ms。
所設計的測試儀需要滿足代碼轉換器的各項測試需求,具體如下。
① 測試其電源模塊27 V輸入電源電壓、5 V輸出電壓和消耗電流。
② 測試其燈(包括“ИСПР”、“5В”、“СВ”)狀態。
③ 測試其自檢測功能。
④ 測試其數據交換功能,包括32位雙極性碼轉20位串行碼、20位串行碼轉32位雙極性碼。
⑤ 測試其一次性指令功能。
⑥ 測試其狀態判別矩陣功能。
⑦ 測試其時序電路功能。
⑧ 測試其存儲器模塊功能。
針對上述代碼轉換器測試需求,為了提高測試的可靠性與便捷性,以工控機為上位機,以控制盒為下位機,兩者之間采用串口通信方式,其中控制盒由1塊底板和5塊分板(包括A/D板、AB4K板、20位碼板、32位碼板、一次性指令板)組成,底板以P89V51RD2FN單片機為主處理器,各分板以Cyclone III系列FPGA為協處理器,各分板與底板之間采用并行(口)通信方式,其架構如圖1所示。
圖1 測試儀架構示意圖
測試儀的硬件設計主要集中在控制盒內部的1塊底板和5塊分板的硬件設計上。
所設計的底板由高電平復位(注:MAX813L)、時鐘產生(注:P89V51RD2FN單片機最大時鐘可達40 MHz,在此選24 MHz)、地址鎖存(注:74LS373)、地址譯碼(注:74LS138)、數據保存(注:UM6116)、并行接口(注:8255A)、串口通信接口(注:MAX232)等組成,其架構如圖2所示。
圖2 底板結構框圖
為了滿足測試代碼轉換器的27 V輸入電源電壓、消耗電流和電源模塊輸出電壓(5 V)的功能,所設計的A/D板由信號變換、A/D轉換等電路組成。
為了滿足測試代碼轉換器所輸出的AB4K信號脈寬功能,所設計的AB4K板由信號變換等電路組成。
為了滿足能夠發送與接收2路20位串行碼的功能,所設計的20位碼板由電平轉換、信號處理等電路組成。
為了滿足能夠發送7路、接收2路32位雙極性碼功能,所設計的32位碼板由電平轉換、通道選擇、自檢等電路組成。
為了滿足能夠完成輸出5 V信號、27 V信號和其他24種信號的測量功能,所設計的一次性指令板由信號變換、信號采集等電路組成。
為了實現對代碼轉換器的自動測試,需要針對其測試需求,對測試儀的上下位機進行軟件開發,其中上位機在XP操作系統下,基于Visual C++6.0[10]進行開發,而下位機則要在μVsion與QuarutsII開發環境下,基于Keil C與Verilog進行設計與開發。上位機主程序流程框圖及軟件界面如圖3和圖4所示。
圖3 上位機流程框圖
圖4 上位機軟件界面
所設計的測試儀由研華工控機及上架式顯示器、控制盒和代碼轉換器組成,其實物如圖5所示。
圖5 測試儀實物圖
(1) 電源模塊的測試驗證。
由觀察得到代碼轉換器的5B指示燈狀態。電壓范圍為5 V(1±10%),實測為4.98 V,滿足測試要求。
(2) 消耗電流模塊的測試驗證。
代碼轉換器的消耗電流不能大于250 mA,27 V電壓值介于24~30 V范圍內。消耗電流實測為196 mA,27 V電壓實測為26.6 V,滿足測試要求。
(3) 自檢測電路測試模塊的測試驗證。
控制盒在收到“自測試電路測試”指令后,將接通“低良好BH”信號,并測試“ИПР”狀態,測試正確后,將點亮相應的指示燈,滿足測試要求。
(4) 一次性指令模塊的測試驗證。
控制盒在收到“頻率代碼通道20個一次性指令測試”、“MCH測試”、“手動測試”、“著陸一次性指令測試”、“良好БПК一次性指令測試”指令后,將進行相應的測試,并點亮相應的指示燈,滿足測試要求。
(5) 狀態判別矩陣模塊的測試驗證。
控制盒在收到“狀態判別矩陣模塊”測試指令后,將進行相應的測試,并點亮相應的指示燈,滿足測試要求。
(6) 內部時序電路模塊的測試驗證。
如果脈寬在10~13 ms內,則轉換正常,否則,轉換錯誤。脈寬實測為12.2 ms,滿足測試要求。
(7) 存儲器模塊、32位雙極性碼轉20位串行碼模塊和20位串行碼轉32位雙極性碼模塊的測試驗證。
選擇不同的通道按鈕,控制盒在收到該指令后,將進行相應的測試,測試結果與默認值不一致者,則顯示為紅色,滿足測試要求。
為滿足某型飛機代碼轉換器裝備維修保障過程中的系統性能檢查需求,針對工廠目前代碼轉換器測試設備的使用現狀,基于多處理協同技術與自動測試理論,設計并開發一臺代碼轉換器測試儀,測試結果表明其具有有效性。所提出的設計思路對于其他飛機重要機載電子設備代碼轉換器測試儀的設計具有參考與借鑒意義。