便携式心电监护系统的设计与解决方案

时间:2014-11-27来源:网络

  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机屏幕上绘制心电波形。

  四、本文小结

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

1 2

关键词: 心电监护 GPRS Rabbit3000

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版