Konstrukcja i oprogramowanie

Wstęp


    Myśl± przewodni± konstruktora modemu było usunięcie ograniczeń charakteryzuj±cych modem G3RUH i jego komunikację przez zł±cze synchroniczne. Modem YAM jest wyposażony w asynchroniczne zł±cze szeregowe przeznaczone do współpracy ze zł±czem COM komputera PC. Modem jest również zasilany przez to zł±cze. Wyjścia sygnałów modemu na zł±czu szeregowym nie s± elektrycznie całkowicie zgodne z norm± RS-232 ponieważ zastosowano w nim bramki CMOS typu CD4050 zamiast standardowych bramek RS232. Bramki CMOS dostarczaj± jedynie sygnałów logicznych o polaryzacji dodatniej (0 i 12 V) zamiast +/- 12 V. W większości przypadków nie sprawia to jednak żadnych problemów w komunikacji z komputerem.

    Modem jest przystosowany do pracy pełnodupleksowej tzn. jego odbiornik i nadajnik pracuj± zupełnie niezależnie od siebie, co pozwala na prowadzenie prób ł±czności w pętli zamkniętej.

    Protokół komunikacji z komputerem charakteryzuje się niewielkim udziałem danych administracyjnych. Częstotliwość przerwań komputera rzędu 1200 przerwań/s wystarcza do zapewnienia prawidłowej wymiany danych między modemem i komputerem. Sterowniki modemów typu BayCom wymagały częstotliwości przerwań trzykrotnie wyższej od szybkości transmisji, a więc 3600 przerwań/s przy szybkości transmisji 1200 bit/s. Zł±cze szeregowe komputera nie musi być wyposażone w nowoczesny obwód komunikacyjny 16550 z buforem FIFO - sterowniki dla systemu DOS zadowalaj± się także starszymi obwodami typu 8250.

    Przewody synchronizacji na zł±czu użyte s± do sterowania kontrolerem HDLC i programowania modemu. Do poł±czenia modemu z komputerem należy użyć kabla 9-żyłowego a nie 3-żyłowego jak w przypadku TNC. Jedynie przewód RXD pozostaje niewykorzystany.

    Modem koduje i dekoduje samodzielnie ramki HDLC (AX.25), jedynie generacja i sprawdzanie poprawności sum kontrolnych CRC s± dokonywane przez oprogramowanie komputera (sterownik modemu).

    YAM jest wyposażony w modulator GMSK, precyzyjn± cyfrow± pętlę synchronizacji fazy (skr. ang. DPLL - digital phase locking loop) w odbiorniku i efektywny układ rozpoznawania sygnału (DCD) analizuj±cy diagram oka sygnału odbieranego.

    Układ modemu zawiera tani± programowaln± matrycę logiczn± FPGA typu XC5202 i w pełni wykorzystuje jej zalety i możliwości.

    Matryca jest programowana elektrycznie (w pewnym stopniu podobnie d o pamięci RAM komputerów) dzięki czemu możliwe jest szybkie ładowanie nowych lub specjalnych wersji oprogramowania modemu w zależności od potrzeb i rodzaju emisji (co dróżnia j± od wielu różnych typów przeznaczonych do jednorazowego programowania - analogicznie do pamięci ROM). Program musi być jednak wpisany za każdym razem po wł±czeniu zasilania. Programy s± ładowane przez zł±cze szeregowe komputera.
    Użyta w modemie matryca składa się z dużej ilości różnorodnych układów logicznych jak bramki, bufory i przerzutniki, które s± zgrupowane w bloki funkcjonalne oznaczane skrótem CLB.

    Bloki te mog± być programowane tak, aby spełniały zadan± funkcję logiczn±. W odróżnieniu od zasady działania mikrokontrolerów programowanie to nie polega na zapisaniu kodu rozkazów interpretowanych każdorazowo w trakcie pracy a na zapisaniu w matrycy poł±czeń pomiędzy układami logicznymi. Wymagana funkcja logiczna realizowana jest elektrycznie bez pomocy mikroprogramu, dlatego też taki układ logiczny charakteryzuje się duż± szybkości± pracy. Poł±czono więc tutaj zalety klasycznych układów logicznych z elastyczności± systemów mikroprocesorowych.

    Programowanie matrycy trwa ok. 4 sek przy szybkości transmisji w zł±czu szeregowym równej 115200 bit/s. Pozostałymi parametrami zł±cza s± N,5,1. Zalet± tego rozwi±zania jest możliwość łatwej aktualizacji i zmiany oprogramowania bez potrzeby korzystania z programatorów pamięci EPROM.

    Logika układu podzielona jest na trzy zasadnicze bloki: odbiornika (demodulatora), nadajnika (modulatora) i generatora taktu. Pracuj± one niezależnie od siebie a ich sygnały weściowe i wyjściowe s± podł±czone do nóżek obwodu scalonego.

Protokół komunikacji na zł±czu szeregowym


PrzewódZnaczenie/funkcja
TXD - Dane nadawane Bezpośrednio po wł±czeniu na przewodzie tym pojawiaj± się impulsy zegarowe niezbędne w procesie programowania matrycy. W czasie regularnej pracy transmitowane s± dane przeznaczone do nadania przez radio.
RTS - Sygnalizacja nadawania. Dostarcza zasilania do modemu w poł±czeniu z przewodem DTR. W trakcie programowania matrycy dostarcza danych niezbędnych do jej konfiguracji. W trakcie normalnej pracy służy do wł±czenia nadajnika radiostacji. Do czasu otrzymania danych kontroler HDLC generuje (i nadaje) pola synchronizacyjne (ang. flag).
DTR - wł±czenie odbioru. W poł±czeniu z sygnałem RTS dostarcza zasilania do modemu i ma zawsze poziom przeciwny do poziomu RTS.
CTS - Gotowość modemu do odbioru danych z komputera. W czasie nadawania (RTS wł±czony) steruje przebiegiem transmisji sygnalizuj±c gotowość modemu do odebrania następnego bajtu danych. W przypadku błędnego odbioru bajtu przez kontroler (niewłaściwej długości, przepełnienia bufora) modem nadaje przez radio bajt synchronizacyjny i oczekuje na powtórzenie danych.
RI - Odbiór pól synchronizacji
(pocz±tku i końca pakietu). Wg. normy RS-232 - sygnalizacja dzwonienia.
Pozwala na odróżnieniu w strumieniu danych pól sygnalizacji od danych stanowi±cych treść pakietu.
DCD - Data Carrier Detect -
sygnalizacja odbioru danych w kanale radiowym.
Sygnał przyjmuje stan wysoki w momencie rozpoznania przez modem sygnału danych na wejściu z radiostacji. Układ rozpoznawania analizuje oka diagramu i w ten sposób odróżnia sygnał użyteczny od szumów i zakłóceń. Szumy i zakłócenia mog± powodować występowanie na nim krótkich, przypadkowych impulsów. W przypadku braku sygnału wejściowego lub jego zbyt niskiego poziomu występuje stan wysoki.
DSR - gotowość modemu
(matryca zaprogramowana).
Po prawidłowym zakończeniu programowania matrycy na przewodzie tym występuje stan wysoki. Przejście w stan niski sygnalizuje wyzerowanie stanu matrycy i konieczność jej ponownego zaprogramowania.


Gniazdo diodowe


NóżkaZnaczenie
1 Wyjście sygnału do nadajnika.
2 Masa.
3 Przeł±czanie nadawanie/odbiór.
4 Wejście sygnału z odbiornika.

    Wejściowy sygnał akustyczny musi mieć poziom co najmniej 200 mV wartości międzyszczytowej. Maksymalne napięcie wyjściowe modemu wynosi 3,6 V (wartość międzyszczytowa). Należy zwrócić uwagę na to aby nie przesterować radiostacji. Jej niedostateczne wysterowanie nie powoduje wprawdzie zniekształceń sygnału ani zakłóceń w s±siednich kanałach, zmniejsza jednak niepotrzebnie zasięg stacji. Dobór właściwego poziomu wysterowania jest szczególnie krytyczny przy szybkości transmisji 9600 bit/s. Oczywiście radiostacja musi być dostosowana do pracy z t± szybkości± identycznie jak w przypadku wszystkich innych modemów.

Uwagi dla programistów sterowników


    Wymaganymi parametrami transmisji na zł±czu s± 19200, N, 8, 1.
    Sterowniki powinny obserwować stan przewodu DCD i akceptować jedynie dane odbierane w czasie gdy ma on stan wysoki. Oprócz tego powinny one odczytywać stan przewodu RI w celu odróżnienia pol synchronizacyjnych od danych użytkowych i rozpoznania pocz±tku i końca pakietu.

    W trakcie transmisji sterowniki powinny wł±czyć przerwanie 'Modem Status Interrupt' a następnie sygnał RTS. Otrzymywany z modemu sygnał CTS powinien być obserwowany dopiero po nadaniu poż±danej ilości pól synchronizacji (upływie czasu TxDelay). Dane użytkowe powinny być przekazywane do modemu dopiero po zasygnalizowaniu przez niego gotowości. Po zakończeniu transmisji pakietu sterownik musi odczekać przynajmniej cztery zmiany stanu CTS przed wył±czeniem RTS (nadawania) aby modem zd±żył nadać pole końca pakietu (ang. flag).

    W czasie prób ł±czności w pętli zamkniętej należy pamiętać, że po poł±czeniu wyjścia modemu z jego wejściem sygnał DCD ma zawsze stan wysoki niezależnie od tgo czy dane s± nadawane czy też nie.

Inicjalizacja modemu (programowanie matrycy)


    Przed rozpoczęciem normalnej pracy modem musi być prawidłowo zaprogramowany, dopiero potem sterownik może rozpocz±ć normalne funkcjonowanie.

    W czasie inicjalizacji (programowania) modemu wykorzystywane s± przewody TxD i RTS dostarczaj±ce odpowiednio danych i sygnału zegarowego. Po zasygnalizowaniu, że programowanie przebiegło prawidłowo sygnały RTS i DTR nie mog± równolegle przyj±ć stanu zerowego ponieważ służ± one do zasilania modemu. Należy też zwrócić uwagę na to aby żaden inny program nie spowodował niekontrolowanych zmian stanu tych przewodów.

    Zanik zasilania lub spadek napięca poniżej 2,5 V spowoduje utratę zawartości matrycy i konieczność jej ponownego zaprogramowania.

Ilustracje


Diagram oka sygnału

Diagram sygnału nadawanego

Przebieg sygnału

Protokół transmisji na zł±czu szeregowym

Szczegóły

Szczegóły protokółu transmisji

                                  



Wydanie z dn. 28.03.2000.


© Prawa autorskie Krzysztof Dabrowski, OE1KDA.