杨朋伟
(中国人民武装警察部队工程大学装备工程学院,陕西 西安 710086)
【摘要】本文通过对Zigbee协议栈的研究及分析,从低功耗设计的角度出发,提出了一种低功耗Zigbee数据采集方法。内容主要包括:数据采集信号放大电路设计、A/D转换模块及数据采集设计、传感器节点低功耗设计。系统测试结果表明,该方法能满足工业环境下对系统低功耗的设计要求。
教育期刊网 http://www.jyqkw.com
关键词 低功耗;数据采集;无线传感器网络;Zigbee
1 数据采集信号放大电路
在检测系统中,实际传感器采集到的模拟信号往往非常微弱,为毫伏量级,一般要经过放大才能进行观测或驱动后续设备,记录及进行A/D转换。把微弱的信号放大到与A/D转换器输入电压相匹配。
前端放大电路的主要作用是提供足够大的增益,把传感器输出的微弱信号放大到足够的幅度,并且要有足够大的共模抑制比,排除各种外来的共模干扰。本系统选用的是AD620仪表放大器,它只需要一个外部电阻设置1~1000的增益,AD620尺寸小、功耗低(1.3mA)、精度高、具有优良的DC性能(最大输入失调电压125uV,最大输入失调漂移1uV,最大输入偏置电流20nA),本系统采用输出1到5伏信号的传感器,以AD620为核心的前端小信号放大电路,包括传感器的连接电路,RC低通滤波电路,AD620信号放大电路以及电容滤波电路。
2 A/D转换模块及数据采集设计
ADC采集程序对于传感器数据融合[1]处理有重要意义,它主要用于节点温度、湿度、振动、光强度、压力等传感器模拟信号的采样[2]。CC2430有一个支持12位模数转换的ADC, ADC与一个8通道的模拟多路复用器连接以实现对信号输入的采样。
2.1 ADC参考电压
用于模数转换的ADC参考电压是可供选择的,ADC的参考电压源可以是AVDD_SOC、内部1.25V基准电压、外接于AIN7 输入引脚的电压及应用于AIN6-AIN7输入的差分电压。
2.2 ADC初始化
void initAdc(void)
{
initLcd();
SET_MAIN_CLOCK_SOURCE(CRYSTAL);
ADC_ENABLE_CHANNEL(7);
ADC_SINGLE_CONVERSION(ADC_REF_AVDD | ADC_8_BIT | ADC_AIN7);
}
函数initAdc( )为AD的初始化程序,该程序在单片机上电复位时执行,ADC在使用前也必须进行初始化,主要包括基准源选择,输入通道和ADC时钟的选择。在本程序中,设置的基准源为VREF为VDD=3.0V,输入通道选择7,并且使能ADC完成中断。
2.3 单次数据采集程序设计
单次数据采集主要通过控制命令或者按键的方式来启动ADC采集,一次只能进行一次数据采集。
void adc_main(void){
INT8 adc_value;
initAdc();
while( !stopApplication() ){
ADC_ENABLE_CHANNEL(7);//使能ADC通道,设置为通道7
ADC_SINGLE_CONVERSION(ADC_REF_AVDD | ADC_8_BIT | ADC_AIN7);//
ADC_SAMPLE_SINGLE();//
while(!ADC_SAMPLE_READY());
ADC_DISABLE_CHANNEL(7);//
adc_value = ADCH;//读出结果
return;}
2.4 连续数据采集程序设计
连续数据采集通过控制命令或者按键的方式来启动ADC采集,它通过DMA方式实现了数据的连续采集。
3 节点低功耗设计
3.1 节点的休眠机制[3]及节点休眠方法
CC2430有四种工作模式[4],每种模式的功耗不同。PMO是完全工作模式,PM3是功耗最小的模式,PMO用于普通操作,PM1适用于相当短时间内的休眠事件,PM2适用于相当长时间内的休眠事件,特别是用于休眠定时状态,PM3适用于在等待外部事件触发时达到特别低的功率损耗情况。
由于受到无线传感器网路节点的应用背景限制,通过外部中断或重置才能重新进行数据收发工作的PM3模式是不切实际的,因此,本设计选择功率消耗居第二位的PM2模式作为终端节点的休眠模式。通过设置特殊寄存器中PCON.IDLE位为1启动工作模式的转换,改变控制寄存器SLEEP中的MODE模式为2选择PM2模式。
3.2 节点的低功耗[5]设计
由于CC2430的微处理器内核为8051能进行多线程操作,因此,在终端节点休眠计时情况下,节点不会接收处理父节点发送的数据信息,所以终端节点也不能够通过父节点对其进行休眠唤醒。事实上,节点如果在休眠状态下还能够接收数据,那么节点实际一直处于监听状态,不能称之为休眠状态,也不会节省功耗。最终,采用休眠定时的方式对终端节点进行休眠唤醒。
考虑将终端节点的传感器数据采集与节点休眠综合起来,设定节点在传感器数据采集之后,将数据向其父节点进行发送,发送成功后,节点进入休眠,休眠时间到,节点开始下一轮的数据采集及发送过程。数据休眠采集流程如图1所示:
4 结论
文章设计了一种低功耗Zigbee数据采集方法,通过点对点和路由中转实验,系统在工作状态下,协调器节点工作电流,23-27mA,终端节点工作电流,23-25mA,这说明该方法能有效降低系统功耗,能满足工业现场对系统功耗的要求。下一步的工作是研究降低Zigbee树型网络及网状网络功耗的方法。
教育期刊网 http://www.jyqkw.com
参考文献
[1]毕艳忠,孙利民.传感器网络中的数据融合[J].计算机科学,2004,31(7):29-32.
[2]陈群,葛万成,ZigBee在土业控制中的应用探讨[J].自动化博览,2006,12:24-26.
[3]张大踪,杨涛,魏东梅.无线传感器网络低功耗设计综述[J].传感器与微系统,2006,25(5):10-14.
[4]瑞荣,陈碧.低功耗白组织无线传感器网络[J].计算机测量与控制,2005,13(9):881-883.
[5]Tsung-Hsien Lin, William J. Kaiser, Gregory J. Pottie. Integrated low-power communication system design for wireless sensor networks[J].IEEE Communications Magazine,2004,12:42-150.
[责任编辑:薛俊歌]