1、心电监护仪的设计实验QYK 电子信息工程温州医科大学一、系统功能要求1、设计一个标准导联的心电信号采集、处理和显示系统。2、能记忆当前时刻前若干秒的数据,由设计者确定参数。3、数据回放和打印功能。4、软件数字滤波,计算瞬时心率,并在 LCD12864 液晶显示器上显示出来。5、报警参数设计,通过软件实现当心率输入大于某个固定值时,报警装置工作。二、总体论证(1)总体方案确定心电信号作为心脏电活动在人体体表的表现,信号一般比较微弱,幅值范围 0.5-5mV,带宽 0.05-100Hz,因此极易受环境影响。在采集的心电信号中,常常掺杂着各种干扰,这些来源于心脏以外的干扰信号会使心电信号在周期和形态
2、上发生畸变,噪声严重时可完全淹没心电信号。为了正确进行测量、波形识别和病征诊断,就必须抑制这些干扰。而抑制干扰的主要方法是通过各种滤波器进行滤波。考虑到心电信号的幅值很低,不能使 AD 芯片正常采样,因此就必须放大体表的心电信号。最后将经过滤波、放大、AD 转换后的信号输入到单片机中进行处理,得到并显示人体的生理参数。1.采样方法选择一般临床上使用的心电采集分为胸导联和肢体导联,其中又以肢体导联最为普遍。肢体导联分为标准导联、和加压单极肢体导联 aVR、aVL 、aVF。标准导联为双极肢体导联,反映其中两肢体之间电位差变化。而加压单极肢体导联属单极导联,基本上代表检测部位电位变化。本系统将选取
3、标准导联的三种导联作为心电监护仪的采样方式。2.系统组成本系统主要由模拟部分和数字部分组成。在模拟部分中考虑到心电信号的微弱和易受干扰等特点,在设计系统组成时便不得不考虑到对信号的优化和处理,所以在信号采集和处理是本部分的重要环节。首先,由于心电信号只有 0.5-5mV,远远低于 AD采用的幅值范围。因此需将采集的信号进行放大,为了减少噪声且增加共模抑制比,此单元采用常见的分级放大。同时因为电极是直接与皮肤接触的,基于安全考虑,将在前级放大和后级放大之间用光耦器件进行隔离,保证了测量者的人身安全。在数字部分中通过 AD 芯片将处理好的信号转变为数字信号并存入单片机中,经过单片机的处理后将测得的
4、数据显示在液晶屏上,也可通过与微型打印机的连接将数据打印出来进行分析。(2)确定系统功能本系统以实现设计任务基本要求为重点,力求在满足主要性能指标的基础上实现系统的最佳性价比,对于系统改进和功能扩展将在最后讨论。根据设计任务的基本要求,本系统应具有以下几种基本功能:*可以采集、处理并显示心电信号。*可以显示当前时刻前若干秒的数据,时间参数由设计者确定。*可以进行数据的储存并回放。*可以进行数据的打印。*具有报警功能,通过软件实现当心率输入大于某个固定值时进行报警,固定值由使用者确定。三、系统设计(1)软、硬件功能划分1.速度估算由于心电信号的频率主要在 0.02100Hz,处于较低的频率范围。
5、根据奈奎斯特采样定理,采样频率应大于信号中最大频率的两倍,并且在实际应用中采样频率应为 510 倍。以 10 倍最大信号频率(1KHz)为采样频率来说,采样的时间间隔为 1ms 或更长时间。由此可见,对于采样间隔为 10us 的 AD 采样芯片而言,速度完全满足要求。2.软、硬件功能划分为了简化系统硬件、降低硬件成本、提高系统灵活性和可靠性,有关数据处理分析、数据存储及大部分控制过程都可由软件来完成。硬件的主要功能是心电信号的采集、放大、滤波及 A/D 转换等。另外,人机通道功能由系统软、硬件配合完成,以降低软件设计的复杂性及缩短系统的研制周期。(2)系统功能划分、指标分配和框图构成根据系统总
6、体方案,系统主要由以下三个模块组成,总体框图如下图所示。1.单片机基本系统单片机系统是整个控制系统的核心,它完成整个系统的信息处理及协调控制功能。由于系统对运行速度和功能要求都无特别之处,因此可以选用目前广泛使用的 MCS-51 系列单片机 8031。8031 单片机可以提供系统控制所需的中断、定时以及存放中间结果的 RAM 电路,但片内没有程序存储器,因此单片机基本系统中除了应包括的复位电路和晶振电路外,还应扩充程序存储器。同时考虑到本系统具有数据回放功能,故还需扩充一片片外数据存储器。2.前向通道前向通道是信息采集的通道,主要包括传感器、信号放大滤波、A/D 转换等电路。由于心电信号的频率
7、为 0.02100Hz,相对而言变化比较快,因此需要在前向通道中设计采样保持电路。3.人机对话通道人机对话通道主要由键盘、LCD 液晶显示和打印机组成。为了完成设定时间参数以及警报心率参数和打印等功能,满足显示心电波形等要求,键盘可由 10 个数字键及 6 个功能键组成(确认、取消、设定时间、设定心率、切换显示、打印) 。波形显示由 LCD12864 液晶显示,分别显示心率及波形,由“切换显示”按键进行切换显示。打印功能由微型打印机完成,可以打印给定的时间的心率数据。四、硬件开发(1)系统配置与接口扩展1.单片机基本系统单片机基本系统以 MCS-51 系列单片机 8031 为核心,外扩 8K8
8、 的 EPROM 2764 作为程序存储器和 8K8 的 RAM6264 作为数据存储器,如图所示。考虑到单片机在进行工作时需要调用浮点数运算程序库,程序需占用较大存储器空间,为保证程序存储器有足够空间并适当留有余地以便进一步扩展功能,因此选用了容量较大的存储芯片 2764。2.前向通道前向通道由前置放大和后级信号放大处理两部分电路组成,具体流程如下图所示。前向通道流程图心电信号经电极传感器和放大滤波电路处理后产生 05V 的模拟电压信号送人 A/D 转换器的输入端,A/D 转换器将模拟量转换为数字量通过系统总线送人单片机进行运算处理。前向通道设计包含以下几个方面内容:(a)电极传感器选择市场
9、上电极传感器的种类很多。本系统采用最为常见的体表电极,因为体表电极主要由银、铂、镍、不锈钢或钨制成,它们一般电阻很小,制作也简单,其尺寸一般是毫米级的,比较适用于本系统的实验要求。(b)信号处理主要电路具体电路如下两图所示前置放大及光耦隔离电路图后级放大及滤波电路图*前置放大电路:前置放大电路是心电信号采集的关键环节, 由于人体心电信号十分微弱, 噪声强且信号源阻抗较大,加之电极引入的极化电压差值较大,因此,通常要求前置放大器具有高输入阻抗、高共模抑制比、低噪声、低漂移、非线性度小、合适的频带和动态范围等性能。为达到心电放大器的上述技术要求,本系统选用了AD 公司的仪表放大器 AD620 作为
10、前置放大器的核心器件,并且采用了差动输入的方式。AD620 为一个低成本、高精度的单片仪器放大器,工作时只需要设定外部的一个电阻 RG 就能得到 11000 的放大倍数。同时考虑到心电信号中混杂着比其幅度大得多的直流信号,太大的前置放大器增益会影响电路的直流稳定性,为了保证前置放大器不工作在截止区或饱和区,因此在设计时,将第一级放大倍数定为 10 倍大小,保证了前置放大器的正常工作。*光耦隔离电路:为了人体安全的目的,通常的生物电信号测量技术采用浮地形式,以便实现人体与电气的隔离。采用光耦隔离可以使信号从浮地部分传递到接地部分,两部分之间没有电路上的直接联系,通过地线构成的漏电流完全被抑制。因
11、此,不但保障了人体的绝对安全,而且消除了地线中的干扰电流。本系统选用了日本东芝公司生产的高速光耦 6N136 作为光耦隔离的主要器件。6N136 具有体积小、寿命长、抗干扰性强、隔离电压高、高速度、与 TTL 逻辑电平兼容等优点。由于6N136 的最主要的特点是高速度,转换时间为 1us,完全满足转换心电信号的频率要求。*后级放大电路:因为电路的共模抑制比主要由心电前置放大器决定,而 AD620 的140dB(G=10)的共模抑制比符合设计要求。为了进一步提高前置放大器的共模抑制比同时抑制 50Hz 的工频干扰,本系统利用 TL084 作为后级放大电路核心器件,设定放大倍数为 100,配合前置
12、放大倍数使最初的心电信号放大 1000 倍,保证了之后 A/D 芯片能够正常采样。 (具体电路见后级放大及滤波电路图右上方)*各级滤波电路:由于电极极化电压的不平衡、前置放大器的失调漂移以及人体动作等因素, 前置放大器输出的心电信号中除了夹杂不少工频干扰外,还有很大的直流或低频分量,这不仅会引起心电信号的基线漂移,也不利于后续电路的处理,因此设计了一个二阶巴特沃斯高通滤波器来滤除这些直流和低频分量(具体电路见后级放大及滤波电路图左上方) 。同时 50Hz 工频干扰是心电信号的主要干扰,虽然前置放大电路对共模千扰具有较强的抑制作用,但有部分工频干扰是以差模信号方式进入电路的,且频率处于心电信号的
13、频带之内,加上电极和输入回路不稳定等因素,前级电路输出的心电信号仍存在较强的工频干扰,所以必须专门滤除。为了去除人体或测试系统中产生的工频干扰,需用带阻滤波器加以抑制。本系统采用的是二阶巴特沃斯带阻滤波器。 (具体电路见后级放大及滤波电路图左下方) 。并且考虑到经放大后的心电信号中除了混有较高频率的肌电干扰外还有开关电容滤波带来的开关噪声。为了得到较好的输出信号,在主放大级后设计一个低通滤波器。由前面可知,心电信号的大部分有用信息在 0.05100Hz 之间,所以截止频率取 fc=100Hz。本系统采用的是巴特沃思二阶低通滤波。 (具体电路见后级放大及滤波电路图右下方) 。*各级滤波电阻参数设
14、定:1、高通滤波器:, , Hzfc05.1vAuFC205,KR21 KR.522、50Hz 陷波器:, ,zfc50u154325, ,18.3 8. KR316.03、低通滤波器:, , ,Hzfc0vAuFC.56 uF.57,KR2.1456KR937(c)取样/保持电路根据取样定理,AD 采样的每一通道的取样的频率必须大于该通道的模拟信号频谱中最高频率成分的两倍以上。但是在实际的数据采集系统中,取样频率不是决定模拟信号最高频率的唯一因素。如果考虑到采集精度,则会对输入信号的最高频率有十分严格的限制,特别是系统中采用逐次比较型 A/D 转换器且输入模拟信号的幅值达到 A/D 转换器的
15、满量程,这时允许的模拟信号的最高频率可能会明显地低于取样定理所允许的信号最高频率。当 A/D 转换器前不接取样/保持电路情况且要求 A/D 转换器的精度不致因变换速率限制而下降,则输入的信号的最高频率 应满足:maxfconvNTf21max对于本系统的 AD 芯片而言,N=12, =10us,则有Hzf 1078.1025max 这样的频率完全不能进行准确的采样,所以要在本系统中添加取样/保持电路。而当 A/D 转换器前接入取样 /保持电路后,最大的允许频率 应满足:maxf( 为孔径时间)APNTf21max由于 远远小于 ,通常为纳秒级,故加入取样/保持电路后可允许输入APTconv信号
16、的频率明显提高。从而解决必须降低输入信号的幅值来提高最大允许频率的问题。(d)A/D 转换器由于心电信号的频率主要在 0.02100Hz,处于较低的频率范围。本系统采用美国 AD 公司生产的 12 位逐次比较型 A/D 转换器 AD1674,其转换时间为10us,单通道最大采集速率为 100kps。与其它 AD 芯片相比,AD1674 的内部结构更加紧凑,集成度更高,工作性能(尤其是高、低温稳定性)更好,而且可以使设计板的面积大大减小,因而可以降低成本并提高系统的可靠性。在当两次读出的 12 位数据遵循左对齐格式,如下所示: AD1674 的 5 个控制信号组合的真值表见下表。利用单片机的 P
17、16 和 P10 共同控制 AD1674 的 R/C 端和 A0 端来达到 A/D 采样的目的,并且将 AD1674 芯片的输出状态信号脚 STS 端与单片机的 INT1 外部中断连接。当 AD 采样完毕后 STS 脚会从开始的高电平跳转到低电平,从而利用它的下跳沿向单片机发出外部中断,通知单片机 A/D 转换已完成,可以进行读取转换结果。AD1674 连接图: LF398 采样电路图:精度位数误差计算:10后 置前 置 AdmVLSB2.40965uAVd.1.通过计算可得到该 A/D 采样芯片的采样误差为 1.22uV,符合心电幅值采样要求。3.人机对话通道系统人机对话通道主要由行列式键盘
18、、LCD 液晶显示器和 GP16 微型打印机组成。其中虽然键盘的扫描输入可以直接由单片机承担。但考虑到键盘接口需要较多的 I/O 口线,如直接由单片机控制,一方面必须扩充系统 I/O 口,另一方面键盘的扫描处理需要占用大量的机时,增加软件编程负担。为此在组成系统人机对话通道时,采用了可编程键盘、显示接口芯片 8279,由 8279 负责键盘的扫描、消抖处理等工作,这样大大减轻了 CPU 在扫描键盘时的负担,也简化了应用软件的编程。上图是系统控制面板布置图。根据任务要求,8279 键盘被设计为 28 行列,扫描线由 经译码输出,接入键盘列线;查询线由 提供,接入20SL 10RL键盘行线。根据键
19、盘按键的连接方式与 8279 扫描键盘数据格式,各按键按下时的键值如下表所示。显示器配置为 LCD12864 液晶显示器。相对于市场上其它液晶显示器来说,其具有更加强大的显示,如显示汉字和图像等功能。同时考虑到本系统的基本要求是需要显示心电图像,普通的 1602 显示器无法满足要求。LCD12864 液晶显示器的工作原理和 LED 点阵类似即在要点亮的“点”上赋予正向压降即可。同时其具有 4 位/8 位并行、2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,大大减小了程序编写的难度。LCD12864 的读写时序及线路连接如下图所示。由上图可知控制 PA
20、4、PA5 、PA6 三支引脚便可以达到在液晶上显示出系统采集到的心电信号数据及其波形。 (注:PA7 和 PA3 是分别控制液晶显示屏上下两屏是否启用,由 P2.5P2.7 控制。 )GP16 微型打印机通过总线与单片机相连,其中 GP16 的片选 由单片机CSP2.5P2.7 译码控制,读写地址为 C000H;GP16 提供的 BUSY 信号通过 P1.5 口送人单片机,单片机可以通过查询方式了解打印机的工作状态。(2)系统硬件电路设计与制作将前述各单元电路连接起来,就可以构成完整的系统硬件电路图。需要指出的是,为了操作与维修方便,一般习惯将电源、操作面板等部件与主控制板分开单独安装。因此
21、系统硬件电路中除了包含前、后向通道的输入、输出插座外,还应考虑增加若干个插座,以方便主控板与各部件的连接。硬件电路制作包括印刷线路板制作、焊接和系统连接等几个方面。印刷线路板的设计一般都是在计算机上利用 Tango,Protel,ORCAD 等软件进行辅助设计,设计完的 PCB 文件由厂家制作出所需的印刷线路板,经焊接和系统连接完成硬件电路的制作过程。 (3)硬件电路调试1.单片机基本系统调试硬件电路的调试应按照相关的系统硬件设计与调试原则进行,依次对单片机基本系统、人机通道、前向通道和后向通道分别进行调试。调试时可利用仿真器对各接口地址进行读写操作,静态地测试电路各部分的连接是否正确;对于动
22、态过程(如中断响应)可以编写简短的调试程序配合硬件电路的调试。(a)晶振电路将仿真器晶振开关打到外部,如果仿真器出现死机现象,说明用户系统晶振电路有问题,此时应用示波器观察单片机时钟信号输入端是否有振荡信号,或检查晶振电路各器件参数。(b)复位电路按下复位按钮应使系统处于复位状态,否则用万用表检查复位电路各点信号和各器件参数。(c)外部程序存储器电路用仿真器读出 EPROM 中的内容与实际存入的内容进行比较。如果读出内容有错,则依读出内容分析,查找系统数据线、地址线、控制线有无开路、短路、虚焊和链接错误等情况。2.人机通道调试(a)LCD12864 显示用仿真器向 8031 输入命令,检查 L
23、CD 显示是否正常。如果显示不正常,用万用表或示波器检查电路各个部分情况。(b)键盘输入用仿真器向 8279 命令口(A001H)写入时钟分频命令( 2AH)和工作方式命令(00H) 。按任意一键。从 8279 状态口(A001H)读出状态字,状态字低 4 位非零说明有键输入。向 8279 命令口(A001H)写入读 FIFO RAM 命令(40H ) 。从 8279 数据口(A000H)读出键值。键值错误或没有键入信息,须检查按键电路。(c)打印机输出用仿真器向 GP16 口地址(C000H)写入字符串打印命令(9AH,01H ) 。向GP16 口地址( C000H)写入打印数据(30H,3
24、1H , ) 。观察打印结果,如果打印不正常,须检查连接电路。5、软件开发 有了上面的硬件基础,现在就必须进行软件的开发。与硬件设计不同,软件的开发具有极大的灵活性,在设计过程中需要考虑最佳的代码运行,具体包括运行速度,运行效率,放跑飞程序等。系统软件主要由主程序、键盘输入中断(INT0)服务程序、修改参数子程序(分为心率修改和时间修改) 、运行显示子程序和打印子程序组成,其中运行显示子程序又包括了启动 A/D 采样子程序和警报程序。1、主程序主程序流程图如下图所示。主程序主要完成以下几项任务:(1)初始化。设定可编程芯片的工作方式,对内存中的工作参数区进行初始化,显示系统初始化。(2)在有键
25、入操作时读取键值,并跳转到相应功能的子程序中去。(3)子程序执行完毕返回主循环,等待下一次键入。2、键盘输入中断服务程序当有键入操作时 8279 通过 INT0 引发 8031 单片机的外部中断 0 的中断服务程序,中断服务程序流程图如右图所示。3、修改心率参数子程序心率参数 P 的修改可以通过面板上的“心率设定”键进入子程序,修改完的数据可以按“确定”键确认修改,或按“取消”键取消修改。程序流程图如下。4、修改时间参数子程序时间参数 T 的修改子程序流程与 PID 参数子程序类似,只是显示参数与存储参数的地址不同。5、运行子程序运行子程序将进行系统最主要的采样处理过程,在运行过程中若有“取消
26、”键按下,则运行子程序将回到主程序中;否则运行子程序将一直运行下去。运行子程序流程图如下图所示,其中初始化包含中断工作方式和变量的初始化。6、心电采样子程序心电采样子程序启动 A/D 转换并读取转换结果,程序流程图如上图。六、联机调试 联机调试是在样机中全速运行系统软件,观察系统运行情况,并根据运行结果修改参数,或对软、硬件方案作必要的修改,重复调试过程,直到系统能够满足各项性能指标要求。七、指标测试及软件固化(1)指标测试根据设计要求,调试完成的系统应作全面的指标测试,测试过程如下:(a)通过键盘输入高于正常心率,测量正常人体心率,观察有无警报提醒。(b)测量过程中观察液晶显示是否正常,能否
27、进行显示所测的心电变化,同时判断计算得出的心率值是否符合实际。(c)执行打印功能,打印出心率值。(2)软件固化在调试完成、系统指标合格后,需将系统软件固化。EPROM 的固化过程可以通过仿真器提供的 EPROM 写入功能完成,也可以利用 ALL-03,ALL-07 ,ALL-11 等各种编程器将目标程序机器码固化到 EPROM 芯片中去。将固化后的芯片插入系统中,系统便可以脱机运行了。脱机之后还应该再一次运行系统以检验软件固化后的系统工作是否正常。8、功能扩展 为了使系统能接收其它微机系统发出的控制命令并将控制结果输出到其它微机系统,实现系统通信功能的扩展要求,可以考虑采用单片机内串行口外加逻辑电平转换电路组成RS-232C 标准接口以实现系统互相通道的扩展。如下图所示,逻辑电平转换电路采用了一片专用芯片 ICL232,该芯片只需外加少量电容即可完成 TTL 到 RS-232 或 RS-232 到 TTL的逻辑电平转换,使用十分方便。为了实现系统与其他微机系统的通信,在系统软件中还需要增加相应的通信处理程序。例如 8031 以中断方式接收来自串行口的控制命令,并根据命令内容作相应处理。下图是串行口输入中断服务程序流程图。附:PCB 图及原理图1、放大滤波电路模块2、电源模块3、数字处理模块