嵌入式系统广泛应用在通信终端、车载设备、工业控制等领域。随着嵌入式技术的发展,对嵌入式系统图形用户界面(Graphic User Interface,GUI)的要求逐步提高。GUI是用户和嵌入式设备之间的接口,是嵌入式系统的重要组成部分,它通过窗口和菜单等图形化操作方式,极大地方便了用户对嵌入式产品的使用。GUI的好坏将直接影响嵌入式产品的普及和使用。GUI简洁、方便、美观的嵌入式产品具有广阔的市场应用前景。
嵌入式系统的资源是比较紧张的,多数嵌入式系统没有个人电脑所具有的硬件资源和图形显示处理资源。一个嵌入式系统能够显示何种风格的界面,是由嵌入式系统的功能需求和本身的图形显示处理机制决定的。因此不同嵌入式系统的GUI设计是不同的,它综合了硬件和软件两方面的考虑,而不像在个人电脑上开发界面时多数情况下只需考虑软件设计。
本文以车载影音导航系统为例,介绍了一种嵌入式系统图形用户界面的设计方法。首先介绍了系统对图形界面的需求,然后给出了实现系统图形界面的硬件和软件设计方案。
1 功能需求
本文中的车载影音导航系统集导航、DVD播放、收音、倒车雷达显示、倒车后视等多功能于一体,采用图形化界面显示。为了方便用户使用,系统采用按键和触摸屏结合的操作方式。
本系统对图形界面的功能需求主要分为两大类。
一类是单纯的用户界面操作,如图1所示。这一类界面总体上是由窗口和按钮组成,整个操作界面可以看成是一个窗口,窗口上有可供用户操作的各种按钮。从实现上看,图形界面的窗口实际上是一个背景图片,每个按钮则至少由两张图片组成的:一张图片用于表示正常显示的按钮,一张图片用于表示选中时的按钮显示。那么整个界面就是由窗口图片和按钮图片组合而成,最终送到显示终端上的是一副完整拼接的图片。图1中,“设置”按钮显示当前用户点中了该按钮。
另一类图形界面是在有播放视频(如DVD播放)时,叠加在播放视频上的按钮,如图2所示。从实现上看,这类图形界面上的每个按钮仍然至少由两张图片组成。但是不同的是,这类图形界面最终送到显示终端上的内容由图片和DVD视频两部分叠加而成。大多数DVD机芯输出的视频信号是CVBS(复合视频信号)或 YC,而图片信息在系统中是以RGB的形式出现的,那么要实现这类图形界面就需要对DVD视频进行解码,解码后和图片的RGB信息进行叠加再输出到显示终端。图2所示为DVD播放时,提供给用户的操作按钮。
2 硬件设计方案
为了实现本系统中的图形用户界面,采用雅马哈公司的图像处理芯片YGV629。同时为了满足图像处理的要求,系统的MCU使用意法半导体公司基于ARM7TDMI-S的32位RISC CPU STR750,STR750主频最高可达60 MHz,具有16 KB的RAM,最大片内Flash为256 KB。
2.1 YGV629
YGV629是一款图像处理芯片,通过MCU控制其读取存储在Flash或ROM中的图片数据,将数据处理成RGB信号输出。有两种RGB信号输出:模拟 RGB和数字RGB。输出的行场时序有两种方式,一种是YGV629自身产生的时序关系,此时芯片工作在内同步模式下;另一种是根据外部输入的视频时序来生成输出的视频时序关系,此时芯片工作在外同步模式下。YGV629可以产生的终端显示时序包括NTSC、PAL、VGA、QVGA、SVGA等,因此可以支持多种显示终端设备。
YGV629对图形界面中图片的管理是通过图层的方式,每个图片占用1个图层,最多可以有341个图层,输出图片的RGB由这341个图层叠加而成。每个图层在整屏上的显示由12字节的属性数据确定,这些属性数据决定每个图层在整屏上的显示位置、透明色、缩放比例、Alpha通道等。