My battle with ADF435x PIC boards

Ideas, technical topics, help and discussion for ATV enthusiasts
Forum rules
This forum is run by the BATC (British Amateur Television Club), it is service made freely available to all interested parties, please do not abuse this privilege.

Thank you
Post Reply
M0JUR
Posts: 5
Joined: Wed Jun 08, 2022 2:40 pm

My battle with ADF435x PIC boards

Post by M0JUR » Mon Dec 05, 2022 5:36 pm

Dear everyone,

I suspect the answer will turn out to be something trivial and it will make me feel rather silly, in the meantime however this thing is driving me mildly insane: try as I might I just can't get my two ADF4351 signal generators (the Chinese "green board" ones from eBay, one unmodified so far and one with a large electrolytic capacitor across the output of the voltage regulator to reduce the phase noise) to play nicely with those BATC ADF435x PIC boards, and it would be of GREAT help if someone could point me in the right direction.

The hardware: two identical units, with PIC12LF1552 microcontrollers and three-way DIP switches. The software: the "fat8sw" variant, compiled and flashed using MPLab X IDE and a Chinese PIC Kit 3 clone (I first used an original PIC Kit 2 + pk2cmd with the device-tree file updated to support the PIC12LF1552 but switched to the 3 to make sure the problems weren't due to incorrect flashing of the uCs). The set-up: ADF boards powered with +5V DC via the controller board, no external reference, scope connected to one of the outputs (tried both), a dummy load on the other.

The symptoms, identical for all four synthetiser/controller combinations:
* no phase lock, regardless of how long I wait
* steady output of about 50 MHz
* toggling the DIP switches changes the amplitude of the output, with no measureable effect on the frequency.

Any ideas, perchance?

--
Marek M0JUR

User avatar
G3GJA
Posts: 339
Joined: Sun Nov 20, 2011 3:44 pm

Re: My battle with ADF435x PIC boards

Post by G3GJA » Mon Dec 05, 2022 9:30 pm

Hi Marek

I have just recovered from some mild insanity too, caused by the same ADF4351 boards and the BATC controller using the single channel 12F629.

My application was to use a green PCB version as the LO in a DEMI 70cm transverter to 10m requiring a 404MHz output locked to the station 10MHz reference.

After changing the register parameters at least a dozen times over the weekend in an effort to remove either a low deviation FM tone of about 2kHz or multiple sprogs either side of the carrier depending on how the registers were set up, I tried a black ADF4351 board with the same 12F629 and it was perfect. It turned out that although the output of the 10MHz on-board oscillator was disconnected it was still powered and that was enough to inject some rubbish into the reference.

Could you send me the register settings and the frequencies you expect? I can put them into my board to see if they work. Also, what reference frequency are you using? Most of the green boards used 10MHz whilst the black boards used 25MHz.

73. Clive G3GJA

FRANCOIS F1CHF
Posts: 23
Joined: Sun Aug 21, 2011 8:07 am

answer My battle with ADF435x PIC boards

Post by FRANCOIS F1CHF » Tue Dec 06, 2022 8:19 am

may be this example could help you with ADF4351 ans Arduino
https://github.com/F1CJN/ARDUINO-ADF435 ... 090319.ino
F1CHF
F1CHF near Paris France

FRANCOIS F1CHF
Posts: 23
Joined: Sun Aug 21, 2011 8:07 am

re answer My battle with ADF435x PIC boards

Post by FRANCOIS F1CHF » Tue Dec 06, 2022 8:35 am

F1CHF near Paris France

M0JUR
Posts: 5
Joined: Wed Jun 08, 2022 2:40 pm

Re: My battle with ADF435x PIC boards

Post by M0JUR » Wed Dec 07, 2022 9:47 am

G3GJA wrote:
Mon Dec 05, 2022 9:30 pm
Could you send me the register settings and the frequencies you expect? I can put them into my board to see if they work. Also, what reference frequency are you using? Most of the green boards used 10MHz whilst the black boards used 25MHz.
So far I haven't customised the frequencies so they - and the corresponding register values - should be exactly as in fat8sw.c from https://wiki.batc.org.uk/File:Source.zip . Assuming I have decoded the bit banging correctly, the two end settings - i.e. one for all switches off and one for all switches on - are:
* 50.2 MHz: [0xa08038, 0x80080c9, 0x18004e42, 0x4b3, 0xe5002c, 0x580005]
* 2048 MHz: [0xcc8018, 0x8008029, 0x18004e42, 0x4b3, 0x95002c, 0x580005]

BTW. I thought that maybe it was the switch read-out which somehow didn't work so I swapped the RFout values in the code around, no dice though - neither that nor configuring all the switches to correspond to 2048 MHz has had any effect on the output frequency. And yes, I did remember to reflash the uCs :-)

As for the reference frequency, crystals on the ADF boards are indeed labelled "10.000 MHz" and that is the value used in the source code.
FRANCOIS F1CHF wrote: may be this example could help you with ADF4351 ans Arduino
Checking these boards with an Arduino will indeed be my next step (I am much more familiar with AVR microcontrollers than with PICs) if I cannot get the BATC PIC controllers to work, that said it might take a while because I haven't currently got any LCD boards handy so I'll have to customise the code - and work has been keeping me quite busy lately.

PE5PVB
Posts: 155
Joined: Sun Sep 02, 2012 6:51 pm

Re: My battle with ADF435x PIC boards

Post by PE5PVB » Wed Dec 07, 2022 11:23 am

Please also check your supply. ADF4351 is 3v3, so also the I2C pullup resistors should be at the 3V3 rail.

User avatar
G3GJA
Posts: 339
Joined: Sun Nov 20, 2011 3:44 pm

Re: My battle with ADF435x PIC boards

Post by G3GJA » Wed Dec 07, 2022 8:44 pm

Hi Marek

I've programmed a couple of 12F629 PICS with the 50.2MHz register settings and it does work.

Being Frac-N there are some sprogs at -200kHz (-54dBc), -400kHz (-62dBc) and +400kHz (-71dBc); everything else for 5MHz either side is more than -75dBc.

As a test, I reconfigured the registers to use integer mode and the sprogs were reduced to -75dBc or better.

I used 0x7D80000, 0x8008011, 0x2064F42, 0x4004B3, 0xE0703C & 0x580005.

I've found that pull-up resistors are not needed. So long as the PIC is running on the same supply voltage (3.3v) as the 4351 it's happy.

Could you try a 12F629 in the board? Proving that the 4351 can produce a single frequency would be a good next step.

Have you had problems with the Picket3 clone before? I'm using the Microchip version.

Clive

User avatar
G3GJA
Posts: 339
Joined: Sun Nov 20, 2011 3:44 pm

Re: My battle with ADF435x PIC boards

Post by G3GJA » Wed Dec 07, 2022 8:54 pm

Thought. Are you removing the power before changing the DIP switches?

I'm not sure whether it applies to the Fat Controller, but the thin one only programs the registers on start-up and then goes to sleep.

In fact, I've removed the PIC in my test set up whilst powered up and it continues to output correctly.

Clive

radiogareth
Posts: 1236
Joined: Wed Jan 06, 2016 9:46 am

Re: My battle with ADF435x PIC boards

Post by radiogareth » Thu Dec 08, 2022 8:57 am

I use this code by Robin Szemeti https://github.com/rszemeti/ADF4351_Loa ... DF4351.ino which is headless and the micro goes to sleep after issuing the instructions. Good enough to test your boards.
Gareth

M0JUR
Posts: 5
Joined: Wed Jun 08, 2022 2:40 pm

Re: My battle with ADF435x PIC boards

Post by M0JUR » Fri Jan 13, 2023 9:28 am

Having finally managed to find time to debug this further (using a GPIO-equipped single-board Linux computer, as it was easier than having to mess with voltage dividers for my Arduino), argh. Pro tip: if you see problems with phase lock on one of these boards, make sure you have actually soldered both sides of the jumper connecting the TCXO to the rest of the circuit! Can't help but wonder how I've managed to make the same mistake on both units, though.

Nothing to see here, just an idiot coming through. Move along.

Post Reply

Return to “General ATV Discussion”