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
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
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!
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.