Forum: Mikrocontroller und Digitale Elektronik eigenes Protokoll entwickeln


von Jonas (Gast)


Lesenswert?

Hi,
ich lese immer, dass leute ihr eigenes Protokoll entwickeln. Das hört 
sich super interessant an, aber leider verstehe ich das nicht so ganz.
Ich verstehe nicht ganz, wie die es übertragen.
Wie kann ich definieren, wie lang der Frame ist und wie kann ich das 
ganze dann
übertragen?

Oder würde das ganze dann z.B. über UART laufen? Aber dann habe ich ja 
meiner Meinung nach kein eigenes Protokoll entwickelt.

Jonas

von Cyblord -. (cyblord)


Lesenswert?

Jonas schrieb:
> Oder würde das ganze dann z.B. über UART laufen? Aber dann habe ich ja
> meiner Meinung nach kein eigenes Protokoll entwickelt.

Es gibt Protokolle auf verschiedenen Ebenen. Schau dir doch mal TCP/IP 
an z.B. Viele Ebenen und auf jeder einige Protokolle.

Ein UART alleine bringt dir wenig, wenn du Informationen übertragen 
willst. Den Bytes einen Sinn zu geben, die durch den UART flitzen, das 
ist dann dein Protokoll.

von Peter II (Gast)


Lesenswert?

Jonas schrieb:
> Oder würde das ganze dann z.B. über UART laufen? Aber dann habe ich ja
> meiner Meinung nach kein eigenes Protokoll entwickelt.

XModem ist auch ein Protokoll, was man über UART läuft.

von Klaus (Gast)


Lesenswert?

Jonas schrieb:
> [...]
> Oder würde das ganze dann z.B. über UART laufen? Aber dann habe ich ja
> meiner Meinung nach kein eigenes Protokoll entwickelt.
>
> Jonas

Und worauf gründet sich diese Meinung?


Es kommt mir vor, als wenn Dir der Unterschied zwischen den 
Hardware-Eigenschaften einer Schnittstelle und den Eigenschaften der 
darüber übertragenen Information nicht klar ist.

Beachte das UART im engeren Sinne etwas anderes bezeichnet als "RS232". 
Lies dazu einmal den RS232-Artikel im Wikipedia. Da wirst Du auf einen 
interessanten Satz stossen: "Das Übertragungsprotokoll ist nicht 
Bestandteil des Standards."

Was ist die Konsequenz daraus? Wie lässt sich UART in Beziehung zu RS232 
setzen?


Offen gesagt, solange Du nicht vor einem Problem stehst, dass Du etwa so 
beschreiben würdest: "Ich übertrage Daten. Aber manchmal versteht der 
Empfänger etwas völlig anderes obwohl die Daten definitiv korrekt 
übertragen werden." stellt sich Dir diese Frage nicht.

Der Beginn des Threads klingt für mich (ich meine das nicht böse), wie: 
Da machen ein paar Leute etwas, was andere für toll halten. Ich weiss 
nicht wozu das gut ist, aber ich will auch was tolles verstehen, weil 
[...].

Das ist unnötig. Beschäftige Dich immer Schritt für Schritt mit dem 
nächsten Problem.

von Jonas (Gast)


Lesenswert?

Cyblord -. schrieb:
> Ein UART alleine bringt dir wenig, wenn du Informationen übertragen
> willst. Den Bytes einen Sinn zu geben, die durch den UART flitzen, das
> ist dann dein Protokoll.

Also 'nur' durch die Zuordnung von Informationen an den einzelnen Bits 
eines Frames wird das Protokoll beschrieben?
Also wird sich nicht Hardwaremässig darum gekümmert, dass die 
Informationen vermittelt werden.

Weil oft lese ich auch, dass überprüft werden muss, ob der Empfänger die 
Daten erhalten hat (was ja auch wichtig ist). Aber wird das nicht 
sowieso vom Transciever übernommen? Also ist das nicht auch schon 
Hardwaremässig implementiert?

von Peter II (Gast)


Lesenswert?

Jonas schrieb:
> Aber wird das nicht
> sowieso vom Transciever übernommen? Also ist das nicht auch schon
> Hardwaremässig implementiert?

wie soll den bei RS232/UART die Hardware Prüfen ob die erfolgreich 
übertragen wurden?

ein Radiomoderator kann auch nicht prüfen ob ihm jemand zuhört.

von Cyblord -. (cyblord)


Lesenswert?

Jonas schrieb:
> Cyblord -. schrieb:
>> Ein UART alleine bringt dir wenig, wenn du Informationen übertragen
>> willst. Den Bytes einen Sinn zu geben, die durch den UART flitzen, das
>> ist dann dein Protokoll.
>
> Also 'nur' durch die Zuordnung von Informationen an den einzelnen Bits
> eines Frames wird das Protokoll beschrieben?
> Also wird sich nicht Hardwaremässig darum gekümmert, dass die
> Informationen vermittelt werden.

Ein Protokoll kann auch eine Überprüfung beinhalten, ob Informationen 
angekommen sind (Stichwort. ACK).

Dann kann ein Protokoll aus viel mehr bestehen als nur einer reinen 
Zuordnung. Es beschreibt eventuell viele Pakettypen, Befehle, mögliche 
Antworten, Timings, Fehlerbehandlung usw usw.


> Weil oft lese ich auch, dass überprüft werden muss, ob der Empfänger die
> Daten erhalten hat (was ja auch wichtig ist). Aber wird das nicht
> sowieso vom Transciever übernommen? Also ist das nicht auch schon
> Hardwaremässig implementiert?
Wie sollte das gehen? Im besten Fall übernimmt ein fertiger Chip oder 
eine SW-Library ein Protokoll auf unterer Ebene und handelt Acknowledge 
und Retransmission selber. Aber im Endeffekt ist das alles irgendwie nur 
Software. Der physikalische Übertragungskanal kann so was ja nicht 
selber sicherstellen.

von Bastler (Gast)


Lesenswert?

Eine UART sendet ja nur ein Byte nach dem anderen.

Welche Bedeutung diese Bytes haben wird im Protokoll festgelegt.
z.B.: Start|Länge|Daten ...|Checksumme|Stopp


Um Sicherzustellen dass Daten korrekt übertragen wurden verwendet man 
eine Checksumme und / oder Acknowledge.

=> suche mal nach OSI Schichten Modell, vielleicht wird dann einiges 
klarer.
Man kann das selbe Protokoll auch über verschiedene physische Wege 
übertragen.

von Route_66 H. (route_66)


Lesenswert?

Peter II schrieb:
> ein Radiomoderator kann auch nicht prüfen ob ihm jemand zuhört.

Es gibt auch Ein-Richtungs-Protokolle (unidirektional).
Über ein sehr bekanntes wird die DCF-77 Information verbreitet.

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.