[OpenTRV-dev] Sleeping........
Mike Stirling
EMAIL ADDRESS HIDDEN
Tue May 28 14:27:44 BST 2013
There are a couple of solutions to this. One is to use a timeslot-based system on a very long duty cycle (like the FHT8V). In this case you need an accurate clock during sleep, and you may have to wait a very long time to get your message sent.
The other common method is to use wake-on-radio hardware support. This relies on the radio having a wakeup timer and the necessary support logic, which the CC11xx and the RFM22/23 (SiLabs EzRadioPro) all do. The wakeup interval would be typically just 1 or 2 seconds, with power kept to a minimum by staging the wakeup process: First carrier is sensed (RSSI above threshold), and if not present then it goes straight back to sleep. If carrier is sensed then the presence of preamble is detected, otherwise back to sleep. Finally the radio looks for a valid sync word and, if detected, wakes the microcontroller via an interrupt pin. Most WoR-capable radios can also handle broadcast/unicast address filtering without waking the micro.
The base station in this case must use a very long preamble; longer than the wakeup interval, to ensure that the target device(s) will always hear it and be awake ready for sync. This means comparatively higher power consumption at the base station (where you probably don't care), but latency reduced to a second or so for unsolicited transmissions back to the nodes.
Mike
----------------original message-----------------
From: "Stuart Poulton" EMAIL ADDRESS HIDDEN
To: "Closed list for developer discussions" EMAIL ADDRESS HIDDEN
Date: Tue, 28 May 2013 14:05:35 +0100
-------------------------------------------------
> Hi,
>
> That's my thinking, you can't wake on interrupt as ideally you need to
> wake the radio, but what wakes the radio........
>
> It does prompt some interesting discussions about the use of RTC's but
> more of this to follow once I've got my head round it.
>
> Stuart
>
> On 28/05/13 14:02, Bo Herrmannsen wrote:
>> hmm...
>>
>> i'm not sure if it can be done like i think, but have it wake up every
>> x number of sec and listen for updates?
>>
>> of course this means that you will have to accept the wait time if it
>> has just listened for the update... but say you have it listen every
>> 30 sec that would also be the max wait time...
>>
>> maybe a kind of interrupt that can wake it up?
>>
>> /bo
>>
>>
>> 2013/5/28 Stuart Poulton EMAIL ADDRESS HIDDEN
>> mailto:EMAIL ADDRESS HIDDEN
>>
>> So progress over the weekend, now able to do remote firmware
>> updates to a 328p using a 9k6 bootloader running off the 1MHz clock.
>>
>> This raises an interesting question, if the cpu is mainly asleep,
>> then how do you update the firmware........ obviously it's a
>> software problem.
>>
>> Be interested in peoples thoughts.
>>
>> Stuart
>>
>>
>> _______________________________________________
>> OpenTRV-dev mailing list
>> EMAIL ADDRESS HIDDEN
>> mailto:EMAIL ADDRESS HIDDEN
>> http://lists.opentrv.org.uk/listinfo/opentrv-dev
>>
>>
>>
>>
>> _______________________________________________
>> OpenTRV-dev mailing list
>> EMAIL ADDRESS HIDDEN
>> http://lists.opentrv.org.uk/listinfo/opentrv-dev
>
> _______________________________________________
> OpenTRV-dev mailing list
> EMAIL ADDRESS HIDDEN
> http://lists.opentrv.org.uk/listinfo/opentrv-dev
>
--
More information about the OpenTRV-dev
mailing list