SV1AFN GPSDO

  • Hi,


    Years ago I've got the SV1AFN GPSDO and arrived with 2 pre programmed frequencies I've need at the time. Most of the time was sitting on a shelf since got another one from Leo Bodnar and was using that one. Now would need to change the output frequencies of the sv1afn unit to use it as a signal source for some testing. On his web site the instructions how to do it are not very clear. Have send him 2 e-mails but never got a reply.


    Does anybody have this unit and knows how to program it?


    73 Andrej - s57rw

  • GM Andrej,

    i can only guess what you need to do. SV1AFN talks about ClockBuilderPro software. I used this software in the past for my own project and it simply calculates the parameters for the device (a SI5351 board in my case) that derives the wanted frequencies from its oscillator. In other words: Download the software, tell it what device you have and enter the wanted frequencies. It will calculate 2 sets of data . I don't know if it is a arduino or something else, but SV1AFN should have supplied a description how to program whatever device that is AND - most important - the code to be flashed. It is now up to you to find the snippet of code in the file. It should be very obvious if you enter the preprogrammed frequencies your gpsdo was delivered with into ClockBuilderPro. Just compare the calculated results with the program code. It should look something like this:

    Code
    #include <Adafruit_SI5351.h>
    Adafruit_SI5351 clockgen = Adafruit_SI5351();
    void setup(void) 
    {
      clockgen.setupPLLInt(SI5351_PLL_A, 70);
      clockgen.setupMultisynthInt(0, SI5351_PLL_A, 28);
      clockgen.setupPLL(SI5351_PLL_B, 69, 6001,50000);
      clockgen.setupMultisynth(1, SI5351_PLL_B, 24,0,1);
      clockgen.enableOutputs(true);
    }

    Good luck,

    Martin


    Edit: According to the shematics, it's an Si5342 .

  • Martin,


    Tnx for the above. When got the unit it arrived without any instructions, software or whatever. The only one are on his web site. I got so far that I've installed the ClockBuilderPro and I'm able for the device used get the parameters based on input frequencies and other parameters you specifiy. So far so well. Than how to put that to the unit is the main question.


    SV1AFN is mentioning to use a python tool to program the parameters to the eeprom in the unit via USB port. Eeprom is connected trough a STM32 MCU which controlls the unit. This part I'm missing. On his web site is a link to a google drive where you probably could download this. But the link isn't working any more.


    For this reason my question was if somebody has this GPSDO and knows how to do it :)


    73 Andrej - s57rw


    P.S. Sorry for the smaily above on your post. Wanted to put it bellow in my text and pressed the wrong thing...

  • All good, no problem.

    If the STM is similar to an Arduino, you won't be able to read the code out off the device, you can only write it to it. But i think you knew this and i'm not telling you anything new. So, again, good luck.


    P.S. SV1AFN seems to still be in business, there is an advertise about a bias T capable of handling 500W in a recent german ham radio magazine, but now that i know the communication is bad, i will most likely NOT buy anything from them, thanks. But this won't help YOU either.



    73, Martin

  • Martin,


    Before posting here have e-mailed the guy and searched the internet. Found him also on e-bay and by recent reviews he should be still active. And also found some posts around the internet if you need any support as you mentioned good luck...


    Hope somebody here got his unit in the past and have downloaded the tool for programing while the google drive link was still available. Would be an easy solution. Next step send him another e-mail and hope to get lucky and get a replay.


    Worst case scenario the eeprom is I2C so can try to read data from it by connecting SDA and SCL lines to an exetnal programmer. Knowing the actual parameters, reverse engineer the binary file where the prescaler divider for the SI5342 is and later program new ones. Acceptable solution if required not to do very frequently. Otherwise write new firmware for the STM32. Libraries for the SI5342 PLL are available so should not be to difficult and implement my own serial protocol to program it and store to eeprom for keeping the data in after power resets. Can be done but will wait if can get an easier solution prior messing and lose a weekend to do that :P


    73 Andrej - s57rw

  • Hi!

    I learned from your recent post that you never needed my replies, because it was nothing new at all to you.

    I keep my fingers crossed that you find someone who has everything you need.


    But it's always good to keep a topic "hot". It will stay on top of the topics list and attract more readers.


    Martin

  • If all else fails and reverse engineering is too time consumig, here is a little trick: I once bought a pcb with a Si5351 on it on ebay.

    There is a not-so-accurate 25MHz xtal on board. I removed this xtal and fed in 10MHz from a gps controlled OCXO . I cheated the clockbuilder software by telling it i had a board with external frequency input and had it calculate my wanted frequencies. Then i programmed the board like in the example above. (PLL A 10MHz multiplied by 70 wrong! 60 (correct!) , divided by 24 =25MHz) . Works. Might be the cheapest and fastest option.


    73, Martin

  • Hi Martin,


    Tnx that can be an easy solution to generate other frequencies from a 10MHz reference. Have several of this Si5351 boards and used for some projects already. Most of the times I don't even need GPSDO accuracy/stability so using them with the 25MHz quartz installed on the board.


    For update on above topic, seems I'm a bit lucky. SV1AFN replied to my e-mails today. He asked what frequencies I need so he can send me a sample file. Have replied him to send me also the python script for uploading via USB port to the unit since no longer available on his web site. So hopefully I'm on a good way :)


    73 Andrej - s57rw

  • (10 x 70) / 24 = 29,16666666666


    73

    Artur

    That's right. It should read : (PLL A 10MHz multiplied by 60 , divided by 24 =25MHz).

    Or:

    clockgen.setupPLLInt(SI5351_PLL_A, 70);
    clockgen.setupMultisynthInt(0, SI5351_PLL_A, 28);


    10*70 / 28 = 25MHz, like in the code in post #2 . The result is the same.

    I mixed 2 possible sets of parameters, sorry.

    My bad, thanks for bringing this to my attention.

    Martin

  • Hi,


    Last update and to close this topic, have received from SV1AFN the program for updating parameters to the unit with examples how to generate register files with Clock builder PRO. So all fine now.


    Seems he took a break around new year so wasn't replaying 8o


    73 Andrej - s57rw