Fehlererkennung und -korrektur bei RS485

OP #1458579
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
#1458719
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.
Gast #1458730
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.
OP #1463107
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren