引言
传统上,家电人机接口 (HMI) 由按键和旋钮等机械器件以及显示指示器组成,这些指示器包括发光二极管(LED) 和真空荧光显示屏(VFD) 等。现在,家电和消费类产品市场发生了很大变化。随着液晶显示屏(LCD)技术在电视、计算机、汽车和移动设备上的广泛应用,其成本不断下降,带有交互式图形用户接口(GUI)功能的LCD 成为目前大部分家电中传统“机械式” HMI 的高性价比替代方案。
HMI 在家电中的作用
消费者总是希望有更简单的方式实现和家庭中大量家电的交互,显示屏,特别是数字显示HMI,在这方面的作用越来越重要。最近, Apple iPhone 等产品进一步推动了向图形交互产品的发展。iPhone 从根本上重新定义了消费者对大批量市场产品的预期,导致现在的消费者习惯于触摸虚拟按键,在屏幕上滑动手指来调整设置,甚至使用手势来代替复杂的HMI 动作。此外,消费者还希望产品是“智能”的,能够轻松获得丰富的信息,不出错,在很多情况下,消费者都不用打开手册寻找帮助。
在当今竞争激烈的消费类产品和家电市场上,生产商必须以最小的成本突出产品优势,吸引消费者,从而提高市场份额。一项新技术一般总是首先应用在高端产品上,然后过渡到中端产品,最后几乎成为所有产品的标准功能。最近新出现的技术包括电冰箱和网络家电使用的集成HDTV,以及洗衣机和甩干机的智能电源方案等( 图1)。
图1. 具有能源监控新功能的洗衣机实例
这些功能都有一个共同点:它们需要更高级的显示技术来实现人机交互。在很多情况下,通过触摸屏来实现这一点。OEM 采用触摸屏来实现对现代家电的平滑控制,突出自己的品牌优势,满足当前消费者的需求。使用数字显示屏技术替代机械HMI 最终加速了开发,而且能够重新利用体系结构,从长远看,由于GUI 软件和可编程逻辑器件(PLD) 技术的进步,设计成本会越来越低。家电触摸屏是目前消费类产品的必然方向,不断推动“数字生活方式”市场的发展。
触摸屏技术
触摸屏这种显示设备能够探测到显示区域一定范围内“触点”的出现及其位置。这一般通过手指或者塑料触摸笔来实现。最新的触摸技术使用“多触点”传感技术,一个人使用两个手指来操作一个目标,例如Apple iPhone,或者多人在一个屏幕上相互协作,进行交互,例如微软的表面计算技术。
触摸技术发明于上个世纪60 年代后期,最先应用于企业研究实验室计算机辅助学习终端以及商用电话系统中。然而,这一技术并没有得到广泛的市场应用,直到最近某些产品的推出,这一技术才逐渐流行起来,主要应用在移动电话市场。消费者最先接触这一技术是在个人数字助理(PDA) 上,例如Palm Pilot,而随着Apple iPhone 的出现,对这一技术的需求越来越大。Apple iPhone 无缝结合了触摸交互功能和引人注目的动态图形技术。
触摸屏主要由三种集成组件构成:传感器、模块和显示屏。触摸屏传感器是产品的关键组成,它能够找到手指或者触摸笔的触摸位置,然后与底层系统进行通信。触摸屏模块包括触摸屏传感器、控制器IC 和软件。触摸屏含有集成了显示面板的模块。
目前使用的触摸屏传感器有各种类型的,包括应变、光学成像、散射信号、声脉冲、表面声波、电容和电阻传感器等。其中,电阻传感器由于成本低,是目前应用最广泛的,三分之二的触摸屏元件生产商生产基于电阻传感器的触摸屏。电阻触摸屏不受水、光或者灰尘等外部因素的影响,能够实现分辨率较高的图像, 支持精确的小目标移动。电阻触摸屏使用铟锡氧化物(ITO) 玻璃或者显示屏表面塑料薄膜上的控制器来产生触摸连接。在激活触摸屏时,手指或者触摸笔按压塑料薄膜和基底之间的气隙,从而在ITO 薄膜和玻璃之间产生电压差。 控制器IC 计算触摸位置,确定用户在传感器上的实际位置,然后,底层应用软件利用这一信息确定用户意图,完成相应的动作。
采用FPGA 实现触摸屏
具有较强交互功能GUI 的发展推动了对高性能处理器的需求。然而,目前市场上的很多低成本微控制器单元(MCU) 不能满足在LCD 屏上实现生动的交互式GUI 的性能需求。而且,现有的MCU 不包括对外设、图形加速或者LCD 显示屏的片内支持,因此,将所有分立元件组装起来后,其总成本非常高。
FPGA 器件由逻辑单元阵列组成,可以配置完成各种功能,相对于MCU,其性能和灵活性更强,是LCD 触摸屏更好的选择方案。结合嵌入式软核处理器, FPGA 很容易支持实现MCU 通用处理功能以及其他外部器件功能。这些器件能够动态适应不同的屏幕尺寸、图像分辨率、外设和GUI,非常灵活。
由于具有可编程能力, FPGA 以前主要用于验证设计概念,构建最初的产品原型。然而,随着半导体亚微米技术的发展,低成本FPGA,例如Altera? Cyclone? 产品系列, 广泛应用在大量的消费类电子产品中,包括数字电视、机顶盒以及DVD 解码器等。这一趋势的自然发展导致FPGA 在家电设计中得到进一步应用。
图2 所示为65-nm 低功耗、低成本Cyclone III FPGA 实现的LCD 触摸屏。Cyclone III FPGA 具有内置LCD控制器和触摸屏接口,因此,不需要其他的LCD 控制器和图形处理器,否则,实现这类设计还得采用这些器件。
图2. 采用Cyclone III FPGA 实现的触摸屏
采用下一代技术简化GUI 开发
传统的GUI 应用程序开发很容易出错,需要大量的投入,OEM 宣称高达70%的质量问题来自GUI。这些缺点主要来源于效率低下的工作流程、时间和成本压力导致的折衷方案以及在嵌入式系统上开发非常复杂的高性能图形软件。
GUI 设计和应用程序的开发一般由设计团队完成,该团队与软件工程团队分开。软件工程团队接到设计文档后,手写编程来进行开发。然后,把结果送到质量检查组,与最初的设计规范进行对比。找到不对的地方,标记为缺陷,返回到软件工程团队,在下一次软件开发中进行改正。这一开发/ 质量检查过程( 图3) 不断重复,直到软件和设计文档之间达到匹配,彼此可接受。但是,可能需要进行很多折衷考虑,最终的应用程序和GUI 不符合最初的设计规范。由于时间、成本压力以及实际的平台性能,一般很难解决剩余问题,而将其简单地作为已知问题,软件也就随之发布。
图3. 传统的软件开发工作流程
设计团队即使是改变文本位置等很小的细节,都会导致软件工程的变化,有可能出现系统不稳定。对于每一次GUI 修改,不论大小,至少需要完成一个完整的设计、软件工程和测试周期,以确保质量结果,避免出现意想不到的复杂的代码变化。最初版本完成后,对软件很小的改动以推出不同版本都需要进行大量的测试。最终过渡到新的低成本硬件平台意味着软件工程团队需要针对新的软件应用程序接口(API) 来重复整个过程,放弃了在以前产品上的所有工作。结果,他们花费大量的时间来推出后续产品,在很多情况下,无法保证GUI 外观和样式的连续性,甚至丢掉了这一特性。
虽然很难彻底消除开发过程的低效问题,但是,现在可以使用工具和全包技术解决方案来缩短重复性的开发周期,在嵌入式系统设计中实现更好的图形性能,得到不会过时的设计,并且很容易在硬件系列之间移植这些设计。
GUI 开发方法
有很多方法实现GUI 开发。手写代码是开发图形应用程序最常用的方法,也是成本最高的方法。它需要较长的开发时间,很小的GUI 变化都非常繁琐,针对每一器件实现都需要从头开始重新编写代码。第二种方法是代码发生器工具,它提供使用方便的接口来构建GUI,定义行为,但是,它产生通用代码,需要进行很多硬件修改才能使其运行。第三种方法使用二级脚本语言以及解释引擎来处理运行时脚本,需要大量的平台资源,很容易出现严重的性能问题和错误。
第四种方法称为二进制GUI 方法,它结合了专业GUI 构建工具,一套强大的软件API,一些手写代码以及高性能嵌入式图形引擎。设计人员利用基于PC 的工具可以开发象素精度很高的GUI,将其输出到一个二进制数据文件。然后,将逐象素设计从设计人员的桌面直接传送给开发人员,不需要进行其他的转换。开发人员然后利用先进的高性能GUI 引擎以及相关的API 来处理并显示存储在二进制数据文件中的图形数据。这一方法不但占用的平台资源少,而且还允许进一步修改生成的GUI,不需要改动代码和逻辑,或者进行很少的改动即可。而且,在模型之间,甚至在不同的硬件设计之间,今后都很容易对应用程序进行修改,重新使用。
“节能意识”应用平台
为帮助生产商熟悉基于FPGA 的 HMI 解决方案在家电应用中的优势, Altera、Echelon 和Altia 面向高质量白色家电市场推出了节能意识应用平台。这一全集成的参考硬件平台包括Altera Nios? 嵌入式评估套件(NEEK),与其连接的是Echelon 电力线智能收发器板,一个4.3" LCD 触摸屏模块,以及显示套件内部的玻璃背板。
平台的主要构成是带有Altera Nios II 嵌入式软核处理器的Altera Cyclone III FPGA。这些器件控制所有系统软件,包括用于电力线联网的Echelon ShortStack? API,以及用于HMI 和LCD 触摸屏控制的Altia 高性能GUI 引擎和工具等。 含有内置LCD 控制器、触摸屏接口、内部视频流水线以及集成高性能GUI 引擎和工具,
Cyclone III FPGA 帮助系统设计人员避免了使用外部LCD 驱动器和其他图形元件,降低了材料 (BOM) 成本,缩短了产品面市时间。在家电市场上,从机械HMI 过渡到新一代数字LCD 触摸屏HMI 时,这一系统设计方法有明显的优势。
NEEK LCD 控制器
图4 所示为实现NEEK LCD 控制器设计外设和接口的高级结构图。Cyclone III FPGA 的视频流水线、LCD触摸屏模块以及MAX? II CPLD 是NEEK LCD 控制器的主要组成。
图4. NEEK LCD 控制器子系统
视频流水线
视频流水线负责驱动LCD 模块数据总线上的数据信号,读取Nios II 处理器产生的帧缓冲数据。一组专用Avalon? 流(ST) 外设实现了数据单元在不同宽度总线之间的转换,在这一例子中,是24 位红色、绿色和蓝色(RGB) 象素输入流至8 位象素输出流的转换,分别传送每个RGB 颜色分量。在模块数据总线上,视频同步发生器外设将控制和数据信号进行排序,向LCD 触摸屏模块发送象素数据。
LCD 触摸屏模块
LCD 触摸屏模块包括三个主要组件:
■ LCD 图形数据接口,它包括一个24 位RGB 数据总线和某些控制信号,将视频数据传送给LCD 模块。
■ 触摸屏接口包括串行外设接口(SPI) 和并行I/O (PIO) 外设。SPI 与模拟器件公司的AD7843 触摸屏数字转换器芯片进行通信,告知出现“触摸”事件,一条PIO 线采集中断事件, Nios II 处理器运行驱动所有外设的软件。
■ LCD 控制器接口通过通用PIO 外设的简单三线接口实现控制器芯片通信协议,发送并接收数据,对模块进行配置。Nios II 处理器上运行的硬件抽象层(HAL) 软件驱动程序对PIO 外设进行控制。
MAX II CPLD
MAX II CPLD 提供Cyclone III FPGA 与其连接外设的2.5V 输入和3.3V 输出之 间的电压转换。它还可以用作FPGA和LCD模块之间的颜色解复用器 :它接收来自FPGA的8 位时分复用(TDM) 流,将其转换回24 位并行RGB 格式,显示在LCD 模块上。
1 注意,设计人员如果不需要电压转换或者复用/ 解复用功能,可以在LCD 控制器设计中去掉MAX IICPLD。
f 除了NEEK 硬件,Altera 还提供触摸屏软件API、LCD 模块软件API 和视频流水线子系统API 源代码。关于NEEK LCD 控制器及其硬件和软件组成的详细信息,请参考 AN 527:实现LCD 控制器。
快速实现GUI 开发
Altia的GUI开发和代码生成软件套装为下一代家电开发功能强大的GUI提供了流畅高效的方法。可以从艺术家的图画或者从经过预构建的库组件中进行选择,建立原型。Altia 设计原型能够集成到仿真模型中,开发团队、经理、领域专家和客户可以共享这些原型。
完成GUI 之后,使用Altia 的DeepScreen 将原型转换为C 代码。这一应用程序利用Nios II 处理器,针对所有图形操作产生FPGA 代码。如图5 所示,开发人员利用软件工具,无缝产生漂亮的彩色图像,这些图像轮廓鲜明,支持矢量目标、位图、文本、alpha 混合以及缩放和旋转等转换功能。
图5. Altia 设计reen... 实现
在GUI 开发过程中,使用工具包具有一系列优势。Altia 设计使用户能够使用多种图形工具来开发定制图像。在这一设计环境中, 不需要编程便可以建立图像。开发团队采用现有的和建模工具来集成原型,很容易向用户和经理进行演示,在开发过程中获得很有价值的反馈信息,从而避免了由于错误的理解发布的规范而导致重新进行设计。原型为正确实现产品外观和功能提供了明确的方法。很容易改动原型,节省时间,不需要进行昂贵的硬件试制。
DeepScreen 代码发生器产生在开发过程中使用的相同图像,因此,管理人员和用户在最终产品中得到完全相同的GUI,并且在开发过程中得到了验证。DeepScreen 几分钟就可以产生图像代码,而不是几个月的时间,因此大大简化了GUI 代码的产生。图像代码可以在不同的产品和模型中实现,因此,生产商获得了在所有产品代中使用一个GUI 的成本优势。这些代码可以在低功耗和高功耗硬件中实现。
总结图形HMI 逐渐成为消费类产品中必备的功能。今天, LCD 触摸屏在家电市场上迅速得到了应用。随着Apple iPhone 等产品的流行,LCD 屏幕的成本显著降低,具有生动的GUI 特性的触摸控制被认为是一种高端功能。Altera、Altia 和Echelon 联合开发的节能意识应用平台是革命性的高性价比方案,在家电中实现了
最现代的HMI 功能。这一独特的平台采用了一系列技术,通过以下方法,降低BOM 总成本,缩短开发周期。
■ 避免采用外部图形器件:以前,开发人员需要在基于MCU 的家电设计中加入外部LCD 控制器和图形驱动器,实现触摸屏显示功能。采用Cyclone III FPGA 和Nios II 嵌入式处理器后,外部元件集成在一个封装中,从而降低了系统BOM 成本,提高了设计集成的灵活性。
■ 提高芯片设计的灵活性:由于FPGA 具有内在的可编程特性,因此,家电开发人员可以增加新功能,将外设集成到内核芯片中,甚至能够解决硬件质量问题,不会影响产品的硬件成本。
■ 降低GUI 开发成本:Altia GUI 开发平台缩短了软件开发时间,降低了总成本,显著改变了应用GUI 的外观和样式。
■ 实现低成本产品线的多样化:使用表层技术、获得专利的文本表示以及成熟的本地化工具,采用单一ROM 镜像实现了多品牌、多模型GUI,突出了产品优势。
(转载)