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
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.
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.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.