动态心电心音信号同步检测系统

发布者:创意小巨人最新更新时间:2020-12-15 来源: elecfans关键字:msp430 手机看文章 扫描二维码
随时随地手机看文章

  设计了一种动态心电心音信号同步检测系统,对系统的整体设计方案进行了介绍,采用内置A/D的MSP430F149单片机和USB通信接口传输的采集系统进行同步采集、实时存储,并用VC++6.0开发了客户定征分析软件系统。最后经过临床验证,本系统误差小,实用意义很大。


  引言

  目前临床存在着动态心电和心音图检查相分离状况,二者不能同步采集数据、进行同步分析,即使有也只是短时、瞬间的心音心电检测,而无连续长时间记录心电和心音的同步动态检测仪,因此为心血管疾病的早期准确诊断和进行心血管病的发病机理并及早预防研究带来一定的困难。为此,开展对动态心音心电同步定征检测技术分析研究,可为心血管疾病的早期诊断提供理论和关键技术基础。


  本系统是以心电心音同步定征检测为目标,设计了相应的电路和同步采集系统,并进行了临床实验验证。本系统填补了现在临床不能进行心电和心音同步实时采集的空白,同时仪器操作简单,体积小巧便于携带,功耗低,在医院和家庭都可使用,且所用检测方法可以辅助医生更快速、更准确地做出诊断,减轻病人的痛苦甚至拯救病人的生命。


  1 系统硬件设计

  1.1 系统总体设计方案

  本系统主要由两部分组成:模拟部分和数字部分。模拟部分由心电和心音两个回路组成,心电回路由心电电极、前置放大、光电隔离、滤波电路、电平抬升电路和后置放大电路组成,主要是将人体获得的微弱心电信号变成没有负值的、干扰和噪声较小的、放大在MSP430F149采集范围之内的模拟信号,然后送入内置A/D转换的单片机中。心音回路由心音传感器、心音放大、有源滤波、绝对值检波和后置放大电路组成,主要也是获取准确的不带干扰和噪声的微弱心音信号并放大到MSP430F149采集范围之内。两个回路是同步检测的。数字部分由A/D转换、MSP430F149单片机、USB通信接口电路和PC机组成,以MSP430F149单片机作为核心器件,实现对系统工作流程的控制,既能满足速度要求又成本简单,体积小巧,便于携带。数字系统主要是将前面的模拟信号数字化,并以单片机作为下位机,PC机作为上位机,将单片机采集到的人体心电和心音信号通过USB接口电路传给上位机,通过PC机强大的运算能力对数字化的人体心电和心音信号进行分析处理及显示。采用双通道、双采样率、高精度同步数据采集方法实现心音和心电信号同步检测。系统总体原理框图见图1。

  

动态心电心音信号同步检测系统框图

 

  1.2 模拟电路部分

  1.2.1 心电前置放大

  由于人体心电信号是频率范围约为O.05 Hz~150 Hz、幅度约为0-4 mV的低频微弱信号,且测量时噪声背景却很强,故需前置放大,且要求具有高输入阻抗和高共模抑制比,所以我们设计了具有屏蔽驱动和右腿接地电路以及抑制高频电刀干扰的同相差模放大电路,放大倍数约为20。具体电路图见图2。

  

心电前置放大电路

  2 系统软件设计

  本系统软件包括单片机采集和控制软件以及PC机客户软件两部分。单片机部分主要包括A/D数据采集模块和USB通信传输模块。


  单片机控制程序由三部分组成:第一,初始化单片机和所有的外围电路(包括PDIUSBDl2);第二,主循环部分,其任务可以中断;第三,中断服务程序,其任务是对时间敏感的必须马上执行。根据USB协议,主机首先发令牌包给PDIUSBDl2,PDIUSBDl2接收到令牌后就给单片机发中断,单片机进入中断服务程序,首先读PDIUSBDl2的中断寄存器,判断USB令牌包的类型,查询是进行数据采集还是进行数据传输,如果是数据采集则进入数据采集模块,如果是数据传输则进入USB通信传输模块。


  PC机的客户端应用程序是在VC++6.O环境下开发,主要完成对采集到的数据进行接收、存储、分析处理、实时显示和定征分析功能。心电图和心音图可以独立显示,也可以同步显示。


  3 实验与结果

  利用本仪器临床采集了50例健康大学生和50例心率失常患者的心电和心音信号,采集波形见图4,并对这些信号一一进行定征分析,心率失常误判率仅为5%。

  

 

  4 结论

  本仪器具有操作简便、测量准确可靠、功耗低、体积小、便于携带、具有强大数据分析处理功能,且可实现心电心音同步采样等特点,填补了现在临床不能进行心电和心音同步实时采集的空白。


关键字:msp430 引用地址:动态心电心音信号同步检测系统

上一篇:基于单片机的多参数测量仪设计
下一篇:max7219显示程序-C程序—汇编

推荐阅读最新更新时间:2024-11-12 02:49

msp430 f5529寄存器 串口发送接收
使用的开发板是官方的ti msp430f5529lp 基于官方的例程进行的改动 新增了发送字符串函数 同时可以中断接收 接下来看代码展示 #include msp430.h volatile unsigned int i; void senfchar(char s) { UCA0TXBUF=s; while(!(UCA0IFG&UCTXIFG)); } void sendstring(unsigned char *p) { while(*p!='') { while(!(UCA0IFG&UCTXIFG)); UCA0TXBUF=*p++; } } void
[单片机]
<font color='red'>msp430</font> f5529寄存器 串口发送接收
msp430单片机GPIO基础理解
单片机的端口可以通过方向寄存器PxDIR来设置输出(1)还是输入(0) 可以通过输入寄存器PxIN来查看输入端口引脚的电平,尝用来判断按键是否按下。 也可通过PxIE,PxIES,PxIFG实现按键中断,按下某键后执行一段中断程序。 可通过输出寄存器PxOUT来写入输出,常用来控制数码管显示和指示灯等输出设备显示。 PxOUT |= BIT0;//不影响x端口其他引脚而设置x.0引脚输出1 PxOUT &= ~BIT0;//不影响x端口其他引脚而设置x.0引脚输出0 BIT0等价于0x01 0000 0001 BIT7等价于1000 0000 if(!(PxIN & BIT0))判断x.0引脚是否按下 定时器要设置时钟源,捕获/比
[单片机]
MSP430F149控制LED灯的亮灭C程序
MSP430单片机第一个程序控制P1.0口LED灯亮灭C语言程序,编程环境:IAR 6.0;MCU:MSP430F149;程序有详细注释,很适合初学者。 #include msp430x14x.h typedef unsigned int uint; typedef unsigned char uchar; /*延时函数*/ void Delay_Ms(uint x) { uint i; while(x--)for(i=0;i 250;i++); } /*主函数*/ int main( void ) { WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to pr
[单片机]
MSP430数字滤波器设计分享
在进行滤波器设计的时候我们常常要通过各式各样的软件进行计算和仿真,MATLAB能够很好的完成传统数字滤波器的设计工作,但是作为开发工程师而言需要的是一款能够快速实现设计的工具。下面这一款计算工具就是很适合基于MSP430的数字滤波器的设计工作。 1.软件介绍:Filter solution 2.软件界面介绍: 该软件不仅能设计数字滤波器,模拟滤波器一样可以搞定。 3.开始设计数字滤波器: 4.频响测试: 5.代码生成:
[单片机]
<font color='red'>MSP430</font>数字滤波器设计分享
msp430单片机oled汉字字模_OLED液晶屏如何显示中文
序言 之前我们分享了,如何使用STM32驱动OLED液晶屏,讲了SSD1306控制芯片的驱动,对其驱动时序和常用命令做了介绍,详细请参考下面链接: STM32驱动0.96寸OLED液晶屏 上篇中我们已经实现在OLED屏上显示出英文字符,除去数字、字母、符号等,OLED还能显示汉字、图片及任意图形。今天我们来介绍一下取模软件的使用,看看如何在OLED屏上显示中文,具体实现如下。 字幕显示原理 我们用的OLED液晶屏是由128*64个发光点阵组成,即分辨率是128*64。 ASCII码可以6*8、8*8、8*16像素,汉字一般显示像素为16*16。 一般为了显示效果理想,英文和数字常选用8*16像素显示。 取模软件设置
[单片机]
<font color='red'>msp430</font>单片机oled汉字字模_OLED液晶屏如何显示中文
单片机的三种时钟信号源的特点及应用介绍
与51、AVR等单片机不同msp430的时钟信号源有LFXT1,XT2,DCO三种。 1、LFXT1:可接高速和低速晶振,在低速模式下,它可以外接32k的晶振而不需要负载电容,这种方式较为常见主要用来为ACLK提供低速的时钟信号,以供低速外设使用。 2、XT2:高速振荡器,它可以接一个0.4~16M的晶振,它相当于高速模式下的LFXT1。通常将它配置成一个高速的振荡源,为MCLK何SMCLK提供高速时钟信号。 3、DCO:内部数字控制振荡器,它的频率可以通过DCOCLK进行配置。在系统PUC之后,DCOx=7,MODx=3,表示选择了最高的频率。 前面介绍了MSP430中有三个个时钟信号源,MSP430的时钟信号也有三种
[单片机]
单片机的三种时钟<font color='red'>信号</font>源的特点及应用介绍
MSP430 单片机内指针或结构体赋值为NULL,却有默认值的解决办法
在几天前的一个项目里我用单片机做了一个小的音游系统(暂时还没发出来),在里面遇到了很诡异的事情,首先这是我的音符结构体(就是音游里面能击打的那种音符): typedef struct note note; struct note { int notetype;//1为单键,0为长键 unsigned long create_time;//创建时间,单位为毫秒 unsigned int length;//音符长度,每次判定 unsigned int n_length;//现在音符剩余长度 }; 然后我去网上毛(?)了一个c语言的队列文件,这里也附上链接:https://blog.csdn.net/qq_
[单片机]
<font color='red'>MSP430</font> 单片机内指针或结构体赋值为NULL,却有默认值的解决办法
浅谈MSP430F5529时钟
记得某位网友曾经说过,学习任何一款单片机,首先要学的是它的时钟。的确如此,时钟是如此的重要,在不知道系统时钟的情况,感觉做什么事都是迷迷糊糊的。 之前学过51,它的时钟很简单,就一个外部晶振。然后学了430的G2553,它的时钟就有点麻烦了,时钟源多(两个外部晶振,一个内部超低功耗低频振荡器,一个内部调整低频参考振荡器),内部还有锁频环,而且出来的时钟还能被分频。原因是TI主打低功耗,必须得有各种频率来满足设计需要,毕竟,频率越低,功耗越低。 现在的,430的F5529,跟G2553比起来也就需要配置的时钟相关的寄存器是其3倍而已 还有个PMM(电源管理模块)的配置 新增的PMM是干嘛的呢?还是那句话,TI主打超低
[单片机]
浅谈<font color='red'>MSP430</font>F5529时钟
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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