mikrocontroller.net

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


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Blackbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.