RF sleep mode and waking up

Discussion in 'Embedded Systems and Microcontrollers' started by Chalma, Jan 21, 2014.

  1. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    Greetings all,

    So my boss has tasked me with with making an RF tranciever that will 'do something' when a user presses something on a keyfob. This application utilizes some nonrechargeable batteries (about 4.4Wh/1200mAh capability), so the lifetime of this unit isn't very long. What I did utilizing SI labs http://www.silabs.com/products/wireless/EZRadio/Pages/Si4010.aspx was program the part to get the commands from the user (pressing one of 2 buttons) if no activity is recieved the part goes into Sleep mode. I have the unit sleeping for maybe 10 seconds, then wake back up again. This unit is taking very low power, but unfortunately the application it powers takes a bit of draw (about 300mA when running and my sleep takes about 1.5mA when enacted). What I tried explaining to my boss is that I have to poll the GPIO inputs to test see if a user is pressing a button or not. This is where it gets tricky (plus my lack of experience) he says I should be able to wake up the unit just by the user pressing a button on the keyfob but my understanding is I have to power the RF up to see if there is a signal, thus why I have this sleep mode of 10seconds and then waking up for about 1 second to wait for a signal (i.e. if the user wants to press the button during this 10second frame it won't work, he doesn't like that either). Am I the one understanding this situation wrong? I thought of some alternatives such as having a wireless harvester hooked on the same band to wake up the part (will this even work?). My main question I guess would be am I misunderstanding how RF parts operate or am I not utilizing these parts in the right way. Thanks


    Chalma
     
  2. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    my other ideas to save more energy is maybe lower the reciving and transmit frequency, and disable unnecessary functions on the unit, such as the DC to DC converter, the temperature sensor, ADC, comparators etc...
     
  3. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    What you want is an "Interrupt on change" input that will wake the processor up from sleep when the button is pushed.
     
  4. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    I understand this working if it was a hard coded button but this is a wireless keyfob. How would it sense a change if the modem isn't on to detect/decode the signal?
     
  5. spinnaker

    AAC Fanatic!

    Oct 29, 2009
    4,866
    988
    Please break your long lost up into paragraphs. That long message above is almost impossible to read. Plus no need for all the details of who said what when. Just post the relevant information and your question

    I might be missing something but depending on the mcu, I would think you should be able to wake it on when the button is pressed. There should be no need to wake up the mcu every 10 seconds unless it needs to check something that does not trigger an external interrupt.

    You can also save battery power by lowering the speed of the mcu itself.
     
    Chalma and atferrari like this.
  6. spinnaker

    AAC Fanatic!

    Oct 29, 2009
    4,866
    988

    Is it the keyfob or receiver that you need to wake? If the receiver then you might be able to do it on the pin that processes the I/O.
     
  7. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    The keyfob I am not changing, I kept their programming the same on it. This is for the recieving unit.


    I endless looped it this way psuedocode:

    {Listen mode for 1 second
    //do stuff deponding on what is pressed
    //user pressed remote key
    RF turns off;
    MCU turns off;
    SLEEP for 10 seconds; //utilized with a low power oscillator
    MCU turns back on;
    RF turns back on;
    }
     
  8. spinnaker

    AAC Fanatic!

    Oct 29, 2009
    4,866
    988
    What happens if someone decides to press the button while the reciever is sleeping?
     
  9. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    it does nothing, it has to be in the 'listen' mode for it to be able to accept commands. This is where my confusion is stemming from.
     
  10. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,386
    1,605
    MY confusion stems from the receiver. The "Si4010 Remote Control on a Chip​" you link to is, well, a "Remote Control on a Chip​" and doesn't seem to be a receiver.

    What RF receiver do you use? How much power does it take?

    The micro would best be a separate component, even two components so one can do the periodic "wake receiver and see" function with the least power while the other can run the mysterious 'do something' function.
     
  11. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    it seems I copied and pasted the wrong link. I based my project off of the development kit I bought (http://www.silabs.com/products/wireless/ezradio/pages/4455-pdk.aspx) same deal but mine didn't come with the LCD screen (http://www.silabs.com/Support Documents/TechnicalDocs/Si4455EZRadio-2WayLink-DEMO.pdf) is the pdf for it.

    Now for the fun part. This unit came with two parts the wireless key fob (remote control unlike car alarm) and the unit. I don't know if it's kosher, but in order to see if the project would work I just 'hijacked' the board. I removed two LED's and used two pins for my project and also removed the rest to save mA. I disabled their buzzers and teh EBID chip.

    Their sorce code with the dev kit didn't have any sleep or shutdown capability, so I made my own headers and code and just injected it in. During Operation I get just about what I would expect with all the current draws.

    The problem arises when I tell my boss this unit in with my sleep pattern (about 20mA draw during the listen phase, and 1.5mA during the total sleep phase) I calculate that with the battery specs mentioned earlier this unit would maybe last a month (not being operated, just in and out of sleep). I was told it should be years (which I don't see feasable).

    From past posts I'm getting the impression that you can have the wireless FOB awaken the unit instantly but I don't see how that is possible. If the RF is off, how would it 'see' or even decode the signal. I could understand an interrupt waking the unit on but how would it do that with no power?
     
  12. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
    I went back to my calculations and I am so emberassed, I misplaced a few decimal spots so my unit will last A LOT longer than what I stated. I'm still wondering about the wakeup interrupt on RF without randomly queuing the GPIO pins, but I think I'm good to go for now. Thanks for everyones help.
     
  13. ErnieM

    AAC Fanatic!

    Apr 24, 2011
    7,386
    1,605
    <sarcasm>Thank you for the clear and direct link to the RF receiver, that clear every question I could have. </sarcasm>

    You should keep wondering about that exact aspect.
     
  14. Chalma

    Thread Starter Member

    May 19, 2013
    54
    2
     
Loading...