基于NiosⅡ嵌入式平台实现μC/GUI在便携式医疗监护仪上的移植

2012-02-08 20:38:42来源: EDN

  便携式医疗监护仪已成为人们日常生活中不可缺少的一部分。便携式设备是由硬件与软件紧凑组合的一个单元模块,是一种体积小、智能化程度高、功能全、使用灵活、操作方便的便携机,适合家庭使用、外出携带等用途。为了使便携式心电监护仪实现友好的人机交互和更加方便的显示,这里提出一种GUI界面系统设计,就是在基于NiosⅡ处理器的嵌入式平台上实现μC/GUI的移植,使之实现系统功能。

1 μC/GUI的系统移植

  1.1 μC/GUI简介及可移植性分析

  μC/GUI是Micrium公司开发的通用的嵌入式图形用户界面软件,其中图形用户接口GUI(Graphical User Interface)。该界面软件被设计用于为任何使用一个图形LCD的应用提供一个有效的不依赖于处理器和LCD控制器的图形用户接口。它能工作于单任务或多任务的系统环境下。μC/GUI适用于使用任何LCD控制器和CPU的任何尺寸的物理和虚拟显示,具有源代码开放及模块化设计的特点。

  μC/GUI的代码全部用ANSI的C语言编写的,具有很强的移植性。由于μC/GUI采用分层结构,即具有驱动接口层和应用层,因此可方便地移植到各种 CPU下使用。μC/GUI对各类图像LCD显示器具有良好的支持,并且有常见的2D图形库和窗口管理功能,而且消耗较少的系统资源,占用RAM和ROM 的空间很小。在典型的应用中,μC/GUI需要的资源如表1所示。由表1可见,运行μC/GUI需要的系统资源不是很多,并支持几乎所有类型的CPU与大多数的LCD模块,μC/GUI的源代码规模适中,移植过程中可将不需要的代码进行剔除,而且结构层次清晰,因此适合用于嵌入式系统中。

  1.2 μC/GUI移植原理

  嵌入式用户图形界面系统μC/GUI与嵌入式实时操作系统μC/OS-Ⅱ都是美国Micrium公司产品,μC/GUI能更轻易地在 μC/OS-Ⅱ上应用,实现与μC/0S-Ⅱ的无缝结合。在NiosⅡ嵌入式系统中,Altera公司已经将μC/OS-Ⅱ操作系统移植成功并且提供使用,所做的工作是将μC/GUI移植到NiosⅡ嵌入式平台之上,使其能与μC/OS-Ⅱ操作系统结合使用,采用μC/GUI 3.98版本的源代码进行移植。

  μC/GUI的软件体系结构如图1所示,μC/GUI函数库为用户程序提供GUI接口,包含的函数有文本、数值、二维图形、输入设备以及各种窗口对象。其中,输入设备可以是键盘、鼠标或触摸屏;二维图形包括图片、直线、多边形、圆、椭圆、圆弧等;窗口对象包括按钮、编辑框、进度条、复选框等。

  μC/GUI函数库可以通过GUIConf.h文件进行配置,包括内存设备,窗口管理器,支持操作系统、触摸屏,以及配置动态内存的大小等。在移植中,需要根据系统需要以外设所支持的功能对GUIConf.h文件进行配置。

  在LCDConf.h文件中定义了与硬件有关的各种属性,如液晶的大小、颜色以及与液晶的接口函数。而LCD驱动文件则负责把μC/GUI的各种函数解释成LCDConf.h文件定义的液晶接口函数,这个文件与具体的硬件连接无关。在移植时,需要对LCDConf.h文件进行配置,并针对LCD控制器编写相应的LCD驱动文件。

2 μC/GUI在NiOSⅡ上的移植设计

  2.1 TFT LCD IP核结构

  μC/GUI的移植是基于IP核的移植,编写TFT LCD控制器,所以移植时,在底层配置文件,参数的配置要和TFT LCDIP的相关参数相匹配,否则不可能移植成功,该IP核的结构如图2所示。

  液晶屏采用台湾统宝公司的TRDB_LCM 3.6寸屏,该屏的分辨率是320x240,支持24位色,也就是RGB888模式,但是由于Avalon总线支持传输数据宽度的差异,因此只用16位色,即RGB为565的模式。由于DE2-70有2个32 MB的SDRAM,所以拿使用其中一块作为数据的存储器,Nio-sⅡ处理器将图像数据写入该SDRAM中,在NiosⅡIDE中用软件控制缓冲器的开启,当开启缓冲器之后,该BUFFER会源源不断地读取SDRAM中的数据,为避免读数据和NiosⅡ处理器向其中写入数据时发生冲突,Avalon总线自动在二者之间加入了一个Arbitrator仲裁模块来决定执行哪个操作。

  配置LCD采用3线串行总线配置LCD,缓冲器以Avalon存储器映像主机的方式从SDRAM中读取数据,然后以Avalon Streaming Soume的方式把这些数据传送到LCD控制器上,LCD控制器是以Avalon Streaming Sink的方式接收从缓冲器传来的数据,LCD控制器生成时序,在适当时候将数据送出到TFT LCD屏上显示。

  2.2 移植过程

  2. 2.1 μC/GUI的文件组织结构

  μC/GUI是以ANSI C源码包的形式提供的。源码包由配置文件目录(Config)和库函数目录(GUI)2个文件目录组成。在Config目录中包含了LCDConf.h、GUITouchConf.h、GUIConf.h 3个配置文件,这3个文件分别用于LCD底层接口的配置、触摸屏底层接口的配置以及μC/GUI自身的配置。在GUI目录中的库函数文件按照不同功能又分成若干子目录如图3所示,各子目录所实现的功能如表2所示。

  2.2.2 移植过程

  首先建立一个硬件系统,采用Altera公司的QuartusⅡ9.0版本的配套软件,硬件系统在QuartusⅡ集成的 SOPCBuilder系统开发工具中建立,添加NiosⅡ处理、JTAG调试模块、添加定时器SDRAM控制器、BUFFER IP、TFT LCD IP以及其他部分组件,最后生成一个硬件系统。然后在NiosⅡIDE环境下针对该系统建立一个TFT LCD软件工程,并且将μC/GUI有关的源代码拷贝到工程目录下,修改LCDConf.h、GUIConf. h、LCDLin32.c以及GUI_X_uCOS.c文件,使之与LCD控制相匹配,在该系统中,LCD采用16位数据总线,而CPU是32位的 NiosⅡ软核处理器,先查看一下μC/GUI所支持的数据宽度信息,其数据宽度和NiosⅡ处理器所支持的宽度基本吻合,只要在改动代码时注意就可以。以下是具体的代码实现情况:

  因为这里是基于TFT LCD IP核的移植,所以要定义LCD的读写函数,即LCD_READ_MEM(Off)和LCD_WRITE_MEM(Off,data)以及显示缓存区的起始位置,读写函数中的Off和data都是32位的无符号数,而操作函数IORD_32DIRECT()以及IOWR_32DIRECT()都是一次执行 32位数的操作,刚好和NiosⅡ处理器的数据宽度相匹配。由于支持μC/OS-Ⅱ操作系统,所以要对GUI_X_uCOS.c文件进行修改,增加系统延时函数OSTimeDly(1),使之能与μC/OSⅡ操作系统实现无缝衔接,以及3个子函数,void GUI_X_Log(const char*s){GUI_USE_PARA (s);};void GUI_X_Warn(const char*s){GUI_USE_PARA(s);};void GUI_X_ErrorOut(const char*s){ GUI_USE_PARA(s);};LCDLin32.e是对应3200型号控制器的驱动文件,由于在LCDConf.h中已经对用到的参量进行设置,所以无需修改,剩下的工作就是把不用的文件进行剔除,以减少编译时产生多余的代码量。

3 移植验证

  在NiosⅡIDE环境下修改配置文件以及驱动文件,然后编译该系统,系统编译成功,编译成功之后还有MICRIUM公司的联系方式,这个是提醒用户该系列软件如果要用于商业目的是需要买license的,用于研究目的是免费的。

  图片验证是采用μC/GUI自带的位图转换工具uC-GUI-BitmapConvert.exe,该工具可以将.bmp格式图片转换成指定的C语言数组的形式保存,例如将兰博基尼跑车标志的图片转换成RGB565的格式进行保存,加入工程,编译工程,然后下载验证,如图4所示。窗口管理组件验证采用代码包中自带的一个测试代码,其效果如图5所示。实验结果表明,移植是成功的。

4 结论

  本文介绍了μC/GUI界面系统,以及NiosⅡ嵌入式系统,详细介绍了移植的过程,以及最终实现移植。实验结果表明,在嵌入式系统中使用μC/GUI进行人机界面的开发,不但移植简单、使用灵活,而且功能强大,稳定高效,大大降低了在嵌入式系统中开发图形人机界面的复杂程度,而且 μC/GUI还提供了几个非常实用的工具软件,其中包括一个仿真器,它使得在进行移植工作的同时,就可以在仿真器上进行软件界面部分的程序编写,加快了整个系统的开发进度。还有位图转换工具,可以轻松地将图片转换成C语言数组的形式保存,方便界面开发。μC /GUI还支持其他PS2鼠标、PS2键盘、触摸屏,包含丰富的绘图库、动画显示优化、还可以自己加入中文字体,通过使用μC/GUI的各项功能,相信可以在嵌入式系统中开发出功能强大的人机界面,而且在嵌入式系统中有很好的应用前景。

 

关键字:实现  便携式  医疗  监护仪

编辑:鲁迪 引用地址:http://www.eeworld.com.cn/medical_electronics/2012/0208/article_2690.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
实现
便携式
医疗
监护仪

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 医学成像 家庭消费 监护/遥测 植入式器材 临床设备 通用技术/产品 其他技术 综合资讯

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved