狀態機系統在嵌入式軟體中的地位

2021-06-21 04:33:49 字數 1926 閱讀 9630

一、有限狀態機系統在嵌入式軟體中是個什麼地位? 

嵌入式系統軟體的分類: 

1、按處理器位數分類(嵌入式系統分為4位、8位、16位、32位和64位) 

2、按產品應用型別分類(資訊家電類;移動終端類;網路通訊類;汽車電子類,工業控制類等) 

3、按系統實時性來分類(根據實時性的強弱,嵌入式系統分為硬實時、軟實時系統:硬實時:系統對系統響應時間有嚴格的要求,如果系統響應時間不能滿足,會引起系統崩潰或致命的錯誤;軟實時:系統對系統響應時間有要求,但是如果系統響應時間不能滿足,不會導致系統出現致命的錯誤或崩潰,唉,說實話這裡不是很明白,什麼是致命的錯誤呢?) 

軟體複雜程度來分類(迴圈輪詢系統;有限狀態機系統;前後臺系統;單處理器多工系統;多處理器多工系統)

4、多工時處理器數目分類(單處理器多工系統,多處理器多工系統)

二、為什麼用有限狀態機系統編寫嵌入式軟體。  

有上面可知,軟體軟體複雜程度來分類(迴圈輪詢系統;有限狀態機系統;前後臺系統;單處理器多工系統;多處理器多    任務系統)有這麼多,下面就單就沒種軟體的系統(架構)做說明。  

迴圈輪詢系統:最簡單的軟體結構是迴圈輪詢,程式依次檢查系統的每乙個輸入條件,一旦條件成立就進行相應的處理。

通過上面的迴圈輪詢系統的流程框圖知道,迴圈輪訓系統優點:對於簡單的系統而言,便於程式設計和理解;沒有中斷機制,程式執行良好,不會出現隨機問題。缺點:有限的應用領域(由於不可確定性);對於大量的i/o服務的應用,不容易實現;大的程式不便於除錯。因此合適於慢速和非常快速的簡單系統。

有限狀態機系統(下面還會詳細介紹),其實我覺得有限狀態機系統和前後臺系統通常是同事考慮和綜合設計的,就是有限狀態機系統也會用到前後臺,前後臺系統也會用到有限狀態機(具體聯絡參考下面的狀態機系統的詳細介紹)。  

有限狀態機是實時系統設計中一種重要的,容易建立的,應用比較廣泛的,以描述控制特性為主的建模方法,它可以應用於從系統分析道設計的所有階段。  

有限狀態機系統優點:簡單易用,狀態間關係直**到,便於程式設計;可以快速執行;只是通過改變輸出功能來改變機器的響應。缺點:任何時刻系統只能有乙個狀態,無法表示併發性,不能描述非同步併發系統;在系統部件多時,狀態數隨之增加,導致複雜性顯著增長;對於大的應用系統,難於除錯。

前後臺系統: 

後台:乙個一直在執行的系統。 前台:是由一些中端處理過程組成。  

當有一前台事件(外部事件)發生時,引起中斷,於是將暫停後台的執行而進行前台處理,處理完畢後又回到後台(通常稱為主程式)。

注意,前後臺系統的重中之重就是對中斷的處理,包括:需要考慮中斷現場的保護和恢復,中斷巢狀,中斷處理過程與主程式的協調(共享)問題。前後臺系統效能主要由中斷  延遲時間(interrupt latency time),響應時間(response time)和恢復時間(recovery time)來刻畫。 

單處理器多工系統;

這個圖是單任務系統(輪訓,有限狀態機或前後臺系統)的常見程式執行流程,對於嵌入式系統,入口一般都是事件觸發,然後是對事件判斷或運算處理解析,及訊息的分發過程,最後才會進入該事件對應的執行程式。中間即使有其他事件中斷接入,也不會立即去執行後面中斷的事件對應的執行程式了。例如當前在ad的執行程式中執行,突然外部中斷發生,當然會先去執行外部中斷的程式,但中斷執行完畢後就會又返回到ad的執行程式中,只要ad的執行程式沒有完畢就不會去執行外部中斷時間對應的程式(當然外部中斷事件解析和外部中斷執行程式可以都放在外部中斷中一起執行,這樣就不用等待ad執行程式了,但是如果外部中斷事件解析和外部中斷執行程式時間十分短暫可以這樣,不會出現什麼問題,但是這種把什麼都放到中斷執行的思路在嵌入式系統設計中是不明智的,一旦執行程式耗時變大,整個系統效率將大打折扣),所以單任務系統沒有對各個事件對應的執行程式進行排程處理,難以控制實時性,無法實時控制某些程式準確執行。 

如果採用如下並行的處理方式(已經很類似ucosii中的多工了),就可以在任務執行層對程式進行通過優先順序做任務排程處理了,但這需要每個任務間的通訊和協調,軟體的複雜程度會加大,當回讓系統根據實時效果。

有限狀態機的嵌入式Linux按鍵驅動設計

秦國棟 廣西大學 電氣學院,南寧 530004 0 引言 一般的按鍵驅動程式通常非常簡單。在程式 中一旦檢測到按鍵輸入口為低電平時,就採用軟體延時10 ms後再次檢測按鍵輸入口。如果仍然是低電平則表示有按鍵按下,便轉入執行按鍵處理程式 否則,當按鍵輸入口為高電平,就會放棄本次按鍵的檢測,重新開始 一...

TFTP協議在嵌入式系統中的實現

隨著internet和pc時代的到來,嵌入式系統成為當前it產業的焦點之一。在這種形勢下,家用電器等嵌入式裝置的internet網路化就成了目前網路發展的乙個重要方向和必然結果。本文基於arm核處理器的多嵌入式應用綜合開發平台,對嵌入式裝置聯網的tcp ip協議進行了討論研究。1 引言 嵌入式系統是...

嵌入式系統中的FPGA

fpga 可以實現高速硬體電路,如各種時鐘,pwm,高速介面,dsp計算等硬體功能。這是cortex m 處理器軟體無法比擬的。要實現fpga 的邏輯設計,對於嵌入式系統工程師又是比較複雜和具有一定難度。而且要更改fpga內部的邏輯也不是十分靈活。本文 一種在嵌入式系統中,靈活,方便地動態配置fpg...