PLL Synthesizer Control Programs
PLL Synthesizer Control Programs
for MB1501, MB1502 and LMX1501 frequency synthesizer ICs by Jouni Verronen, OH8RO PIC prosessors have become very popular control devices. One particularly useful feature is the flash program memory, which is electrically erasable. So you can have reprogram-compile-load-test-erase cycles in very svift repetition. These two assembler sources are examples of code for loading division ratios serially to a synthesizer IC. They are for a 433 MHz RX with 70 MHz IF 12.8 MHz xtal oscillator and VCO above the signal frequency. The code should work in newer processors as 16F870 and 16F628 with minor changes. one channel version fsyn701.asm multichannel version fsyn70v.asm - one channel of eight can be selected by grounding the corresponding B-port pin by a rotary switch. The prosessor goes to sleep after loading the synthesizer, new loading with reset. Remarks in the code are in Finnish thus far. As to the hardware there is nothing fancy needed exept the standard circuit with RCclock (8k2 / 82p) and reset. A good starting point in PICs is the material by David Tait, which is found at various sites in the net. On division ratios
The reference frequency to the phase detector is fo / R. fo is the frequency of the reference xtal oscillator. VCO frequency fv = Ntot * fo / R = ( N * 128 + A ) * fo / R The main division ratio Ntot is loaded in N and A components. The values can be in the range: R : A : N : 8...16383. 0...127 16...2047
For R and N two 8 bits words must be used in 16F84 as they can be more than 255. These are related as:
R = 256 * Ry + Ra N = 256 * Ny + Na
and
then
Now VCO is above: fv = fs + fi = 434.750 MHz + 70 MHz = 504.750 MHz Ntot = 504750 / 25 = 20190 fv = Ntot * 25 kHz = (N * 128 + A) * 25 kHz Ntot / 128 = 20190 / 128 = 157.73 A = 20190 - 157 * 128 = 94 Ny = 0 Na = 157 => N = 157
These numbers are in desimal form in the assembler code and can be edited. Back to the FrontPage