陜西寶成航空儀表有限責(zé)任公司 李坤武 馬大兵
接口信號種類很多,如ARINC407、ARINC429、RS422,SPI等,雖然數(shù)據(jù)通信板接口功能很全,但重量大、功耗大、價(jià)格昂貴,而且依賴操作系統(tǒng),采用高集成度的可編程邏輯器件實(shí)現(xiàn)與總線之間的數(shù)據(jù)通信,可有效節(jié)省硬件資源,并且具有體積小、成本低、性能穩(wěn)定的優(yōu)點(diǎn)。
接口電路主要處理信號為:
a)接收、處理兩路ARINC429接口信號;發(fā)送一路ARINC429接口信號。
b)通過一路全雙口串行接口,對外部接收、發(fā)送信息。
c)通過串口控制內(nèi)部液晶屏工作。
d)接收1路符合ARINC407標(biāo)準(zhǔn)信號。
e)處理按鍵信息。
f)通過雙口RAM傳送數(shù)據(jù)。
接口原理框圖見圖1,接口主處理器為C8051F020,采用HI-8282和HI-3182芯片通過兩路ARINC429接口分別接收設(shè)備信息,通過一路ARINC429接口向設(shè)備發(fā)送信息,處理器通過數(shù)據(jù)線和讀寫控制線,由CPLD產(chǎn)生讀寫控制邏輯,分次讀取ARINC429數(shù)據(jù);通過單片機(jī)的UART0口、RS422接口芯片實(shí)現(xiàn)RS422格式通信信號接收和發(fā)送;通過單片機(jī)的UART1口實(shí)現(xiàn)RS232格式信號接收和發(fā)送、控制液晶屏工作;通過SDC轉(zhuǎn)換模塊,接收1路符合ARINC407標(biāo)準(zhǔn)的無線電信號轉(zhuǎn)換為數(shù)字信號;通過I/O讀取按鍵信號;單片機(jī)將各參數(shù)信息,按照要求數(shù)據(jù)格式進(jìn)行調(diào)整解算,并通過單片機(jī)傳遞給雙口RAM。
圖1 接口原理框圖
接口輸入輸出處理考慮功能、處理能力、功耗的需求,選用Silicon公司生產(chǎn)工作主頻為25 MHz的C8051F020型單片機(jī)作為核心處理器。C8051F020處理器是面向嵌入式控制領(lǐng)域的高檔混合信號微控制器。C8051F020處理器采用高速8051微控制器內(nèi)核,指令結(jié)構(gòu)為流水線方式,70%指令的執(zhí)行時(shí)間只需一個(gè)或兩個(gè)系統(tǒng)時(shí)鐘周期,執(zhí)行指令速度可達(dá)25MIPS。
C8051F020處理器具有4K+256字節(jié)的RAM,可以運(yùn)行較大的嵌入式控制軟件。其內(nèi)置的64K flash存儲器可以方便地將應(yīng)用程序內(nèi)置其中,省去了外擴(kuò)程序存儲器,簡化了電路的設(shè)計(jì),也節(jié)省了CPU的資源。
C8051F020處理器具有8組8位字節(jié)寬的I/O端口,所有端口均耐5V電壓,可以通過軟件對交叉開關(guān)配置寄存器XBR0、XBR1、XBR2進(jìn)行設(shè)置,按需要將其中的端口設(shè)置為數(shù)據(jù)總線、地址總線、控制總線和I/O口,端口靈活的可選擇方式大大方便了系統(tǒng)的構(gòu)成和軟件編程。
數(shù)據(jù)采集處理的設(shè)計(jì)中,C8051F020處理器的端口配置如下:
1)P0.0、P0.1設(shè)置為串行總線,轉(zhuǎn)換為RS422進(jìn)行通訊;
2)P0.2、P0.3設(shè)置為串行總線,用于RS232格式信號通訊;
3)P0.4、P0.5設(shè)置為中斷0(INT0)和中斷1(INT1),用于兩路ARINC429數(shù)據(jù)的中斷輸入信號;
4)P1.0~P1.5設(shè)置為輸入端口,用于采集6路按鍵信息;
5)P3.5~P3.7設(shè)置為輸出端口,用于控制ARINC429數(shù)據(jù)采集;
6)P4.1、P4.2設(shè)置為輸出端口,用于控制SDC轉(zhuǎn)換模塊工作及同步器信號采集;
7)P4.6、P4.7設(shè)置為讀/寫端口,用于控制CPLD的數(shù)據(jù)交換;
8)P5、P6口設(shè)置為16為地址總線接口;
9)P7口設(shè)置為8位數(shù)據(jù)總線接口。
通過以上配置,滿足對系統(tǒng)控制及數(shù)據(jù)處理的要求。
根據(jù)接口選用的元器件,需要進(jìn)行邏輯控制的器件包括HI-8282、14ZSZ3412、雙口RAM數(shù)據(jù)存儲空間的尋址控制,采用ALTER公司的MAX 7000A系列EMP7128AETI100可編程邏輯器,CPLD內(nèi)部通過硬件描述語言進(jìn)行讀寫控制,產(chǎn)生接收、發(fā)送ARINC429、ARINC407、雙口RAM數(shù)據(jù)的控制邏輯,選用HI-8282芯片接收兩路ARINC429參數(shù)、通過HI-3182芯片發(fā)送ARINC429參數(shù),主要控制信號CWSTR用于設(shè)置HI-8282狀態(tài)寄存器工作控制字,SEL信號用于片選選通,EN1、EN2為接收器的接收控制信號,ENTX、TX/R用于發(fā)送控制;通過1塊SDC模塊接收無線電信息,經(jīng)過模數(shù)轉(zhuǎn)換、由處理器讀取數(shù)據(jù)并處理,無線電同步器信號數(shù)據(jù)采集處理采用716所14ZSZ3412型14位自整角機(jī)/數(shù)字轉(zhuǎn)換器,14ZSZ3412型自整角機(jī)/數(shù)字轉(zhuǎn)換器轉(zhuǎn)換誤差為±5.3′,14ZSZ3412主要控制信號為使能信號“EN”,字節(jié)選擇信號“BYSEL”,BYSEL信號:高字節(jié)使能端,當(dāng)BYSEL信號為邏輯高電平時(shí),轉(zhuǎn)換器高字節(jié)輸出數(shù)據(jù),當(dāng)BYSEL信號為邏輯低電平時(shí),低字節(jié)傳送到輸出端。當(dāng)BUSY為低電平時(shí),表示轉(zhuǎn)換器內(nèi)部已轉(zhuǎn)換結(jié)束,此時(shí)數(shù)據(jù)輸出穩(wěn)定有效,可以讀取。
應(yīng)用Altera Quartus軟件設(shè)計(jì)平臺,根據(jù)邏輯關(guān)系,通過CPLD地址總線與讀寫信號產(chǎn)生所有控制信號時(shí)序,該芯片擁有可用I/O引腳84個(gè),滿足HI8282、HI3182、14ZSZ3412信號、雙口RAM的綜合邏輯控制,接口處理將參數(shù)轉(zhuǎn)換為數(shù)字信號,再把信息按照內(nèi)部數(shù)據(jù)格式進(jìn)行調(diào)整解算,解算后的各種信息直接傳送給雙口RAM。
接口處理的按鍵信息采用循環(huán)掃描法,并按照識別出來按鍵信息,通過RS232接口進(jìn)行液晶屏的控制和工作狀況監(jiān)測,進(jìn)行顯示屏亮度調(diào)節(jié)以及狀態(tài)切換。
圖2 軟件執(zhí)行過程
接口軟件主要完成對ARINC 407、ARINC429、串口數(shù)據(jù)、按鍵的識別處理四大功能。設(shè)計(jì)時(shí)采用模塊化的設(shè)計(jì)方法,便于程序管理和維護(hù)升級,模塊主要分六個(gè)模塊:初始化模塊、自檢測模塊、定時(shí)按鍵識別模塊、數(shù)據(jù)采集處理模塊、按鍵處理模塊、液晶屏控制模塊。
初始化模塊:主要用來設(shè)置產(chǎn)品運(yùn)行所需的硬件及軟件環(huán)境,完成CPU端口配置、看門狗、系統(tǒng)時(shí)鐘、定時(shí)器、串口等的初始化。
自檢測模塊:主要用來實(shí)現(xiàn)產(chǎn)品的開機(jī)自檢和周期自檢。
定時(shí)按鍵識別模塊:通過定時(shí)器的使用實(shí)現(xiàn)對按鍵的周期掃描處理,識別按鍵位置。
數(shù)據(jù)采集處理:循環(huán)對ARINC 407、ARINC429、串口數(shù)據(jù)進(jìn)行采集處理,轉(zhuǎn)換為內(nèi)部的數(shù)據(jù)格式發(fā)送給雙口RAM。
按鍵處理模塊:處理識別的按鍵,根據(jù)按鍵來決定控制功能。
液晶屏控制模塊:通過與處理器進(jìn)行串行通信,實(shí)現(xiàn)液晶的加熱、亮度調(diào)整控制等。
本系統(tǒng)針對機(jī)載設(shè)備接口板尺寸小的特點(diǎn),介紹了基于單片機(jī)和CPLD的接口設(shè)計(jì),可以方便快捷地接收、讀取多種數(shù)據(jù)信息,使用CPLD不僅大大節(jié)省了硬件資源和PCB的空間,而且也大幅度節(jié)約了整體成本,同時(shí)系統(tǒng)的升級和擴(kuò)展也變得非常容易,并解決了板卡的小尺寸給設(shè)計(jì)帶來的困難。由于使用VHDL 語言進(jìn)行設(shè)計(jì),對不同接口可以更改其片內(nèi)邏輯,具有良好的移植性。本文所述接口電路在工程實(shí)際中已經(jīng)得到應(yīng)用,證明本設(shè)計(jì)合理、通信可靠,具有一定的實(shí)用意義。
[1]潘琢金,施國君.C8051FXXX高速SOC單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.
[2]MAX 7000A Programmable Logic Device.
[3]HI8282 AR INC429 Serial Transmitter and Dual Receiver.