VFO do SDR – generator na Si5351a

Zainspirowany ostatnio opisywanym, uniwersalnym VFO, postanowiłem zbudować podobny układ, niemniej nieco łatwiejszy w modyfikacjach oprogramowania – przez co jest to układ znacznie bardziej uniwersalny, szczególnie jako generator. W porównaniu do w/w nie ma on funkcjonalności +/- IF, niemniej do RX-a/TRX-a o bezpośredniej przemianie nadaje się idealnie.

Płytka PCB została zaprojektowana tak, aby z łatwością można było eksperymentować z różnymi wsadami – tworząc własne lub dostosowane wersje generatora lub VFO z bardziej rozbudowanymi funkcjami. Idea była taka, aby sama PCB była w miarę uniwersalna i spełniała oczekiwania potencjalnych konstruktorów, budujących własne urządzenia tego typu.

Jeśli ktoś jest zainteresowany taką PCB lub całym urządzeniem – proszę  pisać na maila (info w dziale „Kontakt”).

Główne cechy poniższego układu :

  • popularny i tani układ generatora/PLL – Si5351a 
  • zakres pracy 1-30 MHz (można modyfikować w kodzie)
  • obsługa dekodera do sterowania przełącznikiem filtrów pasmowych (sygnał wyprowadzony na GoldPiny – 4 bity w logice LVCMOS – niebuforowane, bezpośrednie wyjście z kontrolera – więc ostrożnie)
  • tani, mały, pozornie nietypowy wyświetlacz LCD 2×16 znaków (dostępny na allegro, aliexpress itp.), łatwy w sterowaniu po magistrali I2C, pracujący przy niskim napięciu, z możliwością sterowania kontrastu (w kodzie), z podświetlaniem, kolor niebieski
  • wyprowadzone na PCB wszystkie 3 wyjścia sygnałowe Si5351a – CLK0, CLK1, CLK2 (w tej wersji oprogramowania tylko CLK0) – miejsce na wlutowanie gniazd SMA, które można montować z dowolnej strony PCB – w zależności od potrzeb
  • zastosowanie impulsatora/enkodera do ustawiania częstotliwości (1-30 MHz) i kroku syntezy (10Hz, 100Hz, 1KHz, 10 KHz, 100KHz lub 1 MHz). PCB przystosowana do wlutowania enkodera SMD lub THT
  • poziom sygnału wyjściowego ok. +15 dBm (+16 dBm przy 1 MHz, +14dBm przy 30 MHz), sygnał nie buforowany, nie filtrowany
  • całość zasilana stabilizowanym napięciem 3V3 (pobór prądu ok. 60 mA). Zasilanie wejściowe (5-15V) podłączane na popularne gniazdo DC 2.1/5.5 mm, lub na złączu wlutowanym do PCB – JST-XH 1S, 2PIN (zaimplementowane zabezpieczenie przed odwrotną biegunowością)
  • kontroler ATMEGA328PB taktowany zegarem 16MHz, co przy napięciu 3V3 jest niewielkim przegięciem (nieco za szybki zegar jak na ten poziom napięcia zasilania) – ale działa pewnie i dobrze (wersja PB zazwyczaj nie ma z tym problemu)
  • układ Si5351a taktowany z zewnętrznego TCXO 25MHz, co daje bardzo przyzwoitą stabilność sygnału wyjściowego – mniej więcej +- 2Hz/godz. (osobiście uważam że budowanie VFO na zwykłym rezonatorze kwarcowym to nieporozumienie z uwagi na fatalną stabilność). Niemniej na PCB jest przewidziane miejsce do alternatywnego montażu zwykłego rezonatora kwarcowego w obudowie SMD 2PIN jako opcja (zamiennie z TCXO) – ale nie polecam. Ewentualną korektę częstotliwości wzorca dokonujemy w kodzie.
  • wszystkie istotne sygnały wyprowadzone na GoldPinach z tyłu PCB. Dzięki temu można podłączyć inne, zewnętrzne Switch`e, Encoder, magistralę I2C (np. do wyświetlacza OLED), UART, dekoder przełącznika filtrów pasmowych, lub zamiast niego dowolne inne peryferia (4 porty GPIO), oczywiście po stosownych modyfikacjach w oprogramowaniu
  • kontrolka LED na stronie frontowej (POWER – 3V3)
  • programowanie/ładowanie wsadu po ISP
  • obsługa 3 przycisków Switch (MR, MS oraz jeden przycisk R do dowolnego wykorzystania)
  • Switch RESET – który w ATMEGA328PB również może być dowolnie wykorzystany – z tyłu płyty
  • rozmiar PCB – 88mm x 50 mm

W Internecie można znaleźć sporo różnych wersji i opisów VFO / generatorów na Si5351a. Ten projekt płytki daje sporo swobody w eksperymentowaniu z w/w układami, przy odpowiedniej interpretacji kodu. 

Widok płytki PCB :

Testy i opis zalet zastosowanego TCXO Abracon ASTX-H11-25.000MHZ-T, znajdziecie na stronie : https://nt7s.com/2016/04/si5351a-breakout-board-tcxo-upgrade/

Podstawowy, oryginalny kod generatora oraz opis znajdziecie na stronie : http://sq9nje.pl/posts/sterownik-syntezy-si5351/

Kod wg SQ9NJE uwzględniający moje modyfikacje:

LINK – archiwum RAR

Wdrożone w tym układzie (z moimi modyfikacjami) zmapowane piny kontrolera :

  • ENCODER A – PD3
  • ENCODER B – PD2
  • ENCODER SW – PD4
  • SWITCH MR – PD7
  • SWITCH MS – PD5
  • SWITCH R – PD6
  • SDA – PC4
  • SCL – PC5
  • przełącznik filtrów pasmowych – PC0, PC1, PC2, PC3

Schemat układu (poniżej) zrobiony na szybko, nie jest może wyrafinowany, ale powinien być dosyć czytelny. Schemat nie uwzględnia stabilizatora 3V3 i kilku kondensatorów blokujących.

Obsługa generatora jest dosyć prosta. W podstawowym trybie pracy enkoder służy do zmiany częstotliwości (+/-) o ustalony krok. Aktualny krok wyświetlany jest w drugiej linii LCD, a zmiana jego ustawienia dokonywana jest przez wciskanie (w pętli) pokrętła enkodera. 

W drugiej linii LCD jest też wyświetlana informacja o aktualnym paśmie, które zależy od ustawionej częstotliwości (zakresy można modyfikować w kodzie). Jeśli częstotliwość ta jest poza ustalonymi zakresami, w miejscu tym wyświetlane są znaki „–„.

Przyciski MS i MR służą do obsługi pamięci. Wciśnięcie przycisku MS (Memory SAVE) powoduje wejście do trybu zapisu aktualnej częstotliwości do pamięci EEPROM. Wciśnięcie go skutkuje wyświetlenie nr komórki pamięci (enkoderem możemy wybrać inną komórkę z zakresu 1-20), a wciśnięcie MR powoduje jej zapis. Przywracanie odbywa się analogicznie przyciskiem MR (Memory Recall).

Więcej szczegółów na stronce SQ9NJE