隨著航空工業(yè)和計(jì)算機(jī)工業(yè)的飛速發(fā)展,傳統(tǒng)的機(jī)械式儀表已經(jīng)逐漸被數(shù)字顯示儀表所替代,,嵌入式系統(tǒng)越來越多地應(yīng)用于航空儀表之中,。航空發(fā)動(dòng)機(jī)是飛機(jī)上最重要的部件之一,需要測量的數(shù)據(jù)較多,,而其各項(xiàng)參數(shù)對于駕駛員來說都是非常重要的信息,,并且對信號采集的精度和實(shí)時(shí)性要求非常高。
發(fā)動(dòng)機(jī)參數(shù)采集顯示系統(tǒng)是航空電子系統(tǒng)的重要組成部分,,也是座艙顯示系統(tǒng)的一部分,,它在飛行過程中顯示發(fā)動(dòng)機(jī)的狀態(tài)給飛行員,使飛行員能夠?qū)崟r(shí)了解到發(fā)動(dòng)機(jī)的工作情況,。發(fā)動(dòng)機(jī)參數(shù)采集顯示系統(tǒng)由發(fā)動(dòng)機(jī)參數(shù)采集器和發(fā)動(dòng)機(jī)參數(shù)顯示器2部分組成,。發(fā)動(dòng)機(jī)參數(shù)采集器的主要功能是對發(fā)動(dòng)機(jī)主要傳感器輸出的信號進(jìn)行調(diào)理、采集和處理并輸出給顯示設(shè)備進(jìn)行顯示,。隨著航空發(fā)動(dòng)機(jī)及其附屬系統(tǒng)越來越復(fù)雜,,需要測量的參數(shù)以及需要進(jìn)行數(shù)據(jù)交聯(lián)的設(shè)備越來越多。這就要求發(fā)動(dòng)機(jī)參數(shù)采集器具有實(shí)時(shí)性,、可靠性,、嵌入性等特點(diǎn)。同時(shí)還要考慮到低成本的設(shè)計(jì)原則和實(shí)際工程應(yīng)用中低功耗的特點(diǎn),。這些條件在系統(tǒng)設(shè)計(jì)時(shí)都需要綜合考慮以達(dá)到最優(yōu)化的性能設(shè)計(jì),。
隨著集成電路技術(shù)的高速發(fā)展,可編程專業(yè)集成電路的集成度越來越高,,功能越來越強(qiáng)大,,用可編程邏輯器件進(jìn)行的集成設(shè)計(jì)已經(jīng)逐步取代了基于標(biāo)準(zhǔn)邏輯器件的設(shè)計(jì),成為專用集成電路(ASIC)設(shè)計(jì)的一個(gè)重要分支,。更重要的是,,利用新的Top-Down設(shè)計(jì)方法,,使得系統(tǒng)的設(shè)計(jì)從一開始就能夠在系統(tǒng)級的行為描述上得到驗(yàn)證,有效避免了系統(tǒng)設(shè)計(jì)上的錯(cuò)誤,,減少了設(shè)計(jì)過程的反復(fù),。因此,在嵌入式系統(tǒng)設(shè)計(jì)中使用可編程邏輯器件,,是實(shí)現(xiàn)產(chǎn)品小型化,、集成化、高可靠性,、低成本和低功耗等的有效途徑,。
1 航空發(fā)動(dòng)機(jī)參數(shù)采集器系統(tǒng)概述
航空發(fā)動(dòng)機(jī)參數(shù)采集器的主要任務(wù)是采集發(fā)動(dòng)機(jī)以及滑油系統(tǒng)、燃油系統(tǒng),、旋翼和主減速器的各項(xiàng)參數(shù),進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)打包后,,通過串行通訊鏈路發(fā)送給顯示系統(tǒng)以及其他設(shè)備進(jìn)行顯示或使用;并且當(dāng)出現(xiàn)告警時(shí),,將告警信號發(fā)送給告警系統(tǒng);此外還輸出傳感器激勵(lì)電源為傳感器供電,。需要采集的參數(shù)較多,主要類型有:模擬量,、開關(guān)量以及頻率量。根據(jù)發(fā)動(dòng)機(jī)參數(shù)采集器系統(tǒng)的信號處理及數(shù)據(jù)通訊任務(wù)的特點(diǎn),,我們采用了美國德州儀器公司(以下簡稱美國TI公司)的TMS320C31浮點(diǎn)型數(shù)字信號處理器作為發(fā)動(dòng)機(jī)參數(shù)采集器的控制核心,。TMS320C31是TI公司的浮點(diǎn)型數(shù)字信號處理器,它是一種高性能32位微處理器,,其內(nèi)部總線采用了哈佛結(jié)構(gòu),,即程序和數(shù)據(jù)采用2個(gè)獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址和取址,,故取址和編址能完全重疊運(yùn)行;并采用流水線作業(yè)方式,,1個(gè)時(shí)鐘周期可執(zhí)行1條指令;片內(nèi)具有專用硬件乘法器,,片上集成有40位浮點(diǎn)運(yùn)算和其它功能,具有支持邊界掃描測試功能等,。TMS320C31處理器的中斷資源包括4種外部中斷:串口發(fā)送、接收中斷,,2個(gè)定時(shí)器中斷及DMA中斷,這些均為電平觸發(fā)中斷并且都可通過軟件設(shè)置來完成,。此外,,TMS320C311個(gè)仿真器接口、2個(gè)互鎖信號:XF0,、XF1以及其它的保持、復(fù)位等信號,。TMS320C31上述功能和特點(diǎn),使得復(fù)雜的控制和算法完全可以在規(guī)定時(shí)間內(nèi)完成,,而且滿足精度要求。
2 CPLD和16C554在航空發(fā)動(dòng)機(jī)參數(shù)采集器中的應(yīng)用
2.1 復(fù)雜可編程邏輯器件(CPLD)
可編程邏輯器件通??煞譃?大類:通用陣列邏輯(generic array logic),、現(xiàn)場可編程門陣列(fieldprogrammable gate array)和復(fù)雜可編程邏輯器件(complex programmable logic device)。CPLD主要是由可編程邏輯宏單元圍繞中心的可編程互連矩陣單元組成,。發(fā)動(dòng)機(jī)參數(shù)采集器系統(tǒng)選用了Xilinx公司的CPLD(XC95144),。按照邏輯關(guān)系,編寫出邏輯控制方程,,XC95144的程序通過JTAG接口的在線動(dòng)態(tài)可編程專用電纜下載后,即可實(shí)現(xiàn)邏輯控制,。
2.2 CPLD的接口電路
利用復(fù)雜可編程器件CPLD設(shè)計(jì)DSP擴(kuò)展外設(shè)電路的譯碼電路,可以使設(shè)計(jì)者在系統(tǒng)內(nèi)進(jìn)行編程,,布局,、布線都很方便,。芯片不必脫離線路板就可以更新設(shè)計(jì)并下載邏輯電路程序,,真正實(shí)現(xiàn)了硬件軟件化,,從而使開發(fā)周期大大縮短,使設(shè)計(jì)風(fēng)險(xiǎn)大大縮小,,CPLD的接口電路框圖如圖1所示。
本文最終實(shí)現(xiàn)的發(fā)動(dòng)機(jī)參數(shù)采集器系統(tǒng)是在原有DSP組成的高速信號處理的基礎(chǔ)上,外加了CPLD芯片構(gòu)成,。接口器件A/D,、16C554和DSP的連接完全是通過CPLD實(shí)現(xiàn)的。由于使用了CPLD,,在PCB設(shè)計(jì)階段可根據(jù)需要調(diào)整引腳位置,走線距離縮短,,使線路的抗電磁干擾能力增強(qiáng),有效地減少了PCB設(shè)計(jì)的工作難度和系統(tǒng)的開發(fā)周期,。
數(shù)據(jù)線、地址線等時(shí)序信號按照規(guī)定的邏輯關(guān)系工作,。由于CPLD內(nèi)部采用固定長度的金屬線進(jìn)行各邏輯塊的互連,,所以設(shè)計(jì)的邏輯電路具有時(shí)間的可測性。本文設(shè)計(jì)所選用的CPLD是Xilinx公司的XC95144芯片,,它有144個(gè)宏單元,,3200個(gè)可用邏輯門,,100個(gè)輸入輸出引腳(81個(gè)可用I/O引腳),。這一基于EEPROM的器件能夠提供組合和傳輸延遲在15 ns以內(nèi),,它的輸入寄存器建立時(shí)間非常短,而且能夠提供多個(gè)系統(tǒng)時(shí)鐘,,具有可編程的速度/功率控制。通過對系統(tǒng)所需的邏輯控制信號數(shù)目的分析,,調(diào)試硬件時(shí)更改邏輯控制信號,。按照邏輯關(guān)系,,編寫出邏輯控制方程,,通過JTAG接口的在線動(dòng)態(tài)可編程用專用電纜下載后,,即可實(shí)現(xiàn)邏輯控制,。
2.3 16C554在串口擴(kuò)展中的應(yīng)用
本文所設(shè)計(jì)的發(fā)動(dòng)機(jī)參數(shù)采集器系統(tǒng)需要多個(gè)串行口與外界進(jìn)行數(shù)據(jù)通信,而TI公司的TMS320C31數(shù)字信號處理器設(shè)計(jì)串口的方法一般是利用通用的I/O口線來構(gòu)成串口,,并由軟件來設(shè)定波特率,。這在DSP使用率較低的情況下比較有用;但是當(dāng)通信實(shí)時(shí)性要求較高時(shí),,就應(yīng)該通過擴(kuò)展異步通信芯片來實(shí)現(xiàn)高速串行通信,。
對于并口的設(shè)計(jì)方法,因?yàn)镈SP輸入/輸出資源有限,,因此,只能利用擴(kuò)展異步通信芯片或者總線接口來擴(kuò)展打印口,。EXAR公司的異步通信芯片ST16C554正是可以同時(shí)實(shí)現(xiàn)擴(kuò)展串行口和并行口通信的理想芯片,。該芯片內(nèi)含4個(gè)16C550異步通信單元,每個(gè)單元獨(dú)立控制發(fā)送與接收,,且具有16字節(jié)FIFO以減少中斷請求次數(shù),波特率發(fā)生器可編程,??梢岳脝我坏闹袛嘣磥砉芾矶鄠€(gè)擴(kuò)展串口,,并保證多個(gè)串口中斷的無漏檢測與應(yīng)答,。16C554與DSP的連接如圖2所示,。16C554內(nèi)部共有12個(gè)寄存器,可分別用于對通信參數(shù)的設(shè)置,、對線路狀態(tài)的訪問、數(shù)據(jù)的發(fā)送和接收以及中斷管理等功能,。通過外加電平轉(zhuǎn)換芯片就可以實(shí)現(xiàn)RS232,RS422,,RS485通信(本文所設(shè)計(jì)的發(fā)參系統(tǒng)沒有采用RS485通信),。
2.4 串行口中斷處理說明
DSP TMS320C31不支持邊沿觸發(fā)中斷方式只支持電平觸發(fā)中斷方式,,而串行口ST16C554為邊沿觸發(fā)中斷方式,,因此需用CPLD將上邊沿轉(zhuǎn)化為一個(gè)脈寬合適的低電平窄脈沖,。由于TMS320C31正H1時(shí)鐘的下降沿檢測中斷引腳,,因此,,低電平窄脈沖的脈寬必須大于一個(gè)H1。另一方面,,TMS320C31每兩個(gè)H1時(shí)鐘周期在同一個(gè)中斷引腳檢測一次中斷,,因此為了使DSP能識(shí)別外中斷而且不被重復(fù)檢測以免再次進(jìn)入中斷使系統(tǒng)混亂,,必須使低電平窄脈沖的脈寬τ滿足:1T≤τ≤2 T(T為H1/H3的周期),。
因?yàn)镈SP外部中斷引腳為4個(gè),可用外部中斷只有3個(gè),,而4路串口可以產(chǎn)生4個(gè)中斷源,,因此需通過CPLD處理,,最后產(chǎn)生1路中斷送至DSP,,處理原理為當(dāng)4路中任何一路有中斷請求時(shí)就產(chǎn)生中斷信號,,并將4路中斷的狀態(tài)存入寄存器,,DSP可利用數(shù)據(jù)線訪問寄存器以確定具體是哪路產(chǎn)生的中斷。
串行口中斷處理仿真圖如圖3所示,,功能是把串行口中斷高電平轉(zhuǎn)換為2個(gè)H3寬度的低脈沖,。
3 軟件設(shè)計(jì)
本文使用的CPLD開發(fā)系統(tǒng)是Xilinx公司的ISE 6.x系列,該開發(fā)工具功能強(qiáng)大,,使用方便,。使用美國國防部開發(fā)的超高速集成電路硬件描述語言(VHDL)、Verilog公司開發(fā)的Verilog HDL和電路圖(schematic)中的任意一種設(shè)計(jì)方法均可,。
3.1 CPLD的邏輯實(shí)現(xiàn)
系統(tǒng)通過地址線來對外部接口器件進(jìn)行尋址,,16C554的片選信號是通過CPLD來實(shí)現(xiàn)的,下面給出了VerilogHDL描述語言的程序:
3.2 異步串口通信程序的設(shè)計(jì)
在本系統(tǒng)中,,外部晶振頻率為1.843 2MHz,,通信格式為8位數(shù)據(jù)位,1位停止位,,奇校驗(yàn),工作在中斷方式,,16C554四個(gè)串口通道各自獨(dú)立工作。串口初始化程序以及接收,、發(fā)送中斷讀取程序如下:
4 結(jié)束語
通過16C554擴(kuò)展串口,,其硬件接口電路簡單;復(fù)雜可編程器件CPLD的使用,,將DSP較強(qiáng)的邏輯控制,、數(shù)據(jù)處理能力以高集成度,、高可靠性,、高速度有機(jī)地結(jié)合起來,,從而使設(shè)計(jì)的系統(tǒng)具有較高的性能價(jià)格比,,設(shè)計(jì)成本和風(fēng)險(xiǎn)大大降低,。