基于NXP i.MX RT1050及Embedded Wizard的高分辨率人机界面方案

由于近几年来在智能手机使用体验的推波助澜下,市场上对于人机界面(HMI)的需求便不断的增加。举凡门禁控制、居家生活、建筑物自动化、医疗、工业等应用,皆都大量采用了人机界面。其主要的原因不外乎人机界面对于这些嵌入式应用所带来的创新与实质功能表现,加分效果是非常显著的。图形使用者界面(GUI)在整个人机界面里是最能得到使用者体验的反馈,所以相形之下就显现出图形使用者界面的重要性。

使用者在实现嵌入式图形设计时必须对于软、硬体需求做以下的考量:

硬体层面:

  1. MCU具有专属图形处理单元以减低核心负载
  2. 高分辨率LCD触控萤幕的驱动
  3. 高效能缓冲记忆体

软体层面:

  1. MCU IDE开发环境与SDK
  2. 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。



场景应用图

sceneryUrl

产品实体图

imgUrl