Re: ubitx circuit, wiring, source code on github

Jerry Gaffke

Looking over the sketch, not quite sure what all is going on yet with si5351_set_calibration()
Here's what I would expect to see:

Place the BFO (clk0) somewhere near the middle of the crystal filter passband so we can hear a zero beat.
An uncalibrated BFO frequency of 11997000 hz should be close enough.

Place clk1 (the local oscillator into the second mixer) at 45mhz + 12mhz = 57mhz  (the 45mhz filter is fairly wide, should not be critical)

Have the user tune clk2 (the VFO into the first mixer) till the display shows the exact frequency for a signal of known frequency.
This signal could be from a calibrated signal generator or an AM station such as WWV, or a CW transmitter with a brick on the key.
The displayed frequency should be exactly   sig = clk2-(clk1-clk0),
where clk0, clk1, clk2 are the value provided in the second parameter to si5351bx_setfreq(clknum, fout)
Given a signal frequency, we can compute the VFO frequency as   clk2 = sig+(clk1-clk0).

For example, assume we are tuned to WWV at 15mhz, with clk0=11.997mhz, and clk1=57mhz
Then clk2 (the VFO) should have a value of    clk2 = sig+(clk1-clk0) = 15mhz+(57mhz-11.997mhz) = 60.003mhz
when the display reads 15000000 hz.

Ask the user to turn the tuning knob until zerobeat is achieved, the tuning knob controls the value
of the calibration factor si5351bx_vcoa
The granularity with which si5351bx_vcoa can be varied should be down in the low single digits.
This accuracy will be very useful in some digital modes.  Perhaps use Don Cantrell's shuttle tuning
scheme, with increments/decrements of 1 for si5351bx_vcoa near the middle of the tuning range.  
The display should somehow indicate how far si5351bx_vcoa is from its nominal value of 875mhz.

For each change in the value of si5351bx_vcoa, do the following three function calls:
    si5351bx_setfreq(0, FREQclk0)
    si5351bx_setfreq(1, FREQclk1)
    si5351bx_setfreq(2, FREQclk2)

Note that the values for those three frequencies do not change.
In our example, they remain fixed at 11.997mhz, 57mhz, and 63.003mhz respectively.
However, as the calibration value si5351bx_vcoa changes between calls,
the frequency emitted by the three clock outputs will change proportional to that calibration constant.

When the user hears zerobeat, they press a button to save that value of si5351bx_vcoa
At this point, the Si5351's 25mhz reference oscillator is exactly calibrated, and any frequency we
program into clk0, clk1, or clk2  should be correct to within a fraction of a hz.
Once the si5351 is calibrated using the above procedure, then the user is asked to position the BFO
for the upper and lower sideband settings.  One way would be to have an incoming SSB signal of
known quality, and then set the BFO for best audio clarity.  An alternative would be to scan clk2 and clk0
through the crystal filter passband such that a constant frequency audio beat note is heard, and have the
user identify where the amplitude falls off at each edge of the 12mhz crystal filter passband. 

Jerry, KE7ER

On Wed, Dec 6, 2017 at 09:02 pm, Ashhar Farhan wrote:
i have uploaded the sketch for the ubitx, wiring diagrams and the circuit on github. ou can see it on

Join to automatically receive all group messages.