国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

μC/OS 的層次式狀態(tài)機在人機界面中的應用

2010-01-08 07:28:36建,王
關鍵詞:分析儀器狀態(tài)機人機界面

周 建,王 健

(杭州電子科技大學電子信息學院,浙江杭州310018)

μC/OS 的層次式狀態(tài)機在人機界面中的應用

周 建,王 健

(杭州電子科技大學電子信息學院,浙江杭州310018)

為提高人機界面設計中軟件的可靠性和可擴展性,該文提出一種基于層次式有限狀態(tài)機的人機界面設計方法,針對嵌入式系統高實時性的要求,將μC/OS-II操作系統應用于人機界面的設計之中,使得人機界面顯示任務層次化、結構化。將層次式有限狀態(tài)機的設計方法在硬件平臺上予以應用,并在該硬件平臺上設計并實現人機界面。

微控制系統;狀態(tài)機;人機界面;事件驅動

0 引 言

隨著電子技術和計算機技術的迅猛發(fā)展,人機界面已經廣泛應用于工業(yè)儀表、通信、消費電子等領域。由于工業(yè)儀器定制化[1]的特點,導致人機界面的設計在可擴展性、可靠性、實時性、可復用性、軟硬件耦合度等方面提出了更高的要求。現階段,國內外研究都針對當前儀器人機界面[2]中軟硬件耦合性過強、軟件復用性差、開發(fā)周期長等缺點進行了改進,其中,國外研究提出了新的人機界面設計思想。本文提出并實現在μC/OS-II操作系統基礎上將層次式有限狀態(tài)機[3]應用于人機界面的設計,使得人機界面的顯示和刷新都由事件觸發(fā)完成,實現人機界面良好可靠的顯示。

1 層次式有限狀態(tài)機

層次式有限狀態(tài)機是一種應用非常廣泛的軟件設計方法,其作用主要是描述對象在它的生命周期內所經歷的狀態(tài)序列,引起狀態(tài)轉移的事件,以及因狀態(tài)轉移而伴隨的動作。設計層次式有限狀態(tài)機需要采用對象行為建模工具[4],在面向對象的軟件系統中,一個對象無論簡單或者復雜,都必然會經歷一個從開始創(chuàng)建到最終消亡的完整過程,這通常被稱為對象的生命周期。對象在其生命期內是不可能完全孤立的,它必須通過發(fā)送消息來影響其它對象,或者通過接收消息來改變自身。一般可以用狀態(tài)機對一個對象的生命周期建模,狀態(tài)圖用于顯示狀態(tài)機中狀態(tài)轉移圖。

狀態(tài):對象的生命周期中滿足某種條件,執(zhí)行某些動作或等待某些事件發(fā)生的階段。

事件:事件是一個在時空中顯示出現的特定現象或信號,它可以觸發(fā)狀態(tài)轉換。

轉換:轉換是從一個狀態(tài)結點到另一個狀態(tài)結點的移動。

行為繼承:狀態(tài)嵌套允許子狀態(tài)繼承來自超狀態(tài)中的某些行為操作。

在層次式有限狀態(tài)機中,每個基狀態(tài)都對應一個超狀態(tài),多個子狀態(tài)機相互協作的狀態(tài)機子群構成一個低層次的有限狀態(tài)機。這樣子群內狀態(tài)機間的層次和邏輯關系構成了相應有限狀態(tài)機間的層次和邏輯關系。如圖1所示。屬于父狀態(tài)機的是狀態(tài)1,屬于子狀態(tài)2和狀態(tài)3。層次式狀態(tài)機初始化時進入狀態(tài)1,在狀態(tài)1下經過不同的觸發(fā)事件E或者G轉換到狀態(tài)2或者狀態(tài)3;同理,在其他狀態(tài)下,經過不同的驅動事件,狀態(tài)機發(fā)生相應的轉移。圖1描述在不同事件的驅動下發(fā)生的狀態(tài)轉移。在人機界面的設計中,需要定義子狀態(tài)行為和父狀態(tài)行為的不同之處,而子狀態(tài)可以重用父狀態(tài)中定義的行為。極大方便了代碼的可擴展性和維護性。

圖1 簡單層次狀態(tài)圖

2 μC/OS應用

μC/OS是專門為計算機的嵌入式應用設計的實時操作系統,具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良、可移植性優(yōu)和可擴展性強等特點。μC/OS-II采用的是基于優(yōu)先級調度、可剝奪型實時多任務內核,在任何時候μC/OS-II都運行就緒了的最高優(yōu)先級的任務。最高優(yōu)先級的任務一旦處于就緒狀態(tài),則立即搶占正在運行的低優(yōu)先級任務的處理器資源。

在人機界面的設計中使用μC/OS-II操作系統可以保證界面刷新顯示的及時性,結合層次式有限狀態(tài)機[2]保證了對外部事件驅動進行及時處理。

3 分析儀器人機界面的狀態(tài)模型

3.1 系統人機界面功能描述

人機界面(Human Machine Interface,HMI)是一種良好的交互語言,良好的界面顯示極大方便了使用者。分析儀器中普遍采用HM I來顯示儀器的狀態(tài)、儀器故障、測量結果等信息。基于層次式有限狀態(tài)的思想來設計分析儀器中HM I的模型如圖2所示。圖2中HMI的切換都是通過事件來進行驅動觸發(fā)的,利用μC/OS-II中OSQPend()函數來查詢消息隊列中是否存在狀態(tài)機的事件,可以保證狀態(tài)機對事件響應的實時性,以便及時刷新顯示界面。層次式有限狀態(tài)機根據用戶事件和系統保留事件驅動狀態(tài)機的切換和執(zhí)行。在HMI設計中,系統根據鍵盤輸入的信息,操作系統會向對狀態(tài)機進行分發(fā)相應的驅動事件,從而完成HMI的刷新和顯示。

3.2 HMI狀態(tài)機分析實現

層次式有限狀態(tài)機包含許多行為,并且狀態(tài)之間的關系需要根據建立的結構模型來確定。當有限個子狀態(tài)具有共同的行為事件驅動,則子狀態(tài)可以將該行為事件交給共同的父狀態(tài)來統一處理。色譜分析系統中HMI設計中包含很多狀態(tài),在此并沒有畫出所有的狀態(tài),現以部分狀態(tài)結構圖來說明層次式有限狀態(tài)機的工作原理以及程序實現。如圖3所示。

系統啟動初始狀態(tài)為主界面,即為系統的父狀態(tài)或超狀態(tài),其它各子狀態(tài)由此進行躍遷。每進入一個狀態(tài)首先要進行該狀態(tài)的初始化工作,有限狀態(tài)機的實現需要定義進入、退出、超時、初始化等系統事件以及用戶自定義的事件。其中,用戶自定義事件由用戶程序自行處理,其余事件皆由系統自身處理。系統中層次式狀態(tài)機在任一狀態(tài)下,可以通過μC/OS-II中的系統函數獲取狀態(tài)機中的消息事件,如果有事件驅動,系統則在當前狀態(tài)下對事件進行處理并發(fā)生狀態(tài)的躍遷,每進入一個狀態(tài)首先對該狀態(tài)進行初始化工作,在對事件處理的同時刷新HM I的顯示。若發(fā)生事件驅動,當前狀態(tài)不能對該事件進行處理,則將事件交付給其父狀態(tài)處理,若父狀態(tài)無法處理事件,則將事件交給父狀態(tài)的父狀態(tài)進行處理,直至事件被處理。最高層(TOP)可以處理任何事件。在事件被處理的過程中,狀態(tài)機發(fā)生相應狀態(tài)躍遷[5]并根據事件刷新HMI的切換。如圖4所示層次式有限狀態(tài)機在HMI應用中的顯示界面。

層次式有限狀態(tài)機在HMI的設計中用到的主要函數說明:

(1)#define Q_TRAN(target)QHsmTran((QHsm*)me,(QState)(target))

圖2 一級狀態(tài)轉換圖

圖3 部分狀態(tài)機結構圖

圖4 HM I應用截圖

主要功能是實現狀態(tài)機中狀態(tài)的切換和轉移;

(2)#define Q_SUPER(super_)(((QHsm*)me)->state=QStateHandler)(super_),Q_RET_SUPER)

主要功能是在狀態(tài)機中指定一個給定狀態(tài)的父狀態(tài);

(3)#define QHsm_ctor(me_,initial_)((me_)->state=(initial_))

主要功能是構建狀態(tài)機,并賦給狀態(tài)機一個初始狀態(tài);

(4)Void QHSMDispatch(QHsm*me);

主要功能是實現狀態(tài)機對事件或者信號的處理或者響應;

(5)QState QHSMTop(QHsm*me);

QHSMTop()是狀態(tài)機中最根本、最高的狀態(tài),能處理任何信號或者事件。

上述函數完成層次式有限狀態(tài)機在HMI中的初始化、事件的處理、狀態(tài)的轉移。層次式有限狀態(tài)機的使用與建模密不可分,合理的狀態(tài)機建模可以為在后續(xù)開發(fā)和設計中節(jié)省大量的工作。

4 MCF52259硬件平臺

采用基于層次式有限狀態(tài)機的思想來設計HMI,并根據氣相色譜分析儀器中實際應用的需求,選用MCF52259作為主控芯片,輔之以μC/OS-Ⅱ操作系統,在氣相色譜分析儀器系統中實現HMI。氣相色譜分析儀器系統設計架構如圖5所示。氣相色譜分離混合物的原理是根據混合氣體不同成分的沸點,通過色譜柱溫度的變化使得氣體分離,檢測器對分離出來的氣體成分濃度進行檢測,將檢測到的信號進行處理,通過HMI顯示模塊將測量成分及其濃度顯示出來,從而完成氣相色譜對混合氣體的分離和檢測。在系統中實現了完整的以層次式有限狀態(tài)機為建模思想的HM I的顯示。

圖5 硬件架構圖

5 結束語

嵌入式HM I具有典型的反應式系統的特點,本文通過具體實例闡述層次式狀態(tài)機的構造方法,結合μC/OS-Ⅱ實時操作系統,采用MCF52259的硬件平臺,設計嵌入式HMI,很好地完成了氣相色譜分析系統和HMI中各種復雜狀態(tài)的轉變和相應界面顯示。實際應用表明,用層次式有限狀態(tài)機方法實現人機界面易于擴展菜單,界面轉換迅速、穩(wěn)定可靠、復用性好并有效降低軟硬件的耦合度。

[1]唐東平.網絡時代的人機交互發(fā)展研究[J].礦山機械,2006,34(6):116-118.

[2]盧國偉,蔡武昌.2004年日本工業(yè)自動化儀表概況分析[J].世界儀表與自動化,2006,10(5):20-20.

[3]吉峰,白瑞林.基于UML和μC/OS-II的嵌入式系統設計[J].微計算機應用,2005,26(4):495-497.

[4]李潤博,李明樹.基于狀態(tài)機的UML行為繼承關系[J].計算機科學,2004,31(1):16-19.

[5]劉剛.基于層次式有限狀態(tài)機的織造控制任務設計[J].紡織學報,2008,29(8):25-29.

Human Machine Interface Design BasedμC/OS and Hierarchical Finite State Machine ZHOU Jian,WANG Jian

(School of Electronics Information,Hangzhou Dianzi University,Hangzhou Zhejiang310018,China)

To improve the human-machine interface design in software reliability and scalability,the paper presentsamethod todesign human-machine interface(HMI),which used hierarchical finite statemachineandμC/OS-IIoperating system with real-time demands.TheμC/OS-IIoperating system used in the design of humanmachine interface,making human-machine interface display more hierarchical,structured.Themethod will be applied in the hardware platform to design and implement Human-Machine interface.

μC/OS;statemachine;HMI;event-driven

TP393

A

1001-9146(2010)05-0037-04

2010-07-20

周建(1985-)男,湖北鄂州人,在讀研究生,嵌入式系統.

猜你喜歡
分析儀器狀態(tài)機人機界面
北京市華云分析儀器研究所有限公司
分析儀器(2021年3期)2021-12-03 16:25:32
北京市華云分析儀器研究所有限公司
分析儀器(2020年2期)2020-05-21 10:35:18
基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
實驗室分析儀器的保養(yǎng)與維修
電子測試(2018年22期)2018-12-19 05:12:56
CBTC系統車載人機界面的設計與實現
基于PLC與人機界面的經編機電子橫移控制系統研究
CTCS-3級列控車載人機界面的系統設計與實現
達人機界面DOP-B10VS511
“十二五”工業(yè)過程分析儀器需求可達300億
FPGA設計中狀態(tài)機安全性研究
黑龍江科學(2011年2期)2011-03-14 00:39:36
聂拉木县| 宿松县| 长泰县| 苍梧县| 吴堡县| 年辖:市辖区| 曲周县| 宁乡县| 赤峰市| 潞西市| 安阳县| 治多县| 信宜市| 攀枝花市| 左权县| 东源县| 江永县| 武定县| 察哈| 留坝县| 萨迦县| 昭通市| 西和县| 边坝县| 重庆市| 楚雄市| 齐河县| 五台县| 商洛市| 鄱阳县| 乐安县| 肇州县| 大理市| 芜湖县| 天峻县| 高邑县| 合肥市| 开平市| 万年县| 五大连池市| 新源县|