在嵌入式應用中引入用戶界面(上)
設備廠商意識到,除消費電子產品外,觸摸屏GUI可讓很多其它嵌入式系統增加產品價值。傳統的開關按鈕式界面很容易出現機械部件故障,電容式觸摸屏不僅可實現更可靠的用戶界面,還能為設備廠商提供更高的設計靈活性和功能擴展性。
本文引用地址:http://www.ex-cimer.com/article/142447.htm32位處理
給嵌入式系統增加GUI界面與在設備面板上添加幾個按鈕或控制開關完全不同。隨著觸摸屏在手機上近乎無限普及,消費者期望各種設備都配備先進的用戶界面,采用3D圖像、感觀深度、動畫狀態轉換、圖形紋理和復雜的背景照明技術。要想創建一個能夠給應用增加價值和美感的直觀用戶界面,GUI必須支持觸摸屏界面所必備的基本功能:點擊、拖動、滑動、翻頁等手勢控制。
基于8位或16位處理器的應用沒有能力處理圖形,即便簡單的圖形也無法處理。像STM32一樣的高性能32位微控制器,除提供最基本的應用運行功能外,還能提供完整的圖形處理功能以及觸控功能,在先進圖形用戶界面的普及過程中發揮關鍵作用。例如,STM32-F0具有32位的性能,8位或16位的價格。對于圖形處理任務更多的應用,STM32-F2和STM32-F4提供更大容量的閃存,以存儲更多的圖形數據。STM32最高性能達到168 MHz/210 DMIP,可以滿足用戶對GUI設備的顯示響應性能的要求。
但是,隨著硬件成本降低,軟件復雜程度卻不斷提高。實際上,不論是從研發投入還研發周期看,應用軟件已成為嵌入式系統的最大開發成本,為保持市場競爭力,設備廠商必須增加先進的GUI功能,同時還要嚴格控制軟件開發成本。實現這個目標需要滿足以下要求:擁有GUI設計框架,能夠使用Java替代C語言設計界面外觀,能夠在目標硬件還在研發過程中快速推出設計原型,以便獲得消費者的反饋意見,最后,還需要針對嵌入式系統常見的存儲器和處理性能受到嚴格限制的特點優化的開發工具。
GUI設計框架
GUI設計有兩個主要過程。第一過程是開發底層軟件代碼,GUI底層提供基本的UI功能。在底層準備就緒后,就開始設計GUI的外觀。為把系統開發成本控制在預算范圍內,開發人員必須盡量降低這兩個過程的成本,消除不必要的設計延時。
過去,嵌入式系統UI是為目標硬件專門設計,隨著縮短設計周期的壓力不斷增加,IP復用問題成為UI設計的一個重要考慮因素。最理想的是,開發人員能夠在不同的產品系列移植UI代碼,而且這些產品可搭載不同系列的微控制器。GUI應用代碼在硬件層上抽象化可實現跨系遷移。硬件抽象層(HAL)用于處理特定底層代碼的細節,例如,如何在存儲器內保存圖形數據,如何傳輸到顯示器(圖1)。通過使API與HAL層互動,能夠把GUI應用代碼變成可移植的設計框架,開發人員可在同一產品家族內移植GUI代碼,而且代碼重寫量被降至最低水平。創建一個大型的GUI框架是一個復雜的過程,HAL層讓開發人員能夠使用匯編語言以外的語言創建框架,因此,代碼開發速度和IP復用性都得到相應提高。不過,使用C語言設計框架仍然需要大量的開發資源。最好的解決之道是,開發人員能夠使用現成的軟件,無需從頭開始設計,把開發投資降至最低。通過使用適當的設計工具,GUI設計周期可縮至幾個星期。例如,GeeseWare的GWStudio是一個預裝GUI軟件庫的Java圖形界面設計框架,為開發人員提供一個完整的人機界面(HMI)開發環境。該框架的Java引擎基于IS2T MicroEJ 技術,經過專門優化處理,能夠滿足嵌入應用的特殊要求:存儲空間、外設接口、網絡連接和低功耗都受到限制?! ?/p>
評論