Our system uses fully supported VCO-calibration to be able to quickly switch between frequencies. A the different frequencies we read the AD value of a receiver and use this to find the frequency of the peak AD value. This works as expected most of the time but suddenly fails for a short period, 10-15ms, then works again for several seconds and then fails again. It looks like the system cannot lock the frequency when it fails.
First a screen dump of the behavior. This shows 10 peak detections where detection 2-7 fails.
4 correct frequency lock looks like this. To set the frequency we write to registers x13, x2B, x10, x24 (Registers R19, R43, R16, R36) in the order written.
When the frequency lock fails it looks like it fails directly after CAPCTRL register has been updated.
At startup the system calibrates a table to set the 4 registers in 0.1Mhz intervals from 1000 - 1060. I'll attach the calibration and init sequence in another post.
What are we doing wrong here? Why does the frequency lock fail?