Hello,
I have the following idea, but I am not really sure, if it can work as I imagine:
we have one transmitter and several receivers. The goal would be to have syncronized timers/counters running on all receivers.
Reading the FREQEST register, I find out how much the carrier frequencys differ from the transmitter.
So I can calculate: difference [ppm] = (FREQEST*1,59kHz) / 868MHz
If the above formula is correct, I can adjust my running timers by skipping each x th tick...but is it really correct or is it unpossible to get back to the crystal deviation looking at the FREQEST value?
Thank you,
Sam
Sam,
I'm not sure what you want to do here. CC1101 will allow you to find the difference in frequency between a transmitter and a receiver, but if you're looking for syncronized timers/counters, I do not think this matters. As long as the RF frequency difference is not too big (depending on RX bandwidth and data rate) you will be able to recieve the signal and you could then start a timer (in the MCU) from a broadcast signal from the transmitter to the receivers
If you're thinking on doing "time of flight" measurments for locationing, then forget it - the chip (nor any similar chips) is not designed for this and the timing gets lost in on-chip signal processing.
EngiNerd
engiNerd CC1101 will allow you to find the difference in frequency between a transmitter and a receiver,
Thats the point, can I assume, that this deviation is proportional to the deviation of the 26MHz crystal frequencies?
If so, I will be able to run timer/counters on all receivers at the same _speed_ by using the CLK output of the CC1101. And thats the only thing I need.
I do not need to be closer that 10ms, but after lets say 10 hours, the counter values of the timers in the receivers should be as close as possible. (after no more receiving rf packets for 10 hours)
I hope its clear now what I want to do.
At the moment I am already close using the CLK output of the CC1101, but but the counters still run apart by 250ms or more after 10 hours (because f the crystals 10ppm difference to each other).
Sam, it is correct that the RF frequency error (the relative one) that you can measure is only caused by frequency drift/error in the xtal. You will get the error in kHz in terms of RF frequency. Now, the RF frequency is easy to correct by modifying the frequency word, but you cannot modify the crystal frequency unless you have variable capacitors that you can adjust. Maybe you can make the corrections in you digital counters?
10hours = 10*60*60*1000= 36 million ms, so if you drift 1ppm in average for 10h, you will be off by 36ms.
I do not think that you can assume that the xtals will drift similar over temperature, so you would have to send some packets now and then to correct for the temperature drift (assuming the temperature is drifting).
I am not really sure if 10ms is possible to achieve, but it is an interesting challenge. If this is not a cost/power critical solution, I believe a GPS module would give you accurate timing