Hallo Leute, ich möchte gerne Befehle und Daten (z.B. per SPI) an meinen Mikrocontroller senden. Die Nachricht sollte folgende Bestandteile beinhalten: - Befehl mit ca. 16Bit Länge - Checksumme - Datenlänge von Payload (0 bis N bit) - Payload (kann auch leer sein, meistens 32bit, selten länger) Gibt es schon Protokolle für diesen Anwendungszweck? Ich würde gerne vermeiden, das tausendste Protokoll für Kommunikation mit einem uC zu entwickeln :) EDIT: Ich hab gerade ROSserial entdeckt: http://wiki.ros.org/rosserial Was haltet ihr davon? Danke schon mal :)
:
Bearbeitet durch User
Nun, das Protokol wird duch sein Anforderungen bestimmt. Variable Laenge, heisst ein Laengenfeld Also etwas wie : Header, Laenge, Command, Payload, Checksum Mach's einfach.
Stephan R. schrieb: > Ich würde gerne vermeiden, das tausendste Protokoll für Kommunikation > mit einem uC zu entwickeln Ich bin total bei Dir, aber ich befürchte inzwischen, das hat keinen Zweck, weil die die ISO/OSI-Layer bei vielen Protokollen nach dem Motto "Mach's einfach" nicht sauber getrennt sind. Stephan R. schrieb: > Ich hab gerade ROSserial entdeckt: … Was haltet ihr davon? Ich sehe da gerade "1st Byte - Sync Flag (Value: 0xff)". "Sync" ist Schicht 1, oder? Stephan R. schrieb: > Checksumme Die Checksumme ist Schicht 2, oder? Siehe: https://de.wikipedia.org/wiki/OSI-Modell#Schicht_2_%E2%80%93_Sicherungsschicht_(Data_Link_Layer)
Vielen Dank für die Antworten :-) Flaschen Zähler schrieb: > Nun, das Protokol wird duch sein Anforderungen bestimmt. Ja schon, jedoch hatte ich mir gedacht, dass diese Anforderungen so trivial sind, sodass sich hierfür schon jemand Gedanken gemacht hat. Torsten C. schrieb: > Ich sehe da gerade "1st Byte - Sync Flag (Value: 0xff)". > > "Sync" ist Schicht 1, oder? > > Stephan R. schrieb: >> Checksumme > > Die Checksumme ist Schicht 2, oder? Die Checksumme sollte in Schicht 2 sein. Die Sync Flag haben die vermutliche in das Protokoll reingeschrieben, da es eventuell nicht jeder Physical Layer gewährleistet? Kann das in meinen Fall zu einem Problem führen oder ist das nur wegen der Kosmetik?
So ein triviales Protokoll laeuft nicht unter das Rad neu erfinden, sondern unter eine loesung anwenden. Das Layer Zeugs kann man auch gleich vergessen, solange man nichts Komplizierteres macht. zB ein Protkoll in ein Anderes einpackt, routet oder so.
Stephan R. schrieb: > Die Sync Flag haben die vermutliche in das Protokoll reingeschrieben, > da es eventuell nicht jeder Physical Layer gewährleistet? Beim SPI ist der Sync über die CSN-Leitung gegeben. Welcher andere Physical Layer denn? Für ein Protokoll per UART z.B. bräuchte man ein Sync. Ich denke gerade mal laut, denn ich brauche ein Gateway/Router von USB-UART (FTDI/CH340/…) auf verschiedene Busse (SPI, SMBus, ...). Jetzt könnte man bis "ganz nach oben" gehen und das Internet-Protokoll per SLIP verwenden. Aber das Mapping von IP-Adressen auf SMBus-Adressen oder CSN-Leitungen für SPI wäre auch wieder proprietär. Oder ein Layer darunter: MAC-Adressen auf SMBus-Adressen oder CSN-Leitungen mappen. Auch das wäre proprietär. Das^^ macht alles wenig Sinn und ist nur Brainstorming.
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.