Wie programmiert man ein OSI-Modell

Gast #1923527
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
Gast #1923581
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
Gast #1923586
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

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.