短信在嵌入式多参数监护仪设计中的应用
2009-02-02
作者:姬少晨,唐晓英,刘伟峰,解 菁
摘 要: 介绍一种具有短信息无线通讯功能的低功耗嵌入式多参数监护仪,基于ARM7核的32位低功耗微处理器作为系统控制核心, 采用源码公开的嵌入式操作系统μC/OS-II, 通过低功耗的16位单片机MSP430完成数据采集,可实现心电、血氧、血压、体温信号的实时监测。系统采用西门子MC35i无线传输模块,实现生理参数以SMS方式无线传输,具有轻便节能、安全稳定等优点。
关键词: ARM7;MC35i;SMS;MSP430;μC/OS-II
随着社会的进步和生活水平的提高,人们对健康的要求越来越高,医院开始转变医疗模式,从以治疗为主转向以预防为主,以医院为中心转向以家庭为中心。在这种形势下,生理监护仪器成为解决疾病预防的重要手段。近年来,无线传输技术被引入医疗健康领域,以提供“无时、无处不在”的便携式健康服务。目前,移动通信网络已覆盖至县乡级,大中城市的覆盖率几乎达到100%。因此,基于移动通信GSM(Global System for Mobile Communication)的短信服务SMS(Short Message Service)与医疗设备相结合具有较强的使用优势,病人只要在GSM网覆盖的地方都可以得到监护,医疗过程可以被更好地跟踪,医学仪器得以更有效地利用[1]。
本系统通过在人体部位设置相应探头,对生理参数信号(血氧、心电、血压、体温)进行实时采集、放大后转换成数字信号,通过DSP进行滤波,去除噪声信号,得到所需要的信号,然后根据这些信号计算出血压、血氧、心率和血液粘稠度等参数[2],并通过MCU对参数实时显示。同时,将采集到的数据通过无线通信模块以短信的形式发送到医院等监护中心。
1 系统介绍
作为一个便携式仪器,要求使用安全、体积小巧、连接可靠、操作简单且性能稳定。因此系统信号采集模块以MSP430为核心完成信号的AD转换和串口发送;数据处理模块以S3C44BOX为核心完成对数据的处理以及LCD驱动;无线通信模块则是以西门子MC35i为核心实现数据以短信形式传输。无线通信与嵌入式监护仪的结合是当前监护仪设计的一种拓展,也是监护仪发展的一个方向,因此,本文将重点介绍无线通信模块的设计。
系统硬件部分总体框图如图1所示。
1.1 信号采集模块
信号采集模块主要由前端的心电、血氧和体温传感器、模拟放大滤波电路、AD转换和串口发送单元组成。系统采用双极性标准导联采集人体的心电信号,利用光电式容积脉波传感器在人体的手指上采集血氧参数以及脉搏波;血压采集采用传统的无创血压采集方法——袖带式,通过压力传感器转换成电信号;采用高精度数字温度传感器DS18b20采集人体的体温信息。系统采用TI公司的超低功耗16位单片机MSP430F149作为信号处理模块的核心,使用其内部丰富的资源完成采集信号的AD转换和与下位机的通信;采用MSP430F149内置的串口接收数据处理系统的指令,采集相应的生理信号并将其传送到数据处理系统中。
1.2 信号处理模块
信号处理模块的主要功能是设置系统的工作状态,接收、执行用户指令来确定采集的生理信号,并对信号采集模块传输来的信号进行软件滤波,根据滤波后的波形数据采用合适的算法计算得到所需要的生理参数。系统通过对心电信号的处理,可以检测并计算出心率;通过对脉搏波信号的特征检测计算出血氧饱和度和血液粘稠度参数,根据采集到的体温信号计算得到人体的体温值。信号处理模块的核心是ARM芯片S3C44BOX,完成波形数据的处理和计算、驱动LCD等功能[3]。
1.3 无线通信模块
系统的无线通信模块采用西门子公司的MC35i。S3C44BOX通过RS232接口与MC35i模块连接,实现无线通信模块与MPU之间的通信,通过AT(AT-command)指令控制MC35i的操作。
2 无线通信模块的硬件实现
MC35i模块支持语音通信,有GPRS、USSR和CSD三种数据传输方式以及SMS和FAX功能;模块具有体积小、重量轻、功耗低等特点。MC35i的工作电压为3.3V~4.8V,典型电压为4.2V,最大工作电流为2A;模块可以工作在EGSM900和GSM 1800两个频段;工作于EGSM900时功耗为2W,工作于GSM 1800时功耗为1W,利用AT指令进行控制[4]。
2.1 MC35i模块的SIM卡接口
MC35i模块是机卡分离的移动终端设备,要登陆到移动网络上,还必须通过其SIM卡接口扩展外部SIM卡插槽。MC35i模块的SIM卡接口符合ISO 7816-3 IC卡标准,共有6个引脚,各个引脚的作用和定义如下:
(1)CCRST:SIM卡复位,由基带处理器提供。
(2)CCCLK:SIM卡时钟,基带处理器可以设置不同的时钟频率。
(3)CCIO:串行数据线,输入和输出。
(4)CCIN:检测SIM卡插槽中是否有卡输入到基带处理器;如果SIM卡在操作过程中把SIM卡拔出,SIM卡接口将立即关闭。这个功能是为了防止SIM卡损坏,但应该避免在工作时插入或者拔出SIM卡。
(5)CCVCC:SIM卡供电电源。
(6)CCGND:独立的SIM卡地。
2.2 MC35i的串行接口
MC35i的数据接口是一个串行异步通讯收发器,可以方便地与主控制器相连接。数据接口定义为8个数据位。MC35i的串行接口引脚作用及数据方向定义如下:
· TXD0:数据发送,输入;
· RDX0:数据接收,输出;
· RTS0:接收就绪,输入;
· CTS0:发送请求,输出;
· DTR0:数据发送就绪,输入;
· DSR0:数据准备好发送,输出;
· DCD0:载波检测,输出;
· RING0:振铃输出,输出。
2.3 MC35i模块的电源接口
MC35i模块内部电源功能由ASIC电路处理,它采用线性电压稳压器稳定GSM基带的供电电压,控制模块的上电和掉电过程,并通过VDD引脚为外部应用提供稳压后的2.9V电源。同时,基带处理器周期性地发送信号给ASIC作为看门狗信号,保持对MC35i模块各部分供电。一旦看门狗脉冲没有正常送到,模块将自动关机。MC35i模块与主控制器、SIM卡、电源的引脚接口如图2所示。
3 系统软件实现
本系统采用嵌入式实时多任务软件设计方法,在RTOS平台上进行嵌入式模块化应用软件开发,以便于后期的系统升级及新功能模块的加入。系统选用μC/OS-II作为系统的嵌入式RTOS,将其移植到系统基于ARM内核的S3C44B0X硬件平台,应用μC/OS-II 的内核多任务管理机制,更好地完成系统的软件编写。系统采用基于μC/OS-II 的软件设计方法,可以根据系统中各任务的优先级,利用信号量、消息等完成对系统资源的分配和调度,提高系统的可靠性和实时性[5]。
软件系统结构如图3所示。
系统主程序流程如图4所示。
4 无线通信模块的软件实现
4.1 硬件模块的驱动
硬件模块的驱动是整个系统总体软件架构的最底层,在本系统中,串口主要用来与MC35i通信模块进行数据通信。在嵌入式系统中,串口通常采用查询方式与中断方式进行工作。查询方式实现起来比较方便,其工作原理是CPU不断查询UART的状态寄存器的某一位。本系统采用的就是查询的工作方式。串口的查询工作方式的驱动实现代码分别为:采用函数Uart_SendByte向串口发送一个字节的整型数;采用函数Uart_SendString向串口送出一串字符;采用函数Uart_GetByte从串口接收一个字节;采用函数Uart_GetString从串口接收一串字符。
4.2 应用层通信的实现
模块MC35i可以实现SMS短消息通信和GPRS无线通信。SMS短消息服务收费低廉,可随时随地获取信息,还可以实现全国及国际漫游。利用GSM短信系统进行无线通信还具有双向数据传输功能,性能稳定,为远程数据传送和监控设备的通信提供了一个强大的支持平台。
短信收发目前有两种模式:基于AT指令的文本模式(Text Mode)和PDU模式(Protocol Description Unit)。文本模式和PDU模式实质上是指短信息数据的编码格式,编码得到的字符串表面上由“0~9”、“A~F”这些字符组成。PDU编码得到的字符串不仅包含可显示的短信息本身,还包含很多其他信息,如短信服务中心号码、目标号码、回复号码、编码方式和服务中心时间戳等。PDU模式可采用的编码方式有三种:7-bit编码、8-bit编码和UCS-2编码。7-bit编码只能发送ASCII字符;8-bit编码通常用于传送数据信息;UCS-2编码用于发送Unicode字符,例如中文。文本模式实际上也是由PDU模式显现的位串编码,与PDU模式的主要区别在于文本模式仅支持7-bit编码,只能发送纯英文和数字信息。本系统选用PDU模式下的8-bit编码方式进行数据编码。下面介绍SMS短消息方式通信的实现过程。
4.2.1 MC35i模块的初始化
MC35i模块在短消息方式下的初始化过程大致为以下几个步骤:
(1)发送ATZ
(2)发送ATE0
(3)发送AT+CREG
(4)发送AT+CSMS=1/0
(5)发送AT+CMGF=0
(6)发送AT+CSCA=+86138*******
4.2.2 SMS短信传输数据的格式
要实现SMS短信传送数据,需要将数据分割并封装成适合SMS短信数据长度的数据包。每条SMS短信传送的数据长度有限,例如7-bit编码最多160B,8-bit编码最多140B。文件的字节数一般都远大于这个数值,所以需要首先将数据封装成适合SMS短信传送大小的数据包。在本系统中,SMS短信的编码方式选用8-bit编码,每条短信140B,数据包的格式定义如表1。
(1)数据包序号:作为每个数据包次序的标识,在数据还原时按照次序依次读取数据序号,从1开始,最大9 999。
(2)数据包总数:数据分割为数据包的总数量,接收方验证数据包的总数,判断是否有数据包丢失。
(3)校验和:采用异或检验。SMS短信通信质量较为可靠,所以采用这种既简单又相当准确的数据检验方法。在发送方,读取数据后,计算一次数据的校验值。在接收方,接收到数据后,也计算一次校验值,与接收到的校验值比较。
(4)数据负载:有效数据,读取的是任意格式数据的二进制值。顺序依次读取数据的二进制值,每次131B,直到读至数据结束。
4.2.3 短消息的发送和接收
在对MC35i模块成功进行初始化后,模块开始进入工作状态。如果系统此时需要发送短消息,则通过主控制器发送AT+CMGS=“***********”
短消息的收发流程如图5所示。
嵌入式通信是进行远程控制和嵌入式系统信息交互的重要手段,利用GSM网络是嵌入式无线通信设计的一种重要方法。GSM网络具有网络能力强的特点,用户无需另外组网,节省了昂贵的建网费和维护费,同时它对用户数量没有限制,与传统的集群系统相比在无线网络覆盖方面具有非常突出的优势。而GSM的SMS本身具备数据传送功能,使得利用GSM短信息系统与嵌入式相结合在许多领域得到灵活应用。
参考文献
[1] 李享元,吴修鸿,马麟,等.基于SMS的血压远程监护系统的研究.Chinese Journal of Medical Instrumentation,2003.
[2] 王晖.医用多参数监护仪的基本原理及使用.中国医疗器械信息,2006,(4).
[3] 马忠梅.ARM嵌入式处理器结构与应用基础.北京:北京航空航天大学出版社,2002.
[4] Siemens Company.SIEMENS MC35 Multiplexer User′s Guide.2005.
[5] LABROSSE J J.嵌入式实时操作系统μC/OS-Ⅱ,邵贝贝译.北京:北京航空航天大学出版社,2003.