(27-10-2010 15:22)hm_dipol napisał(a): Ile czasu może trawać taka rekonfiguracja skrzynki?
Czy po wielu setkach takich zmian nie padnie EEprom procesora?
Czas ładowania konfiguracji zależy od ilości nastaw w pliku. W tej wersji skrzynki szybkość transmisji jest mała dlatego chwilkę to potrwa. Najprościej wygenerować taki plik, wysłać go poprzez terminal jako plik ASCII i będzie wiadomo ile to trwa. Do skrzynki nie jest wysyłana tablica nastaw tylko lista pojedynczych rozkazów programujących pamięci skrzynki, jest to rozwiązanie wolniejsze ale bardziej elastyczne dające większą swobodę zmiany nastaw (zmiana wybranych komórek pamięci, dogrywanie nastaw, itd.).
Przykładowy plik konfiguracyjny na pasmo 80m (w ramach oszczędności usunąłem z ramki separatory danych):
M000 - nr komórki pamięci
F03500 - częstotliwość nastawy w kHz (zawsze na 5 pozycjach)
Podczas analizy pierwszej ramki nastaw w tle na przerwaniach jest odbierana kolejna ramka. Czas trwania odbioru ramki jest wystarczający do analizy ramki i zapisu nastaw do komórek pamięci.
Lista może zawierać nastawy do 100 komórek pamięci, w dowolnej kolejności i dla dowolnej częstotliwości ale < od 32.000kHz.
Wgranie kolejnego pliku modyfikuje tylko komórki z nowymi nastawami.
Kod:
#A1M000C000L064F03400
#A1M001C001L060F03420
#A1M002C002L056F03440
#A1M003C003L052F03460
#A1M004C004L048F03480
#A1M005C005L044F03500
#A1M006C006L040F03520
#A1M007C007L036F03540
#A1M008C008L032F03580
#A1M009C009L028F03600
#A1M010C010L024F03620
#A1M011C011L020F03640
#A1M012C012L016F03660
#A1M013C013L012F03680
#A1M014C014L008F03700
#A1M015C015L004F03720
#A1M016C016L000F03740
#A1M017C017L002F03760
#A1M018C018L004F03780
#A1M019C019L006F03800
#A1M020C020L008F03820
#A1M021C021L010F03840
#A1M022C022L012F03860
#A1M023C023L014F03900
#A1TC000L000
Taki mechanizm programowania pamięci (lista w pliku) daje bardzo dużą swobodę konfiguracji eATU (różne anteny, pasma, lokalizacje) przy skromnych możliwościach procesora. Takie było podstawowe założenie tego projektu, to co przy antenie maksymalnie proste.
Po zaprogramowaniu komórek pamięci możemy zmieniać nastawy eATU podając tylko aktualną częstotliwość pracy radia.
Skrzynka odszuka w komórkach pamięci nastawy najbliższe do odebranej częstotliwości i ustawi układ dopasowania eATU.
Nastawy są ładowane do pamięci SRAM procesora dlatego ilość zapisów i modyfikacji nie jest istotna dla procesora. Jeśli chcemy zachować nastawy używamy rozkazu SAVE i dopiero wtedy dane zostają przepisane do pamięci EEPROM. Podczas startu skrzynki tablica nastaw jest czytana z pamięci EEPROM i skrzynka jest gotowa do pracy z ostatnio zapisanymi nastawami. Producent zapewnia 100tys. zapisów do EEPROMu dlatego nie ma obaw o jego szybką degradację.
Nowe rozkazy eATU (w trakcie realizacji):
#A1M001C003L007F03500[cr] - programowanie pamięci nr 1
#A1F03600[cr] - ustaw dopasowanie anteny dla f=3.600kHz
#A1S[cr] - zapisz zawartość pamięci SRAM do EEPROMu
nie osługiwane w ver.1_1