Yesterday’s post described a setup to see the RSSI and DQD status bit reported by the RF12 driver in real time.
One of the interesting results is that I can see the RSSI light come on when pressing a button on the FS20 remote transmitter – even though that’s an OOK signal, not FSK!
When adjusted to run at 433 MHz, the RSSI indicator also lights up with the KAKU remote.
In both cases, the DQD signal appears useless – it just shimmers all the time.
The RSSI signal is encouraging, though. It turns out that getting it to blink reliably did depend on setting the threshold right. At -103 and -97 dBm, it was on all the time – only the -91 dBm value produced a usable signal. I hope that’s the case with all units.
Well, I just had to try. My idea was to continuously poll the RSSI status bit and then “mirror” its value to a DIO output pin. Then use a second JeeNode to treat this as a normal OOK pulse train.
Here’s the “rssiMirror” sketch I used:
Does it work? Unfortunately … no :(
Time to hook up the Logic Analyzer to see what’s going on. I connected the above digital output to the first channel, and a real OOK receiver on the second channel:
Guess what… the RSSI signal is indeed detecting the presence of a transmitted signal, but it’s way too slow!
Here’s the same sample, zoomed in on the real OOK pulse train:
As you can see, there’s a pretty good sequence of transitions, 400 µs and 600 µs apart. Oh well, so much for the RSSI status bit – it’s nice to detect the presence of a carrier, but not more than that.
Next thing I tried was the DQD signal. After tweaking the DQD threshold to 3, this is what came out:
Yeah, sure, it seems to track the signal, but not reliably, and with a huge number of extra transitions. Note how the top timings are all multiples of 25 µs apart – that’s because it takes 25 µs to read out the DQD status bit. Coarse, but fine enough in principle to track 400 / 600 µs pulses from an FS20 remote.
So, again: nice, but no dice. Neither the RSSI nor the DQD status bits are fast and accurate enough to decode a slow OOK pulse train with.
And sure enough, here’s a scope capture of an FS20 transmission:
Yeah, it’s there alright. But the signal is a bit weak. I’d rather not dedicate the analog comparator or ADC to it, and besides – that still leaves the need to compare against the average level – there’s a nasty 0.4V bias in that signal.
Here’s the same signal, AC coupled:
And here’s a zoomed-in area, showing what looks like pretty decent 400 µs and 600 µs pulses:
So yes, a small self-adjusting comparator can proabably turn this into a nice digital pulse train – but it’ll require some extra components, and I’m a bit out of my league on designing such a circuit.
Oh well – perhaps this information will help someone else further along. It’s been a good learning experience for me, even if the result is not quite what I had hoped…
Tomorrow, I’ll describe another – successful! – outcome from this RSSI / DQD exploration.