基于ARM嵌入式系统GUI开发研究
扫描二维码
随时随地手机看文章
随着嵌入式系统的发展,它在软件和硬件上日趋复杂,对于人机交互的效率的要求也日渐提高,特别是一些复杂的工控设备和消费电子产品。因此,图形用户界面(GUI)就从嵌入式系统的系统程序中被独立了出来。嵌入式GUI发展至今,已经有了许多的种类,具有了强大的功能。嵌入式GUI已经成为一个成功的嵌入式系统不可缺少的组成部分[1]。本文在ARM为核心的嵌入式系统上进行了图形界面的开发,并对Windows界面进行了模拟。
1 ARM处理器
嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、对可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由以下几部分组成: 嵌入式微处理器 ;外围硬件设备;嵌入式操作系统。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。
特定的应用程序ARM(Advanced RISC Machines)微处理器是采用ARM技术知识产权(IP)核的微处理器,这种ARM核技术是由英国的ARM公司所授权。世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。ARM处理器特点:体积小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。
2 图形用户界面特征和发展趋势
2.1 图形用户界面的特征
图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。的广泛流行是当今计算机技术的重大成就之一,它极大的方便了非专业用户的使用,人们不再需要死记硬背大量的命令,而可以通过窗口、菜单方便的进行操作。图形用户界面的主要特征如下:
1、WIMP
其中W(Windows)指窗口,指用户或系统的一个工作区域。一个屏幕上可以有多个窗口。I(IcONs)指图形,系形象化的图形标志,易于人们隐喻和理解。M(Menu)指菜单,可供用户选择的功能提示。P(Pointing Devices),指鼠标器等,便于用户直接对屏幕对象进行操作。
2、用户模型
GUI采用了不少Desktop桌面办公的隐喻,是应用者共享一个直观的界面框架。由于人们熟悉办公桌的情况,因而对计算机显示的图形符号的含义容易理解,诸如:文件夹、收件箱、画笔、工作薄、钥匙及时钟等。
3、直接操作
过去的界面不仅需要记忆大量命令,而且需要制定操作对象的位置,如行号、空格数、X及Y的坐标等。采用GUI后,用户可直接对屏幕上的对象进行操作,如拖动、删除、插入以至放大和旋转等。用户执行操作后,屏幕能立即给出反馈信息或结果,因而称为所见即所得(What you see is what you get)。用视、点(鼠标)代替了记、击(键盘),给用户带来了方便。
2.2 图形用户界面的发展趋势
随着虚拟现实、科学计算可视化及多媒体技术的飞速发展,新的人机交互技术不断出现,更加自然的交互方式将逐渐为人们所重视。新一代界面的主要特征可描述如下:以用户为中心、智能化、高带宽、不限制地点、图示编程等。
3 ARM嵌入式系统GUI开发
近年来,嵌入式系统得到了飞速的发展,产品形态多种多样,由于嵌入式产品更加商品化,对图形用户界面(GUI)的要求也越来越高。
3.1 LCD及其驱动
本设计采用2.2英寸TFT液晶屏——TFT6758液晶模块,其工作电压为3.3V,内带白光LED背光灯,可以直接使用8位、16位或18位总线方式与控制器连接(因为液晶模块内部包含了HD66781和HD66783液晶控制驱动器)。在使用液晶屏时需要先添加其相应的驱动程序,点阵液晶显示器TFT6758的驱动芯片为HD66781,门驱动(Gate driver)芯片为 HD66783。
图1 TFT6758液晶模块应用电路
3.2 软件平台的选用
目前在市场上有几种发展成熟、比较有代表性的嵌入式GUI开发软件,如北京飞漫软件公司的MiniGUI、美国Century软件公司的MicroWindows、挪威Troltech公司的Qt/Embedded等,这几种GUI系统各具特色,但大部分需要在嵌入式操作系统上进行移植,这样就一定会增加时间和精力的投入,所以综合考虑各方面的因素后,使用ZLG/GUI作为此次设计的软件平台。
3.3 模拟Windows界面的设计实现
我们经常使用的Windows系统的桌面,便是一个华丽的图形用户界面,所以设计模拟了Windows的桌面的图形界面。
这个界面的设计思想是:在全屏填充一张图片,作为Windows的桌面背景图案。经过计算得到状态栏的坐标值,在液晶显示屏的下方选择绿色和蓝色填充两个矩形,作为状态栏。判断是否有键按下,若没有就继续显示桌面,有键按下就显示开始菜单。显示Windows界面流程如图2所示。模拟Windows界面在LCD上显示如图3所示。
图2 显示Windows界面流程
图3 模拟Windows界面
4 结束语
近年来,随着嵌入式技术的发展,嵌入式系统得到了飞速的发展,嵌入式设备将适用于更广阔的领域,航天、航空、军事、医学,还有与百姓生活息息相关的家电、运输、通信等等,由于嵌入式产品更加商品化,会涉及到方便用户使用的问题,对图形用户界面(GUI)的要求也越来越高,如何开发一个适合于自己硬件条件的GUI系统,成了嵌入式系统开发的一个重要工作内容。本次设计采用ZLG/GUI作为软件平台,对于复杂的应用可以采用MiniGUI等软件作为软件平台。