Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:utrak:aprs

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
projekte:utrak:aprs [2014/10/21 10:29] – [Beschreibung] thastiprojekte:utrak:aprs [2014/10/21 18:55] – [AFSK-FM] thasti
Zeile 22: Zeile 22:
 Der Phasenakkumulator wird bei jedem Takt auf Grundlage des aktuell zu übertragenden Tons erhöht (FCW_MARK bzw. FCW_SPACE). Aus einer Sinus-Tabelle, erstellt mit einem kleinen Skript, wird der nächste Sinus-Wert ausgelesen und daraufhin der Si4060 auf den entsprechenden Kanal gewechselt. Der Phasenakkumulator wird bei jedem Takt auf Grundlage des aktuell zu übertragenden Tons erhöht (FCW_MARK bzw. FCW_SPACE). Aus einer Sinus-Tabelle, erstellt mit einem kleinen Skript, wird der nächste Sinus-Wert ausgelesen und daraufhin der Si4060 auf den entsprechenden Kanal gewechselt.
  
 +Beim Si4060 beschränkte eine wenigstens annähernd saubere FM-Aussendung bisher, dass die PLL-Register nicht während des Sendens aktualisiert werden können. Dies lässt sich umgehen, indem man statt der PLL-Register selbst (Integer/Fractional-Teiler) einfach die Offset- oder Deviation-Register des FSK-Modems beschreibt, im Ergebnis ist es das gleiche. 
 +16 Bit "Einstellbreite" sind vorhanden, wenn man das Offsetregister verwendet. Der Hub sollte 3kHz nicht übersteigen, bei 30MHz Quarzfrequenz und einer PLL-Auflösung von 21 Bit hat man eine Frequenzauflösung von 14Hz im 70cm-Band, also sollte man 419 "Digits" Hub machen. Dies schlägt sich in der Sinustabelle des NCO nieder.
 ==== Bit-Stream ==== ==== Bit-Stream ====
 Aus einem ganzzahligen Teil des Sampletaktes wird der Bit-Takt erzeugt, mit welchem die Funktion zum holen des nächsten Bits ausgeführt wird. Es wird sich einerseits um die NRZI-Kodierung gekümmert, als auch um die Vorgabe des AX.25-Protokolls, Bit-Stuffing zu betreiben. Nach der fünften "1" wird automatisch eine "0", also ein Flankenwechsel eingefügt und das nächste Nutzdatenbit um eine Bitlänge verzögert. Aus einem ganzzahligen Teil des Sampletaktes wird der Bit-Takt erzeugt, mit welchem die Funktion zum holen des nächsten Bits ausgeführt wird. Es wird sich einerseits um die NRZI-Kodierung gekümmert, als auch um die Vorgabe des AX.25-Protokolls, Bit-Stuffing zu betreiben. Nach der fünften "1" wird automatisch eine "0", also ein Flankenwechsel eingefügt und das nächste Nutzdatenbit um eine Bitlänge verzögert.
Zeile 27: Zeile 29:
 ==== AX.25-Protokoll ==== ==== AX.25-Protokoll ====
 Von der Software wird lediglich ein Puffer beschrieben, in welchem die Nutzdaten liegen. Das zugehörige Längenfeld muss mitbeschrieben werden. Die Sende-State-Machine kümmert sich um Aussendung der Flag-Sequenzen am Anfang und am Ende, der Header-Informationen, der Nutzdaten sowie der FCS (Frame Check Sequence).  Von der Software wird lediglich ein Puffer beschrieben, in welchem die Nutzdaten liegen. Das zugehörige Längenfeld muss mitbeschrieben werden. Die Sende-State-Machine kümmert sich um Aussendung der Flag-Sequenzen am Anfang und am Ende, der Header-Informationen, der Nutzdaten sowie der FCS (Frame Check Sequence). 
 +
 +Im Hinterkopf behalten: APRS braucht zwar immer den gleichen Header (Source: eigenes Rufzeichen, Destination: APRS), aber für evtl. Telemetriepakete muss man das eigene Rufzeichen als Target einstellen.
 +
 +==== Design ====
 +{{:projekte:utrak:aprs.png?300|}}
  
 ===== Links ===== ===== Links =====
   * [[https://www.tapr.org/pdf/AX25.2.2.pdf|AX.25-Spezifikation, Version 2.2]]   * [[https://www.tapr.org/pdf/AX25.2.2.pdf|AX.25-Spezifikation, Version 2.2]]
  
projekte/utrak/aprs.txt · Zuletzt geändert: 2015/07/24 08:28 von thasti

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki