時間:2008-07-11 09:57:00來源:ronggang
圖3 出現(xiàn)失步的狀態(tài)機(jī)[/align]
由圖3可以看出,狀態(tài)1根據(jù)傳感器a信號躍遷到狀態(tài)2,狀態(tài)2根據(jù)傳感器b信號躍遷到狀態(tài)3。如果b信號在a信號前發(fā)出了一個完整的脈沖,由于根據(jù)狀態(tài)圖在狀態(tài)1時并不需要檢測b信號,因此當(dāng)躍遷到狀態(tài)2以后,狀態(tài)機(jī)就出現(xiàn)失步了。解決這個問題需要預(yù)先分析好a,b信號的關(guān)系。如果是b信號一定出現(xiàn)在a信號前,那不妨把狀態(tài)1和2的條件判斷對調(diào),如果兩個信號是并發(fā)關(guān)系的,那就要合并狀態(tài)機(jī)1,2,把a(bǔ),b信號作為躍遷到3的綜合條件。因此解決失步問題的要點在于仔細(xì)考察受控對象處于此狀態(tài)時所可能出現(xiàn)的傳感器信號變化及其變化關(guān)系。
在處理“輸入-輸出對”時要注意防止?fàn)顟B(tài)機(jī)跳步。“輸入-輸出對”是嵌入式領(lǐng)域中經(jīng)常遇到的控制模式,類似于應(yīng)答機(jī)制。控制層給出一個輸出,使得傳感器信號產(chǎn)生變化并反饋,過一段時間后,控制對象運(yùn)動完成,傳感器信號恢復(fù)初態(tài),此時控制層可以撤消原輸出并給出相關(guān)處理。設(shè)計者會有意無意的把注意力放在“什么時候撤消輸出”,因此設(shè)計出如圖4(a)所示的有潛在問題的狀態(tài)機(jī)。
[align=center]
圖4 出現(xiàn)跳步的狀態(tài)圖[/align]
可是控制對象在收到控制層輸出的驅(qū)動產(chǎn)生運(yùn)動,傳感器感知運(yùn)動并給出信號變化是需要時間的。根據(jù)圖4(a)的狀態(tài)機(jī),很可能跳過傳感器信號變化的狀態(tài),而直接到達(dá)“撤消輸出”的狀態(tài)。結(jié)果導(dǎo)致控制層的輸出僅僅是一瞬而過甚至是無法輸出,這就是跳步。為解決跳步問題,就需要設(shè)計者仔細(xì)分析所有的“輸入-輸出對”,把狀態(tài)細(xì)分。如圖4(b)所示,增加一個等待對象運(yùn)動的新狀態(tài),確保上一狀態(tài)的輸出驅(qū)使對象真正運(yùn)動以后才判斷對象運(yùn)動停止。然而在細(xì)分狀態(tài)的同時也要注意防止失步。狀態(tài)分得越細(xì),越要注意分析此狀態(tài)中所有可能出現(xiàn)的信號變化。
4.狀態(tài)機(jī)在工控軟件中的狀態(tài)劃分問題
把一個狀態(tài)機(jī)看作是一個動作模塊,并把這些模塊串聯(lián)起來,就可以實現(xiàn)這幾個動作的并發(fā)輸出。如果是基于操作系統(tǒng)的,狀態(tài)機(jī)還可以放在不同的任務(wù)中,也可以實現(xiàn)并發(fā)輸出。每個狀態(tài)機(jī)設(shè)定一個空閑狀態(tài),當(dāng)不需要其運(yùn)轉(zhuǎn)時讓其進(jìn)入該狀態(tài)。同一個控制環(huán)的狀態(tài)機(jī)之間的通信可以用標(biāo)志位或者狀態(tài)變量,不同任務(wù)的狀態(tài)機(jī)可以通過一個全局的結(jié)構(gòu)體交互信息,實現(xiàn)同步。
狀態(tài)機(jī)的調(diào)度并不困難,關(guān)鍵在于如何根據(jù)受控對象的運(yùn)動規(guī)律來劃分狀態(tài)機(jī)動作模塊。在實際應(yīng)用中,“周期性”是解決問題的關(guān)鍵。從復(fù)雜的運(yùn)動時序中歸納出帶有“往復(fù)運(yùn)動”性質(zhì)的輸出,連同與其同步的其他輸入輸出歸入一個狀態(tài)機(jī)中。這樣每個具有“往復(fù)運(yùn)動”性質(zhì)的運(yùn)動模態(tài)都建立一個狀態(tài)機(jī)。同時,可以運(yùn)用上文介紹的方法實現(xiàn)這幾個運(yùn)動模態(tài)的并發(fā)和同步控制。
下面通過某型進(jìn)油系統(tǒng)來說明如何劃分狀態(tài)機(jī)。某型進(jìn)油系統(tǒng)分左右兩路。每路由一油鏈,擺臂,撥動滑板組成。油鏈上裝載多個裝油模塊。擺臂把模塊提升到滑板,并由滑板推進(jìn)到燃燒艙中,然后油鏈步進(jìn)一次。全過程雙路交替供油。供油分為低速供油和高速供油。時序如下圖,黑色橫線代表動作持續(xù)時間。
[align=center]
圖5供油系統(tǒng)低速供油時序圖[/align]
[align=center]
圖6 供油系統(tǒng)高速供油時序圖[/align]
先分析低速供油的情況。可以看出油槽下降-油門關(guān)-油槽上升-油門開-滑板(左或右)這幾個動作是交替出現(xiàn),在滑板動作完成以后,油槽又開始新一輪的動作。由于這種周期性,可以把這幾個動作歸入狀態(tài)機(jī)A中。而油鏈動作是由滑板動作觸發(fā)的,當(dāng)滑板運(yùn)動到一定位置時候油鏈會啟動,油鏈的運(yùn)動會持續(xù)到下一次同側(cè)運(yùn)動開始后。如果把油鏈運(yùn)動也歸入狀態(tài)機(jī)A中,就打破了A的周期性,從而增加了A的狀態(tài)確定復(fù)雜化。另外從運(yùn)動的本質(zhì)上來說,油鏈運(yùn)動被狀態(tài)機(jī)A中的滑板運(yùn)動所激發(fā),因而把油鏈運(yùn)動定義在另一個狀態(tài)機(jī)B更為合理。B是在A運(yùn)動到某個狀態(tài)時所觸發(fā)的,觸發(fā)后,B和A就是并發(fā)運(yùn)行的狀態(tài)機(jī)。
高速供油與低速時序的區(qū)別在于在左路狀態(tài)機(jī)A的周期沒有完成的情況下,右路的狀態(tài)機(jī)A已經(jīng)開始了。但是盡管如此,對于單路而言,油槽下降-油門關(guān)-油槽上升-油門開-滑板(左或右)仍然呈現(xiàn)周期性。所以應(yīng)該為左右兩路各建立一個狀態(tài)機(jī)A,也就是A1和A2。A1和A2的狀態(tài)機(jī)代碼是一樣的,當(dāng)判斷油槽重新上升后馬上觸發(fā)相對一側(cè)的狀態(tài)機(jī)。同理對于油鏈運(yùn)動,也應(yīng)該建立B1和B2狀態(tài)機(jī)。在多任務(wù)系統(tǒng)中,左右兩路可以分別建立一個任務(wù)。把Ax和Bx歸入其中一個任務(wù)中。
綜上所述,根據(jù)周期劃分受控對象的運(yùn)動,并建立相應(yīng)的狀態(tài)機(jī),就可以描述各種復(fù)雜并行的時序輸出。
5.結(jié)論
本文結(jié)合嵌入式工控軟件設(shè)計的工程實踐,分析了狀態(tài)機(jī)思想在軟件設(shè)計中的應(yīng)用。給出了狀態(tài)機(jī)在嵌入式軟件中前后臺信息交互的通用模型;分析了高速狀態(tài)機(jī)容易出現(xiàn)的錯步問題;最后結(jié)合某型供油系統(tǒng),給出了劃分狀態(tài)機(jī)的周期性準(zhǔn)則,該準(zhǔn)則對于分析受控對象運(yùn)動具有一定的參考價值。
參考文獻(xiàn)
[1].周懷得,肖傳,偉郝志航.基于DSP和CPLD的智能相機(jī)系統(tǒng)設(shè)計與研制[ J ].微計算機(jī)信息,2006,Vol.22,No.17
[2].王劍,趙海燕. 基于CPLD的控制器冗余設(shè)計[ J ].微計算機(jī)信息.2005 Vol.12, No.23
[3].James R. Armstrong F. Gail Gray: VHDL Design Representation and Synthesis. China Machine Press.
[4].趙世霞,楊豐,劉揭生.VHDL與微機(jī)接口設(shè)計。 北京,清華大學(xué)出版社,2004。
[5].王誠,薛小剛,鐘信潮.Xilinx ISE 使用詳解。北京:人民郵電出版社,2004。
[6].楊慶. 有限狀態(tài)機(jī)的設(shè)計與優(yōu)化.湖北民族學(xué)院學(xué)報(自然科學(xué)版),Vol.24,No.1,Mar 2006.
[7].鄔楊波,王曙光,胡建平.有限狀態(tài)機(jī)的VHDL設(shè)計與優(yōu)化.信息技術(shù).VOL.28,NO.1,Jan.2004.
[8].李霞,王永章,梁宏斌,鐘力. 有限狀態(tài)機(jī)在開放式數(shù)控系統(tǒng)中的應(yīng)用[J]. 計算機(jī)集成制造系統(tǒng),2005,03:429-432.
[9].Alain Girault,Bilung Lee,and Edward A.Lee,”Hierarchical Finite State Machines with Multiple Concurrency Models”,IEEE Trans.Computer-Aided Design Of Integrated Circuits And Systems,Vol 18,No.6,pp. 742-760,June,1999.
標(biāo)簽:
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(www.cdcst56.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
2025-08-06
2025-07-08
顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16