基于有限狀態(tài)機(jī)的飛行器自毀系統(tǒng)時序控制設(shè)計
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ù)表示如下:本文引用地址:http://www.bjwjmy.cn/article/163781.htm
不用的分類規(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ā)沿到的幾個門時延后得到輸出值,同時在該時鐘周期的剩余時間內(nèi)保持不變,即使輸入信號在該時鐘周期內(nèi)發(fā)生變化,輸出信號的值也不會改變。由于Moore型有限狀態(tài)機(jī)的輸出與當(dāng)前的輸入部分無關(guān),因此當(dāng)前輸入產(chǎn)生的任何效果將會延遲到下一個時鐘周期??梢姡琈oore型狀態(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)變化同步,因此速度快。
評論