基于MCU和nRF905的低功耗远距离无线传输系统
4.2 跳频机制
为避免信道阻塞,系统采用了二进制指数退避算法[5]随机延时一段时间再发送数据,有效地避免了同频道下的数据冲突。除此之外,系统还设计了跳频机制以有效地保证数据传输的准确性。
跳频机制的基本原理是将频段分为一系列的通道,发送端查找预先设定的频率列表,以伪随机方式产生通信频道及发射前导码,发射前导码的时间应确保接收机可 以扫描所有的通道[6]。接收端以一定的跳频序列扫描,在某一通道上,接收端收到完整的前导码则收发双方频率同步。一旦完成频率捕获,发送端与接收端即可 识别对方,并且相互通信。发送端和接收端的跳频过程示意图分别如图4(a)和图4(b)所示。
本系统设定了5个随机频道,当跳频次数hop大于5后认为通信失败。由于同时采用了重发和退让机制,收发双方并不需要同时跳入随机频道,系统具有一定的容错性。通常一定时间内干扰只在某个频段存在,只要将5个通信频道拉开一段频距,即可有效抵制干扰。
5 系统的低功耗设计
系统中MSP430完成初始化后,处于低功耗工作模式,在有外部事件发生时唤醒进入中断服务程序,完成后重新进入低功耗模式。如此循环往复,可以最大限度地降低功耗。所以系统低功耗设计的重点是射频芯片nRF905的控制。nRF905在接收状态时功耗比较大,工作电流为10mA左右,所以应尽量使 nRF905 处于休眠状态。对于下层节点模块,当上层基站模块需要进行数据采集时,首先发送唤醒码。本系统使用0xCC作为唤醒码,即主机连续发送0xCC,从机收到连续两个0xCC后即保持接收状态而不进入休眠。如果两个周期内没有收到有效数据帧的帧头,则视为杂波干扰,重新进入休眠状态。如此设定之后,nRF905的平均工作电流可降至200?滋A以下,整个模块的平均工作电流在250?滋A以下,采用两节电池供电可以使用一年以上。上层基站模块作为主机,可主动发起通信,所以等待时nRF905可一直工作在休眠状态,整个模块的平均工作电流在100μA以下,采用两节电池供电可以使用一年半以上。
本文利用低功耗单片机MSP430和nRF905芯片设计了一种成本低、低功耗、抗干扰性强的远距离无线传输系统,给出了具体的硬件实现和独特的通信协议。nRF905的高灵敏度为其提供了稳定的传输距离,即使利用无增益的PCB天线其传输距离也可达300米,采用高增益的天线则可达到800米以上,可满足不同客户的需求。如果系统配以其他传感器组则可以实现多种应用环境的无线数据采集、传输与处理或远程监控等,在很多领域都具有广阔的应用前景。
评论