一種面向可適應性的嵌入式設備HCI方案
5 工程應用
5.1 工程介紹
我們在一個系列工程中采用了以下方案構(gòu)造HCI的菜單體系。某公司研發(fā)一款嵌入式的數(shù)據(jù)采集產(chǎn)品,該產(chǎn)品的代碼與數(shù)據(jù)獨立存儲在兩個Flash芯片,通過采集外界的模擬量和數(shù)字量對其處理后進行輸出。產(chǎn)品的人機交互界面采用按鍵、LED數(shù)碼管,計算控制單元采用飛思卡爾半導體的微處理器Coldfire V2系列,該CPU基于變長RISC處理器核心,具有32位地址線和數(shù)據(jù)線以及集成的調(diào)試模塊,MAC/eMAC單元能提供高性能的品質(zhì)。
嵌入式操作系統(tǒng)采用Nucleus PLUS,Nucleus PLUS實時操作系統(tǒng)是Accelerated Technology公司開發(fā)的嵌入式RTOS產(chǎn)品,只需一次性購買Licenses,就可以獲得操作系統(tǒng)的源碼。最終是以C庫的形式提供給用戶,可以選擇所需要的部分鏈入到應用程序中。具有如下特性:
1)快速響應時間:對臨界資源的檢測時間不依賴于占有該臨界資源的線程執(zhí)行時間長短,一旦低優(yōu)先級線程釋放掉臨界資源(不管其是否執(zhí)行完),高優(yōu)先級線程就會搶占運行。
2)模塊相互獨立:每個任務的執(zhí)行時間和其他任務的處理時間無關(guān)。
3)較高吞吐量:隨著任務數(shù)目的增多,任務的調(diào)度時間為常數(shù)。
4)具有可擴展性:利用現(xiàn)有系統(tǒng)調(diào)用的結(jié)合可得到新的系統(tǒng)調(diào)用。
5.2 驗證過程
我們擬在這個項目開發(fā)中實現(xiàn)普適設備的嵌入式人機交互界面,在其中應用可適應性的思想。
首先是硬件設計,該產(chǎn)品設計了8個Ied數(shù)碼管,8個按鍵Key1~Key8。這部分設計的功用體現(xiàn)在兩個方面:
1)數(shù)據(jù)采集設備通過LED顯示采集的數(shù)據(jù)和處理結(jié)果;
2)用戶通過按鍵可以查看和設置設備的參數(shù)。
其次是一些必要的定義,對按鍵的功能通過項目組討論做了如表1的定義。本文引用地址:http://www.ex-cimer.com/article/150933.htm
表1的定義給消息定義提供一個依據(jù)。按功能鍵送入一個OK消息,按取消鍵則發(fā)送了一個CANCEL消息,其他按鍵事件以此類推。于是我們便得到一個消息枚舉量的定義。
界面狀態(tài)定義。把人機交互工作分為工作、驗證和設置狀態(tài)。每種狀態(tài)用一個MenuStatus枚舉常量表示,NORMAL表示工作狀態(tài),CHECKI-NG表示驗證狀態(tài),SETHNG表示設置狀態(tài)。正常工作時處于NORMAL狀態(tài),一旦按下功能鍵會進入菜單成為驗證或設置態(tài)。
交互行為定義如下:
1)常態(tài)時默認為各通道實時數(shù)據(jù)循環(huán)顯示,有報警時,可顯示報警標識;
2)默認常態(tài)下按功能鍵進入1層菜單,按上翻鍵、下翻鍵顯示1-、2-、3-、…、14-Reset;
3)狀態(tài)2-和狀態(tài)4-可用作擴展;
4)狀態(tài)3-時,按功能鍵進入日期時間設置菜單,按上翻鍵、下翻鍵顯示日期、時間,設置好后,按功能鍵確定退出;
5)狀態(tài)4-時,按功能鍵進入?yún)?shù)設置菜單,按上翻鍵、下翻鍵顯示4-1、4-2、4-3……、4-19,表示通道選擇;
狀態(tài)4-x時,按功能鍵進入x通道的參數(shù)設置菜單,按上翻鍵、下翻鍵顯示4-x-O、4-x-2、4-x-3、…、4-x-8時,按功能鍵進入x通道的y(0≤y≤8)參數(shù)設置菜單,按加1鍵、減1鍵和移位可以進行參數(shù)修改操作;修改好參數(shù)按功能鍵確定退出;
6)在任一狀態(tài)時,按Key7則返回上層;
7)在任一狀態(tài)時,按取消鍵可返回常態(tài)。
然后按照上面定義的交互行為,定義菜單節(jié)點的功能函數(shù)。在菜單的創(chuàng)建時把函數(shù)的指針賦值給節(jié)點。該模型同樣可以用于實現(xiàn)通過通信進行的交互。
上述HCI的實例,不但實現(xiàn)簡潔,開發(fā)效率高,而且是結(jié)構(gòu)開放性的,便于界面規(guī)模的控制。
6 結(jié)束語
通過工程實踐驗證,該基于可適應性考慮的嵌入式HCI方案有如下特點:
1)易于維護,在拓撲結(jié)構(gòu)不變的情況下,隨按鍵或輸入的不同,數(shù)據(jù)結(jié)構(gòu)易于加以修改。菜單節(jié)點可以隨實際項目需求增減成員,代理類也可隨實際需求修改。
2)開放性好,便于擴展。只要內(nèi)存容量允許,菜單規(guī)模理論上不受限,并且增刪節(jié)點容易實現(xiàn)。菜單結(jié)構(gòu)可以靜態(tài)聲明,也可以使用動態(tài)內(nèi)存分配。
3)通用性強,不但適應于Led數(shù)碼管與按鍵的組合,而且適應于LCD屏幕與按鍵或觸摸屏。只要是用戶與系統(tǒng)交互,能產(chǎn)生消息驅(qū)動的地方都可以使用。
4)效率高,從根節(jié)點到任一節(jié)點的路由不需要軟件實現(xiàn),由用戶交互決定。雖然是網(wǎng)狀模型,但對用戶而言,從功能上仍是個層狀結(jié)構(gòu),脈絡比較清楚,容易被開發(fā)人員掌握。
另外,在具體應用中,可適應性的實現(xiàn)還可能以混合的模式出現(xiàn)。
未來的研究是考察在宿主機與目標機交互的情況下,如何實現(xiàn)HCI方案到目標機的遷移,實現(xiàn)目標機HCI動態(tài)配置。
評論