-
        

Ergebnis 1 bis 5 von 5

Thema: RS232 Fehlerkorrektur für Funkübertragung oder Alternative ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2008
    Ort
    Reit im Winkl
    Beiträge
    16

    RS232 Fehlerkorrektur für Funkübertragung oder Alternative ?

    Anzeige

    Hallo zusammen,

    ich stehe vor einem Problem und weiß nicht so recht, wie ich es lösen soll und kann.
    Ich übertrage serielle Kommunikation (RS232 TTL 1200,8,N,1) über ein Funkmodul. Leider habe ich jetzt das Problem, dass die Funkübertragung mir teilweise die Bits etwas zu lang oder zu kurz überträgt. Sie werden also leicht "verzerrt". Es ist nicht viel, aber es reicht dafür, dass nicht alle übertragenen Werte richtig ankommen.
    Ich habe mir jetzt überlegt, ob es nicht möglich ist die Bits über einen AVR laufen zu lassen und sie dort wieder auf die "richtige" Länge zu bringen.

    Also mit:

    Bitwait Pinc.1 , Set
    Bitwait Pinc.1 , Reset

    und einem Timer die Länge der Bits messen und dann
    mit

    Select Case Bit1
    Case 10 To 20 : Gosub 1
    Case 20 To 30 : Gosub 2
    Case 30 To 40 : Gosub 3
    ...
    End Select

    Die "neuen" Bits wieder ausgeben. Nur weiß ich jetzt nicht wie ich mit Bascom einen Pind.1 für 0,8333 ms (Länge des Bits mit 1200 Baud) auf high setzen soll, ohne das Programm im Ablauf (also durch Wait) zu stoppen.

    Ich hoffe es hat vielleicht jemand eine gute Idee und kann mir helfen. Danke schon mal.

    Gruß Ronny

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    19.03.2010
    Beiträge
    161
    Ich habe mal irgendwo gelesen, daß dieses Verhalten ganz normal sei. Bestimmte Bitfolgen können nicht zuverlässig übertragen werden, nämlich, wann immer mehr als 2 High oder Low Bits hintereinander kommen. Darüber hinaus müssen durchschnittlioch genau so viele High-Bits wie Low-Bits gesendet werden. Und für einen sicheren Start sollte man mehrmals hintereinander Bitfolgen wie 10101010 senden.

    Also kommt es letztendlich nur auf eine geschickte Umcodierung der Daten an. Wenn Du mit Hilfe einer Tabelle jedes Byte auf zwei Bytes umcodierst, die diese Anforderungen erfüllen, sollte das relativ einfach sein.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2008
    Ort
    Reit im Winkl
    Beiträge
    16
    Danke für den Tip, das könnte wirklich sein, dass ich keine zwei high hintereinander senden darf. Wenn ich mir die fehler ansehe, sind diese auch immer bei den Teilen wo zwei oder mehr Highbits kommen.

    Nur leider kenne ich mit dem "Umcodierung" und Tabellen nicht so gut aus, kannst du mir noch einen Tip geben, wo ich da infos dazu finde? Danke.


    Gruß Ronny

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Gibt denn die Doku zu den Funkmodulen nichts dazu her?
    Wenn die Dinger wirklich so einfach gestrickt sind, dass eine externe Vorcodierung erforderlich ist, dann muss das doch dort beschrieben sein... Welche Module sind es denn?

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    10.04.2008
    Ort
    Reit im Winkl
    Beiträge
    16
    Das ist ein Modul zu Video- und Audioübertragung. Ich übertrage GPS-Daten auch meinem Modellflieger an eine Bodenstation über den Audiokanal der Funkmoduls.
    Funktionier ja auch recht gut, aber es muss so sein, dass wenn zwei Highbits kommen das nicht mehr richtig erkannt wird. Baudrat ist auch nicht sehr kritisch, geht von 1200 - 9600 alles gleich gut.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •