发新帖本帖赏金 0.50元(功能说明)我要提问
12下一页
返回列表
打印

【MCU方案】基于LM3S9B96的心电监护系统

[复制链接]
1763|36
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 冰空影 于 2015-6-29 14:59 编辑

基于LM3S9B96的心电监护系统

一 功能介绍
心血管疾病是威胁人类健康的主要疾病之一。随着人们生活节奏的加快和工作压力的加大,越来越多的人不幸患有甚至死于心血管疾病。由于心血管疾病具有发病突然、死亡率高等特点,因此,很有必要研制一种能够对心血管疾病患者及潜在患者进行实时监测并迅速报警的便携式心电监控设备。
现阶段市场中常见心电图仪在便携性与实时分析报警的结合方面仍有待改进,例如,当病人独自在家时,监测装置大多只能进行心电监测与记录,若有突发异常状况不能及时报警,很可能导致无法挽回的后果。因此,本方案以价格低廉,携带方便,实时分析心电数据并及时对异常情况进行报警为研究出发点,提出了一种基于LM3S9B96的心电监护系统,针对LM3S9B96微处理器的特点提出了心电监护系统设计方案,能够实现对心电信号的实时分析处理,对异常情况的及时报警以及对病人的准确定位。
二 方案描述
硬件框图:
基于LM3S9B96的心电监护系统由心电信号采集放大模块、LCD触摸屏号码输入与波形显示模块、GPS模块与EM310短信报警模块组成。
(1)将心电电极贴片贴到人体皮肤表面的固定位置,采集峰峰值为2mV左右的微弱心电信号,并通过导联线输入到心电信号采集放大模块进行放大,其输出电压范围应与LM3S9B96中ADC10模块的参考电压相匹配;
(2)心电信号采集放大模块通过GPIO口与LM3S9B96相连,LM3S9B96内部的ADC10模块对心电信号采集放大模块的输出模拟信号进行模数转换,以便LM3S9B96对数字化的心电信号进行后续处理;
(3)LM3S9B96内部的μDMA(Micro Direct Memory Access,微型直接存储器访问)控制器将模数转换后的心电信号传送到SRAM进行处理,设置μDMA通道在乒乓模式下工作,这样便可以在无需CPU 进行过多干预的条件下完成心电信号从ADC10到SRAM的连续传输;
(4)LM3S9B96对传输到SRAM中的数据进行处理,包括小波分解与重构、动态R波阈值计算、病理逻辑诊断分类等步骤;
(5)实时心电波形和心率由Kitronix公司的K350QVG-V1-F TFT LCD触摸显示屏显示,同时LCD显示屏还作为报警所需短信报警的电话号码的输入端,电话号码存储在Flash存储器中,确保掉电后不需要重新输入,便于使用;
(6)LM3S9B96微控制器内部的两个UART模块分别与GPS模块和EM310模块相连,GPS模块用来采集观测对象的GPS地理位置信息,当检测到心电信号出现异常时,通过EM310模块将诊断信息和GPS地理位置信息以短信形式发送给指定号码进行报警。
软件流程图:
在μC/OS-II操作系统下建立两个任务,任务1包括心电信号AD转换、实时处理、波形显示及异常心电信号报警等子任务,任务2完成对μDMA控制器的结构进行重新配置并重新使能ADC0模块的μDMA通道。当产生ADC0中断时,任务1切换到任务2,任务2的操作完成后,任务2切换到任务1,如此反复。
(1)配置定时器工作在16位周期定时模式下,作为ADC10模块的触发源,使ADC10模块能够对模拟心电信号进行采样率固定(256Hz)的模数转换;
(2)由于心电监护系统要求对心电信号进行连续的采样转换和数据处理,所以设置μDMA控制器工作在乒乓模式,以实现ADC10模块与SRAM之间不间断的数据流传输;
(3)受环境噪声、ADC10模块转换精度、人为运动等因素的影响,由心电信号采集放大模块经ADC10模块模数转换后离散化的心电数据仍包含多种噪声,并不能完全满足心电信号的滤波要求,所以对心电信号的数字滤波是十分重要的,本系统选用97小波变换对心电信号进行数字滤波。97小波变换是提升小波变换的一种,免去了傅里叶变换,在时域便可完成,计算量少、复杂度低,所需存储空间少,更适合硬件实现;
(4)利用StellarisWare图形库实现手机号码的输入和心电波形的实时显示:
其中,WIDGET_ROOT为StellarisWare图形库中的一个虚拟控件,设计中必须作为最顶层控件使用,其它由用户定义的控件都作为它的子节点或者更下层的子节点;g_sBackground为屏幕底层画布控件(Canvas),用来设置屏幕背景色;g_sHeading为处于屏幕顶端的画布控件,号码输入时用来显示电话号码,心电波形显示时用来显示心率数据;g_sPushBtn0~g_sPushBtn11为按钮控件(Push Button),用来输入号码0~9及删除、确定;g_sWelcome为处于屏幕中间的画布控件,用来显示是否需要更改电话号码的提示消息;g_sShowNum为和g_sHeading所处位置相同的画布控件,用来显示已存储在系统中的电话号码;g_sPushBtna(否)和g_sPushBtnb(是)为按钮控件,用来判断是否更改存储在系统中的电话号码。
系统初始化时,将g_sWelcome及其子控件加入需要渲染的控件列表树进行显示。若按下g_sPushBtna,说明不需要修改电话号码,将g_sWelcome及其子控件从需要渲染的控件列表树中移出,并开始进行心电波形的实时显示;若按下g_sPushBtnb,说明需要修改电话号码,在需要渲染的控件列表树中将g_sWelcome及其子控件移出并将g_sHeading及其子控件加入,进行新电话号码的输入操作,当输入完毕后按下g_sPushBtn11,便将g_sPushBtn0~g_sPushBtn11从需要渲染的控件列表树中移出,并开始进行心电波形的实时显示。实时显示波形时需要用CanvasTextSet(&g_sHeading,Rate)语句将g_sHeading控件中的文字更改为实时心率数据。需要特别注意的是每当控件树中内容发生改变时,都需要需要调用WidgetMessageQueueProcess()函数对所有控件事件进行处理。
(5)基于Flash存储器掉电后数据不丢失的特点,利用其存储由触摸屏输入的电话号码;
(6)利用LM3S9B96微控制器的UART1模块对从GPS接收到的字符串进行处理,提取GPS定位信息;
(7)利用LM3S9B96微控制器的UART0模块向EM310发送AT指令集来实现心电监护系统的短信报警。

三 原理图
心电前级放大电路与右腿驱动电路
低通滤波放大电路
四 系统实物图


打赏榜单

liutogo 打赏了 0.50 元 2015-07-02

相关帖子

沙发
dirtwillfly| | 2015-6-29 15:22 | 只看该作者

使用特权

评论回复
板凳
JY-DX-JY| | 2015-6-29 15:58 | 只看该作者
顶一个。

使用特权

评论回复
地板
shenmu2012| | 2015-6-29 20:18 | 只看该作者
针对LM3S9B96微处理器的特点提出了心电监护系统设计方案,能够实现对心电信号的实时分析处理,对异常情况的及时报警以及对病人的准确定位。

使用特权

评论回复
5
shenmu2012| | 2015-6-29 20:19 | 只看该作者
这个原理设计方案的挺不错的,比我原来做的那个好。

使用特权

评论回复
6
shenmu2012| | 2015-6-29 20:20 | 只看该作者
在μC/OS-II操作系统下建立两个任务,任务1包括心电信号AD转换、实时处理、波形显示及异常心电信号报警等子任务,任务2完成对μDMA控制器的结构进行重新配置并重新使能ADC0模块的μDMA通道。当产生ADC0中断时,任务1切换到任务2,任务2的操作完成后,任务2切换到任务1,如此反复。

使用特权

评论回复
7
shenmu2012| | 2015-6-29 20:20 | 只看该作者
这个软件处理部分的很不错的,值得借鉴。

使用特权

评论回复
8
vivilzb1985| | 2015-6-29 20:29 | 只看该作者
心电信号采集放大模块通过GPIO口与LM3S9B96相连,LM3S9B96内部的ADC10模块对心电信号采集放大模块的输出模拟信号进行模数转换,以便LM3S9B96对数字化的心电信号进行后续处理.

使用特权

评论回复
9
vivilzb1985| | 2015-6-29 20:30 | 只看该作者
LM3S9B96微控制器内部的两个UART模块分别与GPS模块和EM310模块相连,GPS模块用来采集观测对象的GPS地理位置信息,当检测到心电信号出现异常时,通过EM310模块将诊断信息和GPS地理位置信息以短信形式发送给指定号码进行报警。

使用特权

评论回复
10
冰空影|  楼主 | 2015-6-29 20:33 | 只看该作者
谢谢大家!互相学习

使用特权

评论回复
11
豆腐块| | 2015-6-29 22:26 | 只看该作者
楼主有μC/OS-II操作系统的学习资料吗

使用特权

评论回复
12
冰空影|  楼主 | 2015-6-30 10:16 | 只看该作者
豆腐块 发表于 2015-6-29 22:26
楼主有μC/OS-II操作系统的学习资料吗

我刚开始学这个,看邵贝贝的书+Micrium的代码
这个项目里面操作系统应用比较简单,没有复杂的任务切换调度

使用特权

评论回复
13
firstblood| | 2015-6-30 12:51 | 只看该作者
将心电电极贴片贴到人体皮肤表面的固定位置,采集峰峰值为2mV左右的微弱心电信号,并通过导联线输入到心电信号采集放大模块进行放大,其输出电压范围应与LM3S9B96中ADC10模块的参考电压相匹配。

使用特权

评论回复
14
zqjqq88| | 2015-6-30 13:21 | 只看该作者
这波形已经无法直视咯~

使用特权

评论回复
15
冰空影|  楼主 | 2015-6-30 16:50 | 只看该作者
zqjqq88 发表于 2015-6-30 13:21
这波形已经无法直视咯~

额。。。确实放大电路做的不太好。。。

使用特权

评论回复
16
qqwaszx| | 2018-9-13 17:20 | 只看该作者
将心电电极贴片http://med-linket.com/贴到人体皮肤表面的固定位置,采集峰峰值为2mV左右的微弱心电信号,并通过导联线输入到心电信号采集放大模块进行放大,其输出电压范围应与LM3S9B96中ADC10模块的参考电压相匹配,这一点做的很好。

使用特权

评论回复
17
qqwaszx| | 2018-9-13 17:21 | 只看该作者
将心电电极贴片http://med-linket.com/贴到人体皮肤表面的固定位置,采集峰峰值为2mV左右的微弱心电信号,并通过导联线输入到心电信号采集放大模块进行放大,其输出电压范围应与LM3S9B96中ADC10模块的参考电压相匹配,这一点做的很好。

使用特权

评论回复
18
aspoke| | 2018-9-14 16:18 | 只看该作者
                    

使用特权

评论回复
19
232321122| | 2018-9-14 16:19 | 只看该作者
使用的是什么传感器呢?

使用特权

评论回复
20
ghuca| | 2018-9-14 16:19 | 只看该作者
LM3S9B96用的很少了。

使用特权

评论回复
发新帖 本帖赏金 0.50元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝