Forum: Mikrocontroller und Digitale Elektronik Wie programmiert man ein OSI-Modell


von Martin (Gast)


Lesenswert?

Hallo Mikrocontroller-Gemeinde!

Ich mache gerade mein erstes Praxissemester in einem kleinen Ing.-Büro.
Meine Aufgabe ist es eine bereits definierte Kommunikation in einen MSP 
zu programmieren. War am Anfang wohl etwas zu euphorisch, was das Thema 
betrifft, denn auf die Frage: "Können Sie sowas programmieren" habe ich 
mit "Ja" geantwortet. in C-Programmieren bekomme ich ja hin. Habe ja ein 
Semester das gehabt, aber ich muss jetzt feststellen, dass so ein 
Protokoll zu implementieren doch eher ein Hochhaus, als eine Hündehütte 
ist.

Könnt ihr mir einen Tipp geben, wie man so was sauber anstellt, dass man 
die Schichten (OSI-Modell) sauber voneinander trennt?

Bin um jedem hilfreichen Tipp dankbar!

Viele Grüße
Martin

: Verschoben durch Moderator
von Blackbird (Gast)


Lesenswert?

Schaue Dir mal die ISDN-Programmierung von AVM ("Fritzbox", ...) an. Ist 
auf deren home page beschrieben.

Oder suche nach einer Implementierung des HDLC-Protokolls.

Mit ein paar Worten und in ein paar Tagen ist es für einen OSI-Neuling 
nicht getan, leider.

Blackbird

von Stephan (Gast)


Lesenswert?

Morgen,
das ist nicht so einfach zu erklären. Kannst du uns dein Protokoll 
nennen das du programmieren musst?

ich kann dir mal ein Beispiel zeigen:

L1 -> RS232 mach der MC selber (ausser RTS und CTS usw.)
L2 -> Timeoutprotokoll oder 3964R
      Hier muss du bestimmen wie Daten erkannt werden, wann ein gültiger
      Datensatz vorliegt.
L3, L4 -> ModBus
      Hier stehen jetzt logische Informationen wie Adresse, was gemacht
      werden soll usw.

und dann wird die Antwort in umgekehrter Reihenfolge wieder zurück 
gesendet.

wichtige Informationen:
1) Ist es ein "Schnittstellen-Protokoll" ???
2) Ist es ein "Logisches-Protokoll" ???
(es gibt noch mehr (höhere) Protokollstufen)

Schnittstellen-Protokolle arbeiten meist im Hintergrund und werden vom 
"User" nicht gross wahr genommen.
Bei einem Timeout-Protokoll wird nach dem Empfang eines Zeichens ein 
Timer gestartet und mit neuem Zeichen wieder neu Aufgezogen, läuft der 
Timer ab ist der Datensatz vollständig.

Logische-Protokolle brauchen "Wissen" was wie geregelt wird.
Bei ModBus brauchst du eine Geräteadresse und Funktionen die die 
Anweisungen vom Protokoll im MC entgegen nehmen. Diese Protokollen 
können von verschiedenen Schnittstellen mit Daten versorgt werden. 
(ModBus -> RS232 oder TCP)

Stephan

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.