摘 要:飛行器自毀系統(tǒng)是飛行器的重要組成部分,它的可靠性和穩(wěn)定性是飛行器可靠工作的基礎(chǔ)。分析飛行器自毀系統(tǒng)工作原理,采用復(fù)雜可編程邏輯器件(CPLD)實現(xiàn)了飛行器自毀系統(tǒng)設(shè)計,結(jié)合CPLD的特點,提出一種基于改進(jìn)型有限狀態(tài)機(jī)" title="有限狀態(tài)機(jī)">有限狀態(tài)機(jī)的飛行器自毀系統(tǒng)時序控制" title="時序控制">時序控制的設(shè)計方法,并在CPLD中予以實現(xiàn)。仿真及實驗表明,基于有限狀態(tài)機(jī)的飛行器自毀系統(tǒng)定時精度達(dá)到納秒級,可以有效地控制自毀信號輸出并消除毛刺現(xiàn)象,很好地滿足系統(tǒng)性能要求。該方法具有結(jié)構(gòu)簡單緊湊、成本低、可靠性高、精度高等優(yōu)點。
關(guān)鍵詞:飛行器;自毀系統(tǒng);有限狀態(tài)機(jī);時序控制
O 引 言
飛行器自毀系統(tǒng)是飛行器的重要組成部分,它具有非常重要的軍事及民用價值。飛行器自毀系統(tǒng)主要是實現(xiàn)飛行器在非正常飛行狀態(tài)" title="飛行狀態(tài)">飛行狀態(tài)時的可靠自毀。飛行器按正常狀態(tài)飛行,如果出現(xiàn)異??梢酝ㄟ^外部的飛行狀態(tài)參數(shù)傳感器及自毀電路控制自身自毀。隨著飛行器研制技術(shù)的不斷發(fā)展,對飛行器自毀系統(tǒng)小型化、模塊化、通用化的要求越來越迫切,CPLD的出現(xiàn)可以滿足這一要求。由于CPLD硬件電路的特點,必須研究適合CPLD硬件架構(gòu)的設(shè)計方法,以達(dá)到系統(tǒng)在運(yùn)行速度與資源消耗上的平衡。有限狀態(tài)機(jī)及其技術(shù)是實用數(shù)字系統(tǒng)設(shè)計中實現(xiàn)高效率高可靠邏輯控制的重要途徑,有限狀態(tài)機(jī)是一種簡單、結(jié)構(gòu)清晰、設(shè)計靈活的方法,它易于建立、理解和維護(hù),特別應(yīng)用在具有大量狀態(tài)轉(zhuǎn)移和復(fù)雜時序控制的系統(tǒng)中,更顯其優(yōu)勢。這里針對自毀系統(tǒng)的特點,提出一種符合CPLD結(jié)構(gòu)、基于有限狀態(tài)機(jī)的設(shè)計方法。
l 自毀系統(tǒng)硬件設(shè)計
硬件設(shè)計采用以高性能CPLD芯片為核心的數(shù)字電路和高性能運(yùn)算放大器及飛行參數(shù)傳感器組為主要元件的模擬電路相結(jié)合的方案。系統(tǒng)主要由系統(tǒng)時鐘、CPLD控制芯片、飛行參數(shù)傳感器組、傳感器組輸出判斷與產(chǎn)生電路、自毀控制邏輯、測試模塊和電源等模塊組成。該設(shè)計使用Altera公司的EPM7064SLC44-10芯片,其內(nèi)部包含有64個宏單元,1 250個可用的系統(tǒng)門,引腳到引腳的邏輯延遲時間為5.0 ns,計數(shù)器工作頻率可達(dá)175.4 MHz。
用CPLD實現(xiàn)上述自毀條件的時序控制邏輯的核心電路及其外圍電路如圖1所示。CPLD芯片為整個系統(tǒng)的核心,它用來實現(xiàn)計時以及整個系統(tǒng)的時序控制。直流電壓變換電路用于將輸入的直流電壓轉(zhuǎn)換成EPM7064S所需的電壓,以及外圍電路所需的工作電壓。系統(tǒng)時鐘電路為計時裝置提供穩(wěn)定的時鐘信號及后續(xù)分頻使用的時鐘基準(zhǔn);電平轉(zhuǎn)換電路將飛行器上輸入信號" title="輸入信號">輸入信號進(jìn)行調(diào)理后轉(zhuǎn)換為芯片可識別的TTL/CMOS電平標(biāo)準(zhǔn);復(fù)位電路在系統(tǒng)上電后給控制芯片提供復(fù)位信號。
飛行參數(shù)傳感器組電路用來實時監(jiān)控飛行器的各項指標(biāo),當(dāng)飛行狀態(tài)出現(xiàn)異常時則由傳感器組產(chǎn)生相應(yīng)模擬值到由高性能運(yùn)算放大器及比較器為主要元件的模擬電路。模擬電路對傳感器的輸入值進(jìn)行處理后送到CPLD時序控制模塊中??煽亻_關(guān)能通過對CPLD編程實現(xiàn)多路轉(zhuǎn)換,從而使被監(jiān)控的飛行參數(shù)傳感器改變,進(jìn)而改變飛行器的自毀條件。通過CPLD進(jìn)行飛行器內(nèi)部時序控制,最后輸出的自毀指令輸入到飛行控制信號模塊中,從而改變飛行器的飛行狀態(tài),使之自毀。
2 有限狀態(tài)機(jī)模型及選擇
2.1 有限狀態(tài)機(jī)模型
有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)可以用下面包含5種元素的集合來表示{X,Y,S,f,g},這里S={S1,S2,…,Sk}是FSM中狀態(tài)的集合;X={X1,X2,…,Xn}是FSM中輸入的集合;Y={Y1,Y2,…,Ym)是FSM中輸出的集合;f為狀態(tài)轉(zhuǎn)移函數(shù),表示由輸入信號變量X和當(dāng)前狀態(tài)S決定下一個狀態(tài),即:XY;→S;g為輸出函數(shù),表示由輸入信號變量X和狀態(tài)S決定狀態(tài)機(jī)的輸出變量Y,即:XS→Y。從上面定義可以看出,有限狀態(tài)機(jī)包含5類基本要素:即狀態(tài)、輸入、輸出、轉(zhuǎn)移函數(shù)及輸出函數(shù)。它們分別用矢量函數(shù)表示如下:
不用的分類規(guī)則,狀態(tài)機(jī)分類也不同。在實際的應(yīng)用中,根據(jù)有限狀態(tài)機(jī)是否使用輸入信號,設(shè)計人員經(jīng)常將其劃分為Moore有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)兩種類型。Moore型狀態(tài)機(jī)的輸出只與當(dāng)前的狀態(tài)有關(guān)而與輸入無關(guān),而Mealy型狀態(tài)機(jī)的輸出不僅與當(dāng)前狀態(tài)有關(guān),還與當(dāng)前的輸入有關(guān),它們共同決定Mealy狀態(tài)機(jī)的輸出。圖2和圖3分別表示了Moore,Mealy狀態(tài)機(jī)的結(jié)構(gòu)圖。
有限狀態(tài)機(jī)還有很多分類方法,比如根據(jù)復(fù)位信號的不同可以分為同步復(fù)位狀態(tài)機(jī)和異步復(fù)位狀態(tài)機(jī)。根據(jù)輸出是否寄存分為直接輸出、寄存輸出、根據(jù)狀態(tài)編碼輸出等類型。
對于Moore型有限狀態(tài)機(jī),輸出信號將在時鐘信號的觸發(fā)沿到的幾個門時延后得到輸出值,同時在該時鐘周期" title="時鐘周期">時鐘周期的剩余時間內(nèi)保持不變,即使輸入信號在該時鐘周期內(nèi)發(fā)生變化,輸出信號的值也不會改變。由于Moore型有限狀態(tài)機(jī)的輸出與當(dāng)前的輸入部分無關(guān),因此當(dāng)前輸入產(chǎn)生的任何效果將會延遲到下一個時鐘周期。可見,Moore型狀態(tài)機(jī)的最大優(yōu)點就是可以將輸入部分與輸出部分隔離開。
對于Mealy型有限狀態(tài)機(jī),由于它的輸出是輸入信號的函數(shù),因此如果輸入信號發(fā)生變化,則輸出可以在1個時鐘周期的中間發(fā)生改變。與Moore型有限狀態(tài)機(jī)相比,它對輸入信號的變化相應(yīng)要早1個時鐘周期。但它也會將輸入端口的噪聲傳遞給輸出信號。
綜合以上幾點的考慮,該設(shè)計采用Moore型有限狀態(tài)機(jī)實現(xiàn)飛行器自毀系統(tǒng)的時序控制。
2.2 毛刺和信號時延處理
Moore型有限狀態(tài)由于有組合邏輯進(jìn)程的存在,狀態(tài)機(jī)輸出信號會出現(xiàn)毛刺(競爭冒險現(xiàn)象);另一方面,如果狀態(tài)信號是多位值的,則在電路中對應(yīng)了多條信號線。由于存在傳輸延遲,各信號線上的值發(fā)生改變的時間則存在先后,從而使得狀態(tài)遷移時在初始狀態(tài)和目的狀態(tài)之間出現(xiàn)臨時狀態(tài),因此出現(xiàn)毛刺。
參考各方面文獻(xiàn),現(xiàn)在消除輸出信號的“毛刺”一般可采用3種方案:一是調(diào)整狀態(tài)編碼,使相鄰狀態(tài)間只有1位信號改變,從而消除競爭冒險的發(fā)生條件,避免了毛刺的產(chǎn)生。這種方案適用于順序遷移的狀態(tài)機(jī);二是在有限狀態(tài)機(jī)的基礎(chǔ)上采用時鐘同步信號,即把時鐘信號引入組合進(jìn)程。狀態(tài)機(jī)每一個輸出信號都經(jīng)過附加的輸出寄存器,并由時鐘信號同步,因而保證了輸出信號沒有毛刺。這種方法存在一些弊端;由于增加了輸出寄存器,硬件開銷增大,這對于一些寄存器資源較少的芯片是不利的;從狀態(tài)機(jī)的狀態(tài)位到達(dá)輸出需要經(jīng)過兩級組合邏輯,這就限制了系統(tǒng)時鐘的最高工作頻率;由于時鐘信號將輸出加載到附加的寄存器上,所以在輸出端得到信號值的時間比狀態(tài)的變化延時1個時鐘周期;三是直接把狀態(tài)機(jī)的狀態(tài)碼作為輸出信號,即采用狀態(tài)碼直接輸出型狀態(tài)機(jī),使?fàn)顟B(tài)和輸出信號一致,使得輸出譯碼電路被優(yōu)化掉了,因此不會出現(xiàn)競爭冒險。這種方案,占用芯片資源少,信號與狀態(tài)變化同步,因此速度快。
因此該設(shè)計采用狀態(tài)作為輸出信號且?guī)в袕?fù)位信號的Moore型有限狀態(tài)機(jī)。其結(jié)構(gòu)框圖如圖4所示。
3 QuartusⅡ環(huán)境下有限狀態(tài)機(jī)的設(shè)計
3.1 系統(tǒng)總體結(jié)構(gòu)
飛行器自毀系統(tǒng)在飛行器起飛后開始工作,并實時監(jiān)控飛行參數(shù)傳感器組及計時模塊產(chǎn)生的控制信號。圖5給出了自毀控制電路的硬件實現(xiàn)方案。在CPLD中實現(xiàn)系統(tǒng)的總體結(jié)構(gòu)如圖5所示。CPLD外圍的高性能運(yùn)算放大器為主要元件的模擬電路以及傳感器組用來產(chǎn)生時序控制信號(c1,c2,c3,c4,c5),并輸入到輸入信號處理模塊。時鐘分頻用來產(chǎn)生各個模塊工作所需的時鐘。計時模塊用來產(chǎn)生飛行總時間(tmax)。時序控制模塊用來產(chǎn)生自毀輸出信號(Output),它是整個系統(tǒng)的控制核心,它的可靠性和穩(wěn)定性是飛行器能否實現(xiàn)可靠自毀的基礎(chǔ)。這里采用狀態(tài)作為輸出信號且?guī)в袕?fù)位信號的Moore型有限狀態(tài)機(jī)設(shè)計時序控制模塊實現(xiàn)飛行器可靠自毀。
3.2 改進(jìn)型有限狀態(tài)機(jī)實現(xiàn)時序控制
飛行器自毀時序控制流程圖如圖6所示。飛行器自毀系統(tǒng)的時序狀態(tài)變化由各個傳感器的輸入及CPLD計時器狀態(tài)決定。飛行參數(shù)傳感器組輸入不同的狀態(tài)指令,時序控制系統(tǒng)就可以在不同的狀態(tài)間變化,其中ST5狀態(tài)是整個自毀系統(tǒng)的控制輸出。根據(jù)圖6可以得到5個狀態(tài)觸發(fā)器的激勵方程:
采用VHDL語言描述這種改進(jìn)的Moore型有限狀態(tài)機(jī)之前,首先要對Moore型有限狀態(tài)機(jī)的狀態(tài)進(jìn)行編碼操作。如表1所示,由于有限狀態(tài)機(jī)的輸出只有Output,為了在綜合時更好地識別這5個不同的狀態(tài),需要添加狀態(tài)位。在表2中添加兩個冗余的狀態(tài)位a,b來區(qū)分STl,ST2,ST3,ST4。
3.3 VHDL編程注意事項
本設(shè)計采用單進(jìn)程描述方式,也可以采用兩進(jìn)程描述。用兩進(jìn)程時最好把轉(zhuǎn)移條件判斷邏輯和輸出邏輯分開,這樣有利于綜合器優(yōu)化代碼,利于用戶添加合適的時序約束,利于布局布線。狀態(tài)機(jī)要有默認(rèn)狀態(tài),這是從狀態(tài)機(jī)的安全性方面考慮的。在狀態(tài)機(jī)的設(shè)計中,一般要包含一個初始狀態(tài),當(dāng)芯片上電復(fù)位時,狀態(tài)機(jī)能夠進(jìn)入到初始狀態(tài)。這需要在狀態(tài)機(jī)設(shè)計中加入復(fù)位信號。
4 電路仿真
在QuartusⅡ環(huán)境下,將VHDL文本程序保存為工程,工程文件經(jīng)編譯后即可進(jìn)行電路仿真。仿真波形如圖7所示,從波形結(jié)果可以看出,復(fù)位信號(reset)有效,使?fàn)顟B(tài)機(jī)恢復(fù)到初始狀態(tài),飛行器起飛(off)有效開始,時序控制系統(tǒng)經(jīng)歷了飛行過程中5個不同的狀態(tài),如圖7中state變量所示。并最終輸出自毀指令(Output),VHDL程序設(shè)計符合要求。整個時序控制可靠,消除了毛刺現(xiàn)象。在QuartusⅡ環(huán)境下,只需要1根下載編程電纜,通過PC機(jī)的并行口連接到目標(biāo)板的JTAG口,將下載信息下載到目標(biāo)器件中。
5 結(jié) 語
仿真及實驗結(jié)果證明,采用上述的有限狀態(tài)機(jī)思想進(jìn)行飛行器自毀系統(tǒng)時序控制設(shè)計,不但可以減小占用CPLD資源,降低成本,方便測試,并且可以有很好的系統(tǒng)性能?;谟邢逘顟B(tài)機(jī)的飛行器自毀系統(tǒng)定時精度達(dá)到納秒級,可以有效可靠地控制自毀信號輸出,有效消除毛刺現(xiàn)象,提高了飛行器自毀系統(tǒng)的穩(wěn)定性、可靠性。