当前位置:首页 > 工业控制 > 电子设计自动化

 随着嵌入式系统的发展,它在软件和硬件上日趋复杂,对于人机交互的效率的要求也日渐提高,特别是一些复杂的工控设备和消费电子产品。因此,图形用户界面(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是一种占用资源小、使用方便的嵌入式系统简易的图形用户界面软件,不需要在嵌入式操作系统上移植就能直接使用,提供了最基本的绘图功能,具有一些较高级的接口功能,支持单色、灰度、伪彩、真彩等图形显示设备,简单易学。

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开发提供一种简便、低成本、可行的解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

深圳2022年10月8日 /美通社/ -- 日前,TUV南德受邀参与亚马逊全球个人防护设备(PPE)合规管理线上峰会,为企业分享欧盟、英国、美国及日本的个人防护设备...

关键字: 亚马逊 防护 BSP NIOS

(全球TMT2022年7月28日讯)凯睿德制造宣布与企业开源解决方案提供商红帽(Red Hat)达成战略合作,为工业领域的更大创新铺平道路,并提供解决方案以支持基于开源技术的 MES 部署。 红帽在从数据...

关键字: 应用程序 开源 数据中心 程序开发

本文内容来源于麦克泰技术RISC-V指令集架构和生态系统正在全球范围内快速崛起,RISC-V处理器已经在嵌入式与物联网市场中崭露头角,开发者生态日渐成熟。面对风起云涌的处理器市场,兆易创新与麦克泰软件诚邀您9月29日上午...

关键字: 物联网 RISC-V 程序开发

摘 要:为了更好地实现物联网或工业控制领域中传感器网络设备的远程监控功能,本文设计了一种基于FPGA的嵌入式网关系统的随机方法。该设计通过构建可编程片上系统 (SOPC),并利用Nios II嵌入式系统通过串口通信来实现...

关键字: 嵌入式网关 FPGA NIOS II COS-II操作系统 SOPC

摘要:针对工业控制领域中对多串口通信的需求,采用SOPC技术并利用FPGA的可编程性,给出了一个基于NiosII的30路串口数据转发通信处理机的设计方法,同时定义了相应的数据通信协议,从而实现了30路下位机与上位机的串口...

关键字: 多串口通信 SOPC FPGA NIOS

  本文主要搭建一个多生理参数测量系统的数据处理平台,在FPGA中嵌入一个32位Nios II软核处理器,用于控制数据的传输、存储及显示。主要完成了此数据处理平台硬件系统的定制及编写相应程序,以控制数

关键字: NIOS ii 生理

  lwIP是瑞士计算机科学院(Swedish InsTItute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。L

关键字: lwip 移植

  lwip定义   Lwip,light weight IP;是由Adam Dunkels 开发的一个小型开源的TCP/IP协议栈;目前已经为全球共同开发的开源协议;支持TCPIP协议

关键字: ip地址 lwip

随着网络威胁变得更加强大和普遍,组织时刻检查应用程序中的安全漏洞至关重要。 应用程序安全性是通过查找、修复和增强应用程序安全性来使应用程序更安全的过程。这大部分发生在其开发阶段,但其中包

关键字: 应用程序 AC CODE 程序开发

区块链技术一直在颠复和传播数据的民主化。这促进了它的使用。区块链范式已经从金融用途转向了应用程序开发用途。 在使用区块链技术的应用中,游戏应用是使用区块链技术开发最为广泛的应用。比特币通

关键字: 区块链 应用程序 程序开发 节点
关闭
关闭