基于有限狀態(tài)機的飛行器自毀系統時(shí)序控制設計
2 有限狀態(tài)機模型及選擇
2.1 有限狀態(tài)機模型
有限狀態(tài)機(Finite State Machine,FSM)可以用下面包含5種元素的集合來(lái)表示{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)轉移函數,表示由輸入信號變量X和當前狀態(tài)S決定下一個(gè)狀態(tài),即:XY;→S;g為輸出函數,表示由輸入信號變量X和狀態(tài)S決定狀態(tài)機的輸出變量Y,即:XS→Y。從上面定義可以看出,有限狀態(tài)機包含5類(lèi)基本要素:即狀態(tài)、輸入、輸出、轉移函數及輸出函數。它們分別用矢量函數表示如下:本文引用地址:http://dyxdggzs.com/article/163781.htm
不用的分類(lèi)規則,狀態(tài)機分類(lèi)也不同。在實(shí)際的應用中,根據有限狀態(tài)機是否使用輸入信號,設計人員經(jīng)常將其劃分為Moore有限狀態(tài)機和Mealy型有限狀態(tài)機兩種類(lèi)型。Moore型狀態(tài)機的輸出只與當前的狀態(tài)有關(guān)而與輸入無(wú)關(guān),而Mealy型狀態(tài)機的輸出不僅與當前狀態(tài)有關(guān),還與當前的輸入有關(guān),它們共同決定Mealy狀態(tài)機的輸出。圖2和圖3分別表示了Moore,Mealy狀態(tài)機的結構圖。
有限狀態(tài)機還有很多分類(lèi)方法,比如根據復位信號的不同可以分為同步復位狀態(tài)機和異步復位狀態(tài)機。根據輸出是否寄存分為直接輸出、寄存輸出、根據狀態(tài)編碼輸出等類(lèi)型。
對于Moore型有限狀態(tài)機,輸出信號將在時(shí)鐘信號的觸發(fā)沿到的幾個(gè)門(mén)時(shí)延后得到輸出值,同時(shí)在該時(shí)鐘周期的剩余時(shí)間內保持不變,即使輸入信號在該時(shí)鐘周期內發(fā)生變化,輸出信號的值也不會(huì )改變。由于Moore型有限狀態(tài)機的輸出與當前的輸入部分無(wú)關(guān),因此當前輸入產(chǎn)生的任何效果將會(huì )延遲到下一個(gè)時(shí)鐘周期??梢?jiàn),Moore型狀態(tài)機的最大優(yōu)點(diǎn)就是可以將輸入部分與輸出部分隔離開(kāi)。
對于Mealy型有限狀態(tài)機,由于它的輸出是輸入信號的函數,因此如果輸入信號發(fā)生變化,則輸出可以在1個(gè)時(shí)鐘周期的中間發(fā)生改變。與Moore型有限狀態(tài)機相比,它對輸入信號的變化相應要早1個(gè)時(shí)鐘周期。但它也會(huì )將輸入端口的噪聲傳遞給輸出信號。
綜合以上幾點(diǎn)的考慮,該設計采用Moore型有限狀態(tài)機實(shí)現飛行器自毀系統的時(shí)序控制。
2.2 毛刺和信號時(shí)延處理
Moore型有限狀態(tài)由于有組合邏輯進(jìn)程的存在,狀態(tài)機輸出信號會(huì )出現毛刺(競爭冒險現象);另一方面,如果狀態(tài)信號是多位值的,則在電路中對應了多條信號線(xiàn)。由于存在傳輸延遲,各信號線(xiàn)上的值發(fā)生改變的時(shí)間則存在先后,從而使得狀態(tài)遷移時(shí)在初始狀態(tài)和目的狀態(tài)之間出現臨時(shí)狀態(tài),因此出現毛刺。
參考各方面文獻,現在消除輸出信號的“毛刺”一般可采用3種方案:一是調整狀態(tài)編碼,使相鄰狀態(tài)間只有1位信號改變,從而消除競爭冒險的發(fā)生條件,避免了毛刺的產(chǎn)生。這種方案適用于順序遷移的狀態(tài)機;二是在有限狀態(tài)機的基礎上采用時(shí)鐘同步信號,即把時(shí)鐘信號引入組合進(jìn)程。狀態(tài)機每一個(gè)輸出信號都經(jīng)過(guò)附加的輸出寄存器,并由時(shí)鐘信號同步,因而保證了輸出信號沒(méi)有毛刺。這種方法存在一些弊端;由于增加了輸出寄存器,硬件開(kāi)銷(xiāo)增大,這對于一些寄存器資源較少的芯片是不利的;從狀態(tài)機的狀態(tài)位到達輸出需要經(jīng)過(guò)兩級組合邏輯,這就限制了系統時(shí)鐘的最高工作頻率;由于時(shí)鐘信號將輸出加載到附加的寄存器上,所以在輸出端得到信號值的時(shí)間比狀態(tài)的變化延時(shí)1個(gè)時(shí)鐘周期;三是直接把狀態(tài)機的狀態(tài)碼作為輸出信號,即采用狀態(tài)碼直接輸出型狀態(tài)機,使狀態(tài)和輸出信號一致,使得輸出譯碼電路被優(yōu)化掉了,因此不會(huì )出現競爭冒險。這種方案,占用芯片資源少,信號與狀態(tài)變化同步,因此速度快。
評論