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