楊帆,史波峰(陜西法士特汽車傳動工程研究院,陜西 西安 710119)
?
關于State flow中Moore型和Mealy型的研究
楊帆,史波峰
(陜西法士特汽車傳動工程研究院,陜西 西安 710119)
文章主要從實際開發(fā)設計中遇到的問題,尤其是針對不同類型模型(Mealy型和Moore型)的時序問題進行說明、仿真和分析,使得在未來工作中能夠更快的提高建模效率和可用性。并以RS觸發(fā)器為例來說明Mealy型和Moore型的不同,以便對日后的Simulink建模提供參考和幫助。
Simulink;Stateflow;Moore型;Mealy型;建模;時序
10.16638/j.cnki.1671-7988.2016.08.042
CLC NO.: U462Document Code: AArticle ID: 1671-7988(2016)08-130-02
近年,信息設備、汽車等業(yè)界伴隨著多功能化和高性能化的發(fā)展,尤其在開發(fā)階段,更多的會使用狀態(tài)漂移來實現(xiàn)。狀態(tài)漂移被廣泛使用的原因有如下兩點:一是狀態(tài)漂移已被納入標準的UML圖表符號。二是狀態(tài)漂移不僅容易學習,并解決復雜的系統(tǒng)問題。
但是,隨著模型數(shù)量增多,狀態(tài)機的時序問題也越來越凸顯。為了解決這個問題,本文以SR觸發(fā)器為例來分析他們的不同,并在以后的工作中,根據(jù)每個邏輯的特點,選擇適合的類型。
我們以RS觸發(fā)器為例來說明Mealy型和Moore型的不同。RS觸發(fā)器的表達式和真值表如下所示:
表達式:
Q=(!R)&&(S||Q);
真值表:
表1
對于Mealy型的描述方法,是同時表示條件和動作。
(1,0)/1 表示當輸入值是(1,0)輸出值為1。Mealy型的狀態(tài)Q1為輸出值為0的狀態(tài),Q2為輸出值變?yōu)?時飄逸的狀態(tài)。通過上圖可以看出,動作在漂移的過程當中發(fā)生的。
對于Moore型來說,如下所示。
狀態(tài)本身就包含輸出值,Q1為輸出值為0的狀態(tài)。Q2是輸出值為1的狀態(tài)。狀態(tài)定義好之后,只需添加漂移的條件就可以完成狀態(tài)漂移圖。通過上圖可以看出,動作是在狀態(tài)當中設定的。
下面針對我們主要關注的Mealy型和Moore型漂移動作的時序,分析他們的不同,并通過實際建立它們的Simulink模型來驗證。
對于Mealy型來說,當S、R的輸入值變?yōu)?的瞬間,輸出值根據(jù)漂移的動作而變化。
對于Moore型來說,相比Mealy型,需要1個單位的sampling延遲之后再輸出漂移動作。也就是說,把Mealy型的時間延遲1個時間單位,那么輸出結果就和Moore型一樣了。
下面根據(jù) SR觸發(fā)器的表達式,分別建立 Mealy型和Moore型SR觸發(fā)器的Simulink模型并仿真:
如下:
表格顯示了sampling時間一定時動作的結果。
通過之前 Mealy型和 Moore型的區(qū)別簡圖可以得知,Mealy型是漂移來觸發(fā)或實現(xiàn)動作,而Moore型是通過狀態(tài)來觸發(fā)或者實現(xiàn)動作。但是除此之外,我們還要考慮到狀態(tài)漂移是以什么為對象,并且要表現(xiàn)哪個部分,那些結果和狀態(tài)應該怎么樣定義,這是進一步理解他們不同之處的要點。
如果在建立模型時,忽略延時問題,那么 Mealy型和Moore型在數(shù)學表達式上是等價的。但是由于這個延時的存在,對于兩者的狀態(tài)漂移的思考方法也應當不同,這也是最重要的點。
下圖是不同類型的RS觸發(fā)器的Simulink模型,以及實際的仿真結果。
仿真結果如下:
從以上兩幅圖中可以清楚的看到,Mealy型和Moore型的時序差異,這是實際控制中經常會遇到的問題。下面具體分析一下Mealy型和Moore型產生差異的原因。
對于Moore型來說,我們把它的動作從軟件和硬件中分離出來。
在軟件部分,當出現(xiàn)特定的輸入值時,作為指令,應該輸出向1移動的信號。當接收到這個信號,經過特定的時間,硬件開始動作。也就是說,在軟件部分,Mealy型和Moore型是在相同的時間輸出指令的。
另外,作為嵌入式軟件使用狀態(tài)漂移的時候,軟件部分和機械部分要作為系統(tǒng)的全體考慮時,需要在設計階段把軟件部分的分離出來設計狀態(tài)漂移圖。
以上說明了Mealy型和Moore型時序的不同之處,并從根源上分析了產生這些不同之處的根本原因。
希望能在以后的設計中給大家提供參考和幫助。
[1]基于模型的設計及其嵌入式實現(xiàn).北京航空航天大學出版社,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-),男,工程師,就職于陜西法士特汽車傳動工程研究院。主要從事硬件載環(huán)測試及軟件開發(fā)。