面向LwIP的Nios II网络驱动程序开发
扫描二维码
随时随地手机看文章
随着嵌入式系统的发展,它在软件和硬件上日趋复杂,对于人机交互的效率的要求也日渐提高,特别是一些复杂的工控设备和消费电子产品。因此,图形用户界面(GUI)就从嵌入式系统的系统程序中被独立了出来。嵌入式GUI发展至今,已经有了许多的种类,具有了强大的功能。嵌入式GUI已经成为一个成功的嵌入式系统不可缺少的组成部分[1]。本文在ARM为核心的嵌入式系统上进行了图形界面的开发,并对Windows界面进行了模拟。
1 ARM处理器
嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。[2]ARM是当前嵌入式领域使用最广泛的微处理器[3] 。ARM(Advanced RISC Machines)微处理器是采用ARM技术知识产权(IP)核的微处理器,这种ARM核技术是由英国的ARM公司所授权。世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
本次设计中使用ARM7TDMI作为嵌入式系统的内核。ARM7TDMI核是通用的32微处理器内核,采用冯•诺伊曼结构,具有高性能和低功耗的特性。ARM7TDMI使用三级流水线技术来增加处理器指令流的速度,处理器和存储器的所有部分都可连续工作。通常在执行一条指令的同时就对下一条指令进行译码,并将第三条指令从存储器中取出[4]。ARM结构是基于精简指令集计算机原理而设计的,指令集和相关的译码机制比复杂指令集计算机要简单得多。
2 图形用户界面特征和发展趋势
2.1 图形用户界面的特征
图形用户界面(Graphic User InteRFace,GUI)的广泛流行是当今计算机技术的重大成就之一,它极大的方便了非专业用户的使用,人们不再需要死记硬背大量的命令,而可以通过窗口、菜单方便的进行操作。“Visual”已成为当前流行的形容词,如Visual Basic、Visual C++等。图形用户界面的主要特征如下[5]:
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液晶控制驱动器)。为了得到更高的数据传输速率,设计电路时采用16位总线接口,按照HD66781芯片数据手册说明,需要将IM3和IM0引脚接0电平,16位数据分别为DB17~DB10和DB8~DB1引脚,未使用的DB0和DB9引脚接地,电路连接如图1所示[6]。在使用液晶屏时需要先添加其相应的驱动程序,点阵液晶显示器TFT6758的驱动芯片为HD66781,门驱动(Gate driver)芯片为 HD66783。
3.2 软件平台的选用
目前在市场上有几种发展成熟、比较有代表性的嵌入式GUI开发软件,如北京飞漫软件公司的MiniGUI、美国Century软件公司的MicroWindows、挪威Troltech公司的Qt/Embedded等,这几种GUI系统各具特色,但大部分需要在嵌入式操作系统上进行移植,这样就一定会增加时间和精力的投入,所以综合考虑各方面的因素后,使用ZLG/GUI作为此次设计的软件平台。
ZLG/GUI是一种占用资源小、使用方便的嵌入式系统简易的图形用户界面软件,不需要在嵌入式操作系统上移植就能直接使用,提供了最基本的绘图功能,具有一些较高级的接口功能,支持单色、灰度、伪彩、真彩等图形显示设备,简单易学。
[!--empirenews.page--]3.3 模拟Windows界面的设计实现
我们经常使用的Windows系统的桌面,便是一个华丽的图形用户界面,所以设计模拟了Windows的桌面的图形界面。
这个界面的设计思想是:在全屏填充一张图片,作为Windows的桌面背景图案。经过计算得到状态栏的坐标值,在液晶显示屏的下方选择绿色和蓝色填充两个矩形,作为状态栏。仍然使用填充矩形函数做出开始菜单的背景色。在相应的地方通过计算获得汉字的显示坐标值,在相应的位置显示汉字。判断是否有键按下,若没有就继续显示桌面,有键按下就显示开始菜单。显示Windows界面流程如图2所示。模拟Windows界面在LCD上显示如图3所示。
图2 显示Windows界面流程
图3 模拟Windows界面
4 结束语
近年来,随着嵌入式技术的发展,嵌入式系统得到了飞速的发展,嵌入式设备将适用于更广阔的领域,航天、航空、军事、医学,还有与百姓生活息息相关的家电、运输、通信等等,由于嵌入式产品更加商品化,会涉及到方便用户使用的问题,对图形用户界面(GUI)的要求也越来越高,如何开发一个适合于自己硬件条件的GUI系统,成了嵌入式系统开发的一个重要工作内容。本次设计采用ZLG/GUI作为软件平台,对于复杂的应用可以采用MiniGUI等软件作为软件平台。
本文作者创新点: 利用ZLG/GUI作为软件平台,开发出了类windows的图形用户界面,为嵌入式系统的GUI开发提供一种简便、低成本、可行的解决方案。