Kontynuując opis hardware zatrzymam się na chwilę przy portach procesora.
[Obrazek: http://lx-net.pl/walet/image/proc01.jpg]
I00, Txd, Rxd oraz Rst służą głównie do połączenia z PC podczas programowania.
Cs, Dcs, Mosi, Miso, Clk, Tcs służą do sterowania ekranem dotykowym FFT za pomocą protokołu SPI
Linp, Rinp, Lout, Rout to omawiane wcześniej wejście przetwornika A/D oraz wyjście D/A kodera
Rx/Tx to port typu 0/1 nadawanie/odbiór
Cwk to port 0/1 kluczowanie cw
Cwt to port generatora tonu 800Hz podczas pracy cw
Sda oraz Scl to linie magistrali I2C służące do komunikacji z peryferiami
Dodatkowo, pokazane styki Key, Dot/Dash oraz Ptt służą do sterowania urządzeniem w taki sposób, że w trybie SSB styk Ptt zwarty do masy przełącza urządzenie w tryb nadawania a w trybie cw Key to kluczowanie ręczne a Dot/Dash to styki klucza elektronicznego. Te elementy, choć wymagające drobnej korekty są w zasadzie oprogramowane i działają.
Widoczny przełącznik SW9 oraz leżące z lewej strony przełączniki SW1-7 mają swoje miejsce na płytce drukowanej h0 ale na razie nie mają, mimo opisów, przypisanej żadnej funkcji i mogą być wykorzystane do innych, nie wymienionych wcześniej funkcji. Wymaga to jednak dość precyzyjnego dobierania skojarzonych oporników bo wszystkie wymienione funkcje działają na linii I04, która ustawiona jest jako port analogowy z odczytem napięcia w zakresie 0-3.3V.
[Obrazek: http://lx-net.pl/walet/image/pczol02.jpg]
Ostatecznie, w mojej wersji urządzenia użyję prawdopodobnie trzech przełączników jak to pokazuje zdjęcie.
Ekran dotykowy ma w zasadzie nieograniczone możliwości konfiguracyjne i na przykład przycisk Mnu1 miał początkowo służyć jako przełączenie do kolejnego menu ale chyba nie potrzebuję innych funkcji w tak prostym urządzeniu.
Chyba zamienię obecną funkcjonalność Mnu1 (uruchamiającą teraz Setup) na Rit a do setup-u będzie można wejść na ekranie inicjującym za pomocą jednego z pokazanych klawiszy.
Pokazane klawisze F1-F3 zostaną prawdopodobnie użyte do dublowania funkcji, na przykład do zmiany kroku sterowania lub pasma pracy w górę i w dół zamiast klawisza dotykowego.
Użyte przeze mnie klawisze są typu tact i mają wymiary 6x6mm oraz długość trzpienia co najmniej 18mm - jeśli zastosowane zostanie zaproponowane przeze mnie rozwiązanie mechaniczne.
Początkowo też zamierzałem wyprowadzić gniazda na panel tylny ale rezygnując z czterech przycisków na płytce h0 uzyskałem miejsce na 3 gniazda (słuchawki/głośnik, mikrofon z ptt oraz klucz (zwykły i elektroniczny).
Na zdjęciu widać przednią płytę z nową maskownicą.
Taką maskownicę można zrobić w podstawowym punkcie poligraficznym z drukarką kolorową i laminarka termiczną. Trzeba zrobić wydruk na papierze samoprzylepnym a następnie go zafoliować.
Dla przypomnienia, na Github można znaleźć plik .pdf z rysunkiem takiej płyty czołowej. Koszt wykonania zalaminowanej strony w najbliższym punkcie u mnie to 6PLN. Nie jest to równie trwałe rozwiązanie jak wydruk na folii ale jest w miarę estetyczne i pozwala na szybkie zmiany prototypowe zanim powstanie rozwiązanie docelowe.
Otwór wyświetlacza trzeba wyciąć nożem do tapet a inne otwory przebijakami o odpowiednim rozmiarze.
Wspominałem wcześniej o układzie formowania sygnałów heterodyny mieszacza Tayloe (F0 i F1).
[Obrazek: http://lx-net.pl/walet/image/form.jpg]
Układ ten sterowany jest (Clk) z wyjścia F0 si5351 z podwójną częstotliwością pracy urządzenia. W obwodzie działają układy 7474 oraz 7486. Układ ten rozwiązuje problem sterowania wprost z si5351 z przesunięciem fazy między sygnałami co wymaga restartu pętli PLL a to z kolei generuje stuki podczas strojenia.
Niestety, pokazany układ formowania też nie jest idealny.
[Obrazek: http://lx-net.pl/walet/image/form01.jpg] [Obrazek: http://lx-net.pl/walet/image/form02.jpg]
Pierwsze zdjęcie pokazuje jak wyglądają sygnały przy pracy na 3.5MHz. Widać dwa ładne sygnały przesunięte w fazie o 90 stopni.
Drugie zdjęcie pokazuje "dziurę" w pracy układu formowania - znika F0 na jakiś czas od ok. 22.5MHz do ok. 23.5MHz, Na szczęście zarówno dla niższych jak i wyższych częstotliwości formowanie działa prawidłowo. Niestety, nie zgłębiałem tego problemu ze względu na ważniejsze tematy, przypuszczam, że wynika to z tzw. "hazardu" i/lub "wyścigów" w układach cyfrowych. Z grubsza oznacza to problemy jeśli sygnały sterujące mają różne drogi (opóźnienia) na dotarcie np. do przerzutnika i docierają w niewłaściwej kolejności lub działają na układach o różnej prędkości.
Dlatego istotne jest aby zastosowane układy 7474 i 7486 powinny działać z możliwie dużą prędkością. Naturalnym wyborem są układy 74AC74 oraz 74AC86 ale jak widać i to nie wystarcza.
Poza pokazaną dziurą w pracy układu formowania, im wyższa częstotliwość pracy, tym bardziej objawia się skończony czas narastania zboczy impulsów oraz ograniczenia propagacji co objawia się delikatnym stukotem w głośniku bez podłączonej anteny. Z sygnałem użytkowym przeszkoda ta zanika w szumie lub jest lekko zauważalna na najwyższych pasmach.
Istnieje szybsza wersja układów tych układów, a nawet posiadam takie układy (LVC/ALVC) ale niestety, podczas wlutowania układu 7474 pomyliłem jego miejsce i wlutowałem go zamiast 7486. Po włączeniu zasilania usmażyłem ten układ więc na razie poprzestałem na wersji AC. Wrócę do tematu jak będę miał więcej czasu.
Uwaga:
Dokonałem drobnych zmian w oprogramowaniu a nowe wersje zamieściłem w obu formach na Github tak, że nie zmieniła się numeracja linii w kodzie Arduino.
Większość zmian to kosmetyka (np. wydłużenie czasu nieaktywności klawisza Save w procedurze Setup lub skrócenie funkcji intro po włączeniu urządzenia ale jedna ze zmian jest nieco ważniejsza bo dotyczy doboru w procedurze Setup korekty dla generatora si5351.
Okazało się, że wprawdzie korekta działa ale nie można jej sprawdzić w podany wcześniej sposób na gnieździe RF płytki ha bo sygnał ten może się pojawić dopiero jeśli układ działa w trybie nadajnika. Obecnie, po wejściu do Setup i wykonywaniu zmian korekty można na bieżąco śledzić wpływ zmian mierząc częstotliwość sygnału referencyjnego 10MHz na gnieździe RF.
Należy jednak wcześniej włączyć urządzenie na kilka minut aby si5351 osiągnął równowagę termiczną. U mnie wartość korekty wynosi ok. 26700 (czyli ok. 267Hz). Trzeba też pamiętać, że poziom tego sygnału na gnieździe RF zależy od ustawienia rezystora nastawnego RV1 (Cw_level) na płytce ha.
We wcześniejszej, nieskorygowanej wersji oprogramowania można ten sygnał mierzyć wprost na wyjściu F2 układu si5351 lub na stykach 5/8 przekaźnika K1 na płytce ha. Ponieważ zmiany nie są wielkie to nie modyfikowałem wersji oprogramowania.
Zgłosiłem Walet-a do tegorocznego konkursu PUK i czekam na potwierdzenie zgłoszenia.
Prawdopodobnie pojawię się w Burzeninie w sobotę a może nawet przywiozę płytki urządzenia bo mam kolejne zapytania na ten temat.
cdn. lj
Github
[Obrazek: http://lx-net.pl/walet/image/proc01.jpg]
I00, Txd, Rxd oraz Rst służą głównie do połączenia z PC podczas programowania.
Cs, Dcs, Mosi, Miso, Clk, Tcs służą do sterowania ekranem dotykowym FFT za pomocą protokołu SPI
Linp, Rinp, Lout, Rout to omawiane wcześniej wejście przetwornika A/D oraz wyjście D/A kodera
Rx/Tx to port typu 0/1 nadawanie/odbiór
Cwk to port 0/1 kluczowanie cw
Cwt to port generatora tonu 800Hz podczas pracy cw
Sda oraz Scl to linie magistrali I2C służące do komunikacji z peryferiami
Dodatkowo, pokazane styki Key, Dot/Dash oraz Ptt służą do sterowania urządzeniem w taki sposób, że w trybie SSB styk Ptt zwarty do masy przełącza urządzenie w tryb nadawania a w trybie cw Key to kluczowanie ręczne a Dot/Dash to styki klucza elektronicznego. Te elementy, choć wymagające drobnej korekty są w zasadzie oprogramowane i działają.
Widoczny przełącznik SW9 oraz leżące z lewej strony przełączniki SW1-7 mają swoje miejsce na płytce drukowanej h0 ale na razie nie mają, mimo opisów, przypisanej żadnej funkcji i mogą być wykorzystane do innych, nie wymienionych wcześniej funkcji. Wymaga to jednak dość precyzyjnego dobierania skojarzonych oporników bo wszystkie wymienione funkcje działają na linii I04, która ustawiona jest jako port analogowy z odczytem napięcia w zakresie 0-3.3V.
[Obrazek: http://lx-net.pl/walet/image/pczol02.jpg]
Ostatecznie, w mojej wersji urządzenia użyję prawdopodobnie trzech przełączników jak to pokazuje zdjęcie.
Ekran dotykowy ma w zasadzie nieograniczone możliwości konfiguracyjne i na przykład przycisk Mnu1 miał początkowo służyć jako przełączenie do kolejnego menu ale chyba nie potrzebuję innych funkcji w tak prostym urządzeniu.
Chyba zamienię obecną funkcjonalność Mnu1 (uruchamiającą teraz Setup) na Rit a do setup-u będzie można wejść na ekranie inicjującym za pomocą jednego z pokazanych klawiszy.
Pokazane klawisze F1-F3 zostaną prawdopodobnie użyte do dublowania funkcji, na przykład do zmiany kroku sterowania lub pasma pracy w górę i w dół zamiast klawisza dotykowego.
Użyte przeze mnie klawisze są typu tact i mają wymiary 6x6mm oraz długość trzpienia co najmniej 18mm - jeśli zastosowane zostanie zaproponowane przeze mnie rozwiązanie mechaniczne.
Początkowo też zamierzałem wyprowadzić gniazda na panel tylny ale rezygnując z czterech przycisków na płytce h0 uzyskałem miejsce na 3 gniazda (słuchawki/głośnik, mikrofon z ptt oraz klucz (zwykły i elektroniczny).
Na zdjęciu widać przednią płytę z nową maskownicą.
Taką maskownicę można zrobić w podstawowym punkcie poligraficznym z drukarką kolorową i laminarka termiczną. Trzeba zrobić wydruk na papierze samoprzylepnym a następnie go zafoliować.
Dla przypomnienia, na Github można znaleźć plik .pdf z rysunkiem takiej płyty czołowej. Koszt wykonania zalaminowanej strony w najbliższym punkcie u mnie to 6PLN. Nie jest to równie trwałe rozwiązanie jak wydruk na folii ale jest w miarę estetyczne i pozwala na szybkie zmiany prototypowe zanim powstanie rozwiązanie docelowe.
Otwór wyświetlacza trzeba wyciąć nożem do tapet a inne otwory przebijakami o odpowiednim rozmiarze.
Wspominałem wcześniej o układzie formowania sygnałów heterodyny mieszacza Tayloe (F0 i F1).
[Obrazek: http://lx-net.pl/walet/image/form.jpg]
Układ ten sterowany jest (Clk) z wyjścia F0 si5351 z podwójną częstotliwością pracy urządzenia. W obwodzie działają układy 7474 oraz 7486. Układ ten rozwiązuje problem sterowania wprost z si5351 z przesunięciem fazy między sygnałami co wymaga restartu pętli PLL a to z kolei generuje stuki podczas strojenia.
Niestety, pokazany układ formowania też nie jest idealny.
[Obrazek: http://lx-net.pl/walet/image/form01.jpg] [Obrazek: http://lx-net.pl/walet/image/form02.jpg]
Pierwsze zdjęcie pokazuje jak wyglądają sygnały przy pracy na 3.5MHz. Widać dwa ładne sygnały przesunięte w fazie o 90 stopni.
Drugie zdjęcie pokazuje "dziurę" w pracy układu formowania - znika F0 na jakiś czas od ok. 22.5MHz do ok. 23.5MHz, Na szczęście zarówno dla niższych jak i wyższych częstotliwości formowanie działa prawidłowo. Niestety, nie zgłębiałem tego problemu ze względu na ważniejsze tematy, przypuszczam, że wynika to z tzw. "hazardu" i/lub "wyścigów" w układach cyfrowych. Z grubsza oznacza to problemy jeśli sygnały sterujące mają różne drogi (opóźnienia) na dotarcie np. do przerzutnika i docierają w niewłaściwej kolejności lub działają na układach o różnej prędkości.
Dlatego istotne jest aby zastosowane układy 7474 i 7486 powinny działać z możliwie dużą prędkością. Naturalnym wyborem są układy 74AC74 oraz 74AC86 ale jak widać i to nie wystarcza.
Poza pokazaną dziurą w pracy układu formowania, im wyższa częstotliwość pracy, tym bardziej objawia się skończony czas narastania zboczy impulsów oraz ograniczenia propagacji co objawia się delikatnym stukotem w głośniku bez podłączonej anteny. Z sygnałem użytkowym przeszkoda ta zanika w szumie lub jest lekko zauważalna na najwyższych pasmach.
Istnieje szybsza wersja układów tych układów, a nawet posiadam takie układy (LVC/ALVC) ale niestety, podczas wlutowania układu 7474 pomyliłem jego miejsce i wlutowałem go zamiast 7486. Po włączeniu zasilania usmażyłem ten układ więc na razie poprzestałem na wersji AC. Wrócę do tematu jak będę miał więcej czasu.
Uwaga:
Dokonałem drobnych zmian w oprogramowaniu a nowe wersje zamieściłem w obu formach na Github tak, że nie zmieniła się numeracja linii w kodzie Arduino.
Większość zmian to kosmetyka (np. wydłużenie czasu nieaktywności klawisza Save w procedurze Setup lub skrócenie funkcji intro po włączeniu urządzenia ale jedna ze zmian jest nieco ważniejsza bo dotyczy doboru w procedurze Setup korekty dla generatora si5351.
Okazało się, że wprawdzie korekta działa ale nie można jej sprawdzić w podany wcześniej sposób na gnieździe RF płytki ha bo sygnał ten może się pojawić dopiero jeśli układ działa w trybie nadajnika. Obecnie, po wejściu do Setup i wykonywaniu zmian korekty można na bieżąco śledzić wpływ zmian mierząc częstotliwość sygnału referencyjnego 10MHz na gnieździe RF.
Należy jednak wcześniej włączyć urządzenie na kilka minut aby si5351 osiągnął równowagę termiczną. U mnie wartość korekty wynosi ok. 26700 (czyli ok. 267Hz). Trzeba też pamiętać, że poziom tego sygnału na gnieździe RF zależy od ustawienia rezystora nastawnego RV1 (Cw_level) na płytce ha.
We wcześniejszej, nieskorygowanej wersji oprogramowania można ten sygnał mierzyć wprost na wyjściu F2 układu si5351 lub na stykach 5/8 przekaźnika K1 na płytce ha. Ponieważ zmiany nie są wielkie to nie modyfikowałem wersji oprogramowania.
Zgłosiłem Walet-a do tegorocznego konkursu PUK i czekam na potwierdzenie zgłoszenia.
Prawdopodobnie pojawię się w Burzeninie w sobotę a może nawet przywiozę płytki urządzenia bo mam kolejne zapytania na ten temat.
cdn. lj
Github

