詳細(xì)介紹
西門子觸摸屏6AV2124-0MC01-0AX0又稱用戶界面、人機(jī)交互、人機(jī)接口等,是人與機(jī)器之間傳遞、交換信息的媒介.是用戶使用計算機(jī)系統(tǒng)的綜合操作環(huán)境。在商品競爭中,一個應(yīng)用系統(tǒng)的成功與否在某種程度上也取決于用戶使用界面的感受好壞,因此,人機(jī)界面的設(shè)計在應(yīng)用系統(tǒng)的設(shè)計中有著重要的作用。嵌入式系統(tǒng)強(qiáng)調(diào)人機(jī)界面操作的實時性,簡單化,強(qiáng)調(diào)在特定平臺上特定應(yīng)用的時間空間效率。在傳統(tǒng)的小系統(tǒng)設(shè)計中。程序設(shè)計一般采用前后臺工作方式。應(yīng)用程序是一個無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,時間相關(guān)性很強(qiáng)的關(guān)鍵操作(crltical operation)是靠中斷服務(wù)來保證的。因為中斷服務(wù)提供的信息一直要等到后臺程序走到該處理此信息這一步時才能得到處理.這種系統(tǒng)在處理信息的及時性上,比實際可以做到的要差。壞情況下的任務(wù)級響應(yīng)時間取決于整個循環(huán)的執(zhí)行時間。因為循環(huán)的執(zhí)行時間不是常數(shù),程序經(jīng)過某一特定部分的準(zhǔn)確時間也是不能確定的。如果程序修改了,循環(huán)的時序也會受到影響.
實時操作系統(tǒng)將應(yīng)用分解成多任務(wù),簡化了應(yīng)用系統(tǒng)軟件的設(shè)計。良好的多任務(wù)設(shè)計,有助于提高系統(tǒng)的穩(wěn)定性和可靠性,并使系統(tǒng)的實時性得到保證。很多實時操作系統(tǒng)提供了函數(shù),簡化了程序的測試。
1、系統(tǒng)設(shè)計
如圖l所示,人機(jī)界面系統(tǒng)采用小鍵盤操作的文本菜單方式,使用在嵌入式數(shù)字視頻錄像DVR(Digital Video Record)系統(tǒng)中。在MSP430F149上移植μC/OS—Ⅱ來獨(dú)立實現(xiàn)人機(jī)界面的功能,用戶通過鍵盤輸入指令,經(jīng)過單片機(jī)處理后發(fā)往主系統(tǒng),同時把相應(yīng)信息通過芯片的OSD(0n Screen Display)功能顯示在監(jiān)視器上;用戶根據(jù)監(jiān)視器上的信息進(jìn)行菜單操作,形成人與機(jī)器的交互。
西門子觸摸屏6AV2124-0MC01-0AX0
把人機(jī)界面部分從主系統(tǒng)中獨(dú)立出來,用戶所有輸入的指令由單片機(jī)來處理,減少了主系統(tǒng)的工作量,使整個系統(tǒng)模塊化,便于開發(fā)和調(diào)試,提高了可靠性和穩(wěn)定性.另外,這種人機(jī)界面設(shè)計具有通用性,便于移植到各種嵌入式系統(tǒng)中。本系統(tǒng)選用MSP430nF149單片機(jī),是基于以下三個方面的原因:
①OSD功能需要經(jīng)常刷新,并且要處理與主機(jī)部分的數(shù)據(jù)交換,要求單片機(jī)的計算速度足夠高,并且要求嵌入式系統(tǒng)能夠長時間正常運(yùn)轉(zhuǎn),且芯片功耗低。
②實時操作系統(tǒng)本身要耗費(fèi)一部分內(nèi)存,同時0SD功能要求建立字庫,要求內(nèi)存空間足夠大,否則要外接閃存,增加設(shè)計的復(fù)雜度及成本。
③要連接鍵盤電路,需較多I/O口。
MSP430系列單片機(jī)是由TI公司開發(fā)的16位單片機(jī)。其突出特點(diǎn)是強(qiáng)調(diào)超低功耗,適合于各種功率要求低的應(yīng)用;有較高的處理速度,在8 MHz晶振的驅(qū)動下,指令周期為125ns;MSP430F149具有60 KB的Flash ROM和2 KB RAM,可滿足系統(tǒng)程序量和數(shù)據(jù)量大的要求,可以解決因為加載實時操作系統(tǒng)而增加的內(nèi)存需求,具有2個串行通信接口,其中一個串口用于跟主系統(tǒng)通信,另一個可用于控制其他外圍模塊;具有48個可獨(dú)立編程的I/O口,其中有2個具有中斷功能的8位并行端口,在設(shè)計按鍵電路時,可方便地采用中斷方式識別鍵值。
2、軟件設(shè)計與實現(xiàn)
2.1 實時操作系統(tǒng)
μC/OS—II是一個源碼開放,擁有搶占式內(nèi)核,支持多任務(wù)的實時操作系統(tǒng);任務(wù)被分為休眠態(tài)、就緒態(tài)、運(yùn)行態(tài)、掛起態(tài)和被中斷態(tài)五種狀態(tài),內(nèi)核根據(jù)任務(wù)所處的狀態(tài)對任務(wù)作相應(yīng)的處理,已經(jīng)準(zhǔn)備就緒的高優(yōu)先級任務(wù)可以剝奪正在運(yùn)行的低優(yōu)先級任務(wù)對CPU的使用權(quán)。系統(tǒng)大部分代碼采用C語言編寫,與硬件相關(guān)的部分很集中,并給出了規(guī)范的接口說明,移植相當(dāng)方便,可應(yīng)用于目前大多數(shù)型號的8位、16位、32位CPU。μC/OS—II提供的僅僅是一個操作系統(tǒng)內(nèi)核,對硬件系統(tǒng)要求很低,很適合在低端CPU上開發(fā)小系統(tǒng)。
將μC/OS—II移植在MSP430F149單片機(jī)上,對其進(jìn)行裁減,只保留消息隊列一種任務(wù)間通信方式,利用它的任務(wù)優(yōu)先級搶占機(jī)制,使人機(jī)界面很好地滿足嵌入式系統(tǒng)對實時性和可靠性的要求。下面詳細(xì)介紹基于μC/0S—II操作系統(tǒng)的程序設(shè)計。
2.2 軟件設(shè)計
本系統(tǒng)的軟件部分設(shè)計基于E-O模型的思想,劃分事件和目標(biāo)。以有限狀態(tài)機(jī)的方式,在實時操作系統(tǒng)μC/OS一Ⅱ中,用狀態(tài)機(jī)把目標(biāo)和事件聯(lián)系起來,實現(xiàn)OA (Object-Action)行為模式完成人機(jī)交互的過程,使以小鍵盤操作的文本菜單方式設(shè)計更清晰。
2.2.1 事件-目標(biāo)驅(qū)動的用戶界面模型西門子觸摸屏6AV2124-0MC01-0AX0
事件-目標(biāo)驅(qū)動的用戶界面模型,即E-O模型(E-vent-Object Drive User Interface Model),將人機(jī)交互活動歸結(jié)為事件與目標(biāo)的相互作用.事件是人機(jī)交互活動中傳遞的信息,目標(biāo)是交互活動的對象;事件引發(fā)交互活動,目標(biāo)是交互活動的承受者。E-O模型基于的基本行為模式是"目標(biāo)-動作"(OA),以目標(biāo)為核心,具有面向?qū)ο箫L(fēng)格。
E-O模型由四個邏輯部件組成:①設(shè)備管理模塊(device management module),提供與各種交互設(shè)備的接口,實現(xiàn)設(shè)備無關(guān)特性;②事件管理子系統(tǒng)(event Man-agement subsystem),它讀取輸入設(shè)備的輸入信息形成事件并進(jìn)行統(tǒng)一管理,將反饋信息的事件解釋為適當(dāng)?shù)妮敵鲋噶畈魉徒o輸出設(shè)備;③目標(biāo)管理子系統(tǒng)(object Man-agement subsystem),創(chuàng)建、裝載、保存用戶界面中各類目標(biāo),并對目標(biāo)進(jìn)行管理,④事件-目標(biāo)管理子系統(tǒng)(event-object management subsystem),主要職責(zé)是實現(xiàn)事件與目標(biāo)的整合,按適當(dāng)策略控制事件在各目標(biāo)結(jié)點(diǎn)之間流動,以形成和維持交互的過程,是整個用戶界面系統(tǒng)的核心。
2.2.2 有限狀態(tài)機(jī)的形式化描述西門子觸摸屏6AV2124-0MC01-0AX0
有限狀態(tài)機(jī)FSM(Finite State Machine)由狀態(tài)、事件、轉(zhuǎn)換和活動組成。每個狀態(tài)有1個狀態(tài)進(jìn)入動作(entryaction)和1個狀態(tài)退出動作(exit action),每個轉(zhuǎn)換有1個源狀態(tài)和目標(biāo)狀態(tài)并且與1個事件相關(guān)聯(lián)。當(dāng)在源狀態(tài)時,該事件發(fā)生且觸發(fā)轉(zhuǎn)換的監(jiān)護(hù)條件為真,則順序執(zhí)行下列一些動作:①源狀態(tài)的退出動作;②轉(zhuǎn)換動作;③目標(biāo)狀態(tài)的進(jìn)入動作。
FSM可以形式化表示為1個五元組:M=(0,