隨著嵌入式系統(tǒng)的發(fā)展,它在軟件和硬件上日趨復雜,對于人機交互的效率的要求也日漸提高,特別是一些復雜的工控設備和消費電子產品。因此,圖形用戶界面(GUI)就從嵌入式系統(tǒng)的系統(tǒng)程序中被獨立了出來。嵌入式GUI發(fā)展至今,已經有了許多的種類,具有了強大的功能。嵌入式GUI已經成為一個成功的嵌入式系統(tǒng)不可缺少的組成部分[1]。本文在ARM為核心的嵌入式系統(tǒng)上進行了圖形界面的開發(fā),并對Windows界面進行了模擬。
1 ARM處理器
嵌入式系統(tǒng)是將先進的計算機技術、半導體技術和電子技術和各個行業(yè)的具體應用相結合后的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創(chuàng)新的知識集成系統(tǒng)。[2]ARM是當前嵌入式領域使用最廣泛的微處理器[3] 。ARM(Advanced RISC Machines)微處理器是采用ARM技術知識產權(IP)核的微處理器,這種ARM核技術是由英國的ARM公司所授權。世界各大半導體生產商從ARM公司購買其設計的ARM微處理器核,根據各自不同的應用領域,加入適當的外圍電路,從而形成自己的ARM微處理器芯片進入市場。
本次設計中使用ARM7TDMI作為嵌入式系統(tǒng)的內核。ARM7TDMI核是通用的32微處理器內核,采用馮•諾伊曼結構,具有高性能和低功耗的特性。ARM7TDMI使用三級流水線技術來增加處理器指令流的速度,處理器和存儲器的所有部分都可連續(xù)工作。通常在執(zhí)行一條指令的同時就對下一條指令進行譯碼,并將第三條指令從存儲器中取出[4]。ARM結構是基于精簡指令集計算機原理而設計的,指令集和相關的譯碼機制比復雜指令集計算機要簡單得多。
2 圖形用戶界面特征和發(fā)展趨勢
2.1 圖形用戶界面的特征
圖形用戶界面(Graphic User InteRFace,GUI)的廣泛流行是當今計算機技術的重大成就之一,它極大的方便了非專業(yè)用戶的使用,人們不再需要死記硬背大量的命令,而可以通過窗口、菜單方便的進行操作。“Visual”已成為當前流行的形容詞,如Visual Basic、Visual C++等。圖形用戶界面的主要特征如下[5]:
1、WIMP
其中W(Windows)指窗口,指用戶或系統(tǒng)的一個工作區(qū)域。一個屏幕上可以有多個窗口。I(Icons)指圖形,系形象化的圖形標志,易于人們隱喻和理解。M(Menu)指菜單,可供用戶選擇的功能提示。P(Pointing Devices),指鼠標器等,便于用戶直接對屏幕對象進行操作。
2、用戶模型
GUI采用了不少Desktop桌面辦公的隱喻,是應用者共享一個直觀的界面框架。由于人們熟悉辦公桌的情況,因而對計算機顯示的圖形符號的含義容易理解,諸如:文件夾、收件箱、畫筆、工作薄、鑰匙及時鐘等。
3、直接操作
過去的界面不僅需要記憶大量命令,而且需要制定操作對象的位置,如行號、空格數、X及Y的坐標等。采用GUI后,用戶可直接對屏幕上的對象進行操作,如拖動、刪除、插入以至放大和旋轉等。用戶執(zhí)行操作后,屏幕能立即給出反饋信息或結果,因而稱為所見即所得(What you see is what you get)。用視、點(鼠標)代替了記、擊(鍵盤),給用戶帶來了方便。
2.2 圖形用戶界面的發(fā)展趨勢
隨著虛擬現實、科學計算可視化及多媒體技術的飛速發(fā)展,新的人機交互技術不斷出現,更加自然的交互方式將逐漸為人們所重視。新一代界面的主要特征可描述如下:以用戶為中心、智能化、高帶寬、不限制地點、圖示編程等。
3 ARM嵌入式系統(tǒng)GUI開發(fā)
近年來,嵌入式系統(tǒng)得到了飛速的發(fā)展,產品形態(tài)多種多樣,由于嵌入式產品更加商品化,對圖形用戶界面(GUI)的要求也越來越高。
3.1 LCD及其驅動
本設計采用2.2英寸TFT液晶屏——TFT6758液晶模塊,其工作電壓為3.3V,內帶白光LED背光燈,可以直接使用8位、16位或18位總線方式與控制器連接(因為液晶模塊內部包含了HD66781和HD66783液晶控制驅動器)。為了得到更高的數據傳輸速率,設計電路時采用16位總線接口,按照HD66781芯片數據手冊說明,需要將IM3和IM0引腳接0電平,16位數據分別為DB17~DB10和DB8~DB1引腳,未使用的DB0和DB9引腳接地,電路連接如圖1所示[6]。在使用液晶屏時需要先添加其相應的驅動程序,點陣液晶顯示器TFT6758的驅動芯片為HD66781,門驅動(Gate driver)芯片為 HD66783。
3.2 軟件平臺的選用
目前在市場上有幾種發(fā)展成熟、比較有代表性的嵌入式GUI開發(fā)軟件,如北京飛漫軟件公司的MiniGUI、美國Century軟件公司的MicroWindows、挪威Troltech公司的Qt/Embedded等,這幾種GUI系統(tǒng)各具特色,但大部分需要在嵌入式操作系統(tǒng)上進行移植,這樣就一定會增加時間和精力的投入,所以綜合考慮各方面的因素后,使用ZLG/GUI作為此次設計的軟件平臺。
ZLG/GUI是一種占用資源小、使用方便的嵌入式系統(tǒng)簡易的圖形用戶界面軟件,不需要在嵌入式操作系統(tǒng)上移植就能直接使用,提供了最基本的繪圖功能,具有一些較高級的接口功能,支持單色、灰度、偽彩、真彩等圖形顯示設備,簡單易學。
3.3 模擬Windows界面的設計實現
我們經常使用的Windows系統(tǒng)的桌面,便是一個華麗的圖形用戶界面,所以設計模擬了Windows的桌面的圖形界面。
這個界面的設計思想是:在全屏填充一張圖片,作為Windows的桌面背景圖案。經過計算得到狀態(tài)欄的坐標值,在液晶顯示屏的下方選擇綠色和藍色填充兩個矩形,作為狀態(tài)欄。仍然使用填充矩形函數做出開始菜單的背景色。在相應的地方通過計算獲得漢字的顯示坐標值,在相應的位置顯示漢字。判斷是否有鍵按下,若沒有就繼續(xù)顯示桌面,有鍵按下就顯示開始菜單。顯示Windows界面流程如圖2所示。模擬Windows界面在LCD上顯示如圖3所示。
圖2 顯示Windows界面流程
圖3 模擬Windows界面
4 結束語
近年來,隨著嵌入式技術的發(fā)展,嵌入式系統(tǒng)得到了飛速的發(fā)展,嵌入式設備將適用于更廣闊的領域,航天、航空、軍事、醫(yī)學,還有與百姓生活息息相關的家電、運輸、通信等等,由于嵌入式產品更加商品化,會涉及到方便用戶使用的問題,對圖形用戶界面(GUI)的要求也越來越高,如何開發(fā)一個適合于自己硬件條件的GUI系統(tǒng),成了嵌入式系統(tǒng)開發(fā)的一個重要工作內容。本次設計采用ZLG/GUI作為軟件平臺,對于復雜的應用可以采用MiniGUI等軟件作為軟件平臺。
本文作者創(chuàng)新點: 利用ZLG/GUI作為軟件平臺,開發(fā)出了類windows的圖形用戶界面,為嵌入式系統(tǒng)的GUI開發(fā)提供一種簡便、低成本、可行的解決方案。