After the previous post, I'm now satisfied with the current consumption of the measurement process. There however still remain a lot of things to optimize in the radio communication. See figure 1.
|
Figure 1. Current usage obtained in previous post. Smaller spikes are due to measurement while larger spikes are due to measurement and communication. Communication power consumption is targeted in this post. |
The communication consists of transmitting the data and waiting to receive an acknowledgement of the data. Currently the processor remains active during transmission and the completion of the transmission is polled. The processor should be put in low clock frequency idle and a transmission complete interrupt should be used to wake to processor up. After transmission, while waiting for the acknowledgement, the processor currently also polls the radio for received data until time out. Here also the processor should be put to low clock frequency idle and a packet received interrupt as well as a timer interrupt for the time out should be used to wake the processor up. The time out value should also be made as short as possible. This requires some optimization also on the sink node side, to minimize the time required to transmit an acknowledgement.
|
Figure 2. Current consumption after implementing optimizations. Communication current consumption has reduced by one third. Wow. |
After implementing the idle mode optimizations, the current profile is as shown in figure 2. The height of the communication current peak has reduced by one third. This is far more significant than I anticipated. The average current dropped by 7% percent, which gives a hypothetical battery life of 20.4 years (on CR2032 @ 250mAh). The time out optimization however still remains to be done.
While these optimization reduce the amount of current used when communicating, the most effective optimization might still be to just communicate less often by sending more measurements per communication. This has the flip side of having a lower success rate for transmission and thus requiring more retransmissions, which affect the real average current consumption in a non-predictable way. I might research this further later, but as the current consumption is already quite close to the lowest limit set by the power save mode current, the pay off may be very slight.
No comments:
Post a Comment