李淵+董敏周+張瑞+張睿+羅洋
摘 要: ARINC429是目前最常用的一種航空通信總線,它具有簡(jiǎn)單有效,性能可靠等特性。利用ARINC429總線,飛控系統(tǒng)同各機(jī)載設(shè)備進(jìn)行通信,但不同設(shè)備上并非都采用ARINC429接口,如衛(wèi)星接收機(jī)采用RS 422總線,且飛控系統(tǒng)ARINC429接口有限。為解決這一問(wèn)題,提出了基于STM32的航空通信總線切換器設(shè)計(jì),方案選取了意法半導(dǎo)體的STM32微控制器,具有高度一體化,低功耗,處理速度快,方便調(diào)試與后續(xù)開(kāi)發(fā)等優(yōu)點(diǎn)。
關(guān)鍵詞: ARINC429; RS 422總線; STM32微控制器; 低功耗器件
中圖分類(lèi)號(hào): TN919?34; TP368.2 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)22?0063?04
Design of avionics communication bus switcher based on STM32
LI Yuan, DONG Min?zhou, ZHANG Rui, ZHANG Rui, LUO Yang
(School of Astronautics, Northwestern Polytechnical University, Xian 710072, China)
Abstract: As a common avionics communication bus, ARINC429 has the characteristics of simpleness and high effectiveness and reliable performance. With ARINC429, the flight control system can communicate with other airborne equipments. A design of avionics bus switcher based on STM32 is presented because not all of the equipments have ARINC429 interfaces, for example, the satellite receiver uses RS422 bus, and flight control systems have a limited number of interfaces. In the scheme, STM32 MCU of STMicro is chosen, which has a high degree of integration, low?power consumption and high processing speed, and is easy to debug and develop.
Keywords: ARINC429; RS422 bus; STM32 MCU; low?power consumption device
0 引 言
ARINC429總線結(jié)構(gòu)簡(jiǎn)單,抗干擾性強(qiáng),性能穩(wěn)定,最大的優(yōu)勢(shì)在于可靠性高,因而在民用和軍用航空領(lǐng)域被廣泛應(yīng)用[1]。利用ARINC429數(shù)據(jù)總線,便于在系統(tǒng)和設(shè)備之間傳送上千種不同類(lèi)型的參數(shù),如航向、真空速、馬赫數(shù)等。飛機(jī)飛控系統(tǒng)通常采用ARINC429總線接口,但不同設(shè)備間并非都采用ARINC429總線接口,本文涉及的某型飛機(jī)的飛控系統(tǒng)采用兩路ARINC429總線接口,衛(wèi)星接收機(jī)采用RS 422接口,導(dǎo)航系統(tǒng)采用SDLC接口,動(dòng)力系統(tǒng)采用RS 422接口,舵機(jī)系統(tǒng)采用ARINC429接口。為了實(shí)現(xiàn)機(jī)上不同設(shè)備間同飛控系統(tǒng)通信,本文設(shè)計(jì)了基于STM32的通信總線切換器。
1 總線切換器概述
考慮到飛控系統(tǒng)只有兩路ARINC429接口,但外圍通信設(shè)備卻有4個(gè),所以采用將衛(wèi)星接收機(jī)和導(dǎo)航系統(tǒng)分為一組,動(dòng)力系統(tǒng)和舵機(jī)系統(tǒng)分為一組,各組數(shù)據(jù)經(jīng)主控制器處理后經(jīng)過(guò)ARINC429協(xié)議芯片DEI1016和電平轉(zhuǎn)換芯片BD429分別占用飛控ARINC429收發(fā)通道1和飛控ARINC429收發(fā)通道2,因?yàn)轱w控ARINC429收發(fā)通道同一時(shí)刻只能接收一路數(shù)據(jù),所以利用模擬開(kāi)關(guān)CD4052對(duì)每組中各路數(shù)據(jù)進(jìn)行分時(shí)接收,通信總線切換器總體設(shè)計(jì)如圖 1所示。
總線切換器的主要硬件組成為:控制器STM32F103ZET6,422協(xié)議芯片ADM2682EBRIZ,符合ARINC429協(xié)議標(biāo)準(zhǔn)的串行收發(fā)芯片DEI1016,實(shí)現(xiàn)ARINC429電平和TTL電平轉(zhuǎn)換功能的電平轉(zhuǎn)換芯片BD429,雙四選一的多路模擬選擇開(kāi)關(guān)CD4052。各主要集成電路介紹如下。
1.1 STM32主控制器
考慮到通信總線切換器對(duì)于通信速度和功耗的要求,本設(shè)計(jì)采用意法半導(dǎo)體公司的STM32F103ZET6作為主控制器。STM32F103ZET6的工作電壓僅為3.3 V,最大工作電流不超過(guò)70 MA,該系列使用高性能的ARM? Cortex??M3內(nèi)核,32位的精簡(jiǎn)指令集,工作頻率為72 MHz,內(nèi)置高速存儲(chǔ)器,高達(dá)512 KB的閃存和64 KB的SRAM,豐富的增強(qiáng)I/O 端口和聯(lián)接到兩條APB總線的外設(shè)[2]。這些豐富的外設(shè)資源和處理速度是本設(shè)計(jì)理想的控制器選擇。
圖1 通信總線切換器總體設(shè)計(jì)
1.2 ARINC429協(xié)議芯片DEI1016
DEI1016是Device Engineering 公司生產(chǎn)的可支持ARINC429航空總線協(xié)議的串行接收、發(fā)送器件,采用低壓供電的 CMOS 工藝,具有兩路接收和一路發(fā)送通道,支持 429,571,575,706 等航空通信規(guī)范[3]。該器件的主要功能有:串行字長(zhǎng)為32或25位,兩個(gè)獨(dú)立的接收器可直接與ARINC429總線接口相連,具有串/并接收數(shù)據(jù)轉(zhuǎn)換,和并/串發(fā)送數(shù)據(jù)轉(zhuǎn)換功能,串行數(shù)據(jù)速率為100 Kb/s或12.5 Kb/s,可自動(dòng)產(chǎn)生字與字之間的間隔,采用單一+5 V供電[4]。
2 硬件設(shè)計(jì)
2.1 RS 422收發(fā)電路
考慮到衛(wèi)星接收機(jī),導(dǎo)航系統(tǒng)和動(dòng)力系統(tǒng)的抗干擾性和可靠性,RS 422總線不能采用一般設(shè)計(jì)中使用的MAX3490等RS 422協(xié)議芯片,應(yīng)采用帶有電氣隔離功能的RS 422收發(fā)器,因此本設(shè)計(jì)采用ADI公司的ADM2682E,該芯片是具備±15 kV ESD 保護(hù)功能完全集成式5 kV rms信號(hào)和電源隔離數(shù)據(jù)收發(fā)器,適合多點(diǎn)傳輸線路上的高速通信應(yīng)用,而且集成一個(gè)5 kV rms 隔離DC/DC電源,省去了外部DC/DC隔離模塊[5],原理圖如圖 2所示。
2.2 ARINC429收發(fā)單元
DEI1016外部工作時(shí)鐘為1 mHz,至少200 μs低電平復(fù)位。具有兩路接收和一路發(fā)送,要是電路正常工作,發(fā)送時(shí)需要電平轉(zhuǎn)換芯片BD429配合,BD429是滿足ARINC429規(guī)范的,雙極數(shù)據(jù)輸入驅(qū)動(dòng)器。DEI1016為前級(jí)輸出,BD429為差分輸出,設(shè)計(jì)原理圖時(shí),BD429的周?chē)觾蓚€(gè)75 pF的電容才能正常工作[6],而且電容至關(guān)重要。ARINC429收發(fā)單元有3個(gè)基本單元組成,第一部分為有源晶振,第二部分為DEI1016收發(fā)單元,第三部分為BD429電平轉(zhuǎn)換電路,其電路結(jié)構(gòu)如圖3所示。
2.3 模擬開(kāi)關(guān)選擇電路
CD4052是一個(gè)差分4通道數(shù)字控制模擬開(kāi)關(guān),有A、B兩個(gè)二進(jìn)制控制輸入端和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。幅值為4.5~20 V的數(shù)字信號(hào)可控制峰峰值至20 V的模擬信號(hào)。例如,若VDD=+5 V,VSS=0,VEE=-13.5 V,則0~5 V的數(shù)字信號(hào)可控制-13.5~4.5 V的模擬信號(hào),這些開(kāi)關(guān)電路在整個(gè)VDD~VSS和VDD~VEE電源范圍內(nèi)具有極低的靜態(tài)功耗,與控制信號(hào)的邏輯狀態(tài)無(wú)關(guān),當(dāng)INH輸入端為“1”時(shí),所有通道截止。 兩位二進(jìn)制輸入信號(hào)選通4對(duì)通道中的一通道,可連接該輸入至輸出[7]。本設(shè)計(jì)中,因?yàn)橐粋€(gè)CD4052只有兩路需要選通,因此將控制端A,B連在一起,STM32主控制器給出1和0來(lái)分別選擇哪路數(shù)據(jù)導(dǎo)通,電路圖設(shè)計(jì)如圖4所示。
圖2 RS 422收發(fā)電路
2.4 復(fù)位電路
復(fù)位電路在系統(tǒng)上電時(shí)執(zhí)行復(fù)位,同時(shí)也增加了按鍵復(fù)位,方便系統(tǒng)調(diào)試時(shí)進(jìn)行手動(dòng)復(fù)位,因?yàn)镾TM32是低電平復(fù)位[8],所以本方案設(shè)計(jì)中的復(fù)位電路也是低電平復(fù)位的,這里采用了電阻和電容構(gòu)成上電復(fù)位電路,當(dāng)上電時(shí),電容充電,電容相當(dāng)于短路,RESET為低電平,一段時(shí)間后,電容充滿電,RESET變?yōu)楦唠娖健.?dāng)按下復(fù)位鍵RESET后,電容放電,RESET變?yōu)榈碗娖?,系統(tǒng)復(fù)位。原理圖設(shè)計(jì)如圖5所示。
2.5 下載及調(diào)試接口
JTAG是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,它的基本原理是在器件內(nèi)部定義一個(gè)TAP(測(cè)試訪問(wèn)接口),通過(guò)專用的的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試[9]。JTAG編程是在線編程,傳統(tǒng)生產(chǎn)流程中先對(duì)芯片進(jìn)行預(yù)編程然后再裝到板上,簡(jiǎn)化的流程為先固定到器件電路板上,再用JTAG編程,從而大大加快工程進(jìn)度[10]。但JTAG編程需要專用的仿真器,本設(shè)計(jì)選用JLINK V8仿真器,一端用USB線與PC相連,另一端與JTAG相連。如圖6所示。
圖3 ARINC429收發(fā)單元
3 軟件設(shè)計(jì)
通信總線切換器任務(wù)可分為幾個(gè)部分,利用模塊化編程方法進(jìn)行編程。
流程如圖7所示,具體介紹如下:
(1) 系統(tǒng)上電后先進(jìn)行初始化,初始化IO口配置,將輸出IO口默認(rèn)為推挽式輸出,輸入IO口默認(rèn)為輸入下拉,開(kāi)啟外部中斷,設(shè)置中端優(yōu)先級(jí),配置串口接收發(fā)送功能。
(2) 上電后默認(rèn)將衛(wèi)星接收機(jī)接入飛控ARINC429輸入通道1,將動(dòng)力系統(tǒng)接入飛控ARINC429輸入通道2。
(3) 飛控通道1和2切換指令均為外部中斷,如果發(fā)生通道1中斷,導(dǎo)航系統(tǒng)接入飛控ARINC429通道1,如果發(fā)生通道2中斷,舵機(jī)系統(tǒng)接入飛控ARINC429通道2。
圖4 模擬開(kāi)關(guān)選擇電路
圖5 復(fù)位電路
圖6 下載及調(diào)試接口
圖7 軟件設(shè)計(jì)
(4) 各通道來(lái)的數(shù)據(jù)先經(jīng)RS 422協(xié)議芯片后進(jìn)入主控制器STM32處理,然后經(jīng)過(guò)429收發(fā)芯片DEI1016做發(fā)送字處理,再經(jīng)電平芯片BD429后送入各飛控429通道。
4 結(jié) 語(yǔ)
本方案采取32位高速單片機(jī)STM32作為主控制器,結(jié)合ARINC429協(xié)議芯片連接到飛控系統(tǒng)ARINC429總線,飛控系統(tǒng)給出選擇信號(hào)后,通過(guò)模擬開(kāi)關(guān)選則飛控需要的設(shè)備數(shù)據(jù),很好地解決了只有兩路ARINC429接口的飛控系統(tǒng)與各設(shè)備間的分時(shí)通信。主控制器STM32功耗低,存儲(chǔ)能力強(qiáng),處理速度快,調(diào)試調(diào)試簡(jiǎn)單,方便開(kāi)發(fā),便于后續(xù)維護(hù)和二次開(kāi)發(fā),同時(shí)PCB上所有元器件均采用貼片元件,大大減小了PCB板的面積和重量,不會(huì)增加飛行載荷。經(jīng)實(shí)際測(cè)試,飛控系統(tǒng)能很好地同各機(jī)載設(shè)備進(jìn)行分時(shí)通信,符合設(shè)計(jì)要求。
參考文獻(xiàn)
[1] 劉連生,姜健飛.基于FPGA的ARINC429多通道接口設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),2010,29(8):72?75.
[2] 意法半導(dǎo)體(中國(guó))投資公司. STM32中文參考手冊(cè)[EB/OL].[2010?01?10] http://wenku.baidu.com/link?url=SCQ2SQ2f7UTgM2
dpekgTccRhoqjMJC6jYere?F4BJOZazfLa5uLJuANjcZB8KNnfDg
VeYh?WTN4or2Hrw976z1?rjlMdwd1vvHjG4kp3K1q.
[3] 楊明,張涇周,李輝,等.基于MCS?51單片機(jī)DEI1016的ARINC429通信模塊設(shè)計(jì)[J].電子設(shè)計(jì)工程,2014,22(1):171?175.
[4] Device Engineering Inc. DEI1016/DEI1016A/DEI1016B ARINC 429 Transceiver [S]. USA: Device Engineering Inc,2004.
[5] Analog Devices. 5 kV rms信號(hào)和電源隔離RS 485收發(fā)器 [S]. USA: Analog Devices, 2004.
[6] Device Engineering Inc.BD429/ BD429A/ BD429B/ BD429C/ ARINC 429/RS?422 Line Driver Integrated Circuit [S]. USA: Device Engineering Inc, 2008.
[7] 劉軍.例說(shuō)STM32[M].北京:北京航空航天大學(xué)出版社,2011.
[8] YIU Joseph. Cotex?M3權(quán)威指南[M].宋巖,譯.北京:北京航空航天大學(xué)出版社,2009.
[9] 謝凱,趙健.MSP430系列超低功耗單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2009.
[10] 張建國(guó),高靜.基于AVR單片機(jī)的高可靠性開(kāi)關(guān)量模塊的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(20):146?148.
2 硬件設(shè)計(jì)
2.1 RS 422收發(fā)電路
考慮到衛(wèi)星接收機(jī),導(dǎo)航系統(tǒng)和動(dòng)力系統(tǒng)的抗干擾性和可靠性,RS 422總線不能采用一般設(shè)計(jì)中使用的MAX3490等RS 422協(xié)議芯片,應(yīng)采用帶有電氣隔離功能的RS 422收發(fā)器,因此本設(shè)計(jì)采用ADI公司的ADM2682E,該芯片是具備±15 kV ESD 保護(hù)功能完全集成式5 kV rms信號(hào)和電源隔離數(shù)據(jù)收發(fā)器,適合多點(diǎn)傳輸線路上的高速通信應(yīng)用,而且集成一個(gè)5 kV rms 隔離DC/DC電源,省去了外部DC/DC隔離模塊[5],原理圖如圖 2所示。
2.2 ARINC429收發(fā)單元
DEI1016外部工作時(shí)鐘為1 mHz,至少200 μs低電平復(fù)位。具有兩路接收和一路發(fā)送,要是電路正常工作,發(fā)送時(shí)需要電平轉(zhuǎn)換芯片BD429配合,BD429是滿足ARINC429規(guī)范的,雙極數(shù)據(jù)輸入驅(qū)動(dòng)器。DEI1016為前級(jí)輸出,BD429為差分輸出,設(shè)計(jì)原理圖時(shí),BD429的周?chē)觾蓚€(gè)75 pF的電容才能正常工作[6],而且電容至關(guān)重要。ARINC429收發(fā)單元有3個(gè)基本單元組成,第一部分為有源晶振,第二部分為DEI1016收發(fā)單元,第三部分為BD429電平轉(zhuǎn)換電路,其電路結(jié)構(gòu)如圖3所示。
2.3 模擬開(kāi)關(guān)選擇電路
CD4052是一個(gè)差分4通道數(shù)字控制模擬開(kāi)關(guān),有A、B兩個(gè)二進(jìn)制控制輸入端和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。幅值為4.5~20 V的數(shù)字信號(hào)可控制峰峰值至20 V的模擬信號(hào)。例如,若VDD=+5 V,VSS=0,VEE=-13.5 V,則0~5 V的數(shù)字信號(hào)可控制-13.5~4.5 V的模擬信號(hào),這些開(kāi)關(guān)電路在整個(gè)VDD~VSS和VDD~VEE電源范圍內(nèi)具有極低的靜態(tài)功耗,與控制信號(hào)的邏輯狀態(tài)無(wú)關(guān),當(dāng)INH輸入端為“1”時(shí),所有通道截止。 兩位二進(jìn)制輸入信號(hào)選通4對(duì)通道中的一通道,可連接該輸入至輸出[7]。本設(shè)計(jì)中,因?yàn)橐粋€(gè)CD4052只有兩路需要選通,因此將控制端A,B連在一起,STM32主控制器給出1和0來(lái)分別選擇哪路數(shù)據(jù)導(dǎo)通,電路圖設(shè)計(jì)如圖4所示。
圖2 RS 422收發(fā)電路
2.4 復(fù)位電路
復(fù)位電路在系統(tǒng)上電時(shí)執(zhí)行復(fù)位,同時(shí)也增加了按鍵復(fù)位,方便系統(tǒng)調(diào)試時(shí)進(jìn)行手動(dòng)復(fù)位,因?yàn)镾TM32是低電平復(fù)位[8],所以本方案設(shè)計(jì)中的復(fù)位電路也是低電平復(fù)位的,這里采用了電阻和電容構(gòu)成上電復(fù)位電路,當(dāng)上電時(shí),電容充電,電容相當(dāng)于短路,RESET為低電平,一段時(shí)間后,電容充滿電,RESET變?yōu)楦唠娖?。?dāng)按下復(fù)位鍵RESET后,電容放電,RESET變?yōu)榈碗娖?,系統(tǒng)復(fù)位。原理圖設(shè)計(jì)如圖5所示。
2.5 下載及調(diào)試接口
JTAG是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,它的基本原理是在器件內(nèi)部定義一個(gè)TAP(測(cè)試訪問(wèn)接口),通過(guò)專用的的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試[9]。JTAG編程是在線編程,傳統(tǒng)生產(chǎn)流程中先對(duì)芯片進(jìn)行預(yù)編程然后再裝到板上,簡(jiǎn)化的流程為先固定到器件電路板上,再用JTAG編程,從而大大加快工程進(jìn)度[10]。但JTAG編程需要專用的仿真器,本設(shè)計(jì)選用JLINK V8仿真器,一端用USB線與PC相連,另一端與JTAG相連。如圖6所示。
圖3 ARINC429收發(fā)單元
3 軟件設(shè)計(jì)
通信總線切換器任務(wù)可分為幾個(gè)部分,利用模塊化編程方法進(jìn)行編程。
流程如圖7所示,具體介紹如下:
(1) 系統(tǒng)上電后先進(jìn)行初始化,初始化IO口配置,將輸出IO口默認(rèn)為推挽式輸出,輸入IO口默認(rèn)為輸入下拉,開(kāi)啟外部中斷,設(shè)置中端優(yōu)先級(jí),配置串口接收發(fā)送功能。
(2) 上電后默認(rèn)將衛(wèi)星接收機(jī)接入飛控ARINC429輸入通道1,將動(dòng)力系統(tǒng)接入飛控ARINC429輸入通道2。
(3) 飛控通道1和2切換指令均為外部中斷,如果發(fā)生通道1中斷,導(dǎo)航系統(tǒng)接入飛控ARINC429通道1,如果發(fā)生通道2中斷,舵機(jī)系統(tǒng)接入飛控ARINC429通道2。
圖4 模擬開(kāi)關(guān)選擇電路
圖5 復(fù)位電路
圖6 下載及調(diào)試接口
圖7 軟件設(shè)計(jì)
(4) 各通道來(lái)的數(shù)據(jù)先經(jīng)RS 422協(xié)議芯片后進(jìn)入主控制器STM32處理,然后經(jīng)過(guò)429收發(fā)芯片DEI1016做發(fā)送字處理,再經(jīng)電平芯片BD429后送入各飛控429通道。
4 結(jié) 語(yǔ)
本方案采取32位高速單片機(jī)STM32作為主控制器,結(jié)合ARINC429協(xié)議芯片連接到飛控系統(tǒng)ARINC429總線,飛控系統(tǒng)給出選擇信號(hào)后,通過(guò)模擬開(kāi)關(guān)選則飛控需要的設(shè)備數(shù)據(jù),很好地解決了只有兩路ARINC429接口的飛控系統(tǒng)與各設(shè)備間的分時(shí)通信。主控制器STM32功耗低,存儲(chǔ)能力強(qiáng),處理速度快,調(diào)試調(diào)試簡(jiǎn)單,方便開(kāi)發(fā),便于后續(xù)維護(hù)和二次開(kāi)發(fā),同時(shí)PCB上所有元器件均采用貼片元件,大大減小了PCB板的面積和重量,不會(huì)增加飛行載荷。經(jīng)實(shí)際測(cè)試,飛控系統(tǒng)能很好地同各機(jī)載設(shè)備進(jìn)行分時(shí)通信,符合設(shè)計(jì)要求。
參考文獻(xiàn)
[1] 劉連生,姜健飛.基于FPGA的ARINC429多通道接口設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),2010,29(8):72?75.
[2] 意法半導(dǎo)體(中國(guó))投資公司. STM32中文參考手冊(cè)[EB/OL].[2010?01?10] http://wenku.baidu.com/link?url=SCQ2SQ2f7UTgM2
dpekgTccRhoqjMJC6jYere?F4BJOZazfLa5uLJuANjcZB8KNnfDg
VeYh?WTN4or2Hrw976z1?rjlMdwd1vvHjG4kp3K1q.
[3] 楊明,張涇周,李輝,等.基于MCS?51單片機(jī)DEI1016的ARINC429通信模塊設(shè)計(jì)[J].電子設(shè)計(jì)工程,2014,22(1):171?175.
[4] Device Engineering Inc. DEI1016/DEI1016A/DEI1016B ARINC 429 Transceiver [S]. USA: Device Engineering Inc,2004.
[5] Analog Devices. 5 kV rms信號(hào)和電源隔離RS 485收發(fā)器 [S]. USA: Analog Devices, 2004.
[6] Device Engineering Inc.BD429/ BD429A/ BD429B/ BD429C/ ARINC 429/RS?422 Line Driver Integrated Circuit [S]. USA: Device Engineering Inc, 2008.
[7] 劉軍.例說(shuō)STM32[M].北京:北京航空航天大學(xué)出版社,2011.
[8] YIU Joseph. Cotex?M3權(quán)威指南[M].宋巖,譯.北京:北京航空航天大學(xué)出版社,2009.
[9] 謝凱,趙健.MSP430系列超低功耗單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2009.
[10] 張建國(guó),高靜.基于AVR單片機(jī)的高可靠性開(kāi)關(guān)量模塊的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(20):146?148.
2 硬件設(shè)計(jì)
2.1 RS 422收發(fā)電路
考慮到衛(wèi)星接收機(jī),導(dǎo)航系統(tǒng)和動(dòng)力系統(tǒng)的抗干擾性和可靠性,RS 422總線不能采用一般設(shè)計(jì)中使用的MAX3490等RS 422協(xié)議芯片,應(yīng)采用帶有電氣隔離功能的RS 422收發(fā)器,因此本設(shè)計(jì)采用ADI公司的ADM2682E,該芯片是具備±15 kV ESD 保護(hù)功能完全集成式5 kV rms信號(hào)和電源隔離數(shù)據(jù)收發(fā)器,適合多點(diǎn)傳輸線路上的高速通信應(yīng)用,而且集成一個(gè)5 kV rms 隔離DC/DC電源,省去了外部DC/DC隔離模塊[5],原理圖如圖 2所示。
2.2 ARINC429收發(fā)單元
DEI1016外部工作時(shí)鐘為1 mHz,至少200 μs低電平復(fù)位。具有兩路接收和一路發(fā)送,要是電路正常工作,發(fā)送時(shí)需要電平轉(zhuǎn)換芯片BD429配合,BD429是滿足ARINC429規(guī)范的,雙極數(shù)據(jù)輸入驅(qū)動(dòng)器。DEI1016為前級(jí)輸出,BD429為差分輸出,設(shè)計(jì)原理圖時(shí),BD429的周?chē)觾蓚€(gè)75 pF的電容才能正常工作[6],而且電容至關(guān)重要。ARINC429收發(fā)單元有3個(gè)基本單元組成,第一部分為有源晶振,第二部分為DEI1016收發(fā)單元,第三部分為BD429電平轉(zhuǎn)換電路,其電路結(jié)構(gòu)如圖3所示。
2.3 模擬開(kāi)關(guān)選擇電路
CD4052是一個(gè)差分4通道數(shù)字控制模擬開(kāi)關(guān),有A、B兩個(gè)二進(jìn)制控制輸入端和INH輸入,具有低導(dǎo)通阻抗和很低的截止漏電流。幅值為4.5~20 V的數(shù)字信號(hào)可控制峰峰值至20 V的模擬信號(hào)。例如,若VDD=+5 V,VSS=0,VEE=-13.5 V,則0~5 V的數(shù)字信號(hào)可控制-13.5~4.5 V的模擬信號(hào),這些開(kāi)關(guān)電路在整個(gè)VDD~VSS和VDD~VEE電源范圍內(nèi)具有極低的靜態(tài)功耗,與控制信號(hào)的邏輯狀態(tài)無(wú)關(guān),當(dāng)INH輸入端為“1”時(shí),所有通道截止。 兩位二進(jìn)制輸入信號(hào)選通4對(duì)通道中的一通道,可連接該輸入至輸出[7]。本設(shè)計(jì)中,因?yàn)橐粋€(gè)CD4052只有兩路需要選通,因此將控制端A,B連在一起,STM32主控制器給出1和0來(lái)分別選擇哪路數(shù)據(jù)導(dǎo)通,電路圖設(shè)計(jì)如圖4所示。
圖2 RS 422收發(fā)電路
2.4 復(fù)位電路
復(fù)位電路在系統(tǒng)上電時(shí)執(zhí)行復(fù)位,同時(shí)也增加了按鍵復(fù)位,方便系統(tǒng)調(diào)試時(shí)進(jìn)行手動(dòng)復(fù)位,因?yàn)镾TM32是低電平復(fù)位[8],所以本方案設(shè)計(jì)中的復(fù)位電路也是低電平復(fù)位的,這里采用了電阻和電容構(gòu)成上電復(fù)位電路,當(dāng)上電時(shí),電容充電,電容相當(dāng)于短路,RESET為低電平,一段時(shí)間后,電容充滿電,RESET變?yōu)楦唠娖健.?dāng)按下復(fù)位鍵RESET后,電容放電,RESET變?yōu)榈碗娖?,系統(tǒng)復(fù)位。原理圖設(shè)計(jì)如圖5所示。
2.5 下載及調(diào)試接口
JTAG是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議,它的基本原理是在器件內(nèi)部定義一個(gè)TAP(測(cè)試訪問(wèn)接口),通過(guò)專用的的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試[9]。JTAG編程是在線編程,傳統(tǒng)生產(chǎn)流程中先對(duì)芯片進(jìn)行預(yù)編程然后再裝到板上,簡(jiǎn)化的流程為先固定到器件電路板上,再用JTAG編程,從而大大加快工程進(jìn)度[10]。但JTAG編程需要專用的仿真器,本設(shè)計(jì)選用JLINK V8仿真器,一端用USB線與PC相連,另一端與JTAG相連。如圖6所示。
圖3 ARINC429收發(fā)單元
3 軟件設(shè)計(jì)
通信總線切換器任務(wù)可分為幾個(gè)部分,利用模塊化編程方法進(jìn)行編程。
流程如圖7所示,具體介紹如下:
(1) 系統(tǒng)上電后先進(jìn)行初始化,初始化IO口配置,將輸出IO口默認(rèn)為推挽式輸出,輸入IO口默認(rèn)為輸入下拉,開(kāi)啟外部中斷,設(shè)置中端優(yōu)先級(jí),配置串口接收發(fā)送功能。
(2) 上電后默認(rèn)將衛(wèi)星接收機(jī)接入飛控ARINC429輸入通道1,將動(dòng)力系統(tǒng)接入飛控ARINC429輸入通道2。
(3) 飛控通道1和2切換指令均為外部中斷,如果發(fā)生通道1中斷,導(dǎo)航系統(tǒng)接入飛控ARINC429通道1,如果發(fā)生通道2中斷,舵機(jī)系統(tǒng)接入飛控ARINC429通道2。
圖4 模擬開(kāi)關(guān)選擇電路
圖5 復(fù)位電路
圖6 下載及調(diào)試接口
圖7 軟件設(shè)計(jì)
(4) 各通道來(lái)的數(shù)據(jù)先經(jīng)RS 422協(xié)議芯片后進(jìn)入主控制器STM32處理,然后經(jīng)過(guò)429收發(fā)芯片DEI1016做發(fā)送字處理,再經(jīng)電平芯片BD429后送入各飛控429通道。
4 結(jié) 語(yǔ)
本方案采取32位高速單片機(jī)STM32作為主控制器,結(jié)合ARINC429協(xié)議芯片連接到飛控系統(tǒng)ARINC429總線,飛控系統(tǒng)給出選擇信號(hào)后,通過(guò)模擬開(kāi)關(guān)選則飛控需要的設(shè)備數(shù)據(jù),很好地解決了只有兩路ARINC429接口的飛控系統(tǒng)與各設(shè)備間的分時(shí)通信。主控制器STM32功耗低,存儲(chǔ)能力強(qiáng),處理速度快,調(diào)試調(diào)試簡(jiǎn)單,方便開(kāi)發(fā),便于后續(xù)維護(hù)和二次開(kāi)發(fā),同時(shí)PCB上所有元器件均采用貼片元件,大大減小了PCB板的面積和重量,不會(huì)增加飛行載荷。經(jīng)實(shí)際測(cè)試,飛控系統(tǒng)能很好地同各機(jī)載設(shè)備進(jìn)行分時(shí)通信,符合設(shè)計(jì)要求。
參考文獻(xiàn)
[1] 劉連生,姜健飛.基于FPGA的ARINC429多通道接口設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),2010,29(8):72?75.
[2] 意法半導(dǎo)體(中國(guó))投資公司. STM32中文參考手冊(cè)[EB/OL].[2010?01?10] http://wenku.baidu.com/link?url=SCQ2SQ2f7UTgM2
dpekgTccRhoqjMJC6jYere?F4BJOZazfLa5uLJuANjcZB8KNnfDg
VeYh?WTN4or2Hrw976z1?rjlMdwd1vvHjG4kp3K1q.
[3] 楊明,張涇周,李輝,等.基于MCS?51單片機(jī)DEI1016的ARINC429通信模塊設(shè)計(jì)[J].電子設(shè)計(jì)工程,2014,22(1):171?175.
[4] Device Engineering Inc. DEI1016/DEI1016A/DEI1016B ARINC 429 Transceiver [S]. USA: Device Engineering Inc,2004.
[5] Analog Devices. 5 kV rms信號(hào)和電源隔離RS 485收發(fā)器 [S]. USA: Analog Devices, 2004.
[6] Device Engineering Inc.BD429/ BD429A/ BD429B/ BD429C/ ARINC 429/RS?422 Line Driver Integrated Circuit [S]. USA: Device Engineering Inc, 2008.
[7] 劉軍.例說(shuō)STM32[M].北京:北京航空航天大學(xué)出版社,2011.
[8] YIU Joseph. Cotex?M3權(quán)威指南[M].宋巖,譯.北京:北京航空航天大學(xué)出版社,2009.
[9] 謝凱,趙健.MSP430系列超低功耗單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2009.
[10] 張建國(guó),高靜.基于AVR單片機(jī)的高可靠性開(kāi)關(guān)量模塊的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(20):146?148.