For part 1 of the Digital VFO click here.
Digital VFO & RF Oscillator Module
"For The G6LBQ Irwell HF Transceiver"
Welcome to part 2 of my blog post series in which I present further details of my Digital VFO and RF oscillator module for the “Irwell HF Transceiver project”. This is a significant building block as it will be solely responsible for frequency generation and the control of other modules in the project.
Since I posted part 1 on the blog I have made good progress with the software changes that I outlined. I have added additional commands to JA2GQP’s source code for the I2C Multiplexer and I am now at the stage where I can communicate with two SI5351 devices to produce two chip independent clock signals. In order to achieve this, I have had to make changes to both the main code as well as the SI5351 library file.
For now, I only need to generate two clock signals for my transceiver, one for the VFO and the other for the BFO, this will permit the radio to run as a single conversion superhet in its current state. Once further modules are developed the receiver will be upgraded to a dual conversion superhet which will require a third clock signal for the conversion oscillator.
The additional software code required to support a third SI5351 is going to be a bit more difficult for me to implement, I hope to replicate JA2GQP’s BFO oscillator code parts for this as it includes a routine for calibrating the BFO frequency and saving it to memory and If I can do this it should pave the way for implementing an IF shift control.
For transparency and clarity, I have commented all of the changes and additions that I have made to JA2GQP’s source code which will be available to download from my Groups.io community group website once I have finished documenting the VFO & RF Oscillator on the blog!
Joining my group is free just click on the button below.
JA2GQP's source code can be obtained from his own download site by clicking on the following web link;
https://drive.google.com/drive/folders/1VpsnNi6JbRnYKEr_JuoT2aHemHWDkQxx
The code additions required to implement the TCA9548 are actually not that complicated though I did struggle to get it working at first. I made the mistake of adding my software changes entirely to the primary software file (AKA Sketch) then later realized some of the changes needed to be made to the additional SI5351 library file.
In the main sketch three lines of code that were added to the void setup block as illustrated below;
First the address of the TCA9548 IC must be defined in software to match the address configured by the chips A0, A1 & A2 pins.