"Nie wieder Quarze?" durch Baustein "Si5351A"
Stand 26. Januar 2015

   Automatic translation made by GOOGLE:
https://translate.google.de/translate?sl=de&tl=en&js=y&prev=_t&hl=de&ie=UTF-8&u=http%3A%2F%2Fwww.kh-gps.de%2Fsi5351.htm&edit-text=&act=url


Abb.1  Si5351-Board von Adafruit

Integrierte Schaltkreise zur Erzeugung nahezu beliebiger Frequenzen bis in den VHF-Bereich sind ansich nicht neu. Schon seit mehreren Jahren gibt es z.B. den beliebten "Si570" und für Anwendungen bis oberhalb des KW-Bereiches wurden häufig auch schon DDS-Lösungen gewählt. Alternativ kann jetzt auch der erst unlängst von SILICON LABS herausgekommene Baustein "Si5351A" [1] eingesetzt werden. Im Vergleich zum "Si570" ist er deutlich preiswerter und deckt dabei den Bereich von 8KHz bis 160Mhz ab. Steuerbar ist er über einen I2C-Bus. Seine drei Ausgänge stellen unabhängig voneinander Rechtecksignale mit einem Pegel von 3Vss bereit. Ausgehend von einem externen, üblicherweise 25Mhz-Quarz werden die Ausgangsfrequenzen des "Si5351" durch Teilung aus zwei in Bereich von 600 bis 900MHz arbeitenden PLL's generiert. Die beiden möglichen Teilungsverfahren ( Integer-Mode und Fractional-Mode ) führen dabei auch zu unterschiedlichen Ergebnissen hinsichtlich des Jitter-Anteils der Ausgangssignale.
Im Integer-Mode kann nur gearbeitet werden, wenn sich die gewünschte Ausgangsfrequenz durch Multiplikation und folgender Teilung mit jeweils nur Integerwerten erreichen lässt. Für alle anderen Ausgangsfrequenzen ist der mit einem höheren Jitter-Anteil belastete Fractional-Mode zu wählen.


Erste praktische Versuche mit dem "Si5351A"

Angeregt durch Veröffentlichungen in [2],[3],[4],[9] wurden erste praktische Versuche mit dem "Si5351A" durchgeführt. Wesentlich vereinfacht wurde das durch Verwendung einer kleinen, von Fa. Adafruit stammenden Platine [7],[8]. Neben dem "Si5351A" sind auf ihr ( Abb.1 und 2 ) noch einige weitere Bauteile zu finden. Sie erlauben den Betrieb mit Versorgungsspannungen und I2C-Pegelwerten im Bereich von 3V bis 5V. In DL ist genanntes Board u.a. hier [5] erhältlich.


Abb.2  Schaltbild des ADAFRUIT-Boards

Abb.3 zeigt den ersten Versuchsaufbau. Zur Steuerung des "Si5351" wurde dabei ein Arduino-Board "Pro Mini 5V" verwendet. Stattdessen sind an dieser Stelle aber auch hinsichtlich ihrer elektrischen Eigenschaften ähnliche Arduino-Boards, wie z.B. "UNO" oder "NANO" einsetzbar.
Vereinfacht wird der Programmentwurf durch passende Libraries, wobei sich die Verwendung der dazu von Adafruit bereitgestellten Version aber als nicht besonders komfortabel erwiesen hat. Besser sieht es dagegen mit der Version von Jason, NT7S [6] aus, da diese eine direkte Eingabe der gewünschten Ausgangsfrequenz erlaubt. Dabei ist allerdings anzumerken, dass diese Library derzeit nur im Frequenzbereich von 1 bis 150 MHz nutzbar sein soll. Ein passendes einfaches Programmbeispiel, das die Generation von zwei Festfrequenzen erlaubt, ist über Jasons Github-Seite [6] verfügbar. Ich habe es erfolgreich ausprobiert, wobei ich mir bei nicht umsetzbaren Frequenzeingaben allerdings auch noch
die Ausgabe einer Fehlermeldung wünschen würde.  


Abb.3  Erster Versuchsaufbau

Mit wenig Aufwand liess sich das Programmbeispiel auch zu einem über Incrementgeber ( angeschaltet an #2 und #3 ) abstimmbaren VFO erweitern. Dabei war ich von einer Startfrequenz von 14.100 Mhz und 100Hz-Schritten ausgegangen, aber diese Werte lassen sich natürlich im Programmcode auch leicht an eigene Erfordernisse anpassen.
Bei dem VFO handelt es sich um ein erstes Muster und wie erwartet war beim Abhören des überlagerten Ausgangsssignals auch ein leichtes Jittern zu hören.

Der für den VFO benutzte Programmcode  und auch die eingebundenen, nicht standardmäßigen Libraries sind hier herunterladbar.

NEU:
Angeregt durch Volker, SM5ZBS, habe ich mich mit dem Aufbau eines einfachen Frequenzgenerators unter Verwendung des Si5351 beschäftigt. Abb.4 zeigt das Blockschaltbild des vorläufigen Ergebnisses. Herzstück ist ein Prozessorboard ARDUINO "UNO" ( oder ähnliche ). Die gewünschte Ausgangsfrequenz wird über ein 4x4 Tastenfeld eingegeben und ein TFT-Display übernimmt die Frequenzanzeige.    


Abb.4  Blockschaltbild des realisierten Frequenzgenerators

Eingegeben wird die gewünschte Ausgangsfrequenz in der Einheit "Hertz". Die Taste "*" dient dem Löschen der Anzeige und die "#" der Aktivierung von Frequenzausgaben. Die Tasten "A" bis "D" sind derzeit noch ohne Funktion. Für später ist aber z.B. denkbar, dass sich hierüber mehrere vorabgelegte Speicherfrequenzen abrufen lassen.    


Abb.5  Erste Versuchsanordnung der Si5351-Generatoreinheit.

Das ARDUINO-Steuerprogramm verwendet die Library von Jason, NT7S [4],[6]. Im Gegensatz zu seinen Angaben ( Einsatzfrequenzbereich: 1-150 MHz ), konnte mein Exemplar allerdings die von ihm genannte obere Grenzfrequenz nicht erreichen. Das aufgebaute Exemplar arbeitete nur bis 125 MHz. An dieser Stelle wird somit noch zu klären sein, ob es sich hierbei nur um einen Einzelfall handelt.
Nicht tolerierbare Abweichungen zwischen gewünschter Soll- und tatsächlich ausgegebener Istfrequenz lassen sich mit einem zusätzlichen Programmbefehl korrigieren. Im vorliegenden Fall geschah das mithilfe der im Setup-Bereich des Programmcodes eingefügten Anweisung: "si5351.set_correction(+200);". Die Angabe "+200" ist dabei der Korrekturwert, der durch sukzessive Vergleichsmessungen mit den Anzeigen eines Frequenzzählers ermittelt wurde.

Die derzeitige ( vorläufige ) Programmversion ( incl. einiger zusätzlich benötigter Libraries ) ist hier herunterladbar.   

Anmerkungen:

Wer das Neuste zum Amateurfunkeinsatz der Si5351 und auch zum Jitter-Aspekt lesen möchte, dem sei die Blogseite  "RIPPLES IN THE ETHER" von Jason Milldrun, NT7S empfohlen:  http://nt7s.com/tag/si5351/

Da die Library von Jason, NT7S eine direkte Eingabe gewünschter Si5351-Ausgangsfrequenzen erlaubt, vereinfacht sie die Programmerstellung zwar in hohem Maße, aber in manchen Fällen wird es dennoch erforderlich sein, die zur Ausgabe einer bestimmten Frequenz vorzunehmenden Befehlsschritte einzeln ermitteln zu  können. Nützliche Dienste kann dabei das hierzu von Silabs bereitgestellte Windows-Programm "ClockBuilder" [10] leisten.

NEU: Si5351-KIT's von Hans Summers, G0UPL

Seit kurzer Zeit gibt es auch von Hans Summers, G0UPL entwickelte und als kompletter Bausatz vertriebene Si5351-Platinen [11]. Zur Vereinfachung ihres Einsatzes ist der winzige Synthesizer-Chip dabei bereits aufgelötet. Interessant ist auch der geringe Bausatzpreis von nur US$ 7.50. Im Gegensatz zu den meisten ansonsten bekannten, mit 25 MHz-Takt arbeitenden Applikationen, wird hierbei mit einer Taktfrequenz von 27MHz gearbeitet. Anstelle des hierfür benutzten Quarzes kann man nun entweder einen z.B. für 17 Cents bei Fa. Reichelt [12] erhältlichen 25MHz-Quarz verwenden, oder auch die Library von Jason, NT7S für die abweichende Frequenz entsprechend modifizieren.    
Die über die Homepage des Verfassers erreichbaren Library-Files und Anwendungsbeispiele sind zur Verwendung mit dem GCC Compiler im AVR Studio gedacht und müssten für ARDUINO-Anwendungen zuerst noch angepasst werden. 

Linkliste

[1]  http://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351.pdf
[2]  http://nt7s.com/2014/06/si5351-libraries-and-breakout-board/
[3]  http://m0xpd.blogspot.co.uk/
[4]  http://nt7s.com/tag/si5351/
[5]  http://www.exp-tech.de/Shields/Sonstige/adafruit-si5351a-clock-generator-breakout-board-8khz-160mhz.html
[6]  https://github.com/etherkit/Si5351Arduino
[7]  https://learn.adafruit.com/adafruit-si5351-clock-generator-breakout/overview
[8]  https://learn.adafruit.com/downloads/pdf/adafruit-si5351-clock-generator-breakout.pdf
[9]  http://sp-hm.pl/thread-2019.html
[10] http://www.silabs.com/Support%20Documents/Software/ClockBuilderDesktopSwInstallSi5351.zip
[11] http://www.hanssummers.com/synth.html
[12  http://www.reichelt.de/index.html?ACTION=3;ARTICLE=58657;SEARCH=25,0000-HC49U-S

E-Mail contact via: