短距离无线数据低功耗传输协议分析
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)。主设备接收并处理从设备发送的数据帧,并通过数据帧的帧头判断是继续等待还是进入下一周期的休眠时间。当主、从设备都没
低功耗 无线数据传输 信标 时间同步 MC13213 相关文章:
- RS-485网络设计降低功耗问题(01-26)
- 低功耗CMOS电压基准源的设计(08-27)
- 一种新型低功耗两级运算放大器的实现(01-20)
- 创建理想的低功耗设计(01-14)
- 新一代电池供电装置的超低功耗设计(07-18)
- 基于绝热逻辑的低功耗乘法器电路设计(07-23)