Forum APRS Polska

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Strony: [1] 2 3 ... 6

Autor Wątek: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem  (Przeczytany 38851 razy)

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« dnia: Listopad 26, 2012, 21:58:13 LOC »

Cze,
W ramach swojego pewnego projektu postanowiłem, że zainteresuje się stworzeniem trackera APRS. Na początek powstało pytanie w jaki to sposób smarować na wejście audio TRXa emisję AFSK. Odrzuciłem wszelakie rozwiązania programowe polegające np na generowaniu audio przez drabinkę rezystorową, ze względu na problemy z utrzymaniem właściwych timingów. Na pierwszy ogień wybrałem standardowy modem TCM3105 aka FX614 jako zgrabne w pełni sprzętowe rozwiązanie w dodatku takowy układ posiadam na stanie także jest to kolejny plus. Zastanawia mnie jedna ważna kwestia, dlaczego wyjścia cyfrowe tego modemu nie są podłączone do wyprowadzeń TxD oraz RxD portu szeregowego? Zamiast tego wszędzie widzę DTR i CTS co wprawia mnie w zdziwienie i lekkie niezrozumienie. Oznaczało by to, że sprowadza się do programowej obsługi tej linii czego chciałbym uniknać. Wolałbym podłączyć to pod normalny UART i po prostu władować do rejestru danych bajt do wysłania i obsługiwać to w przerwaniu.... I drugie pytanie, jak w zasadzie wygląda "surowa" ramka APRS, czyli to co lata po radiu? Czytałem to: http://www.aprs.pl/teoria.htm ale opisuję to sam format ramek, który notabene i tak nie jest wg mnie ściśle opisany. Czy w warstwie fizycznej jest to kodowane kodem Manchester czy NRZI? Jak wygląda sekwencja tonów na wyjściu m.cz. w odniesieniu do nadawanych danych?

Pytanie w sumie jest do kolegi SP9UOB jako że spłodził od postaw własny tracker, ale jeżeli ktoś inny jest dość ogarnięty to również zapraszam do dyskuzji
« Ostatnia zmiana: Listopad 26, 2012, 22:02:45 LOC wysłana przez SP8EBC »
Zapisane
Mateusz == 43-300 Bielsko Biała

SP9UOB

  • *
  • Offline Offline
  • Wiadomości: 165
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #1 dnia: Listopad 27, 2012, 19:18:27 LOC »

Skoro zostałem wywołany,


0. utrzymanie właściwych timingów na procesorze z zastosowaniem drabinki, PWM'a czy innego DAC'a jest najprostsze w całym procesie projektowania  trackera
1. TCM3105 czy FX614 to modemy, podłączane są do linii kontrolnych portu szeregowego, ponieważ linie RxD i TxD podłączone są do sprzętowego UART'u który nie obsługuje synchronicznej transmisji danych HDLC jaka ma miejsce w AX.25
2.  ponieważ jak napisałem wyżej zwykły UART nie jest w stanie obsłużyć HDLC - nie jesteś w stanie tego zrobić przy użyciu UART'u procesora - musisz obsługiwać go tzw "bit banging"
2a. ponieważ jak wyżej, Musisz trzymać się timingów, teraz wyobraź sobie że odtwarzasz audio z prędkością powiedzmy 64 razy większą niż szybkość transmisji i wróć do punktu 0. Proste prawda :) ?
3. Zapytanie do googla "Physical Layer packet radio" zwraca niecałe półtora miliona wyników :-) wklejam pierwszy znaleziony:  http://n1vg.net/packet/index.php
4. Chłopaki z sp-hm robili coś co się nazywa "free aprs modem" http://sp-hm.pl/thread-1332.html, jednak projekt chyba umarł - bo ostatni post był w sierpniu. Napisz do nich i zapytaj, może Ci udostępnią swoją pracę (tak przynajmniej obiecywali).

Po chwili:

Może na początek spróbuj wykorzystać projekt chłopaków z SP-HM właśnie jako modem - do niego możesz gadać normalnie UART'em - timingi, modulację, ramkowanie i sumy kontrolne zrobi za Ciebie. Tobie pozostanie jedynie parsowanie NMEA, przeliczanie metrów na stopy i węzłów na km/h, smart beaconing i formowanie ramek z pozycją. żeby nie było zbyt łatwo w formacie MIC-e :-))
Jak opanujesz wyższe warstwy i będziesz wiedział, że to działa - możesz spokojnie wrócić do pisania modemu.
« Ostatnia zmiana: Listopad 27, 2012, 19:35:44 LOC wysłana przez SP9UOB »
Zapisane

SQ5NWI

  • PG APRS
  • *
  • Offline Offline
  • Wiadomości: 265
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #2 dnia: Listopad 28, 2012, 08:19:48 LOC »

W sprawie FAM, projekt - przynajmniej formalnie - nie umarł, ale stanął w miejscu z powodu braku czasu głównych zaangażowanych.
O ile wiem kwestia udostępnienia jest wciąż aktualna i stanowi jedno z pierwszych założeń do projektu.
Tyle, że na tą chwilę modem umie nadawać, ale nie potrafi jeszcze odbierać.

Mateusz, jeśli chcesz dowiedzieć się więcej to za radą Tomka napisz na SP-HM lub bezpośrednio do Ryśka SQ9MDD.
Zapisane
Krzysiek
SQ5NWI

SP9UOB

  • *
  • Offline Offline
  • Wiadomości: 165
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #3 dnia: Listopad 28, 2012, 09:23:24 LOC »

Tyle, że na tą chwilę modem umie nadawać, ale nie potrafi jeszcze odbierać.

Co do trackera spokojnie wystarczy, a zaoszczędzi kol. Mateuszowi zniechęcenia na początku :-)
Zapisane

SQ5NWI

  • PG APRS
  • *
  • Offline Offline
  • Wiadomości: 265
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #4 dnia: Listopad 28, 2012, 09:45:09 LOC »

Tylko, że aby skorzystać z GPS potrzebne będzie coś jeszcze.
W wersji dotychczas zbudowanej oprogramowanie nie wspiera GPS (i z założenia samo modem wspierać raczej nie będzie), więc albo trzeba użyć jakiejś aplikacji (w balonie nie bardzo), albo dorobić interfejs łączący modem z odbiornikiem GPS. Z resztą taki moduł sterujący i tak będzie konieczny, bo FAM to tylko M ;-).
No, ale jak już tu było powiedziane - praca nad parsowaniem NMEA i formowaniem ramki w postaci tekstu jest zadaniem łatwiejszym niż praca nad niższymi warstwami.
Zapisane
Krzysiek
SQ5NWI

SQ9MDD

  • PG APRS
  • *
  • Offline Offline
  • Wiadomości: 231
  • ...przede wszystkim nie zakłócać...
    • SQ9MDD
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #5 dnia: Listopad 29, 2012, 23:09:16 LOC »

Opis Bit stuffing i NRZI to obowiązkowa lektura. Pracując z FX-em w zasadzie odpada Ci formowanie sygnału.
Obejrzyj koniecznie tę prezentację: http://prezi.com/27z5ktni6jle/aprs-talk/

Jeśli chodzi o FAM rozmawiałem z Darkiem SQ5NBG i jest szansa na wznowienie prac zresztą i ja powoli kończę swoje projekty w pracy więc liczę na nieco oddechu.
« Ostatnia zmiana: Listopad 29, 2012, 23:13:51 LOC wysłana przez SQ9MDD »
Zapisane

SP1WSW

  • PG APRS
  • *
  • Offline Offline
  • Wiadomości: 1218
  • ORMO rządzi ORMO radzi ORMO nigdy Cię nie zdradzi
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #6 dnia: Grudzień 02, 2012, 12:02:26 LOC »

Czy w warstwie fizycznej jest to kodowane kodem Manchester czy NRZI? Jak wygląda sekwencja tonów na wyjściu m.cz. w odniesieniu do nadawanych danych?

Czy zamiast gdybania nie lepiej zobaczyć do zrealizowanych projektów ?
Na tym forum jest kilka linków. ( wpisz w wyszukiwarce tego forum: ### )
Zapisane
Własność intelektualna: WSWBeacon, W-APRS oraz WSWobject
Tomek http://sp1wsw.szczecin.hamradio.pl
Szczecin http://www.szczecin.hamradio.pl

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #7 dnia: Grudzień 26, 2012, 11:01:13 LOC »

Przepraszam, że nie odzywałem się w temacie przez miesiąc ale z braku czasu tracker i tak odszedł na nieco dalszy plan. Musiałem napisać całą część teoretyczną do mojej pracy inż i oddać jeden projekt :(

@ SP9UOB

0. W tzw międzyczasie już się domyśliłem dlaczego te wszystkie TCMy nie są podłączane do "normalnego" USARTu... Gdyby były to na radiu było by słychać bity startu stopu i ewentualną parzystość :) Swoją drogą był by to całkiem dobry pomysł

1. Mój procesor (STM32F103) ma USART i producent wyraźnie zaznacza w dokumentacji, że może on pracować w trybie synchronicznym. Pytanie tylko czy pomimo tego załatwi mi to cokolwiek, niby TCM ma pin oznaczony jako "Output for a continuous clock signal at 16 times the highest selected (transmit or receive) bit rate", ale coś mi się wydaje że ono nie służy do synchronizacji transmisji pomiędzy modemem a uC

1a. Tak jak pisałem obsługa programowa mnie raczej nie bawi. Mogę ją zastosować, ale w tzw. ostatecznej ostateczności. Zastanawia mnie w jaki sposób rejestrował bym kolejne przesyłane bity? Moge odczytywać stan pinu z prędkością nawet 10MHz, tylko co mi z tego skoro dalej nie wiedział bym kiedy zaczyna się a kiedy kończy następny bit.

2. Jeżeli chodzi o kodowanie to w materiałach które udawało mi się znaleść dostawałem informację o kodzie NRZI. Kiedyś wydawało mi się że jest to Manchaster który byłby błogosławieństwem ale obniżał by i tak małą prędkość transmisji. Teraz widzę, że zamiast NRZI wtrąca się od czasu do czasu zero. Pojawia się jednak pytanie, jak odróżnić czy to zero jest użytecznym bitem czy też efektem wspomnianego Bit Stuffingu



Apropos. Przekopałem bardzo dużo stron internetowych ale nie znalazłem żadnych konkretnych informacji które tłumaczyły by warstwę fizyczna APRSu. W większości są to jedynie tzw. "informacje operatorskie".
Zapisane
Mateusz == 43-300 Bielsko Biała

SP1WSW

  • PG APRS
  • *
  • Offline Offline
  • Wiadomości: 1218
  • ORMO rządzi ORMO radzi ORMO nigdy Cię nie zdradzi
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #8 dnia: Grudzień 29, 2012, 14:13:09 LOC »

Apropos. Przekopałem bardzo dużo stron internetowych ale nie znalazłem żadnych konkretnych informacji które tłumaczyły by warstwę fizyczna APRSu. W większości są to jedynie tzw. "informacje operatorskie".

Literatura obowiązkowa:
ftp://ftp.tapr.org/aprssig/aprsspec/spec/aprs101/APRS101.pdf
Przydało się mi kiedyś jak pisałem translator KISS na NMEA :-)

Czekamy na tracker !
Fajnie by było na Tamie zobaczyć kolejny rodzimy porządny projekt
Inni dali radę, to Tobie też się uda.
Zapisane
Własność intelektualna: WSWBeacon, W-APRS oraz WSWobject
Tomek http://sp1wsw.szczecin.hamradio.pl
Szczecin http://www.szczecin.hamradio.pl

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #9 dnia: Grudzień 30, 2012, 01:03:22 LOC »

Narazie pracę posunęły mi się o tyle do przodu o ile znalazłem bardzo dobrze wyjaśniony aspekt warstwy fizycznej http://prezi.com/27z5ktni6jle/aprs-talk/ . Jeżeli to uda mi się przeskoczyć to myślę, że reszta pójdzie już dość gładko. W międzyczasie okazało się też, że pin na którym mam wyjście z DACa jest jednocześnie pinem CS do obsługi karty pamięci przez SPI także jeżeli zdecydował bym się na programową obsługę było by to nieco utrudnione. Albo karta albo tracker, no chyba, że karta będzie działała z linią CS stale zwartą do masy. Generalnie urządzenie jest moją pracą dyplomową i ma pełnić rolę systemu awioniki czyli wariometr i wysokościomierz. Tracker i GPS będzie dopisany w dalszej kolejności jako rozwinięce we własnym zakresie
Zapisane
Mateusz == 43-300 Bielsko Biała

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #10 dnia: Styczeń 02, 2013, 14:24:47 LOC »

Niejako że to mój pierwszy post tutaj to witam wszystkich...

@SP8EBC

A nie zastanawiales sie nad rezygnacja z TCM-a i implementacja modemu w software. Ostatnio rozmawialem z Tomkiem SP9UOB i na szybko zrobilem testy na plytce STM F4 Discovery, potem na szybko na pajaka z prockiem STM 32F103RCT6 (chinska plytka testowa Port103R)... dekodowanie mozna zrobic bez wiekszych problemow i to spokojnie uda sie na wolniejszym STM32 (<72MHz). Na chwile obecna przecwiczylem pare wariantow dekodowania, sposob o ktory opiera sie SP9UOB i troche inna metoda na filtrach FIR... Nie wiem jeszcze jak z skutecznoscia bo nie mialem czasu dopisac dekodowania ramki ax25, ale z plyta testowa o ktorej tez SP9UOB wspominal cos tam dekoduje (patrzac na strumien bajtow w oknie terminala).


W sumie tez ostatnio bardziej dla zabawy wzielo mnie na budowe modemu w oparciu o procek (bo APRS jak do tej pory mnie jakos nie wciagal, ot bardziej modem z sentymentu do Packet Radio), zobacze jakie beda efekty pracy modemu i jak bedzie z tego cos przyzwoitego to dalszy plan rozbudowa o LCD, GPS itd. Wiec chyba kolejny tracker itp. No ale do tego to jeszcze troche drogi, aby zapoznac sie blizej z APRS-em i zobaczyc co koledzy by chcieli w takim sprzecie. Zreszta jak cos dam tutaj info ze projekt bedzie powstawal (jak testy wyjda pomyslnie). W sumie finalnie postaram sie dobrac jakis tanszy uklad niz STM32F103RCT6, natomiast ARM dlatego ze kazdy moze sobie go zaprogramowac po RS-e, przez wbudowany fabrycznie bootloader (co znacznie upraszcza uruchomienie).

Na koniec przepraszam jeszcze za brak PL liter, ale niestety proba uzycia ś (na Mac OS X) konczy sie u mnie wyslaniem ucietego  posta (jaki przez chwile tutaj sie pojawil)...
« Ostatnia zmiana: Styczeń 02, 2013, 15:17:34 LOC wysłana przez SP6VGX »
Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP6VWX

  • Administrator
  • *****
  • Offline Offline
  • Wiadomości: 887
  • Jutro to dziś - tylko że jutro. S. Mrożek
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #11 dnia: Styczeń 02, 2013, 20:47:53 LOC »

Skoro padło na ARMa, mogę coś zasugerować?
Ostatnio rzuciłem okiem na PSoC5 Cypress'a.
http://www.cypress.com/?id=2233
Zapisane
Robert

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #12 dnia: Styczeń 03, 2013, 08:18:32 LOC »

Jesli chodzi o kosci Cypress-a to fakt maja fajne pozycje choc niektore nie bez wad... jedyny problem to dostepnosc tych kosci. Osobiscie projekty ktore robilem na kosciach Cypress-a byly z sampli otrzymanych od producenta. Dlatego mimo wszystko lepiej sie skupiac na latwo dostepnych i tanich procesorach...
Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #13 dnia: Styczeń 03, 2013, 11:24:58 LOC »

Na początek chciałem użyć TCMa żeby nie przejmować się aspektem zamiany tonów AFSK na stany logiczne. Potem może będe się bawił w obsługę przy pomocy wbudowanego przetwornika AD-DA. Chyba też wymyśliłem bardzo prostą metodę na dekodowanie sygnału, wystarczy mierzyć czas pomiędzy kolejnymi przejściami sinusoidy przez zero co da informację o częstotliwości. W sumie bardzo prymitywny sposób ale powinno być skuteczne...

Mógłbyś się podzielić informacjami na temat tej "metody SQ9UOB" i tych filtrów FIR, jak wygląda ich programowa implementacja? Na jakiej zasadzie one się opierają?
« Ostatnia zmiana: Styczeń 03, 2013, 11:26:39 LOC wysłana przez SP8EBC »
Zapisane
Mateusz == 43-300 Bielsko Biała

SP9RQA

  • PG APRS
  • *
  • Offline Offline
  • Wiadomości: 296
    • Zdjęcia
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #14 dnia: Styczeń 03, 2013, 11:36:18 LOC »

Na początek chciałem użyć TCMa żeby nie przejmować się aspektem zamiany tonów AFSK na stany logiczne. Potem może będe się bawił w obsługę przy pomocy wbudowanego przetwornika AD-DA. Chyba też wymyśliłem bardzo prostą metodę na dekodowanie sygnału, wystarczy mierzyć czas pomiędzy kolejnymi przejściami sinusoidy przez zero co da informację o częstotliwości. W sumie bardzo prymitywny sposób ale powinno być skuteczne...


Tak zwana metoda komparatorowa, choć prosta to jednak jest mało skuteczna, bo będziesz analizował wszelkie zakłócenia.
Tak to jest tutaj zrobione:
http://garydion.com/projects/whereavr/

Był już o tym wątek na forum parę lat temu, przy okazji tematu, czym zastąpić FX-614.


Zapisane
Krzysztof, Gorlice QSX 145.300
jabber:sp9rqa@jabster.pl, http://sp9rqa.net http://staregorlice.eu
Strony: [1] 2 3 ... 6