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