Silicon Labs推出的EZRadioPro系列射频芯片(Si4438,Si446x,Si4463)以其低功耗、高性能广泛应用于物联网、智能家居和电表等市场。特别是智能家居行业对产品的低功耗要求几近苛刻,因此在部分射频芯片内增加了LDC模式(Low Duty Cycle Mode),从而达到更低的应用功耗。本文讲述无线唤醒的原理。
配置无线模块进入芯片设置LDC模式方可实现空中唤醒。LDC模式本质上是配置芯片周期性地工作在RX接收模式和Sleep模式,通过调节RX和Sleep的占空比,从而达到降低功耗的目的,如图1为LDC模式示意图。
图1
在LDC模式持续时间内,接收器周期性地唤醒自己,在Rx(或者TX)状态下工作。如果未检测到有效的前导码、检测到接收错误或未接收到整个数据包,则接收器在LDC模式持续时间结束时返回到WUT状态(即就绪或休眠),并保持在该模式,直到下一个唤醒周期开始。如果检测到有效的前导码或同步字,则接收器会延迟LDC模式持续时间以接收整个数据包。如果在两个LDC模式持续时间内未接收到数据包,则接收器将在最后一个LDC模式持续时间返回到WUT状态,直到下一个唤醒周期开始。休眠时间加上唤醒时间组成一个运行周期。
那么实际应用中,发射端如何配置才能满足每次都能唤醒LDC端呢?
方法一:长前导码方式。即使用较长的前导码覆盖整个LDC周期,该方法的优点是前导码能够完整地覆盖LDC的RX模式,确保唤醒成功率,缺点是如果发射端刚开始发送前导码LDC端就处于RX模式,LDC端设备就要一直保持RX状态到发射端的整包数据发送完成,因此会消耗过多的电量。
方法二:短唤醒数据包方式。即通过发送大量的短唤醒数据包,保证至少有一个短唤醒数据包能够完整地落在LDC端的RX状态内,从而保证唤醒成功。该方法的优点是如果唤醒数据包能够足够的短的条件下,功耗会更低,并且LDC端不会长时间处于RX状态,缺点是限制了唤醒数据包长度。
一般情况下建议第二种方式,该方式能够将功耗做到尽可能的低,但是有些项目设计时发送长数据包作为LDC唤醒数据包,这时使用长前导码唤醒方式功耗方面更有优势。