短距离无线数据低功耗传输协议分析

2011-04-20 23:51:46来源: 互联网
短距离无线数据传输是一种线缆替代技术,在当前很多领域(如工业生产、医疗监护、科学研究等)都得到了广泛的应用。它的出现,解决了因环境和条件限制而不利于有线布线的问题,同时具有低成本、方便携带等优点。然而由于存在高功耗的缺点,使得这技术在很多供电受限的工业现场应用中受到了很大的限制。本文基于Freescale公司的MC13213硬件平台对短距离无线数据的低功耗传输协议进行了研究,在保证数据可靠传输的同时,极大地降低了设备的功耗。

1  主要芯片介绍

    MC13213是Freescale公司推出的一款SoC芯片,它主要由微处理器和射频模块两部分组成。微处理器采用8位的HCS08内核,集成了1个SPI(Serial Peripheral Interface)接口、1个8路的8/10位A/D转换器、2个TPM(Timer/PWM)模块、2个SCI(Serial Communication Interface)接口、2个I2C和1个8路的KBI(Keyboard Interrupt)接口。射频模块的工作频段是2.4 GHz,通过SPI总线与处理器通信。其主要特点有:

    ◆ 采用2.4 GHz频段,其设计构架符合IEEE 802.15.4协议;
    ◆ 接收灵敏度<-92 dBm,发送功率为-28.7~+3.4 dBm可调;
    ◆ 拥有0~15(共16)个可选工作信道;
    ◆ 采用直接序列扩频(direct sequence spread spectrum)的二进制编码方式,增强了抗干扰能力;
    ◆ 采用OQPSK数字相移键控调制技术,大大降低了数据传输的误码率;
    ◆ 采用免冲突的载波检测多址接入(CSMACA)机制,避免了数据传输过程中的冲突。

2  硬件系统设计

    如图1所示,整个系统硬件结构由4部分组成:RS232/485总线接口单元、数据处理单元、射频收发单元和电源管理单元。

按此在新窗口浏览图片
图1  短距离无线数据传输模块硬件结构图

    一方面,PC/仪器仪表通过RS232/485总线将数据传送给MCU处理器,处理器将数据包进行适当处理后送给射频模块发送出去;另一方面,射频模块将接收到的数据送给MCU处理器,处理器经过解包处理后再通过RS232/485总线将数据送给PC/仪器仪表。

    工业中的仪器仪表大多都采用RS485总线通信方式,因此无线数据传输设备提供RS232/485可选通信接口,既方便连接PC机,又满足了一般仪器仪表的要求,串口波特率为1 200~115 200 bps可调。

3  软件设计和低功耗通信协议研究

    无线数据传输设备的一般工作流程如图2所示。在进行相关初始化之后就进入主循环,对射频模块和串口进行轮询: 当射频模块接收到数据包时就进行解包,然后送到RS232/485总线;当串口接收到从RS232/485总线上发来的数据时,就进行相关处理并送入射频模块发送出去。这种轮询的方式结构简单,实现方便。

按此在新窗口浏览图片
图2  短距离无线传输设备软件流程

    然而,在这种工作方式下,射频模块就必须时刻监听信道。在2.7  V工作电压、处理器时钟频率为2 MHz时,MC13213的射频模块接收工作电流IRF(Rx)≈37 mA,处理器以及外围器件的工作电流Imcu≈2 mA,因此设备的正常工作电流I≈39 mA,这个电流对于一些供电受限的工业应用显然是不能够接受的。为了降低无线传输设备的功耗,需要对设备之间的传输协议作适当的改进。

    由于在大部分的时间里设备之间没有进行数据传输,因此射频模块一直处于接收状态是一种资源浪费。而设备本身不知道对方何时有数据传输过来,因此设备之间约定在特定的时间段内进行数据传输,而其余时间休眠。

    这样一种约定需要一种同步机制。我们采用信标同步机制:一个设备定时发送一个称为“信标(Beacon)”的数据包,即信标帧。另一个设备通过接收该信标帧来实现同步。我们将发送信标帧的设备称为“主设备”,接收信标帧的设备称为“从设备”。通过信标帧,即可实现从设备和主设备之间的同步。

    在该协议中,有3种类型的数据包:信标帧、数据请求帧和数据帧。信标帧和数据帧的帧头包含有是否有数据待传的信息。

    实现同步之后,主设备和从设备之间就约定进入休眠时间(Tsleep)。在休眠期间射频模块深度睡眠(虽然关闭射频模块后功耗会更低,但唤醒时间太长),处理器处于超低功耗状态,只有串口处于接收状态。休眠时间结束后,主设备就会醒来,并且射频模块向外发送信标帧。信标发送完后,射频模块立即进入接收状态。从设备从休眠中醒来后立即唤醒射频模块进行信标侦听,当接收到主设备发送过来的信标后,就会判断主设备是否有数据待传。如果有,就向主设备发送数据请求帧;否则,从设备就会将自己串口接收到的数据通过射频模块发送给主设备,直到数据发送结束进入下一个周期的休眠时间(Tsleep)。主设备接收并处理从设备发送的数据帧,并通过数据帧的帧头判断是继续等待还是进入下一周期的休眠时间。当主、从设备都没有数据需要进行传输时,从设备接收到信标后直接进入下一周期的休眠时间,而主设备等待Twait后没有收到从设备的任何数据,也会进入下一个周期的休眠时间。在这种情况下,由于从设备会比主设备早休眠Twait的时间,因此从设备的休眠时间为Twait+Tsleep。另外为了防止失去同步,从设备醒来后就将射频模块设置为接收状态,直到接收到信标帧,或者超时继续进入休眠。这个超时阈值至少为Tsleep,从而保证了重新同步。如果从设备N次都没有收到信标帧,可以认为周围没有主设备,因此可以进行一次长时间的休眠Thibernate。具体流程如图3所示。

按此在新窗口浏览图片
图3  低功耗改进后的主、从设备软件流程

    经过该协议优化后,主、从设备在一个周期内的工作状态如图4所示。

    改进前的平均工作电流:

按此在新窗口浏览图片

按此在新窗口浏览图片
图4  改进前后主从设备无数据传输时一个周期内的工作状态

    改进后的平均工作电流:

按此在新窗口浏览图片

表1  2.7 V工作电压下测得的主、从设备工作电流
按此在新窗口浏览图片

    其中:

    射频模块接收状态时的工作电流IRF(Rx)≈37 mA;
    射频模块发送状态时的工作电流IRF(Tx)≈30 mA;
    射频模块深度睡眠的工作电流IRF(sleep)≈35 μA;
    处理器正常工作电流Imcu≈2 mA;
    处理器休眠工作电流Imcu(sleep)≈5 μA;
    射频模块发送1个数据包需要的最大时间Td≈4 ms。

    因此,当Twait=5 ms,Tsleep=200 ms时,I后(主)≈1.58 mA,I后(从)≈0.79 mA。远小于改进前的I前≈39 mA。

4  实验结果和总结

    采用了低功耗的传输协议后,在Tsleep分别为200 ms、500 ms和1 s情况下,无数据传输和每10 s互传一个数据包时测量得到的电流如表1所列。可见,采用了低功耗的传输协议后在保证了数据可靠、稳定传输的同时,大大降低了设备的功耗。休眠时间Tsleep 增大,功耗就会下降,同时数据传输的延时性就会增加。而且当只有从设备在工作时,Tsleep太长反而会增大从设备的功耗。一般地,只有满足:

按此在新窗口浏览图片

才能保证主设备不工作时,从设备功耗不会增加。上式中N表示多次未收到信标就进行一次Thibernate的长时间休眠。在实际应用中可以根据需要找到最优点。

关键字:低功耗  无线数据传输  信标  时间同步  MC13213

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/0420/article_7378.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
低功耗
无线数据传输
信标
时间同步
MC13213

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved