基于Linux和MCU的心电监护仪设计

发布时间:2023-01-12  

  随着人们生活节奏加快,人口逐渐老龄化,心脏疾病成为危害人类健康和生命的主要疾病之一。心电监护系统为心脏病人诊断和治疗提供了一个有效的手段,对心脏疾病的防治和诊断具有重大的意义,本介绍一种基于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 系统总体硬件结构

  图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 所示。心电采集界面主要有心电数据采集与显示、存储、分析等功能,采用多线程编程,为采集、显示、存储、分析各建立一个专门的线程。多线程进行数据采集可以有效地加快程序的反应速度、增加执行的效率。


  在 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 进行心电界面开发,能够对心电信号进行采集、波形显示及处理,实现心电信号的实时监护的目的。该心电监护仪结合了目前现有的心电监护仪的优点,体积小、重量轻,并且具有操作界面简洁、可扩展性强等优点,对各种心率失常及各种心脏病变有较高的诊断价值。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于F0单片机的无线心率心电监测系统;STM32F0系列的单片机不仅带来了低廉的价格而且带来了更新的功耗但是性能却没有打多大的折扣,低于得成本和低功耗的设计是十分合适的。我的项目本身是在F1系列......
    进行心电界面开发,能够对心电信号进行采集、波形显示及处理,实现心电信号的实时监护的目的。该心电监护仪结合了目前现有的心电监护仪的优点,体积小、重量轻,并且具有操作界面简洁、可扩展性强等优点,对各种心率失常及各种心脏病变有较高的诊断价值。 ......
    基于C8051F020单片机实现便携式心电监护仪的应用方案;目前,以采集心电信号、分析和诊断为主的心电监护系统已经得到了广泛的应用,对于心脏系统疾病的预防、诊断发挥了很大的作用。但是此类心电监护仪......
    采用C8051F020单片机和模糊控制器实现便携式心电监护仪的应用方案;目前,以采集心电信号、分析和诊断为主的心电监护系统已经得到了广泛的应用,对于心脏系统疾病的预防、诊断发挥了很大的作用。但是此类心电监护仪......
    发展,这种将病人生命体征监护、临床信息处理、数据交互、设备信息集成于一体的监护仪将给广大的医护人员在日常的临床医疗活动中带来极大的帮助。  通过医用传感器模块,可实时检测人体的心电信号、心率、血氧......
    发展,这种将病人生命体征监护、临床信息处理、数据交互、设备信息集成于一体的监护仪将给广大的医护人员在日常的临床医疗活动中带来极大的帮助。  通过医用传感器模块,可实时检测人体的心电信号、心率......
    警惕“沉默性缺氧”,米尔基于全志T507-H核心板的监护仪方案; 新冠病毒感染期间多位专家提醒,需警惕老人“沉默性缺氧”。北京医院呼吸与危重症医学科主任李燕明介绍,由于......
    系统发出报警信号。此外,这款新型心率监护仪AFE提供了创新的快速恢复模式,当用户在运动或其它活动过程中暂时断开电极连接,当导联重连后,此芯片可以快速自动恢复心电信号,从而显着提高用户体验的质量。   市场......
    警惕“沉默性缺氧”,米尔基于全志T507-H核心板的监护仪方案;新冠病毒感染期间多位专家提醒,需警惕老人“沉默性缺氧”。北京医院呼吸与危重症医学科主任李燕明介绍,由于......
    类比半导体发布超低功耗AFE90x系列芯片,革新动态心电监测技术; 【导读】致力于提供高品质芯片的国内优秀模拟及数模混合芯片设计商上海类比半导体技术有限公司(下称“类比半导体”或“类比......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>