Sterownik układu syntetyzera częstotliwości SAA1057

Duże zainteresowanie konstrukcjami amatorskich nadajników UKF powoduje, że często można usłyszeć błądzące w eterze transmisje pochodzące z mikrofonów bezprzewodowych i innych urządzeń wykonanych w domu. Z własnego doświadczenia wiem, że najtrudniejszym do zbudowania jest blok generatora. Nie jest łatwo osiągnąć dobra stabilność generatora przy jgo niezbyt skomplikowanej budowie i umiarkowanych kosztach wykonania. Chyba każdy konstruktor – amator ma świadomość jak ważne jest to, aby nie zakłócać pracy urządzeń nadawczo – odbiorczych pracujących w sąsiedztwie. Wówczas to możemy spokojniej i bezpieczniej użytkować dane pasmo. Możliwość tę daje wykorzystanie układu generatora z syntezą częstotliwości, którego głównym elementem jest układ scalony SAA1057. W artykule zawarto opis konstrukcji sterownika tego układu. Dzięki wykorzystaniu układu SAA oraz mikrokontrolera, przy niewielkim koszcie całości, można zbudować w warunkach amatorskich blok nadajnika czy odbiornika o całkiem parametrach.

Sercem sterownika jest mikrokontroler AT90S4433. Program został napisany w Bascom AVR i zajmuje prawie cała przestrzeń pamięci programu mikrokontrolera. Jak to zwykle bywa w tego rodzaju aplikacjach, najwięcej miejsca w pamięci programu zabiera implementacja interfejsu użytkownika. Wymagała ona też najwięcej energii przy tworzeniu aplikacji. Większość miejsca w pamięci zajmują nie tyle polecenia realizowane przez mikrokontroler, ile napisy menu oraz wyświetlane przez sterownik komunikaty. Budowa samego układu jest tak prosta, że nie wymaga szerszego komentarza. Dlatego skupię się przede wszystkim na opisie programu i obsługi sterownika.
Po załączeniu pojawia się komunikat – powitanie, następnie mikrokontroler przechodzi do sprawdzenia ustawień sprzed wyłączenia zasilania i wysyła do układu SAA1057 informacje o tych ustawieniach. W ten sposób przywracane są poprzednio dokonane nastawy. Po tych ustawieniach sterownik wyświetla tylko częstotliwość generowaną przez układ a przyciski S1..S5 uzyskują następujące funkcje:
[S1] wejście do menu,
[S2] zmiana stanu wyjścia bistabilnego (wyprowadzenie portc.0),
[S3] zmiana stanu wyjścia monostabilnego (wyprowadzenie portc.1),
[S4] skrót do menu zmian częstotliwości,
[S5] załączenie na 10s podświetlania LCD (portc.2).
Menu główne umożliwia wybór następujących funkcji SETUP, dzięki którym możemy zmienić wszystkie ustawienia konfiguracji SAA1057:
-  kroku syntezy (10kHz i 12,5kHz),
-  prądu pętli PLL (0,023mA; 0,07mA; 0,23mA; 0,7mA; 2,3mA)
-  konfiguracji wyjścia test (wypr. 18 - logiczna jedynka, częstotliwość odniesienia, wyjście dzielnika, synchronizacja z nastawą, ustawienie detektora (ON, OFF, AUTO) ),
-  FREQUENCY umożliwiającej zmianę częstotliwości generowanej przez układ (ta funkcja dostępna jest również po załączeniu zasilania lub wyjściu z menu głównego),
FORMAT - służy do powrotu do ustawień "fabrycznych" w przypadku kiedy stracimy orientację w ustawieniach jakich dokonaliśmy (można również użyć po zaprogramowaniu procesora, gdy w eeprom są zapisane same HFF.
Wyjście z niemal każdego poziomu menu następuje po wciśnięciu klawisz [S5]. Wyjątkiem jest ustawienie prądu pętli PLL gdzie mamy 5 opcji do wyboru. Opuszczenie tego poziomu menu odbywa się po wyborze jednej z nich. Portc.2 służy do sterowania podświetleniem. Celowo nie narysowałem tego na schemacie. Cześć LCD ma podświetlanie zrealizowane z użyciem diod LED, część używa do tego celu folii elektroluminescencyjnej. Kwestię sposobu sterowania podświetleniem pozostawiam otwartą. Wyjście mikrokontrolera przyjmuje stan niski, gdy podświetlenie powinno być załączone. Wyjścia bistabilne i monostabilne służą do sterowania załączaniem np. końcówki mocy nadajnika lub innym dołączonym urządzeniem.

Opis interfejsu SAA1057

Aplikację układu (rysunek 1) SAA1057 wykonałem według schematu z dokumentacji pochodzącej ze strony internetowej producenta na płytce prototypowej (fotografia 1, fotografia 2). Mikrokontroler komunikuje się z układem SAA1057 poprzez 3-przewodowy interfejs SPI. Celowo funkcje komunikacji z układem syntezy wykonałem implementując krok po kroku poszczególne opisywane przez producenta etapy. Zajmuje to nieco więcej miejsca w programie źródłowym, jednak nie wpływa na rozmiar kodu wynikowego. Można w ten sposób pokazać, że wykonanie interfejsu SAA1057 jest stosunkowo łatwe. Łatwo też porównać je z algorytmami opisanymi w dokumentacji SAA1057. Układ wykonany ze sprawdzonych elementów działa niezawodnie, natychmiast po włączeniu, bez dodatkowego uruchamiania.

Rysunek 1. Schemat aplikacji układu SAA1057

Obsługa

Po zmontowaniu całości trzeba przystąpić do zaprogramowania układu. Jedna uwaga: w pamięci EEPROM mikrokontrolera 90S4433, pod adresami 1 do 4 są zapisane ustawienia syntezy (konfiguracja i częstotliwość). Można podczas programowanie od razu zapisać te 4 bajty, ale nie jest to konieczne, ponieważ po zaprogramowaniu i pierwszym uruchomieniu sterownika możemy skorzystać z funkcji FORMAT w Menu ustalającej nastawy domyślne syntezy.
Aby zmienić częstotliwość musimy wejść w opcje FREQUENCY dostępną z poziomu „zerowego” po naciśnięciu przycisku [S4] lub po wejściu do menu głównego. Teraz przyciskami [S1] i [S2] możemy zmieniać częstotliwość w gore i dół.

Fotografia 1. Widok płytki sterownika od strony elementów

Sterownik wyślę nową nastawę do SAA1057 dopiero po potwierdzeniu przez naciśnięcie [S3] lub wyjściu do menu (klawisz [S5]). Celowo nie są wysyłane nowe ustawienia częstotliwości po każdej jej zmianie w górę lub dół, aby uniknąć ciągłego przestrajania i tym samym zakłócania pracy innych urządzeń nadawczo - odbiorczych. Nie ma też funkcji szybkiej zmiany częstotliwości (przy stałym przyciśnięciu przycisku [S1] / [S2]), ponieważ moim zdaniem nie jest to najważniejsza funkcja jaka powinien mieć tego typu sterownik.


Fotografia 2. Widok płytki sterownika od strony lutowania.

Nie ma także ograniczenia pasma częstotliwości. W związku z tym sterownik będzie przestrajał układ syntezy w całym zakresie pracy układu SAA1057, czyli od 70 do 120Mhz. W dokumentacji sterownika nie ma wzoru płytki drukowanej. Jej projekt w tym zakresie częstotliwości raczej nie powinien sprawić większych trudności przeciętnemu elektronikowi - amatorowi. Do prób używałem płytki uniwersalnej, z otworami i polami lutowniczymi. Jako generatora VCO użyłem, najzwyklejszej głowicy radiowej. Pewna pomocą mogą się okazać zdjęcia sterownika. W przygotowaniu inna wersja sterownika do układu generatora z syntezą typu TSA6057, kontrolowanego poprzez interfejs I2C.

 

Michał Wojtków
m.wojtkow@easy-soft.net.pl

http://www.tomaszbogusz.blox.pl/

ZałącznikWielkość
Źródło programu w Bascom AVR7.11 KB

Odpowiedzi

Witam! Czy nie łatwiej

Witam!
Czy nie łatwiej wykorzystać mikrokontroler ze SPI sprzętowym?

Dodaj nowy komentarz

Zawartość pola nie będzie udostępniana publicznie.