störsichere serielle Übertragung

OP #757536
Ich bin noch auf der suche nach der besten Methode von AVR zu AVR Daten 
seriell per Funk zu übertragen.

Erste Versuche mit TxD->Sendemodul .... Empfangsmodul->RxD haben zwar 
funktioniert, aber die Reichweite ist doch sehr eingeschränkt da der 
UART im AVR auch mit geringen Übertragungsfehlern nicht gut fertig wird.

Jetzt habe ich überlegt, ob ich statt des UARTs eigene Software 
schreibe, welche die Daten auf irgendeine Weise an einem Port ausgeben 
und senden bzw empfangen kann. Das ganze mit hoher Fehlertoleranz.

Die Frage ist nur, welche Methode die beste dafür ist. Gibts schon 
irgendwelche Erfahrungen, hat jemand sowas schon mal gemacht ?
Ich möchte nicht einen UART nachbauen, sondern etwas machen, was mit 
Übertragungsfehlern deutlich besser fertig wird.

Gruß
Harry
Gast #757761
Der UART ist schon gut. Der braucht seine Nullen und Einsen. Allenfalls 
muesste man die HF Leistung, die Antennen und die Modulation 
ueberpruefen. Wenn die dann gut sind, kann man noch eine Forward 
Errorcorrection reinmachen. Nach dem UART. Das UART bleibt auf alle 
Faelle. Da gibt's nicht besseres.
Gast #757776
> störsichere serielle Übertragung

ist zuerst eine Frage der Anwendung, der Umgebung und den Anspruechen. 
Die Frequenz sollte in einem Band sein, das genuegend wenig 
Interferenzen hat. Dann kann man eine unempfindlichere Modulation 
waehlen, und dort auch Bandbreite gegen Stoerabstand eintauschen. Auf 
der digitalen Seite kann man auch Bandbreite gegen Stoerabstand tauschen 
und Vorwaertsfehlerkorrigieren mit einem Hamming Code, resp 
Nachher-Fehlererkennen mit einem CRC. Die Frage ist auch, was den 
gewuenscht ist . Bei einer Sprach-/Bilduebertragung muss man's anders 
machen als bei einer Datenuebertragung.
OP #758662
mit dem UART hab ich schon auf 433 versucht. Störungen durch andere habe 
ich hier keine in der Einöde am Land :-).
Dabei habe ich den Sender erhöht aufgestellt, mir im Empfangsgerät die 
Störungen anzeigen lassen und bin dann über die Wiesen weggegangen. Nach 
ca. 50m nahmen die Störungen deutlich zu, bis 250m gings noch, danach 
waren mehr Störungen als gute Daten zu sehen.

Ich hab heute mal zum Spaß jedes Bit als Byte über den UART übertragen. 
Also ein Bit-0 als Byte 0 gesendet und dann im Empfänger wieder 
zusammengesetzt.
So ging es bis 250m fast störungsfrei, ab 350m wurde es dann schlechter. 
Das ganze braucht natürlich die mehr als 8-fache Datenmenge, war nur ein 
Versuch.

Da muss es doch irgendwelche schlauen Menschen geben, die da schon 
irgendwelche Übertragungstricks erfunden haben mit denen man das noch 
besser machen kann ?
Gast #759408
Wenn die Fehlerrate sich erhoeht, kann man ja mit der Bandbreite runter, 
zumindest auf dem Papier. Welche Art Modulation wird denn verwendet ? 
Oder eine Richtantenne einsetzen, oder beides. Ich hab hier ein ZigBee 
Modul, das glaubt 1Meile mit den 100mW zu machen. Hab's aber noch nicht 
probiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.