发作品签到
标准版

#第七届立创电赛#卡片型多参数监护仪-OpenECG

工程标签

2.2w
0
0
36

简介

简介:

开源协议

GPL 3.0

创建时间:2022-07-09 06:21:35更新时间:2023-01-12 03:39:50

描述

*1、项目功能介绍


A.项目简介

    OpenECG是一个开源的便携式多参数监护仪项目,该便携式监护仪的体积约122*71*20mm。体积虽小,功能不少,监护仪集成一颗ADAS1000,实现7导联的ECG监测+RESP(心电+呼吸)监测,另有拓展接口,并支持级联,通过拓展接口可以实现全导联(12导联)监测,SPO2,NIPB,甚至CO2,EEG。

B.主题简介

    该设备适用面非常广:术后康复亦或是患有心脏病,有动态监护需求的老人,便携的设备可以让他们平日的活动更加轻松,强大的功能也可以给出更全面的反馈。医疗上,灵活的拓展功能可以满足不同的监护需求,即插即用,让转移监护更加方便。重量轻,体积小,启动快等特点也为抢救人员提供了更多宝贵的时间。总是三句不离”便携“,那他到底有多小?大约就是一部手机厚一点的样子,完全可以揣在口袋里。

C.有何不同

      心脏是一个立体的结构,为了反应心脏不同面的电活动,在人体不同部位放置电极,以记录和反应心脏的电活动,不同电极之间进行一定运算,构成了导联。为了全面的反映心脏活动,导联数理论上越多越好。目前5电极的心电图已经可以满足大部分监护需求,医学诊断会用上全导联(即12导联)。然而市面上的常见家用便携式心电监护仪只能测量一个导联。本设计作为“多参数监护仪”,和普通的家用心电测量仪器是不同的,普通的心电图机只能测量心电,而“监护”更突出多个参数的变化(如呼吸,血氧,血压等)。经过简单调查,市面上面向家庭,功能齐全的监护仪根本没有。下面举几个常见的家用心电仪器的例子:

        市面上常见的家庭级监护仪大致分为两种:自主监测型 和 被动监测型

        以PC-80B型号为自主监测性的代表(下图),此种型号的监护仪仅支持单导联监测,并且不能实时反映病人问题,对于长时监护并不友好

       市面上另一大常见的种类——被动监测型则种类更加复杂,以乐普公司旗下的一款产品为例(下图),其突出特点为小巧易用,但缺点也十分明显:不能自主监护,依赖上位机,没有多参数,不适合用于监护,且价格相对昂贵

   

        相比于以上产品,本设计很好的解决了便携与性能间的平衡问题,并将成本控制在了600以内,让更多家庭得到更好的监护质量。

 

D.往届赛事

    在立创的往届竞赛里,曾也有类似的设计,如第五届立创电赛的冠军buck-boost前辈设计的《USB便携式ECG心电图监护自动分析仪》,这部作品使用优化模拟器件代替AD8232,做到了较为不错的信号质量,但其依赖上位机使用,若想实现移动监测就得随身带电脑,属于上面提到的“被动监测型”,并且若用在监护领域,则可监测的参数不够多,其实用性仍待提高。

   同样,在第六届立创电赛中,HolgerWang前辈设计了《便携式无线心电设备》,该设计也属于被动监测型,其缺点在于无线方案为蓝牙传输,具有距离限制和延迟瓶颈并不适合某些需要活动的场景。

   本设计解决了上述问题,可以主动监护,支持拓展,也足够便携。

 

E.功能特性

  1. 单机7导联-ECG+RESP(心电+呼吸)监测
  2. 即插即用的拓展接口,差分信号传输
  3. 带有除颤保护
  4. 带有导联脱落检测功能
  5. 带有干扰屏蔽层驱动
  6. 带有记录功能
  7. 实时参数异常反馈

 

*2、项目属性


该项目为本人原创,独立开发,未参加过其他活动,是首次公开

 

* 3、开源协议


GPL3.0

 

*4、硬件部分


0.硬件框图

硬件框图

A.监护模拟前端

A.1 - 模拟芯片

    在本设计中,要追求性能和便携的双全,于是抛弃了传统放大器的方案,转而使用集成器件来实现功能。ADAS1000系列是ADI公司为医疗监护领域设计的解决方案,单片可实现5电极-ECG+RESP的监测,并且器件支持级联,可以实现全导联(12导联)乃至十八导联的医疗级监测,为本设计的后续更新提供更大空间。

A.2 - 滤波组件

    考虑到平日监护中使用者移动时造成的肌肉电信号干扰和工频干扰,本设计在前端增加了可选的两阶RC滤波,并在程序层加有FIR数字滤波保证信号不失真的同时尽量降低伪影

 

A.3 - 除颤保护

    在抢救工作中,电除颤是常用的房颤,室颤,或是心脏骤停的抢救方法,其原理是利用脉冲电流来复律心肌。但这种电流会导致其连接的设备上产生一个瞬时高压,进而损坏设备若直接连接TVS进行保护,则会导致除颤效果不佳,因此,本设计在前端增添除颤保护电阻,并且使用GDT(空气放电管)+TVS的方案来保护电路。保证电路安全的同时,不会影响到除颤的效果

 

A.4 - 屏蔽驱动

    通常,监护仪的线缆是很长的,因此天线感应干扰也更加严重,为更好的解决干扰问题,本设计将共模信号引出,并将其放大到屏蔽层,以屏蔽干扰信号

 

A.5 - 电极脱落检测

    长时间的监护,电极会有松动的可能,本设计使用的ADAS1000具有两种导联脱落检测模式,其中,直流导联脱落的原理是将将一个可编程的小直流电流注入各输入电极。电极妥善连接时,电流流入右腿(RLD_OUT),产生一个极小的电压偏移。如果电极脱落,电流就会对该引脚的电容充电,导致该引脚处的电压正偏,产生一个较大的电压变化,从而被各通道中的比较器检测到。

 

B.主控部分

    最初,由于多导联实时滤波带来的巨大计算量,工程拟定使用DSP作为处理器,在后续选型中,我发现DSP大多封装庞大,亦或是资料少的可怜,再进行新的芯片学习那么时间成本太高,于是后来选定了ST公司的STM32H723VGT6,主频550MHz,双浮点计算单元,刚好够用的GPIO,能快速入门的HAL库,适合本项目的开发。(目前的程序中,对于CPU的占用仅不到10%,性能方面没有问题)

C.显示部分

    监护仪不同于一般家用产品,它无需复杂的图形渲染,无需精细的色彩细节,因此,本设计采用了一块5寸的TFT彩屏,其使用RM68120作为主控,内置显存,主控使用模拟IO驱动这款屏幕,简化了代码的同时不会占用过高的内存资源

     用户可以通过一个旋转编码器和两个功能开关来操作设备,本设计考虑到恶劣环境下(如雨天)的影响,及处理器的性能占用,并未设计触摸屏幕功能,实际应用中旋转编码器和开关的组合足以满足操作需求。另外设备备有一颗AT24C128,可以用于存储历史参数,以便反映参数的历史变化趋势,更好地了解病人情况。

D.电源管理部分

     电池充电IC选择的是TI公司的BQ24072,这是一款线性充电芯片,电流最大1.5A。之所以选用线性充电芯片,主要是因为其在工作时辐射出的电磁干扰更少,不会影响到模拟端的工作。

    模拟端和数字端是不共用电源的,模拟端采用ADP151直接从电池取电供应ADAS1000及其他模拟器件,保证高频数字信号不会影响到模拟端。

    电池采用一颗3200mAh的锂离子聚合物电池。

E.拓展接口

        拓展接口在硬件上分配了IIC接口和UART(RS422)接口,理论速率10*2Mbit/s,可以满足大量拓展设备的传输需求。(受限于个人时间问题,拓展功能仍处于开发阶段,未设计软件功能)

 

*5、软件部分


0.以下说明适用于初代软件版本,后续固件更新可能会修改软件算法结构

A.程序结构概述

        本设计的程序分为三层:

  1. HAL层(包含HAL库和LL库)
  2. BSP层(用于抽象对硬件设备的操作,依赖HAL层)
  3. APP层(用于实现功能,依赖BSP层)

        其中,APP层也包括了RTOS和GUI(RTOS采用FreeRTOS,GUI采用LiteGUI)

B.运作过程概述

       由于ADAS1000一但不完整的接收一帧数据便不再继续触发DRDY端口,因此本项目中使用一个定时器轮询DRDY接口的方式来确认ADAS1000是否数据就绪,而不是使用外部中断的方式,一但数据就绪,设备便会接收一帧数据,进行初步处理后存入RAM中,数据捕捉速率为2KHZ。数据处理工作和数据捕捉工作是异步进行的,使用一个独立的Timer来驱动数据处理部分,刷新率为1KHZ。数据的显示部分与前两者也是异步进行的,仍然使用一个独立的Timer来实现数据定时刷新,刷新率为50HZ。在拓展开发中,数据处理应当在从机进行,传输时仅传输50Hz的成品信号,避免主机的性能和通讯占用。

C.滤波算法

        心电信号干扰包括但不限于肌肉电信号干扰,工频干扰,器件噪声。为滤除工频干扰,本设计使用FIR低通滤波器,滤除30HZ以上的信号,可以滤除大部分干扰信号。肌肉电信号对于基线的干扰是最大的,高通滤波器在高采样率下存在建立时间过长的问题,本设计使用一个低采样率的FIR低通滤波器,将频率设在0.1HZ,得到心电的近似基线,再和源心电信号求差值,即可得到校正后的心电。这种方法简单稳定,响应速度也快于IIR高通滤波。心电处理的工作流程如下

D.心电算法

        心电算法可分为HR(Heart Rate)计算和心异常信号计算,HR计算方法是选定一个导联,使用一个定时器定时采样,并与上一次的值进行比较,当超过一定阈值(可通过一定公式将电压换算成阈值),记为一次心肌活动。通过每个心肌活动的间隔(RR间距)算出HR。对于心异常算法,由于需要做到识别ST间距,T波高度,识别QRS波等,涉及机器自学习,模板匹配识别等复杂问题,目前仍在开发阶段。

 

E.呼吸算法

        呼吸速率(RR)算法类似于心率(HR)算法,在此不详细介绍。(该算法不是普遍算法,目前普遍使用的是阈值法,即通过判断呼吸阻抗和一定阈值,来判断呼气和吸气,进而计算速率)

 

*6、BOM清单


请见附件区“OpenECG_BOM.xlsx”文件

*7、大赛LOGO验证



* 8、演示您的项目并录制成视频上传


请见视频区

 

Extra、制板和二次开发说明


        本项目在硬件设计时考虑了后期制版的问题,因此硬件上全部使用支持嘉立创SMT的元器件,并且尽量放置于同一个铜箔层,各位在制板时可以使用附件区提供的Gerber文件,BOM表,坐标文件进行嘉立创SMT打样但请仍然注意检查元器件的匹配问题,特别是针对某些拓展库器件。对于SMT打样时部分元器件型号混乱的问题,请注意检查和替换。

        关于二次开发,本项目制作的资金,人员和时间都是十分紧迫的,在项目开发后,仅用一个月就完成了从硬件设计到软件开发的基本流程。目前,本设计的硬件已基本成熟,但在软件上还存在空缺,项目中所提及的功能在软件上部分暂未实现(如拓展,更强大的心率异常识别等),作为开源项目,其强大之处就是能在各路开源爱好者的创新下不断优化。本人由于学业问题,后续对于OpenECG可能不再继续开发,但仍希望这个项目能继续发展下去。

        某些端口可以被复用为其他功能以实现更高级的功能,如BEEP接口,可以复用为定时器或是DAC,在后续开发中,可以使用DAC实现更多警告音效。

 

 

更多详情:https://diy.szlcsc.com/posts/d76d9cb41705430e9a54e7a5feed07a5

 

设计图

原理图(1 / 5)
PCB

BOM

IDNameDesignatorFootprintQuantity
11nFC1,C2,C3C06033
2DNPC4,C5,C6,C7,C8,C9,C10,C11C06038
32.2nFC12C06031
4ECG-CONCON1HDMI-SMD_HDMI-019S1
5EXT-CONCON2HDMI-SMD_HDMI-019S1

附件

序号文件名称下载次数
1
OpenECG_BOM.xlsx
195
2
Datasheet.zip
379
3
Gerber & SMT.zip
220
4
Schematic_OpenECG_5B.pdf
223
5
code-1.0.zip
367
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航