陳杰 劉曾歷 馬騰 穆盈奎


摘要:飛機上的電氣線路龐大復雜,而且人工不易檢測,費時費力,基于CAN(controller AreaNetwork,控制器局域網)總線的飛機電氣附件靜態測試相當于CAN總線上的一個節點,在理論上,在CAN帶負載的能力范圍內可以隨意增加被測對象的數目來滿足飛機上大規模電氣線路的檢查。整個系統主要由上位機和終端機兩部分組成。上位機由51單片機控制CAN控制器SJA1000和CAN收發器TJAl050形成的通訊模塊。主控計算機選擇需要測試的導線,并通過串口發給上位機51單片機,51單片機通過CAN控制器和CAN收發器將指令轉換為CAN信號并發往CAN總線。終端機由51單片機控制CAN控制器和CAN收發器接收到對應的控制指令時,51單片機將指令解析出來發送給測試電路,測試電路選擇相應導線進行測試。
關鍵詞:電氣線路;CAN總線;上位機;終端機
中圖分類號:V242.3 文獻標志碼:A 文章編號:2095-2945(2019)12-0068-03
引言
飛機的電氣線路連接飛機各個部件和系統,由于飛機的結構復雜,部件和系統繁多許多電線集中布置在狹窄的機壁里導致電源線高頻線和低頻線混雜在一起電器環境復雜,容易導致電氣線路短路,斷線,絕緣老化,影響飛行器安全。而如今,飛行器所需檢測的電氣電路端點數越來越多,航空電氣線路測試設備的自動化勢在必行。相比國外,國內仍采用較為落后的檢測方法,難以實現整機電氣線路的檢測,并且測試與排故困難。本項目的目的在于,基于CAN總線的原理,開發一套分布式控制系統,通過軟件控制不同被測對象的導通關系,將飛機電氣附件按要求接入測量系統中,從而實現對整個電氣附件的靜態性能的測試。
1系統硬件設計方案
硬件系統設計主要包括上位機CAN通訊模塊和終端機的CAN通訊模塊以及終端機測試電路的設計,CAN通訊模塊主要由微控制器、CAN控制器、CAN收發器組成;終端機測試電路主要由控制芯片和繼電器陣列組成。
微控制器是通訊模塊的大腦,負責控制CAN控制器的初始化、數據的接收與發送。在上位機中微控制器通過串口接收來自計算機的控制指令,把指令處理后發送給CAN控制器,CAN控制器將數據打包成CAN總線協議規定的數據幀格式后,通過CAN收發器發送到CAN總線上。終端機中,微控制器負責接收來自CAN控制器解析后的控制指令,并根據指令來控制測試電路選擇相應的導線來進行測試。
CAN總線收發器是將CAN控制器發送過來的數字信號轉換為符合CAN物理層標準的信號,并進行放大傳輸到總線上,并將CAN總線接收到的信號轉換為CAN控制器能處理的數字信號,發送給CAN控制器。
CAN控制器的主要作用是處理CAN總線數據幀,CAN總線控制器芯片濾波器用來設置自己的CAN地址,節點會把濾波器的設置和接受到的幀信息的標識碼相比對,對于目的地址,與報文中的相吻合則接受,不吻合則不接收,在上位機中負責接收微控制器的需要發送的數據,并將其按照CAN通訊協議規定的數據幀的格式打包,發往CAN收發器進行發送,在下位機中負責接收并過濾來自CAN收發器的數據,并將其解析出來發送給微處理器。
2系統軟件設計方案
軟件系統主要包括:上位機主程序、下位機主程序、CAN控制器SJA1000的初始化、上位機發送程序和終端機接收程序的設計等。
2.1上位機主程序
上位機主程序首先進行檢查終端機的微控制器89C52與CAN控制器SJA1000是否連接正確,若正確連接則向單片機發送一段正確連接的標志字符,之后進行CAN控制器SJA1000的初始化,若初始化成功則發出SJA1000初始化成功的標志,成功后單片機會一直處于等待狀態,等待期間會一直檢查錯誤SJA1000錯誤計數器是否溢出,當錯誤計數器溢出時發出錯誤警告。其中信息發送和接收都通過中斷來實現。
2.2 SJA1000初始化
SJAl000初始化主要包括時鐘分頻計數器的設置,濾波條件及濾波模式的選擇,中斷使能寄存器的設置,SJA1000工作時分為復位模式和工作模式,通過內部的模式寄存器設置,SJA1000初始化之前需要將SJA1000設置為復位模式。
2.3發送程序
發送程序通過中斷觸發的方式實現,當上位機接收到一條計算機的控制指令時,通過中斷進入發送程序。上位機與計算機通過串口進行通信,當計算機發出一條指令后,單片機通過中斷將接收SBUF里的指令信息存入指定的地方,同時執行發送程序。首先查看SJA1000狀態寄存器中的發送緩沖器狀態位,當發送緩沖狀態位為1時CPU才能向發送緩沖寄存器發送數據。發送緩沖寄存器可訪問時,讀取發送的數據長度,之后向發送緩沖寄存器里裝載發送標識符,最后向發送緩沖寄存器裝載發送數據。裝載在完畢后,需要向SJA1000發出一個發送指令,將命令寄存器的發送請求標志位置1,CAN控制器才開始發送數據。
2.4接收程序
當終端機CAN控制器成功接收到一條報文時,CAN控制器向MCU發出中斷請求,MCU需要進一步查看SJA1000的中斷寄存器中接收中斷位來判斷是否產生接收中斷,首先讀取接受數據的幀信息,再將SJA1000接收緩沖寄存器中的有效的數據部分讀入單片機內進行的解析。并將解析后的數據通過串口發送給測試電路的51單片機。測試電路的單片機根據指令選擇對應的繼電器上電閉合。最后在釋放SJA1000的接收緩沖寄存器。程序流程圖如圖5。
3測試結果與驗證
主控機軟件界面如圖所示。左側的線纜表是待測線纜的數據庫,通過線纜選項的端口選擇相應的導線,每條導線對應著終端機上的一個繼電器,當選擇某一條導線并發送測試命令時,主控計算機通過串口向上位機的單片機發送對應的指令。右下角的表格為以檢測的導線編號。部分測試結果如圖所示,測試結果顯示的阻值與電阻本身阻值基本一致,說明系統功能可以實現。