基于Nios II自助点菜系统的μC/GUI应用
扫描二维码
随时随地手机看文章
摘 要: 结合自助点菜系统,介绍了移植μC/GUI图形库到软核Nios II平台的方法,研究了μC/GUI与输入外设的接口原理,实现触摸屏操作。采用消息响应机制,实现窗口、控件和对话框的触摸应用,并深入分析了μC/GUI基于嵌入式操作系统μC/OS II的工作方式,将设计划分为多个任务操作运行,在触摸屏上完成JPEG图片显示、文字介绍、菜单浏览等功能。
关键词: 移植;μC/GUI;触摸屏;控件;μC/OS II
随着嵌入式系统在各领域的广泛应用,对图形化人机交互界面的需求逐渐增加。由于嵌入式系统硬件资源有限,从而要求图形用户界面具有轻型、占用资源少、高性能等特点。μC/GUI是一种用于嵌入式应用的Windows风格图形支持软件,它为任何使用图形LCD的应用提供一个有效的不依赖于处理器和LCD控制器的图形用户接口,工作在单任务或多任务系统环境下,适用于使用任何LCD控制和任何CPU尺寸的物理或虚拟显示。因此,掌握μC/GUI在嵌入式系统中的应用极为重要。移植μC/GUI到Nios II嵌入式软核处理器[1]成了最佳选择。本文根据自助点菜系统的实际应用,详细介绍了μC/GUI移植方法,并在融合触摸屏操作的基础上实现控件使用和操作系统开发。
1 硬件
系统中顾客使用终端触摸屏浏览服务信息并实现相关操作,通过无线局域网络和前台通信。各个点菜终端作为独立系统工作,所有数据传到前台上位机协调处理。本文仅介绍与μC/GUI相关的点菜终端构成部分。终端硬件框图如图1所示,利用片上可编程系统(SoPC)技术将Nios II处理器、外设接口控制器等功能模块集成到FPGA,构成可编程片上系统[2]。SDRAM、Flash控制器用于处理程序和数据的存储;512 KB SRAM作为图像数据缓存区;FPGA内部自定义LTM控制器和SD卡控制器模块,辅助软核工作,操作触摸屏并读取SD卡内的JPEG图片;UART接口用于和移植到CC2430的ZigBee模块通信;采用定时器以嵌入?滋C/OS II操作系统。
触摸显示屏是4.3英寸数字LCD触碰面板TRDB-LTM,长宽比为15:9,支持24 bit并行RGB接口,能通过内置模数转换器(AD7843)将触碰点X/Y坐标转换成对应数字信息。触摸屏物理分辨率为800×480,支持16 bit RGB565格式。
2 μC/GUI移植
本系统的用户界面采用?滋C/GUI,其最新版本是3.98,其中一些组件不太完整。根据点菜系统使用需求,特添加3.94版本的JPEG模块来显示图片数据。ucgui398StartConfig和ucgui398StartGUI是源码包最重要的两个文件夹,其中包括各种配置文件、μC/GUI内核文件、与字体相关的代码文件、LCD驱动代码文件、μC/GUI支持的控件代码以及视窗管理部分代码等[3]。