楊帆,史波峰(陜西法士特汽車傳動(dòng)工程研究院,陜西 西安 710119)
?
關(guān)于State flow中Moore型和Mealy型的研究
楊帆,史波峰
(陜西法士特汽車傳動(dòng)工程研究院,陜西 西安 710119)
文章主要從實(shí)際開發(fā)設(shè)計(jì)中遇到的問題,尤其是針對(duì)不同類型模型(Mealy型和Moore型)的時(shí)序問題進(jìn)行說明、仿真和分析,使得在未來工作中能夠更快的提高建模效率和可用性。并以RS觸發(fā)器為例來說明Mealy型和Moore型的不同,以便對(duì)日后的Simulink建模提供參考和幫助。
Simulink;Stateflow;Moore型;Mealy型;建模;時(shí)序
10.16638/j.cnki.1671-7988.2016.08.042
CLC NO.: U462Document Code: AArticle ID: 1671-7988(2016)08-130-02
近年,信息設(shè)備、汽車等業(yè)界伴隨著多功能化和高性能化的發(fā)展,尤其在開發(fā)階段,更多的會(huì)使用狀態(tài)漂移來實(shí)現(xiàn)。狀態(tài)漂移被廣泛使用的原因有如下兩點(diǎn):一是狀態(tài)漂移已被納入標(biāo)準(zhǔn)的UML圖表符號(hào)。二是狀態(tài)漂移不僅容易學(xué)習(xí),并解決復(fù)雜的系統(tǒng)問題。
但是,隨著模型數(shù)量增多,狀態(tài)機(jī)的時(shí)序問題也越來越凸顯。為了解決這個(gè)問題,本文以SR觸發(fā)器為例來分析他們的不同,并在以后的工作中,根據(jù)每個(gè)邏輯的特點(diǎn),選擇適合的類型。
我們以RS觸發(fā)器為例來說明Mealy型和Moore型的不同。RS觸發(fā)器的表達(dá)式和真值表如下所示:
表達(dá)式:
Q=(!R)&&(S||Q);
真值表:
表1
對(duì)于Mealy型的描述方法,是同時(shí)表示條件和動(dòng)作。
(1,0)/1 表示當(dāng)輸入值是(1,0)輸出值為1。Mealy型的狀態(tài)Q1為輸出值為0的狀態(tài),Q2為輸出值變?yōu)?時(shí)飄逸的狀態(tài)。通過上圖可以看出,動(dòng)作在漂移的過程當(dāng)中發(fā)生的。
對(duì)于Moore型來說,如下所示。
狀態(tài)本身就包含輸出值,Q1為輸出值為0的狀態(tài)。Q2是輸出值為1的狀態(tài)。狀態(tài)定義好之后,只需添加漂移的條件就可以完成狀態(tài)漂移圖。通過上圖可以看出,動(dòng)作是在狀態(tài)當(dāng)中設(shè)定的。
下面針對(duì)我們主要關(guān)注的Mealy型和Moore型漂移動(dòng)作的時(shí)序,分析他們的不同,并通過實(shí)際建立它們的Simulink模型來驗(yàn)證。
對(duì)于Mealy型來說,當(dāng)S、R的輸入值變?yōu)?的瞬間,輸出值根據(jù)漂移的動(dòng)作而變化。
對(duì)于Moore型來說,相比Mealy型,需要1個(gè)單位的sampling延遲之后再輸出漂移動(dòng)作。也就是說,把Mealy型的時(shí)間延遲1個(gè)時(shí)間單位,那么輸出結(jié)果就和Moore型一樣了。
下面根據(jù) SR觸發(fā)器的表達(dá)式,分別建立 Mealy型和Moore型SR觸發(fā)器的Simulink模型并仿真:
如下:
表格顯示了sampling時(shí)間一定時(shí)動(dòng)作的結(jié)果。
通過之前 Mealy型和 Moore型的區(qū)別簡圖可以得知,Mealy型是漂移來觸發(fā)或?qū)崿F(xiàn)動(dòng)作,而Moore型是通過狀態(tài)來觸發(fā)或者實(shí)現(xiàn)動(dòng)作。但是除此之外,我們還要考慮到狀態(tài)漂移是以什么為對(duì)象,并且要表現(xiàn)哪個(gè)部分,那些結(jié)果和狀態(tài)應(yīng)該怎么樣定義,這是進(jìn)一步理解他們不同之處的要點(diǎn)。
如果在建立模型時(shí),忽略延時(shí)問題,那么 Mealy型和Moore型在數(shù)學(xué)表達(dá)式上是等價(jià)的。但是由于這個(gè)延時(shí)的存在,對(duì)于兩者的狀態(tài)漂移的思考方法也應(yīng)當(dāng)不同,這也是最重要的點(diǎn)。
下圖是不同類型的RS觸發(fā)器的Simulink模型,以及實(shí)際的仿真結(jié)果。
仿真結(jié)果如下:
從以上兩幅圖中可以清楚的看到,Mealy型和Moore型的時(shí)序差異,這是實(shí)際控制中經(jīng)常會(huì)遇到的問題。下面具體分析一下Mealy型和Moore型產(chǎn)生差異的原因。
對(duì)于Moore型來說,我們把它的動(dòng)作從軟件和硬件中分離出來。
在軟件部分,當(dāng)出現(xiàn)特定的輸入值時(shí),作為指令,應(yīng)該輸出向1移動(dòng)的信號(hào)。當(dāng)接收到這個(gè)信號(hào),經(jīng)過特定的時(shí)間,硬件開始動(dòng)作。也就是說,在軟件部分,Mealy型和Moore型是在相同的時(shí)間輸出指令的。
另外,作為嵌入式軟件使用狀態(tài)漂移的時(shí)候,軟件部分和機(jī)械部分要作為系統(tǒng)的全體考慮時(shí),需要在設(shè)計(jì)階段把軟件部分的分離出來設(shè)計(jì)狀態(tài)漂移圖。
以上說明了Mealy型和Moore型時(shí)序的不同之處,并從根源上分析了產(chǎn)生這些不同之處的根本原因。
希望能在以后的設(shè)計(jì)中給大家提供參考和幫助。
[1]基于模型的設(shè)計(jì)及其嵌入式實(shí)現(xiàn).北京航空航天大學(xué)出版社,2010.
Research on Moore type and Mealy type in State flow
Yang Fan,Shi Bofeng
(Shaanxi Fast Automobile Transmission Engineering Research Institute,Shaanxi Xi'an 710119)
This article mainly from the practical development and design encountered problems,especially according to timing problem of different types of Mealy and Moore model of description,simulation and analysis,which can faster to improve modeling efficiency and availability in the future work.And take the RS trigger as an example to illustrate the different types of Mealy and Moore,in order to provide reference and help for simulink modeling in future.
Simulink; stateflow; Moore Type; Mealy Type; Modeling; timing sequence
U462
A
1671-7988(2016)08-130-02
楊帆(1983-),男,工程師,就職于陜西法士特汽車傳動(dòng)工程研究院。主要從事硬件載環(huán)測試及軟件開發(fā)。