Tune is clever. It is go to Analogue input to measure the varicap
volts. The RDS tells you which station that is.

So initially the CPU "presses" reset button and then "scan" repeatedly
till all channels are stored (varicap volts and station ID via RDS /
RDBS).

Then to recall you set a slightly lower voltage on varicap either via
PWM, momentary kill the AFC ( the "Scan" press) and then remove PWM
voltage (make pin Hi Z input) when RDS signal is detected.

The Lo-Freq is not really needed. but you can feed MB504 or other
prescaler divide by 32 (8 pin IC) and then have low enough and
buffered clock that PIC could measure to calculate frequency. The RDS
info may have more than one frequency.

If possible the CPU could use alternate frequency table and the
optional prescaler. If the prescaler is installed, then at step one,
you store frequency too,

The RDS clock has to be sampled 2x 1180Hz at least and RDS data read
when clock is 1 -> 0 by sampling.

256us is a suitable sample rate, it's 3906.25Hz, almost x4 the 1180Hz
RDS datarate . This is 12 interrupts of my basic TMR0 used for all
system timing.

The bits go in a 26bit buffer.

RDS uses special "syndrome" codes and 10bit CRC. you have 8474us
(along with all other activity) rather than 256us to calculate RDS.

The decoded RDS goes in a buffer. Any GUI /Screen SW only updates
display from buffer (RX carousel ) so that GUI/Screen overhead is not
part of RDS calculation overhead.
The RDS receiver driven by ISR sets flag if carousel has changed.


-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to