在嵌入式应用中引入用户界面(上)
设备厂商意识到,除消费电子产品外,触摸屏GUI可让很多其它嵌入式系统增加产品价值。传统的开关按钮式界面很容易出现机械部件故障,电容式触摸屏不仅可实现更可靠的用户界面,还能为设备厂商提供更高的设计灵活性和功能扩展性。
本文引用地址://www.cazqn.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 技术,经过专门优化处理,能够满足嵌入应用的特殊要求:存储空间、外设接口、网络连接和低功耗都受到限制。
评论