首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
医疗电子
» 基于Linux和MiniGUI的心电监护仪设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于Linux和MiniGUI的心电监护仪设计
发短消息
加为好友
porereading
当前离线
UID
863084
帖子
7183
精华
0
积分
3592
阅读权限
90
在线时间
209 小时
注册时间
2011-11-30
最后登录
2019-8-28
论坛元老
UID
863084
1
#
打印
字体大小:
t
T
porereading
发表于 2015-2-10 23:01
|
只看该作者
基于Linux和MiniGUI的心电监护仪设计
监护仪
,
Linux
0 引言
随着人们生活节奏加快,人口逐渐老龄化,心脏疾病成为危害人类健康和生命的主要疾病之一。心电监护系统为心脏病人诊断和治疗提供了一个有效的手段,对心脏疾病的防治和诊断具有重大的意义,本介绍一种基于Linux 和MiniGUI 的心电监护系统,能够满足患者随时随地对心电进行方便快捷的监测,及时地发现异常情况并采取有效的措施,从而更好地保护人们的身体健康。
1 硬件系统设计
本系统采用S3C2440 处理器作为控制中心,S3C2440 是基于ARM920T 内核的16 /32 位RISC 嵌入式处理器,最高主频可达532MHz,提供64MSDRAM、64M Nand Flash 以及2M Nor Flash 的存储设备,独立的16kB 指令缓存和16kB 数据缓存,LCD 控制器,3通道的异步串口,SPI 同步串口,117 位通用的I /O 口,1个内部时钟,8通道10 位的ADC,触摸屏接口,以太网控制器、PCMCIA 接口、USB 接口等,具有高性能、低功耗、高性价比等特点,主要用于视频会议、网络监控,GPS 定位/导航仪等,特别是医疗电子设备。系统的整体硬件结构如图1 所示,能够实现对心电信号采集、处理、显示、存储等功能。
图1 系统总体硬件结构
2 软件系统设计
2. 1 构建嵌入式Linux
心电界面的开发是基于MiniGUI 的嵌入式Linux系统。在各种嵌入式操作系统中,Linux 以其结构清
晰、源代码公开、功能强大、又易于移植得到广泛的使用。本系统内核采用2. 6 版本的内核,Linux 2. 6 内核在性能、模块支持、可用性、可测量性等方面有大幅度的提高。一个完整的嵌入式Linux 系统主要包括BootLoader( 引导程序) 、内核和根文件系统3 个方面。本系统中Bootloader 采用ViVi,文件系统采用Yaffs。根据目标平台实际的需要,对引导程序、内核和文件系统进行裁减、配置,最后把编译好的ViVi 以及生成的Linux 内核和文件系统的镜像文件烧录到平台中并运行,嵌入式Linux 构建完毕。
2. 2 图形用户界面MiniGUI
MiniGUI 是基于Linux 的轻量级的图形用户界面支持系统,是由原清华大学教师魏永明主持开发,遵循GPL 公约。所支持的操作系统已不仅仅限于Linux,它还可以在uClinux、uC /OS-Ⅱ、eCos 和Vx-Works 等系统上运行。已验证的硬件平台包括Intelx86,ARM ( ARM/AMR9 /StrongARM/xScale ) ,Power-PC,MIPS,M68K ( DragonBall /ColdFire ) 等。对MiniGUI 移植,首先下载MiniGUI 的源代码libminigui-1. 6. 10. tar. gz ( MiniGUI 函数库源代码) 和minigui-minigui-res-1. 6. 10. tar. gz( MiniGUI 所使用的资源,包括基本字体、图标、位图和鼠标光标) ,然后编译安装并将MiniGUI 的资源拷贝到目标平台上,最后修改目标平台的/etc /MiniGUI. cfg 文件,对目标平台MiniGUI 的运行环境进行配置。
2. 3 心电采集界面设计
2. 3. 1 主界面
MiniGUI 中有3 种窗口类型: 主窗口、对话框和控件窗口,心电采集界面是采用对话框进行设计,对话框编程是一种快速构建用户界面的技术,MiniGUI提供了一种基于模板的机制,利用DLGTEMPLATE和CTRLDATA 两个结构体来表示,DLGTEMPLATE用来定义对话框本身,结构体CTRLDATA 用来定义控件。利用这两个结构体模板,用户可以根据需要在程序中定义自己的对话框和控件。主界面的对话框定义如下:
static DLGTEMPLATE DlgInitProgress =
{
WS_BORDER WS_CAPTION,
WS_EX_NONE,
0,0
, 240, 320,
" 欢迎使用心电信号采集系统" ,
0,0
,
10,NULL,
0
} ;
用CTRLDATA 定义对话框中所有的控件并用数组表示,对话框常常使用控件来实现提示或者设置等功能,定义控件数组模型如下:
static CTRLDATA CtrlInitProgess[]=
{
{ CTRL_STATIC,
WS_CHILD|WS_VISIBLE| SS_NOTIF
|WS_BORDER,
0,0
, 240, 30
IDC_STATIC1,
“欢迎使用心电信号采集系统”,
0
} ;
{
…
} ;
…
} ;
通过上述方法生成的心电监护仪主界如图2 所示。心电采集界面主要有心电数据采集与显示、存
储、分析等功能,采用多线程编程,为采集、显示、存储、分析各建立一个专门的线程。多线程进行数据采集可以有效地加快程序的反应速度、增加执行的效率。
图2 电监护仪主界面
在MiniGUI 中,使用消息驱动作为应用程序的创建构架。在消息驱动的应用程序中,计算机外设发生的事件都由支持系统收集,将以事先的约定格式翻译为特定的消息。应用程序一般包含有自己的消息队列,系统将消息发送到应用程序的消息队列中。从消息队列中读取这些消息,并由窗口过程函数来处理这些消息。本系统界面通过鼠标键的按击,翻译成特定的消息,若收到的是控件消息,则判断ID,根据应用程序进行相应的消息处理。
2. 3. 2 心电采集与显示
心电数据采集采用定时器进行采集和显示,定时器使用SetTimer 函数创建,创建时需要指定定时器标识号以及定时时间,当定时时间到达时,定时器将会产生MSG _ TIMER 消息,本系统的心电采集频率为200Hz。
从A/D 寄存器读取三通道的数据存入数组中,并将数组中的数据在液晶显示器上绘出。在MiniGUI 中实时绘图采用GDI,GUI 系统的一个重要组成部分就是GDI,即图形设备接口( Graphics Device
Interface) 。通过GDI,GUI 程序就可以在计算机屏幕上,或者其它的显示设备上进行图形输出,包括基本绘图和文本输出。所有绘图相关的函数均需要有一个设备上下文,为了提高绘图效率,在这里建立私有设备上下文,所建立的设备上下文在整个窗口生存期内有效,从而免除了获取和释放的过程。利用hdc =GetPrivateClientDC( hDlg) 可获得私有设备上下文。然后调用MoveTo ( HDC hdc, int x, int y) 和LineTo( HDC hdc, int x, int y) 对数组中的数据进行画线,由于采集到的心电数据较小,因此在对其进行画线之前根据显示区域对所有数据进行适当放大,这样可以使心电波形在液晶显示器上直观显示。
2. 3. 3 心电数据分析
在心电数据显示和分析线程中,由于心电信号容易受到各种干扰的影响,为了滤除心电信号中的干扰成分,首先要进行数字滤波处理,采用FFT 滤波和滑动平均滤波的方法使图像得以平滑,并采用差分方法进行R 波检测。当采集到5 秒的数据的时候,程序启动心电数据分析线程,对存储在数组中的心电数据进行分析,主要进行R 波检测,并且在液晶显示器上显示。
2. 3. 4 心电界面程序的编译
心电界面程序首先是在PC 机上编写的,为了能够在目标平台上运行,必须先进行交叉编译,编译
如下:
#arm-linux-gcc -I /home /include -L/home /lib-O2 -oxindian xindian.c -lminigui -lmgext -lm -ljpeg-lpthread-lpng
这时生成心电界面程序的可执行文件,将其下载到目标平台中即可运行。
3 结束语
本文研制的心电监护仪采用高性能的ARM9 微处理器为核心,在其上移植Linux 操作系统,并用
MiniGUI 进行心电界面开发,能够对心电信号进行采集、波形显示及处理,实现心电信号的实时监护的目的。该心电监护仪结合了目前现有的心电监护仪的优点,体积小、重量轻,并且具有操作界面简洁、可扩展性强等优点,对各种心率失常及各种心脏病变有较高的诊断价值。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议