www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehlererkennung und -korrektur bei RS485


Autor: Hans M. (fuxdancer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich möchte bei der Kommunikation zwischen meinem PIC18F4550 und meinem
PC über RS485 eine Fehlererkennung und Fehlerkorrektur der gesendeten
Daten realisieren. Die Daten, die ich zum PIC sende, sind Strings, die
er weiterverarbeitet und so aussehen ":01UI 705  29" usw.
Die Daten werden nicht andauernd gesendet, nur wenn ich in einem
LabVIEW-VI via VISA durch Klick eines Buttons Daten an den PIC sende.
Könnt ihr mir vielleicht sagen, welche Code für meinen Anwendungszweck
gut wäre? Hab schon was gehört von Hamming-Code, RS-Code, ..., nur kann
ich leider nicht sagen, welcher davon wirklich für praktische
Anwendungen gut zu gebrauchen ist?

Ich hoffe auf eure Hilfe Spezialisten! Sollte meine Frage euch dumm
vorkommen, dann sagt mir das in normaler Sprache (NICHT Troll, Vollidiot
etc verwenden ...) und habt Respekt wie zu jedem anderen Menschen auch,
bitte!

cheers

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Standardweg, Fehler zu erkennen ist ein CRC. Ein CRC Fehler fuehrt 
dann zu einer erneuten Uebermittlung. Falls man es sich nicht leisten 
kann eine neue Uebertragung anzufordern, sei es weil die 
Datenuebertragungsrate zu hoch ist, resp. die Zeit zu lang, dann 
verwendet man einen Hamming code. Der erlaubt einen Einzelbitfehler zu 
Flicken und zweibitfehler zu erkennen. Allenfalls sind auch Codes 
denkbar, die mehr als einen Einzelbitfehler flicken koennen. Falls ein 
Hammingcode den Fehler nicht flicken kann, so war die Muehe umsonst. 
Dann wird der Block nochmals uebertragen. Daher sollte man die 
Haeufigkeit von Einzelbitfehlern kennen.

Labview ist Laborzeug, hat in einem industriellen Geraet nichts zu 
suchen. Die Fehlererkennung bei Labview ist die Redundanz, dass alles 
als Text uebertragen wird. Falls ein Packet verworfen wird, gibt's 
keinen Messwert, was soll's dann  clickt man eben nochmals.

Autor: Gast XIV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das was du möchtest ist ein gegen Fehler gesichertes Protokoll. Hat 
erstmal mit dem Medium (hier RS485) nichts zu tun und gibt es in allen 
möglichen "Formen und Farben".

Meiner Meinung nach am einfachsten einzubauen sind die Protokolle 
Motorola (bin) und Intel (hex) Format.

Für die gibt es auch sicher überall fertigen Code.

Autor: Hans M. (fuxdancer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast XIV schrieb:
> Das was du möchtest ist ein gegen Fehler gesichertes Protokoll. Hat
> erstmal mit dem Medium (hier RS485) nichts zu tun und gibt es in allen
> möglichen "Formen und Farben".
>
> Meiner Meinung nach am einfachsten einzubauen sind die Protokolle
> Motorola (bin) und Intel (hex) Format.
>
> Für die gibt es auch sicher überall fertigen Code.


Könntest du mir vielleicht einen Link geben, wo ich so ein Protokoll 
finden könnte oder etwas darüber in Erfahrung bringen könnte?
Aber eigentlich soll ich in meinem Projekt Codierungsvarianten wie 
Hamming oder ähnliches verwenden. Wie viele Fehler bei mir auftreten 
werden, das weiß ich noch überhaupt nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.