医生PDA远程无线心电监护软件系统的设计与实现.doc

上传人:wux****ua 文档编号:8938078 上传时间:2020-04-02 格式:DOC 页数:34 大小:667.50KB
返回 下载 相关 举报
医生PDA远程无线心电监护软件系统的设计与实现.doc_第1页
第1页 / 共34页
医生PDA远程无线心电监护软件系统的设计与实现.doc_第2页
第2页 / 共34页
医生PDA远程无线心电监护软件系统的设计与实现.doc_第3页
第3页 / 共34页
点击查看更多>>
资源描述
编号 本科生毕业论文 医生 PDA 远程无线心电监护软件系 统的设计与实现 Design and Implementation of Software System for Remote Wireless ECG Monitoring Based on PDA 学 生 姓 名 李英健 专 业 电子信息工程 学 号 050491133 指 导 教 师 冯涛 学 院 电信学院 2009 年 6 月 摘 要 PDA Personal Digital Assistant 个人数字助理 凭借其自身的计算能力 与 多种无线通讯模块如蓝牙模块 CDMA GPRS 通讯模块等的集成 在医疗领域 发挥着越来越重要的作用 将 PDA 这种便携式终端引入心电实时监护 可以 为医生提供了一个全新的 动态的 便携的心电信息处理平台 PDA 与远程无 线心电实时监护系统的集成 使得不仅病人的心电信息可以被随时随地随意地 实时获得 医生对病人心电信息的监护也可以随时随地随意地进行 医用 PDA 远程心电监护软件是远程无线心电监护系统的一个子系统 它 接收通过 CDMA Internet 网络传输的病人心电信号 对病人进行实时远程心电 监护 并可从心电数据库中下载历史心电数据 对其进行回放分析 首先 本文介绍 PDA 端软件在整个监护系统中的作用 并阐述了 PDA 端监护软件的总体设计与框架 然后 介绍了系统的通信模型和通信协议 分 章叙述了各个具体功能模块的工作流程 关键技术与实现方法 基于 AT89C52 低功耗 MCU 的便携式心电监护仪及其系统的研究 根据人 体心电信号的特征 设计性能优良的心电信号采集系统 选用低功耗 8 位单片 机 AT89C52 和大容量 Flash 存储器对采集的心电信号进行记录 实时分析及处 理 所研制的监护仪带有液晶显示器 能实时显示所检测的心电信号 配合按 键提供友好的中文菜单 操作简便 心电数据也可通过 RS232 接口向上位机传 送 该监护仪能长期 连续 可靠 稳定的工作 同时还具有体积小 存储容量 大 功耗低等特点 便于随身携带 使用方便 还利用单片机汇编语言编写了信号处理软件模块以及 ECG 信号特征点的检 测模块 配合优良的心电采集系统 液晶显示器能够实时不失真的再现心电信 号波形 关键词 PDA 远程心电监护 CDMA 实时监护 传输协议 Abstract With powerful computing ability and integration with wirelesscommunication module such as blue tooth and GPRS CDMA PDA play amore and more important role in field of medical treatment Comparing withtraditional Holter system the advantage of ECG Remote Monitor system isthe ability to help doctor to obtain patients ECG more quickly and completely which make it be more suitable to monitor heart disease which is chronic butcome on all of a sudden If PDA is introduced to this system to obtainpatients real time ECG will be more conveniently PDA provides a mobileand convenient information process service to doctors With the help of PDA doctors can obtain patients ECG anytime and everywhere PDA software System of Real time ECG Monitoring is a subsystem ofECG Remote Monitor system In this paper the role of PDA software Systemplays in ECG Remote Monitor system is introduced firstly and then thearchitecture of PDA software system Thirdly communication model andcommunication protocol of the system are described The author is engaged in the studying and manufacturing of portable ECGmonitor and its system based on AT89C52 low power MCU According to thecharacteristic of human s ECG signal an excellent ECG signal sampling systemwas designed Further more The monitor uses low power 8 bits single chipmicrocomputer AT89C52 and bulk Flash memory to record analyst and processthe ECG signal at real time The monitor uses LCD to show the ECG wavesdetected Cooperated with buttons it provides amicable Chinese menu and makesoperation simple and convenient and the ECG data can be transmitted toPersonal Computer by serial RS232 interface This monitor can work stably andreliably for a long time and with some excellencies such as mini volume bulkmemory low power etc It is convenient to be taken with and used By use of the assemble language in programming the author also makes anECG auto analysis software module This software is convenient to be used aswell as has friendly interface With the excellent ECG signal sampling system the LCD can show the ECG waves detected at real time Keywords PDA ECG Remote Monitoring CDMA Real time Monitoring Transfer Protocol 目 录 第一章 绪论 1 1 1 课题背景和意义 1 1 2 国内外发展概况 1 1 3 本课题方案思路的形成 2 第二章 系统总体设计 3 2 1 远程心电监护系统的总体架构 3 2 2 医用 PDA 心电监护软件的总体设计 4 2 2 1 PDA 心电监护软件需求分析 4 2 2 2 PDA 心电监护软件架构设计 5 第三章 心电信号检测电路设计 6 3 1 引言 6 3 2 前置放大器设计 6 3 2 1 心电信号的提取 6 3 2 2 前置放大电路 7 3 3 工频陷波器 8 3 3 1 电路 元件参数的设计 9 3 4 低通滤波电路 9 3 5 高通滤波电路 10 3 6 导联脱落检测电路 12 第四章 单片机数据采集系统 13 4 1 引言 13 4 2 数据存储系统 13 4 2 1 数据缓冲 14 4 2 2 AT29LV040 大容量闪存 14 4 3 液晶显示系统 15 4 3 1 硬件连接电路 16 4 4 RS232 串行接口电路 16 第五章 PDA 心电信息中心通信模型 18 5 1 TCP IP 协议 18 5 2 PDA 心电信息中心应用传输协议 18 5 2 1 PDA 心电信息中心控制信息传输协议 19 5 2 2 PDA 心电信息中心心电数据传输协议 19 5 3 SOCKET 编程实现 TCP IP 通信 23 5 2 3 Socket 通信流程 24 5 2 4 Socket 通信的多线程实现 25 结 论 27 参考文献 28 致 谢 29 第一章 绪论 1 1 课题背景和意义 心脏病是现代工业社会中人类生命威胁最大的疾病之一 随着人们生活节奏 的加快以作压力的增加 心脏病的发病率不断增加 在美国 日本和欧洲 心脏 疾病居人口疾病死亡率的第一位 在我国居第三位 心脏病己成为危害人类健康 的多发病和常见病 因此心脏系统疾病的防治和诊断是当今医学界面临的首要问 题 心脏病是慢性病 具有长期带病 急性发病的特点 心脏病患者具有很大的 分散性和移动性 大部分患者分布在社会上 家中或工作场所 处在日常的工作 和生活中 具有较大的活动范围 据我国卫生部数据中心统计 70 以上的心脏病 患者是在社会上或家中突然发生冠心病急性事件 恶性心律失常或急性心肌梗塞 大部分人因失去抢救时间死于医院外 1 这些病人如果能够获得及时的抢救与护 理 是很有可能避免死亡的 因此 对心脏病人进行长期甚至是终生的心脏监测 是非常必要的 可以预先发现异常征兆并及时给予救治 可以大大降低死亡率和 致残率 同时降低医疗费用 1 2 国内外发展概况 心脏远程监护是远程医疗 2 中的远程监护 TeleMonitoring 和家庭护理 Home HealthCare 的一个应用 远程监护技术是近年来远程医疗非常重要的一 个研究领域 但在远程医疗中又是一个相对薄弱的研究领域 远程监护提供了一 种通过对生理参数进行连续监测来研究远地对象生理功能的方法 20 世纪 70 年代 美国研制成功了利用电话线传送心电图的监测系统 TTM TTM 系统是以微机为 基础的心电传输 接收和心电数据库管理系统 通过电话线传输心电信息及计算机 处理实现对病人的心电监护 病人应用记录 发射器可随时 随地通过电话线向监 测中心传输心电数据 医生根据心电信号改变和患者诉说的病情 向患者提供诊 断与治疗意见 为院外心脏病人的长期心电监测和治疗提供了方便 在此后的加 多年中 TTM 系统发展迅速 而且与之相对应的患者随身携带的监护仪也取得了 很大的发展 进入 21 世纪 医学电子仪器的发展趋势是 1 高精度 高保真 快速实时显示 2 更加多功能 智能化 小型化和网化 3 处理特异性强的诊断与治疗相结合 监测 技术向微观 微创 无创 快速 实时 动态性 整合性 可视化方向发展 这 些都将大大加快和提高心电信息高速公路速度 使其更加先进 充实 完善 实 用 更好提高心血管病的诊断与治疗质量 将心电信息学数据 曲线 图像高保 真 快速传送到己开通的心电信息高速公路 并逐步推广到各级医院 目前国内市场上存在一些便携式心电监护仪 但是远远没有得到很好的普及 究其原因 作者认为存在以下几个方面 1 市场上的产品几乎都是引进国外的技术 对便携式心电监护仪的开发国内尚处于起步阶段 在调研发现只有重庆大学 福 州大学等几所大学在研制开发 2 记录的心电信息极其有限 医生从中难以得到 患者全面的心电信息 从而降低了医生对疾病诊断的正确率 3 费用较为昂贵 动辄几千乃至上万元 一般的患者难以承受 4 实时性 体积 功耗 重量等都不 尽如人意 给患者在使用过程中造成诸多不便 因此 动态心电监护系统的研制 有重大深远的意义 1 3 本课题方案思路的形成 近几年来 随着计算机技术的发展 单片机的性能得到了大大的提高 而单 片机具有集成度高 体积小 功能强 功耗低 价格便宜等优点 对单片机的应 用可以使仪器实现智能化 小型化等 这就为我们研制新型多功能 便携式心电 监护仪提供了良好的条件 因此 采用单片机作为主控制芯片 利用 LCD 显示器 等外围芯片 研制了一种集显示 分析 通信等功能于一身的新型便携式心电监 护仪 第二章 系统总体设计 2 1 远程心电监护系统的总体架构 医用 PDA 心电监护软件是整个远程心电监护系统的一个子系统 因此 有 必要首先对远程心电监护系统的总体结构做一个介绍 14 远程心电监护系统的整 体拓扑结构如图 2 1 所示 整个系统分为三个部分 前端移动监护仪 医院监护中心的心电工作站与医 用 PDA 移动监护仪用于患者病人的数据采集与发送 心电信息的简易处理与显 示 医院监控中心心电工作站分为服务器端和客户端 服务器端负责接收患者心 电信号数据 对心电信息进行实时监控和报警 与医生 PDA 通讯 客户端则对 用户的心电数据进行数据库管理 对历史心电数据进行回放分析 并向外提供心 电的 Web 访问系统 供医生和用户上网浏览心电数据 医生使用的 PDA 移动监 护设备 具有实时接收患者心电信号数据和接收医院中央服务器数据的功能 并 能对信号做一定的分析和处理 图 2 1 远程心电监护系统拓扑结构图 系统工作流程 用户端的移动监护仪单机测量得到患者的心脏电生理信号 通过 GPRS CDMA 移动通信网络将监测数据传输到医院监护中心的心电工作站服 务器端 心电工作站服务器端接收患者的数据接入请求 对心电数据进行在线监 控计算 还应医生请求将相应患者的心电图处理数据发送到医生 PDA 中 心电 工作站客户端负责管理和维护心电信息数据库 相对于医院监护中心的心电工作站服务器端 医用 PDA 是一个小型的移动 心电信息处理平台 PDA 也具有信号数据接收和分析处理的功能 它可以根据医 生的需要 接收由心电监护中心转发的专属病人实时心电信号 对病人进行远程 实时监护 也可从心电信息数据库下载历史心电数据以及其他相关信息 在 PDA 上做心电图回放分析检测 医生可以据此远程诊断患者的病情 根据情况去患者 现场实地就诊 2 2 医用 PDA 心电监护软件的总体设计 2 2 1 PDA 心电监护软件需求分析 医用 PDA 实时监护软件为主治医生所用 它的主要用途在于帮助医生及时 地获取其专属病人的心电信息 它为医生提供一个移动的 方便快捷的心电信息 处理平台 让经常处于忙碌与移动状态的主治医生可以随时获取病人的心电信息 并做出妥当的处理 而不受时间与空间的限制 医用 PDA 的使用者是具有处方 权的主治医生 他们都受过高等教育 具备基本的计算机操作能力 经过一段时 间的培训很快就能掌握 PDA 的操作 但由于医生不具备计算机的专业知识 工 作比较繁忙 所以 PDA 软件要尽量简单易用 方便操作 在对市场进行仔细的调研和分析并与医生的沟通之后 我们提出医用 PDA 实 时监护软件主要需求如下 1 对一个或几个专属病人的心电波形进行实时监护 2 根据医生需求 获取特定病人在特定时间的心电波形并进行回放分析 3 与前端监护仪进行信息交互 如获取紧急报警信息 发送医嘱至专属病 人等 4 从服务器端获取专属病人资料 如联系方式 病史等 图 2 2 PDA 心电监护与分析系统用例图 2 2 2 PDA 心电监护软件架构设计 医生 PDA 心电系统总体上来说是一个智能化信号采集处理系统 结构上主要 由完成人体电信号采集 滤波放大的前端硬件电路部分和完成数据分析和诊断的 微机控制部分构成 这两部分协调配合工作完成整个系统功能 系统框图见图 2 3 前端硬件电路部分又可分为电极与导联 放大与滤波电路部分 以及系统电 源部分 放大与滤波电路部分负责将心电信号放大 滤除干扰信号等 系统电源 部分为系统提供稳定的士 SV 以及士 3V 直流电源 完成数据分析和诊断分析的控 制部分用 8 位的单片机 单片机对采集到的数字信号进行压缩以及显示等处理 使整个系统具有智能化特点 而且通过串行接口可以和计算机很好进行通信 图 2 3 系统硬件框图 第三章 心电信号检测电路设计 3 1 引言 心脏在机械性的收缩之前 首先产生电激动 产生生物电流 并经组织和体 液传导至体表 在身体不同部位产生不同的电位变化 形成体表电位差 即变化 着的心电信号 人体的心电信号是一个非常微弱的非正弦的低频信号 其幅值一 般在 1mV 左右 可低至几十微伏 频谱分布在 0 05 100Hz 主要频谱分量集中在 此 0 5 20Hz 要采集这样的信号 首先必须设计合适的心电信号检测电路 在心电放大器输入回路内 由于电极和皮肤分泌液之间存在着复杂的离子交 换过程 在其接触面形成极化电动势 Ep1 和 Ep2 当 Ep1 Ep2 时 其差值比心电 信号大得多 能达到数百毫伏 差值信号与心电信号一起 由心电放大器放大 势必造成前置放大器静态工作点的偏离 甚至进入截止或饱和 引起心电放大器 的阻塞 所以前置放大器的增益不能太大 我们设计的放大器前置放大增益为 7 倍 后级放大倍数为 140 倍 总增益 1000 倍左右 我们设计的心电信号采集电路原理框图如图 4 1 所示 从电极提取的心电信号 经导联传送到前置放大器 进行前置放大 经高通滤波滤除直流信号及低频基线 干扰后 由后级放大器放大 再经滤波器进一步滤除 50Hz 工频干扰 经低通滤波 器后得到 0 05 100Hz 的有用心电信号 由 A D 转换后送至单片机处理 同时导联 脱落检测电路把检测结果传给单片机 脱落时产生报警 图 3 1 心电信号采集原理图 3 2 前置放大器设计 3 2 1 心电信号的提取 传统的心电信号放大电路如图 4 2 所示 运算放大器 Al 与 A2 为同相比例放大 器 输入阻抗很高 它对共模信号有很高的抑制比 由于电阻 Rg 连接于这两个放 大器的求和点之间 当一个差分电压加到仪表放大器的输入端时 整个输入电压 都呈现在 RG 两端 由于 Rg 两端电压等于 Vin 所以流过 Rg 的电流等于 Vin Rg 因此输入信号将通过放大器 Al 和 A2 获得增益并得到放大 然而须注意的是对加 到放大器输入端的共模电压在 RG 两端具有相同的电位 从而不会在 RG 上产生电 流 由于没有电流流过 RG 也就无电流流过 R5 和 R6 放大器 A1 和 A2 将作为 单位增益跟随器而工作 因此 当 R1 R3 R2 R4 R5 R6 时 共模信号将以单位 增益通过输入缓冲器 而差分电压将等于 V 0 VM V M 1 2 R5 Rg R2 R1 图 3 2 典型的三运放电路 3 2 2 前置放大电路 为达到心电放大器的上述技术要求 前置放大电路采用了差动输入的方式 如图 4 3 所示 即将患者体表的电位差作为信号予以放大 3 3 前置放大电路 1 输入阻抗 差动输入电阻就是 AD620 的差动输入电阻值与 R 的并值 可达到 18M 因此满足心电放大器的要求 2 低噪声 低漂移 仪表放大器 AD620 的技术指标己满足前置放大器低噪声 低漂移的要求 3 增益 通过调节 AD620 的外接增益电阻 Rg 的阻值来改变放大器的增益 增益 G 与 电阻 Rg 的关系按下式计算 G 可达到 1 1000 倍 49 4 R g 1 在前置放大电路图 4 3 中 增益电阻 Rg 为 R2 R3 的串联后再与 R1 并联的电 阻值 R1 R2 R3 须选用低温度系数的精密线绕电阻 否则 AD620 的高性能将下 降 我们选用的精度为 0 01 的精密线绕电阻 根据低噪声设计理论 影响多级 放大器的噪声性能主要是第一级 达到低噪声性能 并选用低噪声器件来构成第 一级 但考虑到心电信号中混杂着比其幅度大得多的直流信号 太大的前置级放 大器增益会影响电路的直流稳定性 为了保证前置放大器不工作在截止区或饱和 区 前置放大器的增益不能过大 因此我们设计了第一级的放大倍数为 7 倍左右 3 3 工频陷波器 在生理信号 如心电 脑电 动脉波和心音等 的检测过程中 50Hz 工频干扰 是经常存在的 但是由于 50Hz 的干扰信号是落在心电信号的有效频带内 所以在 信号通道中增加一级工频陷波器 以尽可能的在 50Hz 单频上抑制干扰 图 3 4 陷波电路图 在本系统的设计中 我们采用带通滤波抵消法 如图 3 4 所示 该陷波器具有 品质因数高 陷波倍数大 中心频率可调等特点 图 3 4 中运算放大器 U1A U1B U2A 组成 50Hz 带通滤波器 运算放大器 U2C 电阻 R12 R9 R13 组成加法运算电路 信号从 in 进入后一路经过带通滤波 器得到 50Hz 信号 一路经过由 U2B 电阻 R11 构成的反相放大电路得到反相放 大信号 两信号再经加法电路 其结果抵消了原信号中的 50Hz 分量 3 3 1 电路元件参数的设计 fo 1 2 RC 设计要求 f o 50Hz 增益 Ho 13 取 1 2 68nF 由 fo 1 2 RC 算得 R 46 8 实际取 R 47 因此 R1 R3 R4 R5 R7 R10 47 另取 R6 10 求得 R8 100 调节电位器 来调节 R6 R8 从而调节增益和品 质因数 实际电路中 R5 由一固定值 R5 和一可变电阻组成 以调节中心频率 3 4 低通滤波电路 由前面可知 心电信号的大部分有用信息在 0 05Hz 100Hz 之间 所以截比频 率取 fo 100Hz 根据巴特沃思二阶低通滤波的特点 本电路采用巴特沃思二阶低 通滤波电路 电路如图 3 7 所示 其各个参数表达式如下 1 传递函数 H s S2 S R1 1 S R1 1 S 1 uF R2 2 1 R1 R2 1 2 uF R1 R2 1 2 图 3 7 低通滤波电路图 增益 uF 1 R4 R3 截止频率 0 R2C1 品质因数 0 1 R 2 1 1 R1 1 1 uF R2 c 2 系统参数设计如下 1 选取 1 值 1 0 01uF 2 根据 fo 和 1 求 值 100 f o 1 100 3 设定增益 uF 2 查表 4 2 得 1 2 0 01uF R1 1 126 R2 2 250 R3 R4 6 752 4 将上述电阻乘以参数 并取标称值得到 R1 113 R2 226 R3 R4 680 表 3 2 二阶低通滤波器 巴特沃思响应 设计表 电路元件值 增 益 1 2 4 6 8 10 R 1 1 42 2 1 12 6 0 82 4 0 61 7 0 52 1 0 10 2 R 2 5 39 9 2 25 0 1 53 7 2 05 1 2 42 9 2 74 2 R 3 开 路 6 75 2 3 14 8 3 20 3 3 37 2 3 56 0 R 4 0 6 75 2 9 14 4 16 0 22 23 6 02 32 0 38 C z 0 33 C C 2C 2C 2C 2C 设 计 表 电阻为参数 K 1 时的阻值 单位为 K 3 5 高通滤波电路 高通滤波器电路如图 3 9 所示 本系统采用巴特沃思二阶高通滤波 截止频率 是 0 05Hz 1 传递函数 S2 H s S2 S R1 S R2 1 R1 R2 2 3 9 高通滤波器电路图 2 参数设计 1 选取电容 1uF 2 根据 fo 和 求 值 100 f o 1000 3 设定增益 uf 1 查表 3 3 得 表 3 3 二阶低通滤波器 巴特沃思响应 设计表 压控电压源 VCVS 电路 电路元件值 增 益 1 2 4 6 8 10 R 1 1 12 5 1 82 1 2 59 2 3 14 1 3 59 3 3 98 5 R 2 2 25 1 1 39 1 0 97 7 0 80 6 0 70 5 0 63 6 R 3 开 路 2 78 2 1 30 3 0 96 8 0 80 6 0 70 6 R 4 0 2 78 2 3 91 0 4 83 8 5 64 0 6 35 6 设 计 表 电阻为参数 K 1 时的阻值 单位为 K R1 1 125 R2 2 251 4 将上述电阻值乘以 并取标称值得 R1 1 1M R2 2 2M 3 6 导联脱落检测电路 对于心电监护仪来一说 如果不能及时的检测出导联脱落 就可能作出错误 的判断 在本系统中设计的一种简单有效的导联脱落检测电路 该电路是利用 LM358 的特性 即在单电源供电时 若将 LM358 接成电压跟随器 当其同相端处 于悬空状态时 其输出为稳定的高电平 电路如图 4 11 所示 4 11 导联脱落检测电路 设电极地 工 相对于电源地 上 的电压是 V A1 A2 偏置电流流过人体产生的 电压分别是 V 1 V2 则有 V1 V V1 V2 V V2 V3 V2 V1 V2 2 V V1 V2 2 V4 V3 V V1 V2 2 1 当电极与皮肤接触良好时 Vi 0 V4 V5 于是 V 为高电平 2 当电极 I I 1 2 3 脱落时 Ai 输出高电平 可以看作 Vi 为高电平 于是 V4 V5 V 变为低电平 电路中 A5 及周围电容 电阻构成低通滤波器 防止 50Hz 干扰使电路误翻转 二极管 D 用来产生闽值 Eo V E 值越小 电路越灵敏 通过改变电位器的值可以改变 Vo 第四章 单片机数据采集系统 4 1 引言 在单片机的发展过程中 Intel 公司扮演了重要角色 它由 70 年代的 MCS 48 系列发展到 80 年代的 MCS 51 系列 80 年代后期的 MCS 96 98 系列 以及今天的 MCS960 系列及各种 CMOS 系列高档机 使单片机技术日趋成熟和完 善 无论是哪一种位数的单片机 也无论哪一系列的单片机 都为新产品的开发 应用系统的研制 智能控制器的研究等创造了极其有力的硬件环境 可以说 由 于世界各生产厂家生产 4 位 8 位 16 位 32 位通用型单片机以及衍生出的五花 八门的系列及型号 使单片机技术的应用已达到了无孔不入的地步 就国内 15 16 年应用实践而言 单片机使用量最大的是 8 位单片 应用范围最广的也是 8 位单 片机 本系统选用 Atmel 公司推出的 CMOS 工艺低功耗单片机 AT89C52 为核心 完成数据的采集和各种监控功能 片内 EPROM 存储监控程序和心电信号的自动 分析程序等 并外扩 SRAM 数据缓存和大容量的 Flash 存储器存储心电数据 利 用 RS232 接口数据直接传送给 PC 机 监护仪还带有液晶显示 即可显示中文菜 单 配合按键提供友好的人机心电界面 又可显示心电波形 增强监护功能 系 统的原理框图如图 4 1 所示 图 4 1 系统原理框图 4 2 数据存储系统 本监护仪以 200Hz 的采样率采集心电数据 要记录长时间的心电数据需要极 大的存储容量 且要求存储器要具有掉电不丢失的特点 综合以上因素 对比国 内市场上的非易失性存储器 其中 SRAM 容量较小且价格昂贵 而 Flash Memory 以其优越的表现进入我们的视线 Flash Memory 具有容量大 功耗低 体积小的 突出优点 而且其性价比 SRAM 高得多 因此我们决定选用 Flash Memory 目前 国内市场供应最大容量的 Flash 是 Intel 公司的 DA28F640 本系统选用 ATMEL 公 司的 AT29LV040 4 2 1 数据缓冲 数据缓冲器一般应用普通的 RAM RAM 具有价格低 应用方便和技术成熟 的特点 由于本监护仪需要进行心电波形的实时分析 而闪速存储器的读写次数 是有限的 考虑到闪速存储器的寿命问题 因此需要 RAM 来完成数据的暂存 对 心电波形的分析是以 8 秒为一段的 根据 200Hz 采样率和 8 比特的量化精度 8 秒的心电数据需要 1600 个字节的缓冲器 另外 本监护仪配有 LCD 显示器 因此 需要保存大量的汉字点阵信息 数据的预处理也需要一定的数据缓冲器 因此 综 合以上原因 RAM 的容量要在 6K 字节以上 我们选择 HM6264 作为数据缓冲器 读写时序如图 5 2 所示 HM6264 是 28 脚 单 5V 供电 具有编程简单 体积小 接口性能良好的特点 而且它具有两个片选端 CS1 CS2 我们把它设计为 CS1 接地 CS2 作为唯一片选 这样 当 CS2 无效时 HM6264 维持状态 功耗降低 到正常水平的五分之一 WE 接写引脚 低电平有效 OE 接读引脚 低电平有效 图 4 2 HM6264 读写时序图 4 2 2 AT29LV040 大容量闪存 AT29LV040 是一种 3V 系统供电的闪速可编程可电擦除的 8 位存储器 PEROM 具有 4M 位 512K X 8 的存储空间 分成 2048 个分区 每一分区 256 个字节 该芯片采用 ATMEL 公司的非易失性的 CMOS 工艺制造 在使用范围内 存取时间为 150ns 此时功率消耗仅为 54mW 当 AT29LV040 处于休眠状态时 CMOS 的维持电流不超过 40uA AT29LV040 的每一分区可擦写超过 10 000 次 原理框图见图 5 3 所示 有 8 位数据线 19 位地址线 AT29LV040 具有掉电保护 功能 用它作为数据存储器可以使数据在意外掉电或关闭电源的情况下得以保存 AT29LV040 具有软件数据保护功能 激活软件数据保护功能的方法是用特定三个 地址写入一串 3 个字节数据的编程命令 在激活该功能后 在每个编程周期都必 须写入相同的 3 个字节编程命令序列 否则不会那数据写入 3 个字节编程命令序 列如下 MOV A AAAAH MOV DPTR 5555H MOVX DPTR A MOV A 55H MOV DPTR 2AAAH MOVX DPTR A MOV A AOAOH MOV DPTR 5555H MOVX DPTR A 图 4 3 AT29LV040 原理框图 4 3 液晶显示系统 为提供友好的人机界面 增强监护功能 本系统采用了液晶显示器显示菜单 和心电信号 首先讨论对液晶显示器的点阵要求 按照普娜 电图的标准记录规 格 即走纸速度为 20mm s 振幅增益为 10mm mV 结合本系统 200Hz 的采样率 5mV 的输入电压范围和 1000 的增益 可以算出 20mm s 对应 200 点 s 所以 LCD 长轴为 10 点 mm LCD 的视预宽度为 5mV X 1Omm mV 50mm 根据 A D 转换分 析 当满幅即输入为 10V 时 A D 转换输出为十六进制 OFFH 即 255 则 5mV 经 放大后为 5V 对应 128 个点 这样得到 128 点 5mV 26 点 mV 所以 LCD 宽轴应 为 2 6 点 mm 即 3 点 mm 结合本监护仪 考虑到 LCD 显示器点阵越大体积越 大的特点 选择一种点阵较少 体积较小的液晶显示器 选用北京精电蓬远公司 的 MGLS12864 其是 128 X 64 点阵图形显示器 控制器为 HD612020 4 3 1 硬件连接电路 MGLS12864 显示器单电源 5V 供电 体积为 78 x 70 mm 视预为 62 x44 mm 点阵为 128 X 64 有两个控制器 20 个引脚 引脚安排见表 4 1 表 4 1 MGLS12864 接口引脚信息 脚号 名称 电平 功能 1 GND 0 参考地 2 Vcc 5V 电源正极 4 RS H L 高电平为数据 低电平为指令 5 R W H L 高电平从 LCD 读数据到 MPU 低电平 写 MPU 数据到 LCD 6 E H 到 L LCD 使能信号 下降沿有效 读数据 时 E 为高电平 7 14 D0 D7 H L 数据总线 15 16 CS1 CS2 H 片选信号 17 RSTB L 复位信号 低电平有效 18 Rvout 5V 5V 电源输出端 19 LED 4 2V LCD 背光正电源端 20 LED 0 LCD 背光负电源端 一般接地 4 4 RS232 串行接口电路 AT89C52 与 PC 机进行通信时 由于 RS 232C 标准规定 3 15V 表示逻辑 1 3 15V 表示逻辑 0 这与 AT89C52 的 TTL 电平不兼容 因此需要进行电平 转换 本系统采用 MAXIM 公司的 MAX232 来实现电平转换 该器件工作可靠 外围器件少 所以它已广泛应用于 RS232 通信标准的收发信号转换 电路图见图 4 4 图 4 4 与 PC 机的通信电路 1 接口信号 完整的 RS 232C 接口有 25 根线 采用 25 芯的插座 而 PC 机的 串行口多数采用简化的 9 针插座 本文的串口编程只需要采用 9 针插座 2 数据传输格式 AT89C52 和 PC 机之间进行串行通信时采用异步通信方式 在这种异步通信方式下 数据的发送和接受按照规定的格式进行 如图 4 5 所示 图 4 5 数据传输格式 第五章 PDA 心电信息中心通信模型 PDA 心电信息中心之间通信的实现是整个 PDA 远程心电监护软件非常重要 的组成部分 是其他模块的数据来源 PDA 与心电信息中心间的数据传输可以选 择 TCP IP 和 UDP IP 两种协议 TCP IP 相比 UDP IP 能够为数据传输提供更 为安全 可靠和保密的服务 能够保证数据的完整性和有序性 而对于心电数据 来说 数据的完整性是非常重要的 心电数据关键片断的丢失将严重影响医生的 判断 TCP IP 协议的缺点在于它带来比 UDP 协议大的系统开销 但经过测试 证明这种开销是可以被接受的 综合以上各种因素考虑 采用了 TCP IP 作为数据 传输协议 5 1 TCP IP 协议 PDA 心电信息中心数据网络传输协议作为应用层协议 对其进行设计时了解 所采用的底层协议是十分有益且必须的 TCP IP 相比 UDP IP 能够为数据传输提供更为安全 可靠和保密的服务 TCP 将用户数据打包构成报文段 它发送数据后启动一个定时器 等待对端数据 确认 另一端对收到的数据进行确认 对失序的数据重新排序 丢弃重复数据 TCP 提供端到端的流量控制 并计算和验证一个强制性的端到端检验和 管理数 据包的超时和重传机制 5 2 PDA 心电信息中心应用传输协议 根据功能设计 通讯模块中需要收发的数据分为四种 除了控制信息有收有 发以外 其他均为接收 控制信息 病人病历信息 实时心电数据 历史心电 数据 PDA 心电信息中心间的交互较为频繁 交互信息的种类也比较繁多 ECG 数据量比较大 当无线网络较为繁忙时难免出现拥塞现象 为了最大程度减少互 相影响的程度 保证控制信息的顺利发送与及时接收 我们将控制信息的传输和 ECG 数据的传输分离开来 分别使用不同的端口 消息传输端口 文件传输端口 历史心电数据 实时心电数据均通过文件传输端口接收 病人病历信息数据量较 小 和控制信息一起使用消息传输端口 5 2 1 PDA 心电信息中心控制信息传输协议 控制信息包报文的格式如图 5 2 所示 图 5 2 控制信息包报文格式 该数据报文格式分 4 个字段 消息包头 header 内容为 5 字节长度的字符串 YSMSG 用于识别数据流中 的控制信息包 消息类型 type 1 字节长度 标识消息正文中的内容 共分 15 种 医生 ID phy id 10 字节长度 标识该消息发自或者发往的医生身份认证号 消息正文 content 内容和长度根据消息类型而定 5 2 2 PDA 心电信息中心心电数据传输协议 1 心电数据报文格式 确定报文格式的目的在于确定具体的数据内容所代表的逻辑意义 为方便以 下的讨论 先明确两个概念 逻辑包 指的是在应用层提交的数据包 一个完整的逻辑包可以表示一个 确切的逻辑意义 比如登录包 它里面就可以含有用户名字段和密码字段 尽管 它看上去也是一段缓冲区数据 但这个缓冲区里的各个区间是代表一定的逻辑意 义的 物理包 指的是使用 recv recvfrom 从网络底层接收到的数据包 这样收到 的一个数据包 能不能表示一个完整的逻辑意义 要取决于它是通过 UDP 类的 数据报协议 发的包还是通过 TCP 类的 流协议 发的包 我们所使用的 TCP 是流协议 流协议 与 数据报协议 的不同点在于 数据 报协议 中的一个网络包本身就是一个完整的逻辑包 也就是说 在应用层使用 sendto 发送了一个逻辑包之后 在接收端通过 recvfrom 接收到的就是刚才使用 sendto 发送的那个逻辑包 这个包不会被分开发送 也不会与其它的包放在一起 发送 但对于 TCP 而言 TCP 会根据网络状况和 neagle 算法 或者将一个逻辑 包单独发送 或者将一个逻辑包分成若干次发送 或者会将若干个逻辑包合在一 起发送出去 neagle 算法可以通过函数 setsockopt 取消 但在我们的编程实践 中 数据包的大小多在 200 字节左右 远小于发送缓冲区 4096 8192 字节左右的 大小 这个算法对于减轻网络负担依然是有用的 给与保留 正因为 TCP 在逻 辑包处理方面的这种粘合性 要求我们在作基于 TCP 的应用时 一般都要定义自 己的包格式 编写相应的拼包 解包代码 通常情况下 表示一个 TCP 逻辑包的开始和结束有两种方式 以特殊的开 始和结束标志表示 比如 FF00 表示开始 00FF 表示结束 直接以包长度来表 示 比如可以用第一个字节表示包总长度 如果觉得这样的话包比较小 也可以 用两个字节表示包长度 本文中同时采用了这两种方式 采用 YSECG 标志包的 开始 在报文头部节区中有两个字节来表示包数据节区的长度 我们所定义的心电数据包分为头部节区和数据节区两部分 头部节区共长 27Bytes 包含了 7 个字段 格式如图 5 3 所示 数据节区为长度为 length 的心电 数据 魔幻数 magic number 内容为 5 Bytes 长度的字符串 YSECG 用于识别数 据流中的心电数据包 病人 id 10 Bytes 长度 标识数据包中 ECG 数据所属的病人 id 号 心电数据包类型 type 1 Byte 长度 用以标识心电数据包是实时监护数据 Y 还 是历史心电数据 N 图 5 3 心电数据包头部节区报文格式 数据节区长度 length 2Bytes 长度 说明心电数据包中数据节区的长度 单位为 Byte 数据节区长度最大不超过 65535Bytes 导联数 nosig 1Bytes 长度 可为 1 3 或者 12 数据流水号 serial number 4Bytes 长度 无论是实时监护还是历史数据下 载 第一个心电数据包的流水号编为零 然后依次递增 心电数据由医院心电信息中心打包后发出 PDA 心电远程监护软件在数据接 收线程中完成心电数据包的接收与解包 流程如图 5 4 所示 2 数据发送速度 数据的发送速率是指心电服务中心通过 Internet CDMA 无线数据传输网络发 送的数据速率 对于实时监控 我们希望 PDA 与心电服务中心尽量同步 我们 移动终端的数据采集频率为 400HZ AD 转换位数 8 位 每秒钟的数据量为 400 8 3200 bit 因此实时监护时速率为 3 2kbps 如果同时监护三位病人 每 秒钟需要传输的数据量为 9 6kbp CDMA 1X 理论带宽可达 300kb s 目前的实际 应用带宽大约在 100kb s 左右 双向对称传输 是完全可以满足这样的传输要求 的 在实际发送时 考虑到 PDA 的数据处理和数据显示要求 以及 TCP IP 包的 传输效率 我们每隔 500ms 发送一次数据 数据量为 500ms 内的采样数据 200Bytes 即每个 IP 包大小为 200 多 Bytes 如果 IP 包太小 发送太频繁 PDA 的接收也太频繁 会消耗处理器资源 并且 实际数据过小的 IP 包 加上 心电数据头部节区 包的传输效率就会很低 如果 IP 包过大 接收延迟会比较大 而对于历史心电数据下载 我们希望能够数据在尽量短的时间内下载完 因 此 采用的策略是 一旦发现发送 socket 的发送缓冲区有空余 就用 send 函 数将其填满 这样可以保证数据发送速度是现有处理器 网络状况可接受的范围 内最快的 IP 包的大小采用较大的 800Bytes 以提高包的传输效率 3 阻塞处理 在实际测试过程中 发现在 ecg 数据的传输过程中 会出现阻塞现象 而且 长时间不能恢复 究其原因 一般来说拥塞可由以下原因引起 存储空间不足 传输过程本身的问题 处理器速度能力弱 处理速度慢等 第一种原因可以被排 除 而第三种原因 我们在测试中发现 对于一个 200 个字节的心电数据包 PDA 对其进行相关处理大概要耗费 22 28ms 的时间 而以采样频率为 400HZ 计 每两个包的发送间隔时间为 500ms 因此 这种原因也可以排除 由此我们推测 拥塞是由传输过程本身引起 TCP IP 的超时重传机制保证了较好的安全性与可靠性 但也带来了较大的系 统开销 拥塞一旦发生 往往会不断加重 形成一个恶性循环 如果路由器没有 空余的缓存 那么它就必须丢弃新到的数据包 当数据包被丢弃时 源端会因超 时而重传该包 由于没有得到确认 源端只能保留数据包 结果缓存会进一步消 耗 并加重拥塞 如 5 1 节中所述 TCP IP 协议所采用的一种和式增加积式减少 的基于窗口的端到端拥塞控制机制 当网络状况较差时 拥塞窗口持续地指数式 减少 而 增大很缓慢 在测试中也证明了这一点 当持续一段时间收不到心电数据时 通讯便好像停滞了一般 很长时间都无法恢复 图 5 4 数据接收线程流程图 对于应用层协议来说 TCP IP 的拥塞控制机制是无法修改的 而且它已经被 证明是目前的拥塞控制机制中很精巧的一种了 经过测试和思考 我们制定的应 用层的拥塞处理办法 见图 5 5 当心电信息中心发现很多次发送数据都失败后 比如说六十次 发信息通知 PDA 端 PDA 端关闭连接 socket 切断通讯连 接 并通知心电信息中心已经做好重新连接的准备 心电信息中心重新发起连接 请求 连接重新建立 继续心电数据的传输 通过这种方法 使得通信过程可以 从拥塞避免阶段脱离出来 重新进入慢启动阶段 在这一阶段拥塞窗口是指数增 长而不是缓慢的线性增长 这一策略在实际测试中被证明效果良好 图 5 5 阻塞处理流程图 5 3 Socket 编程实现 TCP IP 通信 TCP IP 协议的核心部分是传输层协议 TCP UDP 网络层协议 IP 和物理接 口层 这三层通常是在操作系统内核中实现 用户一般不涉及 17 编程时 编程 界面有两种形式 一 由内核心直接提供的系统调用 二 使用以库函数方式提 供的各种函数 前者为核内实现 后者为核外实现 用户服务要通过核外的应用 程序才能实现 所以要使用套接字 socket 来实现 所谓的 Socket 是应用层与 TCP IP 协议族通信的中间软件抽象层 它是一组接口 在设计模式中 Socket 其 实就是一个门面模式 它把复杂的 TCP IP 协议族隐藏在 Socket 接口后面 让 Socket 去组织数据 以符合指定的协议 这种模式大大减少了程序设计人员的工 作量 Socket 与 TCP IP 应用协议层之间的关系如图 5 6 所示 图 5 6 TCP IP 协议 Socket 应用程序间的关系 Socket 有五种不同的类型 其中最常用的是流式套接字 stream socket 和数据 报套接字 流式套接字使用 TCP 协议 提供了双向 有序的 无重复的以及无记 录边界的数据流服务 适合处理大量数据 它是面向联结的 必须建立数据传输 链路 同时还必须对传输的数据进行验证 确保数据的准确性 因此 系统开销 较大 数据报套接字使用 UDP 协议 也支持双向的数据流 但不保证传输数据 的准确性 但保留了记录边界 由于数据报套接字是无联接的 例如广播时的联 接 所以并不保证接收端是否正在侦听 数据报套接字传输效率比较高 在本文 中 保证心电数据的完整性非常重要 心电波形关键片段的遗失将会严重影响医 生的判断 因此选用了流式套接字 也就是面向连接的套接字 5 3 1 Socket 通信流程 在 TCP IP 网络应用中 通信的两个进程间相互作用的主要模式是客户 服务器 模式 Client Server model 服务端侦听客户端的连接请求 一旦客户端发出连接 请求 服务程序就为每个客户提供服务 比如创建数据处理线程 Client Server 模 式的 Socket 通信简要流程如图 5 7 图 5 7 面向连接的套接字通讯流程图 5 3 2 Socket 通信的多线程实现 为了避免阻塞 提高通信性能 socket 通信往往通过多个线程来实现 以本 文中的心电数据传输为例 PDA 端需要每隔一段时间就去侦听是否有连接请求 如果通过主线程中的循环来实现 势必造成主线程的阻塞 因此专门建立一个侦 听线程是有必要的 也可以用异步 select 模式来实现 但 Windows CE并不支持 这一模式 每一个连接请求被允许 即一个新的连接被建立时 也必须建立一 个新线程来管理这一连接 接收 ecg 数据包并通知主线程 由主线程来完成对接 收到的心电信息的处理 如图 5 8 图 5 8 Socket 通讯的多线程实现 对于多线程程序设计来说 线程间的同步与异步控制是不可回避的工作 也 是成败的关键 线程同步是指线程之间所具有的一种制约关系 一个线程的执行 依赖另一个线程的消息 当它没有得到另一个线程的消息时应等待 直到消息到 达时才被唤醒 线程互斥是指对于共享的资源在各线程访问时的排它性 当有若 干个线程都要使用某一共享资源时 任何时刻最多只允许一个线程去使用 其它 要使用该资源的线程必须等待 直到占用资源者释放该资源 在实际程序设计中 要尽量减少线程间共享资源 以减少线程互斥控制的复杂度 同时也减少线程等 待资源的时间 基于这一考虑 将 ecg 数据的实时滤波工作放在主线程中完成 这样放置心电数据的环形缓冲区 m loop rev buf m loop ana buf 成为主线程的 独享资源 而不需被主线程和数据接收线程分享 结 论 本文结合实际项目讲述了 PDA 远程心电监护软件系统的开发过程 从需求 分析方案 系统总体和功能模块设计 各种算法的实现都做了较详细的叙述 论 文首先介绍了 PDA 远程心电监护软件系统的功能需求和总体框架 然后介绍了 系统的通信模块和通信协议 包括自行设计的应用层 PDA 心电信息中心数据网络 传输控制协议 接着论文分章讲述了心电信号检测的电路设计和单片机数据的采 集 本系统的技术关键或创新之处只要是选用超低功耗 8 位单片机 AT89C52 作 为心电监护仪的 MCU 该单片机具有功耗低 体积小等特点 外部 I 0 端口 32 个 在大容量数据存贮器上 我们选用低功耗大容量的 Flash 存贮芯片 DA28F640 另 外 考虑到闪速存储器的寿命问题 因此扩展了一片 6264 作为数据缓冲器 另外 选用了一个 12 位 A D 转换器来完成数据的采集工作 参考文献 1 袁少应 心电图诊断基础知识 天津科学计数出版社 2 李崇志 心电图自动分析系统国外发展近况 医疗器械 1998 15 4 3 刘克球 生物医学电子学 北京大学出版社 1994 4 李智等 24h 动态心电记录及
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!