Re: Si570 LVDS Output Impedance

Clifford Heath

Check that you get the right impedance ratio - remember that it is the
square of the turns ratio.

I haven't checked the data sheet to see if the Si570 output is DC (ground)
referenced. If not, I would decouple the CT to ground with a capacitor
anyway. But check the data sheet.

Clifford Heath

On Mon, 22 Apr 2019, 02:29 Alfredo Mendiola Loyola via Groups.Io
<mendiola_loyola=yahoo.com@groups.io> wrote:

Hello,

If I connect a Center Tap of an 1:4 Transformer (Secondary) to the LVDS
outputs I will get a 50 Ohm output impedance on the Primary?

Schematic:

I understand that the output impedance of each output of the si570 is 100
Ohm (LVDS), When I connect each output of the si570 to the transformer
Secondary I will get 200 ohm and 50 ohm on the Primary (200 4 = 50 ohm).

Do I have to connect the center tap of the secondary to ground?

Transformer Datasheet:
https://www.coilcraft.com/pdfs/pwb.pdf
Model: PWB-4-BL

73
Alfredo Mendiola
OA4AJP

Si570 LVDS Output Impedance

Alfredo Mendiola Loyola

Hello,

If I connect a Center Tap of an 1:4 Transformer (Secondary) to the LVDS outputs I will get a 50 Ohm output impedance on the Primary?

Schematic:

I understand that the output impedance of each output of the si570 is 100 Ohm (LVDS), When I connect each output of the si570 to the transformer Secondary I will get 200 ohm and 50 ohm on the Primary (200 4 = 50 ohm).

Do I have to connect the center tap of the secondary to ground?

Transformer Datasheet:
https://www.coilcraft.com/pdfs/pwb.pdf
Model: PWB-4-BL

73
Alfredo Mendiola
OA4AJP

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

On Fri, Apr 19, 2019 at 04:27 AM, Ambro IW2FVO wrote:

Ambrogio
Ambrogio,

I found the information about the DCO frequency range in the si570 Datasheet.
I understand how it works.

I created a repository with the Version 5 of the software at: https://github.com/oa4ajp/Si570_v5

Alfredo
OA4AJP

Re: Si570 Set Frequency

Ambro IW2FVO

Alfredo,
I do remember you that the sketch does not use any pre_computed value to generate any output frequency.
Just plug your Arduino to the Arduino IDE Monitor and command the frequency you want to have !
Of course your SI570 "type number" has to be able to generate it: >> look at the max frequency limit of your 570 .
You could have it by looking at the full part number printed on the chip.
73, iw2fvo
Ambrogio
North Italy

Re: Si570 Set Frequency

Ambro IW2FVO

for a better explanation have a look at this part of the code:

//--- First checks for N1=1 and HS_DIV between 4 & 11

i=1;

for (j = 0; j <= 5; j++)

{ f_dco = (uint64_t)Fout * (uint64_t)HS_Div_Vect[j];

if ( (f_dco >= MIN_FRQ_DCO) && (f_dco <= MAX_FRQ_DCO) )

{ found = TRUE;

N1 = 1;

HS_Div = HS_Div_Vect[j];

HS_Div_Reg = HS_Div-4; //the value to write in Si570reg must be subtracted by 4

break;

}

}
I do attach a spread sheet (if could be useful) .
73, iw2fvo, Ambrogio
North Italy

Re: Si570 Set Frequency

Ambro IW2FVO

I do suggest to read this document:
https://www.silabs.com/documents/public/data-sheets/si570.pdf
at page 14 figure 3.
I confirm that there is no errors:> the DRO must stay in the 4.8 GHZ to 5.6 Ghz frequency range.
As i told before the sketch is loaded on Arduino Nano and it is working as a VFO for my Two Meters FM receiver and for the APT ( around 137 MHz ) receiver.
The tuning information is provided to the Arduino Nano through a serial link : >> you could use the Arduino IDE Monitor to set the desired frequency.
I do really suggest to load the sketch as is, >> run it >> and then introduce the modification you need.
73, iw2fvo
ciao.

Re: Si570 Set Frequency

Jim Smith

Hi Bob/Alfredo,

Further down the KO7M link you provided he states:

"The internal DCO is constrained to 4.85 to 5.67 GHz determined by the internal crystal frequency multiplied by a reference frequency."

So not a typo, and not to be ignored.

73

Jim - G3ZQC

Re: Si570 Set Frequency

Bob V

Hi Alfredo -

I think it unlikely that the device could get anywhere near to 4850MHz
(=4.85 GHz). I suspect that is a typo.

I do note from https://ko7m.blogspot.com/2014/04/si570-programming.html
<https://ko7m.blogspot.com/2014/04/si570-programming.html>that the start up
frequency of the device is 56.320MHz, roughly a factor of ten off of this
number.

I suspect these numbers are critical but should really be 45500KHz to
56700KHz. Those would realistically reflect the frequency range of the
DCO.

73
Bob
WA2I

Re: Si570 Set Frequency

Ambro IW2FVO

Alfredo,
the DCO must stay in the frequency range provided in the si570 specification....
NO, you should not remove the limits from the code.
regards,
Ambrogio

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

Ambrogio,

What is the purpose of these variables:

#define MIN_FRQ_DCO 4850000000ULL // = 4850MHz
#define MAX_FRQ_DCO 5670000000ULL // = 5670MHz

They are used in the method CalcRFREQ()

Can I remove those variables from the logic of the code?

Thank you.

73
Alfredo Mendiola
OA4AJP

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

I got it.
Alfredo Mendiola Loyola

On Wednesday, April 17, 2019, 2:31:00 PM GMT-5, Ambro_IW2FVO via Groups.Io <iw2fvo=yahoo.com@groups.io> wrote:

IF_offset is simply the value of the Intermediate frequency ( IF ) of your receiver .
If you want to receive 432.000 MHz and your receiver IF is 21.4 MHz then your SI570 shall output 432.000 MHz - 21.4 MHz for low side injection
or it shall output 432.000 MHz+ 21.4 MHz if you use the top side injection.
If you set the IFO_FRQ=0 in the code then the SI570 will output the frequency value received through the serial link ( from the IDE monitor ) without any offset.
73, iw2fvo

Re: Si570 Set Frequency

Ambro_IW2FVO

IF_offset is simply the value of the Intermediate frequency ( IF ) of your receiver .
If you want to receive 432.000 MHz and your receiver IF is 21.4 MHz then your SI570 shall output 432.000 MHz - 21.4 MHz for low side injection
or it shall output 432.000 MHz+ 21.4 MHz if you use the top side injection.
If you set the IFO_FRQ=0 in the code then the SI570 will output the frequency value received through the serial link ( from the IDE monitor ) without any offset.
73, iw2fvo

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

Ambrogio,

Do I have to define this value:

#define IFO_FRQ 10700000ULL // = 10.7 MHz ?

If so, How Can I calculate the IFO_FRQ ?

Regards
Alfredo Mendiola
OA4AJP

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

QSL
Thank you.
Alfredo Mendiola Loyola

On Wednesday, April 17, 2019, 11:19:07 AM GMT-5, Ambro_IW2FVO via Groups.Io <iw2fvo=yahoo.com@groups.io> wrote:

yes of course: mention Nick ( WA5BDU ), P.Talacchini and IW2FVO .
regards,
73 iw2fvo  Ambrogio

Re: Si570 Set Frequency

Ambro_IW2FVO

yes of course: mention Nick ( WA5BDU ), P.Talacchini and IW2FVO .
regards,
73 iw2fvo Ambrogio

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

On Wed, Apr 17, 2019 at 07:38 AM, Ambro_IW2FVO wrote:

Ambrogio
Thank you very much Ambrogio.
I will test the code.

Can I share it in a GitHub repository?

Regards
Alfredo Mendiola
OA4AJP

Re: Si570 Set Frequency

Ambro_IW2FVO

Hi Alfredo, this is iw2fvo .
Years ago I got in touch with Nick WA5BDU to have some indication about the si570 control and thank to his suggestion I developed a sketch capable of controlling the SI570 in its whole frequency band ( up to 1.4 GHZ )
I did use this sketch on Arduino Nano as a VFO for my two meters FM receiver and for the APT receiver.
The sketch does not requires to enter pre_computed values : it performs the calculation for each one of the required frequencies.
It receives the operating frequency using Nano UART input : You can use the Arduino IDE Monitor ( e.g. : 150.123.500 to set 153.123500 MHz ) to control the frequency output.
you can define the IF freq offset : see line 72 of the code ( it is set to 10.7 MHz : change it as you need).
you can disable some messages sent to the monitor if not needed. There is a define for that monitor.
I hope this sketch will help since I was able to generate frequencies of about 300 MHz due to the limited frequency range of my si570 chip.
I will try to attach the sketch here !
Thanks Nick !
I am sorry for my bad English !!!
73, IW2FVO, Ambrogio

Re: PHSNA

Tom LeMense

I’m interested! Hope I wasn’t too slow again!

Best Regards,
Tom LeMense

On Apr 15, 2019, at 11:09 AM, N6WKZ <n6wkz@...> wrote:

Anyone interested in a PHSNA, just built, \$70.00 + \$12.00 shipping. Arduino, PC Board and AD9850 Frequency Generator Board. See attached photo.

73

Phil N6WKZ

---
This email has been checked for viruses by AVG.
https://www.avg.com

<PHSND.jpg>

PHSNA

N6WKZ

Anyone interested in a PHSNA, just built, \$70.00 + \$12.00 shipping. Arduino, PC Board and AD9850 Frequency Generator Board. See attached photo.

73

Phil N6WKZ

---
This email has been checked for viruses by AVG.
https://www.avg.com

Re: Si570 Set Frequency

Alfredo Mendiola Loyola

I found this library sarfata/radiono, I think I can use it to set the frequencies on the si570.

|
|
|
| | |

|

|
|
| |

Minima's Arduino software. Useful for controlling a homebrew Si570 based superhet transceiver/receiver. - sarfat...
|

|

|

73sAlfredo Mendiola LoyolaOA4AJP

On Monday, April 15, 2019, 9:04:36 AM GMT-5, wb6ogd <garywinblad@...> wrote:

The Si570 is a tricky beast!
Craig AA0ZZ conquered the programming using pre-calculated tables like
Nick said.

Silicon Labs has an app note that has C code for one of their
microcontroller chips.
I was able to port that to a PIC using Microchip's free C compiler but
it took up almost
all the memory  :(

BUT Arduino's run C and pretty efficiently.  I would get the app note
and port it to
Arduino.  The actual code that sets the frequency is only a few lines.
It is probably
not as fast as the integer calculation/table method.

If you could use the Si5351, there are Arduino libraries available to do
it.  Is easy,
I have been using the Etherkit library and board for a few years now.

I have both an AD9851 (DDS-60) and Si5351 in my PHSNA using modified
Nick code
with LCD and encoder for local standalone.  It is my favorite piece of
test equipment,
thanks to Nick and PHSNA group!!
Code is posted in the Files area.
73,
Gary
WB6OGD

On 4/14/2019 1:55 PM, Nick Kennedy wrote:
For this program it might take a bit of work. The program is set up to have
pre-calculated register values for all frequency ranges within the
specified limits, so the amount of calculation required for a small change
within a band is minimized. So you would need to expand the tables of
values all the way up to your desired 440 MHz limit to continue with that
method.

There's no reason you couldn't do it, but you'd have to study the code
(and/or the AA0ZZ QEX article) a bit to understand how the tables are
constructed.

I have expanded this basic program to one that includes display, rotary
encoder, TX/RX offset and so on, but I haven't expanded the frequency
limits because the version of the Si570 that I'm using is only specified to
160 MHz.

Good luck with it.

73-

NIck, WA5BDU

On Sun, Apr 14, 2019 at 12:59 PM Alfredo Mendiola Loyola via Groups.Io
<mendiola_loyola=yahoo.com@groups.io> wrote:

Hello:

I have found this Arduino code to set the Frequency on a si570 oscillator
but it has a max frequency of 157 Mhz (#define ULIMIT 157000000UL),

Is there a way to modify the source code to make it work until 440 Mhz ?

I would like to set frequencies from 430 to 440 mhz.