摘要:介绍了基于Wi-Fi的超低功率芯片GS1011在生物信号采集与传输系统中的应用。GS1011通过外部接口与TI公司高精度、低功耗、低噪声的16通道(多路复用的)24位模/数转换器ADS1258相结合,实现了一个体积小、接入方便、功耗低的生物信号采集与传输系统,并通过仿真实验验证。
关键词:GS1011;Wi—Fi;ADS1258;生物信号采集与传输
引言
生物信号的采集分析系统为我们发现、了解生物信号提供了一种可能。它可以将难以感知的微弱信号显示出来并对信号特征进行分析,使得医生对病人的诊断更加准确,更能有针对性地提出诊疗办法。然而人体的生物信号多属于强噪声背景下的低频弱信号,如脑电信号的频带在0.5~100Hz之间,肌电信号的频带为10~2 000 Hz,这使得生物信号的采集与处理具有较高的难度。
针对以上问题,采用Gain Span公司超低功耗的无线芯片GS1011与TI公司推出的高精度、低功耗、低噪声的16通道(多路复用的)24位模/数转换器ADS1258结合的方法,既可以提高生物信号的采集精度,又可以运用成熟的Wi—Fi无线传输技术提高传输速率和传输距离。
1 系统总体概述
图1为系统构架图。由图1可知,该系统是便携可穿戴式的,生物体将该装置佩戴在身上,获取所需生物信号并对其进行信号放大、高精度采样,以及处理等,最后通过无线传输与附近局域网内的无线AP实现通信,将采集到的生物信号通过无线AP传给局域网服务器以便医护人员分析诊断。
2 系统组成与工作
2.1 硬件组成
系统总体框架如图2所示。
本设计采用的是Gain Span公司的超低功耗的无线芯片GS1011,虽然现在传统的Wi—Fi传输系统非常多,但是能够实现超低功耗传输的却寥寥无几。GS1011采用两个32位ARM7处理器,并集成了射频发射器、片上Flash和片上SRAM,支持IEEE802.11射频通信、MAC层和物理层协议,以及应用程序进程。GS1011的芯片结构如图3所示。
GS1011芯片中包括两个32位ARM7处理器,其中一个为WLAN MAC处理器(WLAN CPU),负责网络数据的Wi—Fi收发;另外一个ARM7 CPU为应用处理器(Application CPU),主要用于用户应用程序的运行。GS1011芯片内嵌的Flash和SRAM用于保存程序和数据;JTAG口用于对芯片进行编程和调试;ADC、I2C总线、GPIO等接口用于接收来自传感器网络节点采集到的数据信息,以及实现外围系统扩展、RF开关和功率控制等功能。
ADS1258是TI公司推出的一款高精度、低功耗、低噪声的16通道(多路复用的)24位模/数转换器。该器件的固定通道采样速率为125 ks /s,自动通道扫描采样速率为23.7 ks/s,适用于设备与系统监控、医疗仪器、航空电子、仪表与工业过程控制等应用领域。
ADS1258内部结构如图4所示。该器件主要由16路模拟输入转换器、可编程数字滤波器、时钟发生器、通用输入/输出端口和SPI串行接口等组成。16路模拟输入通道可配置为8路差分输入或者16路单端输入形式。可编程数字滤波器。可使用户在转换精度和数据速率之间进行优化选择。时钟发生器产生模/数转换基准时钟。SPI接口用于ADS1258与外部处理器之间进行串行通信。
ADS1258内部电路可分为模拟和数字两大部分,模拟部分可采用单极性电源(5 V)或者双极性电源(±2.5 V)供电,数字部分电源电压为2.7~5.25 V。当模拟部分采用单极性供电时,其输入模拟信号的电压范围为0~5.25 V;当模拟部分采用双极性供电时,其允许输入信号的范围为-2.5~2.5 V,是真正的双极性输入。
ADS1258有固定通道输人和自动通道扫描输入两种工作模式。模/数转换时,既可使用片内参考电压,也可外加高精度参考电压源。转换时钟既可由片内时钟发生器提供,也可由片外时钟电路或者时钟源提供。ADS1258的串行接口与SPI兼容,便于与外部处理器进行通信。同时,ADS1258内部的监控电路简化了对芯片供电电压、工作温度及参考电压的检测,通过读取系统参数寄存器即可获取这些信息。
ADS1258片内有10个独立寄存器,其中9个可供用户使用,通过对这些寄存器进行设置来控制其工作过程,其主要寄存器如表1所列。
表1中,CONFIGO、CONFIG1是结构寄存器,用来设置工作模式、输入方式、转换数据的输出格式、开关切换时延、转换速率等。CONFIG0寄存器中,SPIRST位用于设置SCLK引脚空闲256个或4 096个时钟周期时,SPI接口复位;MUXMOD位选择ADS1258工作于固定通道模式还是自动扫描模式;BYPAS位选择待转换的电压信号通过芯片转换器输出的内部直连,还是外部缓冲方式送到ADC模块;CLKENB位、CHOP位与STAT位,分别用于确定时钟信号输出、滤波器斩波功能与状态字节输出是否使能。
CONFIG1寄存器中,IDLMOD位用于选择芯片空闲时处于等待模式还是休眠模式;DLY2~DLY0位的不同组合用于选择切换到新通道后,转换开始前的延迟周期数;DRATE1~DRATE0位的不同组合可以选择4种采样转换率。
MUXSCH寄存器用于固定通道模式下ADC模块正负端口输入通道的选择。MUXDIF寄存器、MUXSG0寄存器与MUXSG1寄存器,用于自动扫描模式下差分输入通道和单端输入通道的选择。
另外,SYSRED寄存器用于确定器件增益、基准参考电压、芯片温度、供电电压及零位漂移电压等参数是否加入被测序列;GPIOC寄存器选择8位通用输入/输出引脚GPIO7~GPIO0用作输出还是输入;而GPIOD寄存器则反映了当前引脚的状态值;ID寄存器中存储厂家设定的芯片信息,只可读。
硬件连接原理图如图5所示,GS1011通过SPI接口与ADS1258进行通信。利用GS1011的通用输入/输出引脚GPIOB0为ADS1258提供复位信号,借助于GS1011的SPISTEA引脚提供模/数转换启动信号,两者之间采用3线制(时钟信号线、数据输入线与数据输出线)SPI通信方式,ADS1258丁作于SPI通信从模式下,且始终处于被选中状态。
ADS1258的模/数转换过程如下:控制引脚START上的正脉冲启动一次模/数转换,当该次转换结束时,数据准备好引脚输出低电平信号,提示可以提取采样数据,同时自动将多路转换器的采集通道切换到下一个输入电压端口,等待新一轮模/数转换的启动。本系统中,将数据准备好的信号作为GS1011的一个外部中断源,可通过外部中断服务程序来读取转换结果。
ADS1258在SCLK引脚的上升沿从DIN引脚输入数据,在SCLK引脚的下降沿从DOUT引脚输出数据,但无论输入还是输出数据,总是先从最高位MSB开始。控制参数可通过写寄存器命令一次性顺序写入,其命令的第一个字节格式为:0111xxxxb。其中,前3位“011”表示该条指令为写寄存器命令;左数第4位为“1”时表示该条指令对多个寄存器进行写操作;“xxxx”代表被写的第一个寄存器的芯片内部地址。
2.2 系统工作
在系统中,监护病人的监测数据传到监护基站,并由基站装置将数据传输至所连接的PC,医生或护士可以通过PC获得病人的生理数据,对监护病人作出及时处理。系统主要由监护基站、路由节点和无线节点组成。系统中的生物信号采集包括人体生理信号,如体温、血压、脉搏、心电等,通过传感器采集。接着再通过模/数转换器把人体生理参数的模拟信号转化为待处理的数字信号。当医生和护士离岗时,相关数据信息通过Wi—Fi无线方式传输发送到手持PDA上,医生和护士能及时掌控患者的详细数据信息。
系统采集各种信息,并进行处理,再以无线方式传送给用户终端。而Wi—Fi技术保障设备之间可以自由直接地进行通信,也可以在基站或者访问点的协调下进行通安装在企业和家庭中的网络进行无缝连接,而且还具有更好的安全性和系统的可扩展性。系统连接步骤如下:
①用病人身上佩带的检测仪获取病人的生物信号,并将数据传给处理器进行处理。
②驱动Wi—Fi模块,使其能够通过无线接入点(Access Point,AP)联入局域网,然后将数据交给Wi—Fi模块传入局域网。此部分是关键性的一步,在系统中Wi—Fi是负责数据传输的模块,要实现实时的传输,必须首先驱动Wi-Fi模块,使其能扫描到AP的信息,并且顺利加入AP所在的局域网内。
③通过Wi-Fi模块与局域网中的服务器建立好socket通信模式,将得到的心电数据上传至服务器,最后在服务器端解析,得到所需要的生物信息。
3 系统软件设计
3. 1 软件平台
该系统的软件设计是基于GreenHills公司开发的uVelOsity实时操作系统,在MULTI集成开发环境下完成。同时,利用Gain Span公司提供的GS1011芯片功能接口软件库,完成本系统中的相关应用设计。
实时操作系统uVelOsity运行于应用处理器之上,介于底层驱动和上层应用之间,用于实现任务调度、进程管理、定时器中断和内存管理等功能。
3.2 GS1011应用程序设计
GS1011的应用程序主要包括4个部分:加入WLAN、与ADS1258的通信、数据处理和发送、功耗管理。
GS1011与AP连接需3个步骤:扫描、连接、认证。GS1011首先向周围发送一个搜索数据包,如果周围存在AP,那么收到搜索数据包的AP就会发出一个应答包。收到由AP发来的应答包之后,GS1011会发出一个连接请求包与该AP进行连接,收到连接请求包之后,AP也会发出一个应答包。最后,GS1011与AP之间根据已设定好的协议进行认证,通过之后即完成了加入WLAN的过程。
GS1011通过SPI接口读写ADS1258上的寄存器,对ADS1258进行控制。GS1011的SPI接口信号有4个:片选信号mspi_csn、时钟信号mspi_clk、数据输入信号mspi_din、数据输出信号mspi_dout。由于在该系统中,ADS1258无法控制何时开始传输,只能工作在从模式下。
通过SPI接口进行通信时,必须保持片选信号mspi_csn为低电平。引脚用于表明转换是否完成,引脚为低时,表明转换已经完成,可以直接通过通道读取数据。在mspi_clk的下降沿,系统通过mspi_din向ADS1258发送数据;在mspi_clk的上升沿,通过mspi_dout从ADS1258读取数据。
当采集到的数据达到一定数量时,GS1011将存储器中的数据读到内存中进行相应的处理后,通过TCP或UDP协议将数据发送到AP,当数据发送完毕,且GS1011没有收到任何命令时,功耗管理线程就会启动,进入低功耗模式。
4 实验结果
在服务器端与客户端都设置好了之后,就可以进行信号的采集与传输了。图6所示为对某实验对象的心电信号经解压后在服务器端显示的图形。
该系统的生物信号采集与传输速率最大能到11 Mbps,完全能满足各种生物信号文件传输要求。在AP为中心的50 m内,信号都能满足实时传输速率要求。对于AP的切换,在模块的自动联网下,重新扫描网络大概在300 ms内,连接认证在100 ms内,整个过程花费不到0.5 ms。若我们在每个AP所在的网内都设置好服务器,所得到的生物数据不会有很大的误差。
结语
本文在分析生物信号采集系统国内外研究现状的基输系统。该系统配合Wi—Fi无线网络以及上位机操作软件,大大提升了便利性和可扩展性。后期研究重点将解决数据信息在无线网络传递中的安全问题,以及偏向上位机编程(如C++等),在应用层上丰富和完善系统。