www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik High-level Protokoll zum Datenaustausch zwischen 2 µC (ARM,Blackfin)?


Autor: sverige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich bin gerade dabei mir zu überlegen wie ich das Protokoll zum 
Datenaustausch zwischen 2 über UART verbundenen µC realisieren könnte.

Natürlich kann ichs selbst basteln a la MessageID, MessageLength, 
MessageData und mir dann einen eigenen Parser auf beiden Seiten 
implementieren. Aber ich denke mir, vor dem Problem steht doch fast 
jeder irgendwann, also sollte es da etwas vorgefertigtes geben?

Jetzt habe ich mir den ASN.1 standard angesehen und der wirkt für mich 
etwas überdimensioniert. (http://lionet.info/asn1c/basics.html)
Hat den schon jemand für µC verwendet und kann den empfehlen? Wie groß 
ist denn der Traffic Overhead von ASN.1?

Ich würde das Protokoll zwischen zwei 32bittern (ARM, Blackfin) laufen 
lassen, die Komplexität der zu übertragenen Daten ist nicht besonders 
hoch. (ca 30 verschiedene Messagetypen). Datenaufkommen variiert, sollte 
die UART aber auch nicht ausreizen.

Oder ist es doch einfacher ich schreibe mir den Parser, also encoding 
und decoding auf den beiden Plattformen selbst? Mir wäre natürlich ein 
fertiges Protokoll lieber, damit hätte ich weniger testing aufwand.

lg

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich verwende gerne das ModBus-Protokoll, dieses ist ein Master-Slave 
Protokoll.
Dies gibs einmal als ASCII Version (nehme ich für Mensch-Maschine) und 
als binäre Version (nehme ich für Maschine-Maschine).

Sieh mal auf ModBus.org dort sind alle infos frei verfügbar!
und ich glaub hier in der Linksammlung gibs auch infos...

und als Bonus gibs es das Protokoll, als ModBus over IP. ;-)

Infos:

Das Protokoll arbeitet:
1) mit 1 Bit, es ist möglich 1 Bit zu setzen oder zu löschen
2) mit mehreren Bits...
3) auf 1 Register (16 Bit breit) lesen oder schreiben
4) auf mehrere Register...
5) mehrere Register lesen und schreiben
6) Broadcast messages sind ebenfals möglich

mfg

Autor: Sverige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dankeschön Stephan für die ausführliche Antwort und den Tipp

ModBus kannte ich noch gar nicht, ist aber scheinbar super für meine 
Zwecke einsetzbar drum hab ich mir jetzt die librarys von 
http://www.freemodbus.org/ angesehen. Was ich aber noch nicht verstehe:

Ich brauche doch sowohl slave als auch master libraries um eine 
Verbindung aufzubauen? Ich habe den Einduck die libs gibt es immer nur 
für slaves und es ist angedacht diese dann an einen pc anzuschließen 
welcher den master spielt?



lg!

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.