社区导航

 

搜索
查看: 2375|回复: 0
打印 上一主题 下一主题

[讨论] 短距离无线数据低功耗传输协议研究

[复制链接]

480

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

跳转到指定楼层
楼主
发表于 2010-4-17 15:37 | 只看该作者 |倒序浏览 |阅读模式
针对短距离无线数据传输设备因高功耗而限制了工业应用这一问题,本文基于Freescale公司的MC13213硬件平台,对其低功耗的数据传输协议进行了研究,采用信标同步机制极大地降低了无线数据传输设备的功耗。

  短距离无线数据传输是一种线缆替代技术,在当前很多领域(如工业生产、医疗监护、科学研究等)都得到了广泛的应用。它的出现,解决了因环境和条件限制而不利于有线布线的问题,同时具有低成本、方便携带等优点。然而由于存在高功耗的缺点,使得这技术在很多供电受限的工业现场应用中受到了很大的限制。本文基于 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的长时间休眠。在实际应用中可以根据需要找到最优点。
  参考文献
  [1] Zigbee Alliance. ZigBee Specification v1.0,20041214.
  [2] 蒋挺,赵成林.紫蜂技术及其应用[M].北京: 北京邮电大学出版社,2006.
此帖出自RF/无线论坛
0


您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( )

GMT+8, 2020-1-21 10:29 , Processed in 0。092578 second(s), 18 queries , Gzip On, MemCache On。

快速回复 返回顶部 返回列表
新疆喜乐彩开奖 新疆喜乐彩注册 天津十一选五前三走势 北京赛车怎么玩 秒速赛车是真的吗 安徽快3 天津快乐十分 智慧彩票投注 山东群英会app 北京两步彩APP