HomeMade

Pełna wersja: Synteza SPHM DDS
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Ustawianie parametrów DSP
Sterownik pozwala na podgląd, edycję i zapis do tablic wszystkich parametrów dostępnych w DSP. Ustawianie parametrów odbywa się w SETUP-ie radia. Aby dostęp do tych parametrów był wygodny w ostatniej wersji oprogramowania wejście do SETUP-u jest możliwe podczas normalnej pracy sterownika. W starszych wersjach było to możliwe tylko przy starcie programu.

Klawisz wejścia do SETUP-u znajduje się w menu modulacji na dolnym klawiszu (pierwsze zdjęcie). Po naciśnięciu klawisza SETUP pojawia się ekran konfiguracji radia. W prawej kolumnie pojawiło się 5 dodatkowych klawiszy do obsługi DSP.

W setupie górny, prawy klawisz (drugie zdjęcie) pokazuje aktualną tablicę parametrów wybraną do edycji (na zdjęciu CW-G ). Jeśli chcemy wybrać inną tablicę naciskamy na klawisz aż pojawi się czarne tło klawisza. Teraz możemy głównym enkoderem wybrać potrzebną tablicę (SSB-G, SSB-Y, SSB_R, CW_G, CW-Y, CW-R). Ponowne naciśnięcie klawisza akceptuje wybór i wczytuje nastawy z eepromu.

Drugi klawisz służy do wyboru numeru parametru wg. opisu DSP z Picastara. Po naciśnięciu klawisz i pojawieniu się czarnego tła możemy enkoderem zmieniać aktualny numer parametru. Wraz ze zmianą parametru zmienia wie opis na trzecim klawiszu pokazujący aktualną wartość parametru. Takie rozwiązanie pozwala na szybkie przeglądanie parametrów zapisanych w tablicach. Zarówno numery parametrów jak i ich nastawy podawane są w formacie HEX.

Jeśli chcemy zmienić wartość nastawy naciskamy na trzeci klawisz i po pojawieniu się czarnego tła klawisza enkoderem zmieniać nastawę. Procesor nie sprawdza dopuszczalnego zakresu zmian parametru, musimy tego pilnować sami. Ponowne wciśnięcie klawisza akceptuje wprowadzoną wartość.

Jeśli zmiany mają być trwałe trzeba zmodyfikowane tablice zapisać do pomięci eeprom. Służy do tego czwarty klawisz [SAVE].
Należy pamiętać, że zapisywana jest tylko aktualnie edytowana tablica (wg. opisu na górnym klawiszu) w aktualnie obsługiwanej pamięci eeprom RTC/HSB. Do zmiany wszystkich nastaw służy podstawowy enkoder sterownika (ten od przestrajania VFO).
Jako, że sterownik jest uniwersalny istnieje możliwość wyłączenia obsługi modułu DSP aby sterownik nie wyświetlał meni z funkcjami DSP i nie wysyłał ramek z parametrami do modułu DSP. Aktualny stan ON/OFF widoczny jest na piątym klawiszu DSP. Domyślnie sterownik startuje bez obsługi DSP.

Zewnętrzna pamięć konfiguracji radia
Do odczytu/zapisu parametrów DSP sterownik potrzebuje pamięci 24c512 na module zegarka (24C512-adr, 0xA0) lub zewnętrznej pamięci na złączu HSB (Husar Serial Bus). Złącze HSB to magistrala I2C+zasilanie 5V do obsługi EEPROM-ów. Pamięć na złączu HSB jest wykrywana przy starcie sterownika oraz podczas wchodzenia do setupu. W tych momentach możemy podmieniać pamięci. Pamięć na złączu HSB ma wyższy priorytet, jeśli jest to właśnie ona będzie obsługiwana bez potrzeby odłączania modułu zegarka. Wykrycie pamięci HSB sygnalizowane jest normalnym opisem klawiszy RD<HSB, WR>HSB sygnalizujące możliwość użycia powyższych funkcji. Brak podświetlenia opisu klawiszy na biało świadczy o tym że sterownik nie widzi pamięci HSB.

Po pierwszym włączeniu radia z nowym softem trzeba zainicjować tablice w eepromie. Robimy to w setupie radia klawiszem [INIT]. Ta funkcja inicjuje domyślne nastawy całego radia (zniszczy wcześniejsze ustawienia) i inicjuje domyślne tablice dla DSP.

Klawisze do kopiowania danych pomiędzy pamięciami:
RD<-HSB przepisuje dane z pamięci HSB do pamięci na module zegarka RTC;
WR->HSB przepisuje dane z pamięci na module zegarka do pamięci zapiętej na złączu HSB.
Powyższe mechanizmy pozwalają na pełną personalizację nastaw bez edycji konfiguracji radia oraz przenoszenie własnych nastaw na inne urządzenia. Zapinam własny moduł pamięci pod radio i pracujemy na własnych nastawach.
Wszystkie funkcje opisane w ostatnich postach są aktualnie testowane i będą dostępne w wersji 1.10.
Adam,
Nie wiem czy w dobrym dziale pisze ale mam pytanie odnosnie DSP. Czy sa dostepne jakies materialy na ten temat? Czy sa juz testowane moduly DSP przez kogos? Co z dostepnoscia plytek do DSP?
Aha i jeszcze jedno pytanie odnosnie syntezy , a mianowicie w momencie nadawania co jest pokazywany w miejscu s-metra?

Pozdrawiam
Arek AC2FC
W trybie nadawania na wskaźniku S-metra wyświetlany jest wskaźnik mocy (górna linijka) oraz wskaźnik SWR-a (dolna linijka). We wcześniejszych wersjach oprogramowania nie były uruchomione przetworniki ADC dlatego wyświetlane wskaźniki to tylko "atrapa". W pełni funkcjonalne pomiary podczas nadawania będą w wersji 1.10.

Zmodyfikowany moduł DSP od PicaStara
Geneza była taka: chcieliśmy w Grupie Husar sprawdzić przydatność amatorskich konstrukcji DSP na potrzeby Husarka oraz docelowo Husara. Ze względu na dostępność dokumentacji oraz oprogramowania wybór padł na moduł DSP od PicaStara.
(opis przeniesiony do wydzielonego wątku o module DSP)
Tablice z parametrami DSP
Po włączeniu zasilania modułu DSP należy załadować do niego odpowiedni zestaw parametrów według aktualnej modulacji oraz potrzeb operatora (kolor). Taki zestaw zawiera nastawy kilkudziesięciu parametrów określających sposób obróbki sygnału przez DSP. Każdy parametr jest wysyłany w postaci prostej ramki składającej się z 3 bajtów: nagłówka, numeru parametru i wartości parametru, np. 7E 09 00 to polecenia wyłączenia kompresora.
Przykładowy zestaw parametrów dla jednego koloru:
Kod:
0x7E,0x09,0x00, 0x7E,0x07,0x00, 0x7E,0x04,0x00, 0x7E,0x03,0x00,
    0x7E,0x01,0x00, 0x7E,0x05,0x00, 0x7E,0x0B,0x01, 0x7E,0x0C,0x00,
    0x7E,0x0D,0x04, 0x7E,0x0E,0x03, 0x7E,0x15,0x60, 0x7E,0x16,0x00,
    0x7E,0x17,0x5A, 0x7E,0x18,0x00, 0x7E,0x19,0x64, 0x7E,0x1F,0x8A,
    0x7E,0x20,0x06, 0x7E,0x29,0x14, 0x7E,0x2A,0x3C, 0x7E,0x2B,0x00,
    0x7E,0x2C,0x01, 0x7E,0x2D,0x00, 0x7E,0x2E,0x02, 0x7E,0x2F,0x01,
    0x7E,0x33,0x67, 0x7E,0x34,0x03, 0x7E,0x35,0x51, 0x7E,0x36,0x64,
    0x7E,0x37,0x00, 0x7E,0x38,0x27, 0x7E,0x39,0x08, 0x7E,0x3A,0x48,
    0x7E,0x3E,0x8E, 0x7E,0x3F,0x96, 0x7E,0x41,0x98, 0x7E,0x43,0x87,
    0x7E,0x44,0x68, 0x7E,0x45,0x14, 0x7E,0x47,0x64, 0x7E,0x48,0x2A,
    0x7E,0x4A,0x00, 0x7E,0x4B,0x00, 0x7E,0x4C,0x15, 0x7E,0x4D,0x28,
    0x7E,0x51,0x3C, 0x7E,0x52,0x06, 0x7E,0x53,0x96, 0x7E,0x54,0x99,
    0x7E,0x55,0x64, 0x7E,0x5B,0x06, 0x7E,0x5C,0x00, 0x7E,0x5F,0x00,
    0xFF

Wadą oryginalnego zapisu parametrów z Picastara jest utrudniona edycja parametrów bezpośrednio w sterowniku. Pozycja parametru w ramce może się zmieniać dlatego trzeba odszukiwać gdzie w niej jest określony parametr i tam go zapisywać po edycji. Zaletą jest możliwość określania jakie parametry będą zmieniane, jeśli dany parametr jest w ramce parametrów to będzie ustawiany. Daje to duże możliwości indywidualnej konfiguracji parametrów DSP na każdym kolorze.
W moim rozwiązaniu chciałem zachować powyższe zalety eliminując niedogodności dotyczącą edycji parametrów w sterowniku.
W sterowniku XmegaTFT zastosowałem inny zapis parametrów. Każda tablica koloru/modulacji (256 bajtów) składa się z dwóch sektorów po 128 bajtów. Rozmiar tablicy 128 wynika z wielkości sektora pamięci 24C512.

1/ Pierwszy sektor zawiera tablicę nastaw wszystkich parametrów DSP. Adres w tablicy jest numerem parametru wg. opisu Picastar (0x00-wolny, 0x01-denoiser, 0x02-noise blanker, ..... 0x5B-poziom compresora). W parametrach ON/OFF pod określonym adresem wstawiamy (0-off, 1-on), przy parametrach zmiennych nastawę parametru. Parametry kończą się na adresie 0x67-squelch, reszta tablicy jest wolna. Edycja tej tablicy polega na wpisaniu pod adres parametru wymaganej wartości dla danej modulacji oraz koloru.

2/ Drugi sektor zawiera listę parametrów które będą ustawiane dla danego koloru. Jeśli tablica zaczyna się bajtami: 0x09,0x07,0x04,0x03 to oznacza że ustawiany najpierw jest compresor on/off, potem vox on/off, auto notch on/off, noise blanker on/off itd. Taki układ pozwala indywidualnie dobierać ustawiane parametry, zmieniać dowolnie ich ilość i kolejność w tablicy. Rozkazy blokowania/odblokowania przeliczeń DSP są dodawane automatycznie przez program sterownika. Program nie sprawdza poprawności zakresów nastaw, musimy sami tego pilnować.
Poniżej mamy fragmenty sektorów zawierające pierwsze 16 bajtów:

Kod:
flash   char    code_dsp_parametry[] = {
    0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x04,0x03,0x00,      //00

flash   char    code_dsp_rozkazy[] = {
    0x09,0x07,0x04,0x03,0x01,0x05,0x0B,0x0C,0x0D,​0x0E,0x15,0x16,0x17,0x18,0x19,0x1F,

Jak to działa ? Program pobiera z wybranej tablicy z drugiego sektora pierwszy bajt w którym jest zawarty numer ustawianego parametru. Według pobranego numeru pobiera nastawę z pierwszego sektora, składa ramkę z 3 bajtów i wysyła do DSP. Po wysłaniu ramki pobiera kolejny bajt z drugiego sektora i wysyła kolejną ramkę z nastawę i itd. aż trafi na parametr o numerze 0xFF który jest znakiem końca listy ustawianych parametrów. Program wczytuje maksymalnie 64 bajty z listy. Podczas edycji parametrów w setupie nie ma problemu z odszukaniem odczytem/zapisem wybranego parametru. Mamy zatem parametry w postaci regularnej tablicy i swobodę ustalania listy ustawianych parametrów.

Kończąc opis obsługi modułu DSP chciałbym szczególnie podziękować Kolegom: Darkowi SQ5KHA, który rozpracował oryginalny moduł DSP z PicaStara, wykonał nowy projekt druku oraz dokładnie opisał wykorzystywaną listę parametrów DSP oraz Koledze Piotrowi SP9FKP który jest pomysłodawcą wykorzystania DSP w Husarku oraz wykonał wersję z oprogramowaniem DSP w pamięci EPROM. Bez wsparcia i pomocy Kolegów z Grupy Husar tak szybkie zaimplementowanie obsługi DSP w sterowniku radia byłoby niemożliwe. To kolejny przykład rozwijania projektu w ramach współpracy grupowej.
1/ Dopiero w przyszłym tygodniu będzie dostępny w Artronicu nowy model wyświetlacza TFT dlatego prace nad softem się opóźniają. Nowe oprogramowanie będzie gotowe najszybciej za tydzień.

2/ Było trochę problemów z obsługą DSP ale sytuacja wydaje się już opanowana. Procesor w sterowniku pracuje na wewnętrznym generatorze RC 32MHz, który zaraz po starcie zasilania trochę "pływa" i nie zawsze trzymał wymaganą częstotliwość.

3/ W sterowniku jest wolnych kilka wejść analogowych, które można by wykorzystać za pośrednictwem potencjometrów do szybkich nastaw kilku parametrów DSP.
Witam
Są dostępne wyświetlacze. Dzisiaj kupiliśmy trzy sztuki w Artronicu.
73 SP3WYP
Tak jak pisałem wcześniej nowy wyświetlacz jest kompatybilny ze starym modelem ale nie będzie działał z poprzednimi wersjami oprogramowanie.
Po podłączeniu do sterownika efekt jest taki jak na zdjęciu. Spowodowane jest to tym, że nowy model ustawiony jest domyślnie na 16-bitowy kolor. Moim zdaniem to jest błąd, należało zrobić domyślne ustawienia tak aby być zgodny z wcześniejszym modelem bez modyfikacji softu.
Na drugim zdjęciu ekran z nowego wyświetlacza, nie jest zdjęta folia ochronna dlatego jakość nie jest najlepsza. Na oko różnic w kontraście i kolorach pomiędzy wyświetlaczami nie widzę.

Testuję aktualnie oprogramowanie w ver. 1.10 z obsługą nowego wyświetlacza. Po poprawieniu sposobu inicjowania wyświetlacza wszystko pracuje poprawnie.

Przypominam:
- oprogramowanie ver. 1.01 do 1.09 obsługuje tylko wyświetlacz TFT AVD-T320240C256;
- oprogramowanie od ver. 1.10 obsługuje stary model TFT oraz najnowszy model AVD-T320240C16BD
Adam , czekaliśmy bardzo na ten moment. Cieszymy się , że się udało.
POZDROWIENIA GRUPA HUSAREK Z JAROCINA

(26-02-2014 23:24)SP5FCS napisał(a): [ -> ]Tak jak pisałem wcześniej nowy wyświetlacz jest kompatybilny ze starym modelem ale nie będzie działał z poprzednimi wersjami oprogramowanie.
Po podłączeniu do sterownika efekt jest taki jak na zdjęciu. Spowodowane jest to tym, że nowy model ustawiony jest domyślnie na 16-bitowy kolor. Moim zdaniem to jest błąd, należało zrobić domyślne ustawienia tak aby być zgodny z wcześniejszym modelem bez modyfikacji softu.
Na drugim zdjęciu ekran z nowego wyświetlacza, nie jest zdjęta folia ochronna dlatego jakość nie jest najlepsza. Na oko różnic w kontraście i kolorach pomiędzy wyświetlaczami nie widzę.

Testuję aktualnie oprogramowanie w ver. 1.10 z obsługą nowego wyświetlacza. Po poprawieniu sposobu inicjowania wyświetlacza wszystko pracuje poprawnie.

Przypominam:
- oprogramowanie ver. 1.01 do 1.09 obsługuje tylko wyświetlacz TFT AVD-T320240C256;
- oprogramowanie od ver. 1.10 obsługuje stary model TFT oraz najnowszy model AVD-T320240C16BD
Witam.
Adam - mam pytanie.
Za każdym razem po naciśnięciu ikony CLR na wyświetlaczu pojawiają się zielone kreski widoczne na załączonym zdjęciu. Nie idzie tego skasować , jedynie wyłączenie zasilania i włączenie eliminuje ten efekt. Gdy wejdę do MENU (kiedy są te zielone kreski) ikona CW-G jest niebieska bez napisu (zdjęcie drugie). Opuszczając MENU przez ikonę QUIT na wyświetlaczu pojawiają się kolejne ale białe kreski ( zdjęcie trzecie).
Podkreślę , że dzieje się to dokładnie na wszystkich trzech modułach tak samo.
Druga sprawa to gdy podłączy się baterię litową pod zaciski BAT sterownika - nie idzie go włączyć (nie reaguje). Gdy podłączymy ją na włączonym sterowniku i odłączymy zasilanie to po ponownym włączeniu sterownik startuje pomijając okno startowe ale nie działa poprawnie.
73 SP3WYP
1/ Problem z obsługą klawisza CLR występuje również i u mnie ale tylko w ostatnich wersjach z CAT-em i DSP. Muszę chwilę nad tym posiedzieć. Po dodaniu pasma 70MHz i obsługi CAT-a i DSP kończy się RAM procesora i widocznie coś się nakłada. Jest to funkcja rzadko używana ale trzeba to poprawić.

2/ Pytanie, czy kiedykolwiek na forum lub w opisie sterownika była informacja że należy podłączać baterię do sterownika ?
Aby działało podtrzymanie procesora (tu nie działa) trzeba go odpowiednio oprogramować: wykrywać zanik zasilania i usypiać procesor. Po włączeniu zasilania inicjować od nowa układy które straciły zasilanie np. wyświetlacz. W tym sterowniku to jest opcja rozwojowa, która nie ma prawa poprawnie działać.
Stron: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
Przekierowanie