datasheet

便携式心电监护系统的设计

2008-05-20来源: 电子系统设计 关键字:描述符  心电监护系统  上位机  连接图  串行口  便携式  心电信号  引脚  USB驱动

  心电图(ECG)是心脏疾病诊断的重要手段。常规心电图是病人在静卧情况下由医院的心电图仪记录的短时间心电活动,由于心脏病发作带有很大的偶然性和突发性,所以在非发作期做常规心电图检查获取疾病信息的几率很低。因此,将心电监护从病床边、医院内扩展到家中,实现实时远程监护具有重要的现实意义。

  互联网尤其是无线网络的迅速普及促使嵌入式技术应用的条件日趋成熟,此外,心电监护对心脏病诊断的重要性也使得远程监护也具有现实的可能性。

  本文主要研究并设计了一套实用的便携式移动心电监护系统。通过该系统可以随时随地将患者的心电信号通过GPRS网络无线发送到设在医院的PC机上,或者将心电数据先存储在本系统中,然后再通过USB实现高速回放。

  系统的总体设计

  本文所设计的便携式移动心电监护系统由心电监护仪、通信网络和监护中心三部分组成(如图1所示)。其工作过程如下:

  

  图1:便携式心电监护系统总体框图。

  心电监护仪由患者随身携带,通过粘贴式电极可随时采集用户的心电数据,并进行放大、滤波、A/D转换,然后存储到串行闪存中。当存储一定时间的心电数据后,可以通过GPRS无线上网,利用无线网络将数据传送给位于监护中心的上位机。也可通过USB直接连接到上位机,进行本地高速回放。

  本文将重点介绍心电监护仪的设计。由于是便携式设备,所以设计时必须考虑尽量降低功耗、体积和成本。经过反复地分析比较,最终决定采用Z-World公司的工业级控制芯片Rabbit3000微处理器作为心电监护仪的主芯片。

  尽管Rabbit3000是8位微处理器,但其内存空间可达1M,主频可达22M。它具有丰富的接口资源,共有40条并行I/O口线(与串行口共用)。此外,该器件的功耗非常低,处理器时钟可由32.768KHz振荡器驱动,并将主振荡器断电。此时电流约为100μA,而处理器仍能保持每秒10,000条指令的执行速度。

  系统硬件设计

  在进行总体硬件设计时,以Rabbit3000高性能微处理器为核心,利用外部接口扩展了512K的并行Flash和512K的SRAM,存储空间达到1M,并扩展了USB接口。利用串行接口扩展了串行Flash、A/D转换和无线模块MC35。以下重点介绍无线模块和USB模块的硬件设计。

  1. 无线模块MC35硬件设计

  无线模块负责完成心电数据的无线传送。为实现此功能,本系统采用了西门子公司的MC35模块。这是西门子公司首款支持GPRS的GSM/GPRS模块,体积小巧,易于集成到便携式终端中。通过串行口连接,使用AT命令对该模块进行控制和数据传送。

  西门子公司的MC35模块具有一个40脚的零插入力连接器,该连接器中提供了串行接口、音频接口、SIM接口、状态引脚、电源接口等接口,通过这些接口与SIM卡座、天线以及主控制器相连。MC35的串行接口TXD0和RXD0与Rabbit3000的串口B,即引脚TXB和RXB(PC4和PC5)相连,以实现与MC35之间的通信。MC35的IGT引脚为其启动引脚,需要开漏极驱动器驱动。而Rabbit3000的端口E具有很强的驱动能力,因此选用PE5作为MC35的启动控制线。在MC35的电源接口中有电源输入引脚、电源输出引脚和充电引脚,其中充电引脚可用来给电池充电。本系统采用电池供电或外部充电。如图2所示。

  设计时需注意的两点是:本系统使用电池供电,由于MC35在上行传输需提供2A的峰值电流,这会引起电压突然下降,因此设计电路时要加足够大的电容,以防电压突然下降;在SIM卡电路设计时,需要注意电磁兼容性的问题,否则会影响MC35的通信效果,甚至导致MC35无法正常工作。

  

  图2:MC35模块硬件连接图

  2. USB模块硬件设计

  USB模块负责完成心电数据的本地高速回放,它提供了另一种数据传输手段。通常的串口RS-232只是利用一条线进行数据传输,而USB传输是利用D+和D-线上的差分信号,与主机进行数据的传输,充分保证了数据传输的可靠性。本系统采用恩智浦公司的PDIUSBD12实现USB传输。

  PDIUSBD12(以下简称D12)是恩智浦公司的一款性价比很高的USB芯片,完全符合USB1.l版的规范。是在USB1.1协议设备端使用最多的芯片之一,是一种纯粹的USB接口芯片,需要外部微处理器控制。

  本系统利用Rabbit3000微处理器控制USB芯片D12来完成USB传输,此时D12就是单片机的一个外设。D12与Rabbit3000之间的数据传输是通过8位数据线来实现的,即D12的并口数据线D0-D7与Rabbit3000的数据线D0-D7直接相连。

  D12的INT_N引脚与Rabbit3000复用引脚INT0A相连,作为Rabbit3000的外部中断输入。当D12需要进行操作时,就利用INT_N引脚发出一个中断请求,Rabbit3000立即响应中断,对其进行操作。D12的RD_N和WR_N分别与Rabbit3000的IORD和IOWR相连,以控制数据传输的方向。D12的RESET_N与Rabbit3000的复用引脚PE4相连,Rabbit3000可以利用这个引脚向D12发出一个低电平,RESET_N被置为低电平后,D12便自动复位了。D12的CS_N与Rabbit3000的复用引脚PE7相连,可以通过这个引脚来控制片选。如图3所示。

  

  图3:PDIUSBD12模块硬件连接图。

  D12有两种数据总线方式:多路地址/数据总线方式和单地址数据总线方式。本系统采用单地址数据总线方式,将D12的ALE接地,A0与Rabbit3000的地址总线A0相连,在片选信号有效的前提下(即PE7=0),当A0=1时,CPU给D12发命令;当A0=0时,CPU向D12写数据或从D12读数据。因此,地址0xE001为发送命令地址,地址0xE000为读写数据地址。

  系统软件设计

  软件设计借鉴了软件工程的设计思想。采用了分层和模块化的设计思路,为代码的组织、维护和升级都提供了便利。而且,即使以后更换硬件系统平台,也能够保证大部分代码可重用。软件总体结构如图4所示。下面重点介绍无线模块和USB模块的软件设计。

  1. 无线模块软件设计

  无线模块MC35与Rabbit3000的串口B相连,并通过串口向MC35发送AT指令,进行拨号、设置等操作。

  MC35与网关的通信协议为PPP协议(Point-to-Point Protocol),PPP协议是一种基于TCP/IP协议栈的数据链路层协议,是为在两个对等实体间传输数据包,建立简单连接而设计的,主要用于广域网的连接,但在局域网的拨号连接中同样可以采用。MC35本身不支持PPP协议,要通过MC35拨号上网必须编写程序实现PPP协议,同时还要实现TCP/IP协议。

  开机后首先初始化MC35模块,这里要注意的是初始化MC35模块时,需要给IGT引脚一个低电平,并保持120~140ms,才能完成初始化操作。然后启动MC35并登陆移动梦网网关,建立与服务提供商的连接。

  登陆成功后,MC35具有两种工作状态:数据传输状态和空闲状态。MC35在空闲状态下的电流一般为15mA,而且在空闲状态下,MC35还支持多种休眠模式。为降低功耗,本系统启用了MC35的休眠功能,设置为休眠模式7。在该休眠模式下,电流可以降到3mA左右。

  

  图4:心电监护系统软件总体结构。

  2. USB模块软件设计

  USB接口对于使用者来说十分简单方便,但从开发者角度来看,最大的缺点就是协议的复杂性增加了,因此也就导致了USB设计的复杂性。USB软件设计包括三个方面:固件(firmware)设计、驱动程序设计和主机端应用程序的设计。

  a. 固件设计

  固件是固化在单片机中的程序代码,可采用汇编语言或C语言设计。它运行在微处理器上,用来响应主机的请求。即它与USB控制器一起完成枚举过程和主机通信。USB协议规定任何传输过程都是由主机端发起并控制的,在枚举过程中,主机通过USB控制器的端点0的默认管道建立控制传输过程,D12响应主机的要求,主要是发送特定的描述符(如设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符和厂商描述符)给主机。主机从获得的描述符来了解该设备的配置和能力,并完成对USB设备的配置。枚举过程结束后,主机就可以与D12进行数据传输了。

  本系统的固件编程采用标准C语言来编写,设计固件程序时需要注意的是:D12的中断输出为电平触发,Rabbit3000的中断为上升沿或下降沿触发。在设计程序时,使用下降沿加延时,可使低电平保持一段时间,从而达到同样的效果。

  b. 驱动程序设计

  在Windows系统下,与USB外设的任何通信都必须通过设备驱动,设备驱动使应用程序访问硬件设备成为可能。USB驱动程序的编写与硬件相关,属于核心模式。微软的DDK在这方面提供了较为详细的说明。

  c. 应用程序的设计

  本系统采用VB编写上位机应用程序。它主要负责实现利用USB接口从心电监护仪中读取心电数据,并把心电数据保存到数据库中,同时在PC机屏幕上绘制心电波形。

  本文小结

  本文所研制的便携式移动心电监护仪,能够在计算机屏幕上准确地描绘出心电波形,经中国医科大学附属二院的医生认定,可作为临床诊断依据;本系统实用性强,且体积小、经济方便。患者可随时随地对心脏进行实时监护,而不受时间和空间限制;本系统所具有的无线传输功能,可以实时地把心电数据传送给医院供医生诊断,极大地提高了急救效率。

关键字:描述符  心电监护系统  上位机  连接图  串行口  便携式  心电信号  引脚  USB驱动

编辑:孙树宾 引用地址:http://www.eeworld.com.cn/gykz/2008/0520/article_987.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:倚重高性能IP电话语音终端硬件设计
下一篇:基于OMAP架构的嵌入式指纹识别系统设计与应用

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

lpc1768usb端点响应以及描述符定义

"usbdesc.h" //usb标准设备描述符const U8 USB_DeviceDescriptor[] = {     USB_DEVICE_DESC_SIZE,               //bLength字段。设备描述符的长度为18(0x12)字节    USB_DEVICE_DESCRIPTOR_TYPE,     
发表于 2017-01-12

STM32的CustomHID的各描述符介绍

俗话说的好,看协议手册,不如看源代码来的好!在USB的工程中,USB的各描述符定义在usb_desc.c文件里面,这里就将USB的各描述符定义代码贴上来,各个数值的意义都已经详细注释。当然很细节的东西看不懂还是建议去看手册去!!!/* USB标准设备描述符*/const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_DESC] ={    0x12,                       /*bLength:长度,设备描述符的长度
发表于 2016-12-20

USB 描述符及其间的关系

USB是个通用的总线,端口都是统一的。但是USB设备却各种各样, 例如USB鼠标,USB键盘,U盘等等,那么USB主机是如何识别出不同的 设备的呢?这就要依赖于描述符了。     USB的描述符主要有设备描述符,配置描述符,接口描述符, 端点描述符,字符串描述符,HID描述符,报告描述符等等。 关于报告描述符,请看我以前写的:《USB HID报告及报告描述符简介 》  http://group.ednchina.com/93/198.aspx。     一个USB设备有一个设备描述符,设备描述符里面决定
发表于 2016-09-26

USB字符串描述符

在USB中,字符串描述符是可选的,也就是属于可有可无的角色,USB并没有强制规定必须有,但是一般产品是有的,至少能说明生产厂家、产品信息等等,要不然这个产品看谁还敢用。   如果设备没有字符串描述符,那么在设备描述符、配置描述符、接口描述符等处的字符串索引值必须为0,要不然在枚举过程中,USB主机会尝试去获取字符串描述符,而刚好你又没有,那么枚举就会失败,所以必须指定为0。   字符串描述符使用UNICODE编码,可以支持多种语言,所以字符串描述符首先要指定语言ID,语言ID代码可以参考这个网站:http://www.usb.org/developers/docs/USB_LANGIDs.pdf
发表于 2016-08-25
USB字符串描述符

ARM系列之分散加载描述符(scatte)文件的应用

在上一篇中,提到了分散加载描述符的应用场景。一般对于简单的代码分布,不需要使用这样的文件,直接借助于编译器中的simple选项,配置入口地址,RW和RO地址就可以运行了。如下图所示:   但是对于一些复杂的场景,就需要分散家在描述符文件,比如: 1 . 定位目标外设   使用分散加载,可以将用户定义的结构体或代码定位到指定物理地址上的外设,这种外设可以是定时器、实时时钟、静态SRAM或者是两个处理器间用于数据和指令通信的双端口存储器等。在程序中不必直接访问相应外设,只需访问相应的内存变量即可实现对指定外设的操作,因为相应的内存变量定位在指定的外设上。这样,对外设的访问看不到相应
发表于 2016-08-01
ARM系列之分散加载描述符(scatte)文件的应用

USB开发基础:USB命令(请求)和USB描述符

2 SET_FEATURE 3 为将来保留 4 SET_ADDRESS 5 GET_DESCRIPTOR 6 SET_DESCRIPTOR 7 GET_CONFIGURATION 8 SET_CONFIGURATION 9 GET_INTERFACE 10 SET_INTERFACE 11 SYNCH_FRAME 12 二、USB描述符   USB协议为USB设备定义了一套描述设备功能和属性的有固定结构的描述符,包括标准的描述符
发表于 2016-04-25

小广播

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