¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Si5351A VFO/SigGen I2C Hardware question #vfo


 

Hi Bob, Michael

In the beginning (or at least closer to the beginning) was the Ultimate QRSS/WSPR kit? with a crystal oscillator whose frequency was pulled by an LED acting as varicap diode.?

Next came the Ultimate2 ?, which used the Chinese AD9850 DDS modules as the oscillator.

Next came the Ultimate3 , with the much-improved display, which can operate in 4-bit mode and therefore made available more I/O pins which were used to drive the relay-switched LPF kit, providing coverage of up to 6 bands in a sequence of transmissions.??

Things went fine with the Ultimate3 - theories abound as to why the Chinese AD9850 DDS modules were so cheap. My theory is a limited black-market stash of non-RoHS chips, which factories bought-up and made into the modules for sale on places like eBay etc. In any case, after QRP Labs customers had chewed their way through around 2,500 of these Chinese AD9850 DDS modules the price had doubled to more than $8. Just checking now, they are up over $14! So making Ultimate3 kits started to get?
a) difficult (it was hard to find suppliers for hundreds of AD9850 DDS modules at a time
b) uneconomic, as the price was going up and up...
This was around end of 2014 by the way.?

That was when I designed the Si5351A Synth module . It was designed in such a way that the module had the same 2 x 10-pin headers that the AD9850 DDS module had, and was to an extent, pin-compatible! Although the AD9850 is programmed by loading a tuning word in serially, and the Si5351A is very different, with I2C communication and a more complex configuration - if the AD9850 DDS module had been used with serial programming (as was the case in the Ultimate3 kit), then with only firmware changes, my new Si5351A Synth module could be a plug-in replacement in some cases. Yes there are other differences too, such that the AD9850 DDS has a sinewave output as well as a squarewave output, whereas the Si5351A has three separate output frequencies.?

(Actually I missed out of the story, that I actually spent months developing the OCXO version of the Si5351A kit first during Summer/Autumn 2014, see - BUT, at a certain point I realized that it is quite tricky to build, and would increase the cost. And anyway in most cases the extra stability isn't needed. So then I quickly developed the very simple basic Si5351A Synth kit so that for the vast majority of constructors there would be an easy solution which also did not increase the costs).?

So the original idea was that the Si5351A could be plugged into an Ultimate3 kit with no other changes than a firmware version capable of using it. I wrote the firmware such that it could auto-detect whether an AD9850 DDS was plugged in, or the new Si5351A Synth kit, and would communicate appropriately.?

This *almost* worked, but unfortunately the 3.3V squarewave output of the Si5351A was less than the 5V output of the AD9850 DDS module, and this meant that the Ultimate3 PA produced only about half the power output when an Si5351A module was used. Since that could upset many people, I made a few changes to the PCB, to accommodate the bias trimmer potentiometer and capacitative coupling between the Si5351A output and the BS170 gate. That allows a DC bias to be established at the BS170 gate which restores the power output. This new PCB was called the Ultimate3S and introduced in January 2015. In fact the power output of the Ultimate3S exceeds the Ultimate3, and particularly so at higher frequency bands. There are other advantages too, in that the Si5351A can reach 6m and up, whereas the AD9850 DDS was limited to not higher than 10m band. The Si5351A module also has better frequency stability.?

Because of the BACKWARD COMPATIBILITY requirement, that the Si5351A module should be able to slot into an Ultimate3 kit instead of the AD9850 DDS module, I had to re-use the same I/O pins of the microcontroller which were used for communication with the AD9850 DDS chip. Unfortunately the AVR's TWI (same as I2C) peripheral pins 27 and 28 were already in use. So to make it all happen, I had to develop a software-emulated I2S peripheral, so the AVR could talk I2C on the pins it had been using to load data into the AD9850 DDS chip.?

The firmware development continued for more than a year until April 2016, with the same firmware version supporting both the Ultimate3 and the Ultimate3S. It was important to me to keep the owners of the older Ultimate3 kit happy and not force them to upgrade to a new Ultimate3S kit. So that was successful for quite a while, but in the end it became impossible to fit in any more functionality and so I had to stop the support for the older AD9850 DDS.?

Back to the original questions - there is nothing wrong with the AVR's TWI (I2C) peripheral and I would have loved to make my life easier and use it, if it had not been for the backward compatibility target. The AVR's TWI is ONLY available on pins 27/28, it does not have the capability to route these to different pins. In the QCX kit I use the AVR's TWI directly (pins 27/28).?

The sharing of pins is something I do a lot, because the number of I/O pins on the ATmega328 is less than I needed. So I had to find ways to multi-purpose the available pins. Of course I could have used a larger processor but one of the strong principles of QRP Labs kits is to do less with more, in proper QRP spirit... to keep the costs as low as possible. The I2C bus ignores the SDA (data) signal unless there is a transition on the SCL (clock) signal. So we are free to use the SDA signal for other purposes, in the case of the Ultimate3S, for communication with the LCD. The LCD also ignores what happens on its data signals, until you toggle its "EN" signal. YES... I know, pin 27 (PC4) is free, according to the diagram, however I necessarily had to use, for the Si5351A, two of the three signals which were used to communicate with the AD9850 DDS.?

There was another interesting spin-off to the story, which was that I had manufactured 640 PCBs for the Ultimate3, just before realizing that the lower 3.3V squarewave from the Si5351A wouldn't drive the BS170 as hard, halving the power output. Then I modified the PCB layout and made another 640 PCBs now called "U3S", with the bias trimmer pot. In order to make myself less unhappy about wasting the 640 U3 PCBs, I created the Clock and VFO/SigGen kits. These work with the same basic kit as the Ultimate3/3S, of course they don't need the bias network so they were Ok on the old board. So that little problem motivated the spin-off Clock an VFO kits, which have subsequently been very popular in their own right.?

73 Hans G0UPL



On Tue, Jul 17, 2018 at 12:03 AM Bob Macklin <macklinbob@...> wrote:
What you guess about the SDA/SCL lines is correct.
?
I'm just wondering why so many people avoid using the I2C(TWI) interface as designed.
?
I'm trying to learn how the Atmel I2C/TWI interface actually works.
?
But right now I am trying to repair my ENGINEERING computer. Several hard drives have died (from age I think) and I need to buy more modern drives.
?
Bob Macklin
K5MYJ
Seattle, Wa.
"Real Radios Glow In The Dark"
----- Original Message -----
Sent: Monday, July 16, 2018 1:15 PM
Subject: Re: [QRPLabs] Si5351A VFO/SigGen I2C Hardware question #vfo

It looks like Hans needed PC5 (normally used for SCL) for the IPPS interface to the GPS module.
Maybe he can comment on why the hardware wiring ended up as it did. I am sure he had a very good reason for this.?

Also i noticed the PD2 (physical PIN4) on the ATmega328 is connected to both D6 on the LCD (which is not using I2C)
as well as SDA on the Si5351a. This is also confusing.?

I am guessing that maybe the?Si5351a ignores anything on the SDA line without?
the clock (SCL) signal being present so that allows PD2 to serve a dual purpose ?

Cheers

Michael VE3WMB?

Join [email protected] to automatically receive all group messages.