由於近幾年來在智慧型手機使用體驗的推波助瀾下,市場上對於人機介面(HMI)的需求便不斷的增加。舉凡門禁控制、居家生活、建築物自動化、醫療、工業等應用,皆都大量採用了人機介面。其主要的原因不外乎人機介面對於這些嵌入式應用所帶來的創新與實質功能表現,加分效果是非常顯著的。圖形使用者介面(GUI)在整個人機介面裡是最能得到使用者體驗的反饋,所以相形之下就顯現出圖形使用者介面的重要性。
使用者在實現嵌入式圖形設計時必須對於軟、硬體需求做以下的考量:
硬體層面:
- MCU具有專屬圖形處理單元以減低核心負載
- 高解析度LCD觸控螢幕的驅動
- 高效能緩衝記憶體
軟體層面:
- MCU IDE開發環境與SDK
- GUI 設計開發環境與套件
恩智浦半導體(NXP Semiconductors)所推出的i.MX RT1050跨界處理器所使用的核心為最高執行速度可達600MHz的ARM Cortex-M7。並針對圖形使用者介面提供了512KB SRAM、8/16位元外部記憶體介面(SDRAM/SRAM)以及2D圖形加速引擎。
TARA System為專業主流GUI軟體開發提供商,其提供了Embedded Wizard Studio開發環境與各個不同的Platform Package解決方案。
結合i.MX RT1050-EVK與 Embedded Wizard的軟、硬體優勢,能讓開發者輕鬆地實現高效能嵌入式圖形設計。
i.MX RT1050 晶片內建的顯示控制器(eLCDIF)支援 24-bit Parallel RGB mode,最高解析度達1280x720(HD)。
在i.MX RT1050 EVK上提供了16-bit data bus的LCD介面與Touch的介面,外加NXP提供搭配開發板的4.3吋觸控式LCD螢幕,解析度為480x272的解析度。所以在這裡就以 480x272 display@60 RGB565的格式來呈現嵌入式圖形設計。
Embedded Wizard主要特點:
- Drag-Drop 容易操作的開發環境 IDE
- 使用WYSIWYG ( WHAT-YOU-SEE-IS-WHAT-YOU-GET) 進行視覺化程式設計,並實現UI構想的設計
- 簡單的編程模型包括物件導向程式設計支持,產生ANSI C
- 硬體平台的GUI邏輯實現
- 現有的小部件,效果(旋轉,縮放和透視轉換,每個都具有高質量和低質量),動畫,設計排版功能。
- 相容於許多輸入方式:(多)觸碰,透過GPIO的實體按鍵,語音控制,......
- 不需要(RT)OS (工作任務,信號量等),GUI可以在裸機UNICODE底層上運行
- 支援各種顏色深度/格式:RGBA8888,RGB888,RGBA4444,RGB565,Index8,LumA44
- 支援動畫和3D效果
- 可選支持外部TrueType字體跑圖引擎(例如FreeType)
Embedded Wizard Project Configuration:
Composer
透過Embedded Wizard Studio的視覺輔助編程的開發環境,使用者可以透過拖放滑鼠方式來輕鬆安排軟體元件與其連接。而這個在Embedded Wizard中間的工作區塊被稱為作曲家(Composer)。
Profile Configuration
基於所使用的是i.MX RT1050EVK與4.3吋觸控螢幕,在PlatformPackage的部分選擇了”NXP.iMX_RT.RGB565”的色彩格式。而所產生的code則存放在Application\GeneratedCode的目錄。
配合使用的panel為4.3吋 480x272 TFT LCD,所以ScreenSize的部分設成相對應的<480,272>
“Accelerator” brick
建立了”Accelerator”元件來控制整個UI application,其同時也包含所有需要的資源 ? ”字型資源”以及”位圖資源(bitmap)”。Embedded Wizard 使用了“bitmap resource”來展現圖片,支援PNG,JPG,GIF,BMP、MJPEG等格式。在這邊我們選用五張160x160 JPG格式與七張240x240 PNG格式的圖片,Application 透過class “GraphicsFactory”持續不間斷地產生繪圖指令與動畫。
Code Generation
設計完成後,使用Embedded Wizard的”BUILD/Build this profile”或是”F8”快速鍵將設計進行優化並將”字型”與”圖片”轉換成適用於i.MX RT1050的格式。
Compiler Setting
Embedded Wizard 預設的Compiler為GCC ARM,也支援其他的compiler,如NXP MCUXpresso、IAR Embedded Workbench、Keil MDK-ARM。這邊我們將PostProcess 設到使用免費的MCUXpresso。
Import as MCUXpresso project
將Embedded Wizard所創建的project匯入到MCUXpresso。
Building and Flashing
將編譯過的Application使用GUI Flash Tool燒錄到Flash。
►場景應用圖
►產品實體圖
►展示板照片
►方案方塊圖
►核心技術優勢
== i.MX RT1050 == 採⽤⾼效能ARM Cortex-M7核⼼與32K/32K L1的I/D-Cache,最⾼操作頻率達600MHz 擁有512KB on-chip RAM,可彈性配置成TCM 或是⼀般功能RAM ⽀援8/16-bit 外部SDRAM,最⾼操作速度達166MHz 內建的PMU(電源管理單元)整合四個LDO regulators,簡化了外部電源設計 == Embedded Wizard == Drag-Drop 容易操作的開發環境 IDE 使用WYSIWYG ( WHAT-YOU-SEE-IS-WHAT-YOU-GET) 進行視覺化程式設計,並實現UI構想的設計 簡單的編程模型包括物件導向程式設計支持,產生ANSI C 預設Frame view為alpha-blended,可透過參數調整透明度 透過Multi-frame bitmap resources的支援來實現動畫
►方案規格
== MIMXRT1050-EVK開發板 == 處理器: MIMXRT1052DVL6B 記憶體: 256Mb SDRAM 開機裝置: 512Mb Hyper Flash 或是 64Mb QSPI Flash 顯⽰介⾯: Parallel LCD連接器 USB: USB 2.0 OTG與Host 連接器 == TARA Systems GmbH== Embedded Wizard Studio Free or Embedded Wizard Studio Pro Embedded Wizard iMX_RT Platform Package Embedded Wizard Build Environment for IMXRT1050-EVKB