引言
体温和脉搏是反映人体健康状况的重要生理指标,对病人的这些生理指标进行连续监测,可为疾病的正确诊疗提供重要依据。随着传感器技术、嵌入式计算技术和无线通信技术的发展,基于无线传感器网络的生命体征监测系统受到越来越多的关注。其中,基于普通射频芯片和自定义传输协议的系统具有实现简单和成本较低的优点,缺点是可靠性较低、通用性较差;基于Bluetooth协议的系统数据传输率较高,但作用距离短,功耗高,组网能力弱;ZigBee作为建立在IEEE 802.15.4通信标准之上的低速无线个域网(Low-Rate Wireless Personal Net-work,LR-WPAN)协议规范,构成的系统具有复杂度低、功耗低、可靠性高、组网能力强等优点,成为本领域应用研究的热点。
本文提出一种支持体温与脉搏监测的ZigBee无线传感器网络系统,可通过网络定时收集现场测得的多路体温和脉搏参数,并利用计算机进行集中存储和管理,提高了病情监测的效率和质量。该系统具有可靠性高、可扩展性强、功耗低、成本低等优点。
1 监测系统总体结构
监测系统包括传感器终端、无线路由器和基站共三类节点设备,以自组织方式构成ZigBee网状无线传感器网络,如图l所示。传感器终端负责检测体温和脉搏,检测结果通过各自的父节点路由器发送到基站。基站借助上位监控软件对收到的数据进行存储和显示,并可根据用户需要显示网络结构及设备当前状态,设置采样周期及报警门限,输出反映病情变化的记录报表和历史曲线。
2 节点硬件结构
2.1 JN5139无线微控制器
ZigBee节点设备的硬件实现方案主要分为两大类:一类是将射频收发器和微控制器分开,各使用1块芯片,由用户根据设备类(Coordin-ator、Router、EndDevice)和功能分别选型,实现最佳搭配;另一类是将两者集成在一块芯片上,可简化设备硬件设计,提高系统的硬件可靠性。
JN5139是Jennic公司推出的第二代IEEE 802.15.4/ZigBee单片无线微控制器,内含32位RISC CPU、2.4GHz IEEE 802.15.4射频收发器、192 KB ROM、96 KBRAM,以及丰富的并口、串口、定时器、A/D、D/A等接口资源。为提高产品电磁兼容性,将JN5139芯片、16 MHz晶振、128 KB串行Flash存储器、陶瓷天线等元器件整合成为通用模块,以其为核心,配以相应的外设、协议栈和应用代码,便可实现不同类型的ZigBee节点设备。
2.2 传感器终端
如图2所示,传感器终端由JN5139 最小系统、体温检测电路、脉搏检测电路组成,采用3.6 V镍氢电池供电。最小系统包括JN5139模块、复位元件R1及C1、状态指示灯D1和程序下载接口j1。上电复位后,JN5139内部ROM中的Bootloader自动检测MISO引脚电平。若为高,则直接将片外串行Flash中的程序代码加载到片内RAM中运行;若为低,则进入编程状态,通过串口0下载PC机上的最新代码,并将其写入串行Flash。
体温检测电路由高精度NTC热敏电阻RT和精密电阻R3~R5构成。JN5139通过使DI01输出低电平来控制测温电路工作,利用3个12位A/D转换通道分别测出3个点的电位,求出热敏电阻的阻值,再利用热敏电阻R-T关系表及分段线性化公式得到相应的温度。
脉搏检测电路包括光电传感器及其信号调理电路,如图3所示。光电传感器由红光发射管D1和光敏三极管Q1构成,两者相对安装于遮光指套内。测量脉搏时,发射光中的一部分透过指尖,照射到光敏三极管的受光面,透射光强随脉搏起伏呈现极微小变化,经光敏三极管光一电转换后,输出直流和微弱交流相叠加的混合电压信号。该信号经隔直、低通滤波和放大处理后,成为峰值接近Vcc/2的模拟脉搏信号,再由JN5139进行A/D转换、数字滤波和周期判定,最终得到以min为单位的脉率值。为解决个体差异等原因导致脉搏输出信号饱和或过小的问题,发射管的工作电流由JN5139通过D/A转换器自动调节。
2.3 无线路由器和基站
无线路由器主要负责数据转发,本身并不承担数据采集任务,因此其硬件仅涉及JN5139最小系统(采用3.6 V直流电源供电),不需额外配置其他外设。
基站采用上、下位机结构,如图4所示。作为网络协调器的下位机为JN5139最小系统,上位机采用PC机,两者通过异步串口进行通信(波特率为115.2 kbps)。图中JN5139最小系统和MAX232电平转换器均采用3.6 V盲流电源供电。
3 应用程序设计
3.1 传输帧结构
ZigBee支持KVP和MSG两种数据帧格式,KVP适用于标准应用框架系统中简单属性值的传输,MSG则更适用于一般应用系统以及需要传输批量数据的场合。本系统采用MSG传输帧,其数据定义如下:
监测系统支持体温脉搏数据帧、采样控制帧、新节点加入指示帧的传输,传输帧的一般格式如下:
3.2 地址模式
每个ZigBee节点均具有唯一的64位MAC地址。网络建立以后,所有加入到网络的新节点都由其父节点动态分配一个16位逻辑地址,此后,节点之间的通信默认使用16位逻辑地址。由于节点意外断电、重启等原因,网络中可能出现一个节点在不同时段具有不同逻辑地址,或不同
节点在同一时段使用同一逻辑地址的情形。为确保数据源识别的可靠性,将传感器终端的64位MAC地址也作为MSG帧负载的一部分,随MSG帧一同传到基站。基站需事先对传感器终端进行注册,为每个MAC地址建立相应的标识,如住院病人的床位号等。
3.3 软件流程
基于JN5139的各类ZigBee节点设备具有相类似的程序结构,均通过非抢占式简单任务调度器BOS来控制ZigBee协议栈和用户任务的执行,任务之间利用事件进行通信。ZigBee协议栈负责网络组织与维护、路由选择、数据传输等工作,而网络初始化设置、数据发送控制、接收处
理等工作则依靠各设备的用户任务来完成。
传感器终端的软件流程如图5所示。
可利用Jennic公司提供的CodeBlocks IDE、C语言编译器、链接器、下载器、IEEE 802.15.4协议栈、ZigBee协议栈、芯片驱动库、BOS操作系统等开发工具和软件资源,完成ZigBee节点应用程序的设计以及代码的生成与下载。
基站上位监控软件采用C++Builder6.O开发,部分功能(如LCD数码显示、二进制串口收发)通过移植Delphi第三方控件实现。监控软件通过串口接收网络协调器发来的二进制数据帧,按约定的格式提取源节点MAC地址以及体温、脉搏等信息,将其存入数据表并进行实时显示和报警判断。程序中定义了3个数据表,分别存储设备注册信息、网络结构信息和体温脉搏信息,各数据表通过设备的MAC地址相互关联。历史曲线的绘制采用TChart控件,网络拓扑图通过TCanvas绘制,显示刷新周期为1 s。
4 性能测试
在室内环境下对1个基站、5个无线路由器、10个传感器终端组成的系统进行多次组网实验和性能测试。图6为基站上位监控软件实时监护窗口的运行界面,该窗口可同时显示5个传感器终端采集的最新数据。
测试结果:传感器终端峰值工作电流为39 mA,休眠状态下电流为0.46 mA,体温测量精度为土0.1℃(32.0~43.0℃范围内),脉搏测量精度为±5 bpm(40~220bpm范围内),数据帧单跳传输距离不小于20 m。
测试表明,该系统能在ZigBee协议的支持下快速组成所期望的网状网络结构。节点正常供电情况下,网络能长时间保持良好的连通性,各传感器终端能够按基站所设定的采样周期,将测得的体温和脉搏数据经路由器传送到基站,并利用计算机进行存储、显示和分析。
实验中发现,任何一个路由器断电后再重启,会造成其下属传感器终端无法接收基站下达的采样控制命令,而数据上传功能却不受影响。经分析,这是由于路由器断电后其内存中的邻居表信息丢失所致。解决的方法是,在有新节点加入时将最新的路由器邻居表信息存入片外串行Flash,并在下次启动时重新加载到内存使用。
结语
本文设计的体温与脉搏监测系统,采用基于ZigBee的无线传感器网络技术,并以JN5139无线微控制器构建3类节点设备,以较低的成本实现了体温、脉搏参数的分布式无线采集与集中处理,同时具备高精度、高可靠性、低功耗等优点。后续工作包括利用JN5139的接口资源和处理能力支持更多生理指标的采集,以及进一步验证更大规模监测系统的实用性。