Pseudo Random Sequnce (PRS) and sleep/hibernate/deep sleep

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I'm trying to establish the lowest power level (ie, hibernate/sleep/deep sleep) to which I can take the 4200 and still recover my PRS state information at wakeup..   the datasheet talks about PRS_sleep/wakeup, but its not clear about are any restrictions, caveats, etc. concerning level of sleep and the effects of recovery after a reset coming back up from some of the lower power sleep states (ie, deep sleep)...

   

I'd like to put the device into the lowest power mode possible and still recover the PRS state.. as I don't want the PRS to reinit each time.. the repetition would be very obvious to the user and bad for the product :)..

   

The device is likely to stay idle for very long periods -- weeks/months, between activity periods where it will be used for a few hours and then put away again..

0 Likes
3 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The PRS component has a Sleep() and a Wakeup() API. In DeepSleep mode the fast clocks are disabled, PRS module not working any more. Those APIs guarantee a clean restart while SRam is maintained. Hibernate and Stop mode consume less energy, but require you to save PRS state into non-volatile memory. Easiest and cheapest would be to write some data into flash memory.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

so, what do the API sleep() and wakeup() calls provide?  I thought maybe they would store the PRS state, possibly in flash, so that it could be recovered with the Wakeup() call after coming back from the sleep..  the datasheet doesn't suggest a problem if hibernate/stop are used..

   

If its up to me to save the state, what values would you suggest I need to save, and where do I find them?

   

I don't want the PRS to continue to run after/during the sleep, just to retain its state after waking up and running once again..

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The Sleep() and Wakeup() APIs store data in SRam (not in flash) which is maintained in deepsleep. I would suggest to use these, they are independent of Start() and Stop(). There are data that might get lost when power to the component ceases.

   

 

   

Bob

0 Likes