www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehlerkorrigierendes Protokoll


Autor: Hans M. (fuxdancer)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Gast (Gast)
Datum:

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

Autor: Hans M. (fuxdancer)
Datum:

Bewertung
0 lesenswert
nicht 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?

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.