Wake up MCU from RSSI line in Parallax Linx RF transceiver
3dotter
Posts: 3
Hi,
I bought from www.antratek.nl the Parallax Linx 433 MHz RF Transceiver. For a very low
power application I wondered if in low power mode the RSSI signal of this
device can be used to wake up a microcontroller board with GPS (e.g. through
an interrupt).
Does someone have some sample code (e.g. Arduino, basic stamp) which shows
how to get this device in very low power mode and to have it awakened
through its RSSI signal triggered by a base station with another linx 433
MHz RF Transceiver? The Parallax website
<http://www.parallax.com/tabid/768/ProductID/582/Default.aspx> of this
product shows: "This module is equipped with an RSSI feature that can be
utilized to improve power efficiency by waking up circuitry only when an
external signal is detected."
I hope someone can help me here! Thanks in advance.
3dotter
I bought from www.antratek.nl the Parallax Linx 433 MHz RF Transceiver. For a very low
power application I wondered if in low power mode the RSSI signal of this
device can be used to wake up a microcontroller board with GPS (e.g. through
an interrupt).
Does someone have some sample code (e.g. Arduino, basic stamp) which shows
how to get this device in very low power mode and to have it awakened
through its RSSI signal triggered by a base station with another linx 433
MHz RF Transceiver? The Parallax website
<http://www.parallax.com/tabid/768/ProductID/582/Default.aspx> of this
product shows: "This module is equipped with an RSSI feature that can be
utilized to improve power efficiency by waking up circuitry only when an
external signal is detected."
I hope someone can help me here! Thanks in advance.
3dotter
Comments
In low power mode, the receiver is turned off. That's why the power consumption drops. As the documentation says, RSSI is an analog signal derived from the received RF signal. As such, it is not a very good received signal indicator. You'd need to do some analog processing on it including filtering and doing threshold detection, probably with some hysteresis. All of that is beyond what we can help you with here and I'm not aware of any examples of it to point you to.
What I would suggest is a scheme where your microcontroller would go to sleep for periods of time (maybe a second or two) with the transceiver powered down. When it wakes up, it powers up the transceiver and listens for a pulse on the transceiver data line. The pulse has to have a minimum length and, if you want to monitor RSSI, the received strength has to remain above some threshold for this period of time. If such a pulse comes in, it continues listening for a period of time (seconds) waiting for a specific pattern (like an ASCII character and its complement). If it sees that pattern, it responds with a specific transmission. Your base station, when it needs to contact the other device, would transmit a pulse maybe once or twice a second and, after a few seconds of that, would transmit the specific pattern mentioned and wait for a short time for a reply. If it gets the reply, the other device is awake and listening. If not, the base goes back to the once or twice a second pulses.