基于ZigBee的无线病房呼叫系统便携端设计
扫描二维码
随时随地手机看文章
1 引言
ZigBee 技术是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术,主要适用于自动控制和远程控制领域,是为了满足小型廉价设备的无线联网和控制而制定的。ZigBee 是一种用于无线连接的全球标准,标准建立的重点是可靠性、低成本、长电池寿命和容易应用。不仅是简单的线缆互连的替代方案,而且能在不同ZigBee 设备之间"即连即用"的建立无线网络,方便的实现数据通信、交换,同时具有低功耗、较高数据传输速率、低成本等特点。利用Zighee 技术的低功耗无线传输和自组网功能,可以实现"隔离监护"、"动态监护".ZigBee 技术与局域网、互联网技术相结合,还可以实现"远程监护"、"家庭保健监护",是实现无线病房呼叫服务的理想选择。
2 系统方案设计
系统网络方案是采用的新兴的ZigBee 无线技术,由于ZigBee 提供免费的协议栈,所以我们在开发应用程序中使用这些协议栈提供的底层函数时不需要额外付费。再加上ZigBee具有网络容量大可以支持大量的网络节点、安全及时延短、使用频段为2.4GHz 的免执照频段等特点,可以很好的满足设计的需要。
本研究方案采用MCU 和RF 收发器分离的双芯片方案。其方案优点是方案灵活性高,有很好的可扩展性。硬件设计方案选择为MSP430F4618+CC2420 的双芯片解决方案。
MSP430FG4618 是具有100 个引脚的16 位超低功耗MCU:
在主动模式下,工作在1MHz 情况下,耗电为400uA;在待机模式下,仅为1.3uA;在RAM 保持关闭模式下,仅为0.22uA.具有5 种节电模式;从待机状态唤醒的时间小于6uS.
它还拥有丰富的片上资源:具有116KB 闪存、8KB RAM、12 位ADC、双DAC、DMA、3 个OPAMP和16 段LCD,采用外部8MHz 晶振(时钟),主要功能是根据用户的命令,完成按键检测、液晶显示以及数据的发送与接收。它提供两个双工串口UART0、UART1,可实现与天线控制器和MODEM 的异步数据通信,并可用UART 多串口扩展芯片(SP2338DP)按需要将其扩展至多个较高波特率的UART 串口,由于界面显示程序占用较大的RAM 和Flash,并且要求较高的运算速率,MSP430FG4618 系列恰能满足设计要求。
CC2420 是Chipcon 公司(现属于TI公司)推出的首款符合2.4GHz IEEE 802.15.4 标准的射频收发器[3].该器件是第一款适用于ZigBee 产品的RF 器件。它基于Chipcon 公司的SmartRF03 技术,以0.18umCMOS 工艺制成,只需极少外部元器件,性能稳定且功耗极低。
CC2420 的选择性和敏感性指数超过了IEEE 802.15.4 标准的要求,可确保短距离通信的有效性和可靠性。利用此芯片开发的无线通信设备支持数据传输率高达250kbps,可以实现多点对多点的快速组网。
系统设计时预留了调试端口。JTAG 接口用来调试和下载程序。RS232 串口提供调试信息输出并用于与PC 机交互。RF 插座可以插入功能完好的射频模块进行调试,且引出测试点易于测量波形。由于射频电路不易调试,出现问题时不容易定位错误点。也要先预留调试接口,可以先试用确保功能正确的独立RF 模块调试电路板基本功能,最后焊接电路板上的RFIC和天线匹配电容、电感,以提高调试效率。
采用本方案设计的好处是硬件平台只需要十分少的外部元器件和设备,相应的需要的元器件就成本低,并且该平台可以稳定的运行。
由于便携终端采用电池供电,同时低功耗也是ZigBee 系统应用成功的关键,所以低功耗自然也是本系统设计所追求的目标。为了最大程度地降低系统的功耗,从硬件设计角度考虑,我们在硬件方面采用以低功耗而闻名的TI 公司的MSP430 系列处理器,无线收发芯片采用毫安级别的CC2420 芯片,两者组合的硬件平台在功率消耗方面表现十分出色;从软件设计角度考虑,也可以利用好MSP340F4618 芯片的节电模式,根据需要采用看门狗、中断以及定时器的方式来唤醒设备进入正常的工作状态,其余的时间设备都处在几乎不消耗电能的睡眠状态以降低系统功耗。
3 系统呼叫模块硬件设计
我们根据实际的应用需求设计出电路的总体结构,从功能模块角度划分可以分为几个部分:MSP430 模块、RS232 模块、显示模块,声光报警和键盘模块。其中射频芯片采用的是Chipon CC2420,微控制器采用的是TI 公司的MSP430FG4618,输入设备是按键,输出设备有LED 和液晶显示芯片,与外界接口有RS232 和JTAG,上述设备可以满足需要并可支持功能扩展。CC2420 和MSP430FG4618 都采用电池供电。硬件结构框图如图3-1 所示。
MSP430 模块是整个系统的核心部分,本文设计的呼叫模块是由MSP430FG4618 和外围电路构成。
图3-2 给出了MSP430FG4618 的核心电路,包括JATG 接口、复位电路、电源和时钟电路。
同时,将没有用到的芯片引脚引出放置到电路板的边缘,方便以后需要的时候进行扩展。
为了能够进行串行调试,协调器节点和主机通过RS232 接口进行连接,RS232 可以提供多种不同速率的低速通信。RS232 采用负逻辑,即:逻辑"1"为-5V~15V,逻辑"0"为+5V~+15V,噪声容限为2V.由于RS232 电平与单片机电平不兼容,需要用到电平转换芯片MAX232 将RS232 的负逻辑电平转换成TTL 的正逻辑电平,电路设计如图3-3 所示。
RS232 模块与MSP430 通过一组UART 管脚和两个I/O 引脚P3.4 和P3.5 连接,UART 的TX 和RX 负责RS232 的输入输出,P3.4 和P3.5 引脚起控制作用。在设计时在两个I/O 引脚各加入了1 个LED 灯以方便观察。
本设计中的模块和元件只需要一种电压的直流电源,MSP430FG4618 和MAX3232 都需要+3.3V 直流电源。ETC 公司的AMSlll7 系列稳压器芯片能够提供1.5V/1.8V/2.5V/2.85V/3.3V/5.0V 稳压直流电压输出,本设计选用AMSlll7-3.3 型号来得到+3.3V 电压。
电源电路设计如图3-4 所示,开关的引脚1 接外部的电池组,利用0.1uF 的电容和470uF的电解电容并联来对电源信号进行退耦滤波处理,提高了系统的稳定性。
在本设计中声光报警装置由蜂鸣器和发光二极管组成。而键盘部分设计为一个3×4 的矩阵键盘电路。
4 无线发射模块设计
CC2420 内部使用1.8V 工作电压,因而功耗很低,适合于电池供电的设备;外部数字I/O接口使用3.3V 电压,这样可以保持和3.3V 逻辑期间的兼容性。它在片上集成了一个直流稳压器,能够把3.3V 电压转换成1.8V 电压。
图4-1 给出了CC2420 外围电路图。芯片本振信号既可由外部有源晶体提供,也可由内部电路提供。由内部电路提供时需外加晶体振荡器和两个负载电容,电容的大小取决于晶体的频率及输入容抗等参数。本文采用16MHz 晶振,电容值为22pF.如果使用外部时钟,直接从XOSC16_Q1 引脚引入,XOSC16_Q2 引脚保持悬空;如果使用内部晶体振荡器,晶体接在XOSC16_Q1 和XOSC16_Q2 引脚之间。射频输入/输出匹配电路主要用来匹配芯片的输入输出阻抗,使其输入输出阻抗为50Ω,同时为芯片内部的PA 及LNA 提供直流偏置。
CC2420 通过4 线SPI 总线(SI、SO、SCLK、CSn)设置芯片的工作模式,并实现读/写缓存数据,读/写状态寄存器等。通过控制FIFO 和FIFOP 管脚接口的状态可设置发射/接收缓存器。CC2420 射频信号的收发采用差分方式进行传输,其最佳差分负载是115+j180Ω阻抗匹配电路应该根据这个数值进行调整。
CC2420 具有内部发送接收(T/R)开关电路,这就使得天线接口的匹配极为容易。RF 采用差动连接;单集天线需要使用不平衡变压器。通过外接直流通路,连接引脚TXRX_SWITCH到RF_P 和RF_N,实现PA 和LNA 的偏置。
CC2420 是一个半双工的RF 芯片,在同一时刻只处于一种工作状态,或者出于发送状态,或者处于接收状态;CC2420 有15 个命令寄存器,每个寄存器都有一个固定的地址;CC2420的发送缓冲与接收缓冲是分开的:TXFIFO 为128 字节,RXFIFO 为128 字节。
TXFIFO 与RXFIFO 的读写可以通过两种方式进行:
寄存器方式:通过读写TXFIFO 寄存器(0x3E)操作128 字节的TXFIFO 通过读写RXFIFO寄存器(0x3F)操作128 字节的RXFIFO.
RAM 方式:直接对具体RAM 地址的读写来操作指定地址的RAM 数据。
TXFIFO 中同一时刻只能有一个等待发送的数据帧,RXFIFO 中同一时刻可以有多个接受到的数据帧,只要这些数据帧的总长度不超过128 字节。CC2420 使用SFD、FIFO、FIFOP 表示收发数据的状态。
5 ZigBee 组网设计
ZigBee 无线病房呼叫系统是为了弥补现有病房呼叫系统的不足、改善病房环境、减轻医生、护士的工作量、更好的为病人服务而专门设计开发的一套病房呼叫系统。房间内的呼叫节点采用星型网络连接,由其中一个节点作为ZigBee 路由器,负责与中心网络的连接和数据中继转发;所有的ZigBee 路由器组成一个星型与树型结合的混合网络,再与ZigBee中心节点连接,中心节点设置在管理中心,构建成一个完整的ZigBee 无线网络。当病人发出的服务请求会通过网络传到中心端,医生或护士可以通过中心端获得病人的信息,对请求作出及时处理。
我们给出如下具体实现步骤:第一步:初始化硬件驱动和MAC 层。第二步:扫描信道获得并处理环境信息。节点根据信道扫描的结果作出加入网络或新建PAN 网络的判断,如果节点决定新建PAN 网络,那么执行第三步,否则调到第五步。第三步:建立PAN 网络。其中包括以下过程:信道能量扫描、短地址信息选取、选择PAN 网络ID、初始化网络设置。第四步:允许接收节点的入网请求。该部分处理关联指示原语,父节点执行完第四步后,节点己做好数据传输的准备,将不再执行第五步到第六步。第五步:加入PAN 网络。在这一步中,子节点先发布一个网络查找原语currentPrimitive=NLME_NETWORK_DISCOVERY.request,之后子节点的MAC 层就会执行一次主动扫描返回NLME_NETWORK_DISCOVERY.confirm,函数会据此更新邻接表,子节点就可以从搜索到的网络中选择一个父节点加入。第六步:数据传输。当子节点加入网络后,子节点和父节点就可以进行通信了。
6 结束语
本文从医院对病房呼叫系统的实际需要出发,提出了无线病房呼叫系统便携端的硬件整体设计方案,设计出无线病房呼叫系统便携端的总体框图及硬件设计,给出了该系统的组网方案及实现步骤。该方案具有低成本、低功耗、高可靠性和可扩展性等方面的优点。