CC1101 Wake-On-Radio functionality
One of our customers requires an outdoor wireless mesh network which will include routing (FFD) nodes. Some nodes will be out of range of the sink node (network coordinator connected to a GSM modem) requiring the installation of FFDs in the middle. One problem is providing power these FFDs. Our customer wants these nodes to be battery powered (9 volt battery) and the battery is required to last at least 6 months. FFDs have their radio on at all times which will consume around 14 – 20 mA depending on the supply voltage, baud rate etc. Assuming the 9 volt battery has a capacity of around 300 mAH. This translates to a capacity of 9 * 300 * 3600 / 1000 = 9720 Joules. Assuming the wireless node is running at 2.2 V and has a receive mode current consumption of 16 mA. The battery will last 9720 / (2.2 * .016) = 276137 seconds which is just 3.2 day !!.
The customer’s application will generate sporadic traffic. Nodes will communicate mostly in response to external stimuli and max latency allowed is at most a minute.
Networks with this kind of traffic can benefit from the CC1101’s WOR functionality. When the CC1101 is put into WOR mode, it will go to sleep and periodically wake up (time period T0) to sniff the channel. If the channel is clear, it will quickly go back to sleep. In sleep mode, the power consumption is less than 1 microamp. If the channel is not clear (some neighbor is transmitting), the CC1101 will stay in receive mode until it detects the start of a frame within a configurable time (let us call it T1).
So, in the absence of traffic, the CC1101 will wake up but quickly go back to sleep. This allows the average current consumption to go very low (< 100 microamps) compared to the receive mode power consumption (15 mA). As usual the devil is in the details. The channel baud rate has to be low (eg- 1200 bps) and each frame will have a long preamble (24 bytes). This makes transmissions really long and energy intensive. A 61 byte MAC + APP frame along with 24 bytes of preamble, 4 bytes of SYNC and 2 bytes of CRC will take around ((24 + 4 + 61 + 2 ) * 8) / 1200 = 600 milliseconds. This implies that WOR will only work for applications in which there are as few transmissions as possible. With this data rate and long preamble, the CC1101 on any intended recipient needs to wake up only once every 133 milliseconds and still successfully receive every transmission (with 24 byte preamble).
I have started adding the WOR functionality to the WiSense stack. You can see some snapshots of the current consumption of a node whose CC1101 has been put into WOR mode. The node’s radio wakes up every 130 milliseconds to sniff the channel. Baud rate is 1200 bps.
Stay tuned for more updates on WOR. There is lot more effort involved before WOR can be deployed.