Forum: Mikrocontroller und Digitale Elektronik Fehlerkorrigierendes Protokoll


von Hans M. (fuxdancer)


Lesenswert?

Hallo!

Habe für ein Projekt eine Aufgabenstellung bekommen, die wie folgt 
lautet:
"Es ist ein Protokoll für die RS485 Schnittstelle zu entwickeln mit dem 
man Fehler erkennen und auch korrigieren kann. Dazu ist die Sender- und 
Empfänger-Software zu programmieren und mit entsprechenden Daten zu 
testen. Die Ergebnisse sind zu dokumentieren."

Hintergrundinfo:
Ich steuere ein Gerät mit dem PIC18F4550 und sende Daten in Form von 
Strings von einem LabVIEW-VI aus an den PIC über RS485, welcher diese 
weiterverarbeitet und den Funktionsgenerator steuert (über digitale 
Potentiometer etc).
Nun soll ich, wie oben steht, ein Protokoll entwickeln, wo ich mögliche 
Übertragungsfehler erkennen und korrigieren kann.
Muss ich hier einen fehlerkorrigierenden Code verwenden (z.B. BCH-Code, 
Hamming-Code, ...) oder soll ich etwa ARQ (Automatic Repeat Request) 
verwenden, falls Daten falsch gesendet werden, einfach neu senden?

Wenn ihr noch mehr Info darüber braucht, fragt einfach!

von ... .. (docean) Benutzerseite


Lesenswert?

beides kann notwendig sein...

z.B. gibt es ja Methoden (z.B. CRC) die nur Fehler erkennen, aber keine 
korrigieren können, dann muß eh neu übertragen werden

Ich würde mich fragen:
-Wie aufwendig ist das erneute Verschicken der Daten? Sind die vlt. 
schon nicht mehr da (ADC-Werte)?
-Wie groß sind meine Paketet? also wieviel Daten übertrag ich unnütz 
nocheinmal?
-wie aufwendig ist das berechnen der einzelnen verfahren?

von Gast (Gast)


Lesenswert?

Warum fragst du nicht erstmal den Aufgabensteller wenn dir die 
Aufgabenstellung unklar ist?

von Hans M. (fuxdancer)


Lesenswert?

... ... schrieb:
> beides kann notwendig sein...
>
> z.B. gibt es ja Methoden (z.B. CRC) die nur Fehler erkennen, aber keine
> korrigieren können, dann muß eh neu übertragen werden
>
> Ich würde mich fragen:
> -Wie aufwendig ist das erneute Verschicken der Daten? Sind die vlt.
> schon nicht mehr da (ADC-Werte)?

Daten sind immer noch da, ich erzeuge mit z.B. 3 Drehreglern einen 
String in LabVIEW und dieser Wert bleibt solange, bis ich ihn verändere.

> -Wie groß sind meine Paketet? also wieviel Daten übertrag ich unnütz
> nocheinmal?

Den String, den ich hinübersende sieht bei mir z.B. so aus:
:01UI1123  46

> -wie aufwendig ist das berechnen der einzelnen verfahren?

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
Noch kein Account? Hier anmelden.