Forum: Mikrocontroller und Digitale Elektronik IO-Link sniffer


von Jasmin K. (hanane)


Lesenswert?

Hallo Zusammen!!
Ich muss ein IO-Link Sniffer demnächst entwicklen Hardware+Sofware.
hat jemand eine idee ???
Danke

von Tom (Gast)


Lesenswert?

Ich dachte DU musst es entwickeln?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Um einen IO-Link-Sniffer zu entwickeln, muss man zunächst mal wissen, 
was ein IO-Link überhaupt ist. Dann muss man sich genau ansehen, wie so 
ein IO-Link arbeitet und welche Takt- und Datenraten dabei auftreten, 
sowie die elektrische Spezifikation (Spannungspegel etc.) untersuchen.

Dann kann man sich Gedanken darüber machen, wie man die übertragenen 
Signale aufzeichnen möchte - die "einfachste" Variante ist ein 
Logikanalysator mit ausreichend vielen Kanälen und ausreichender 
Speicherkapazität, wenn aber die übertragenen Daten irgendwie aus dem 
Signalstrom extrahiert werden können, dann kann es auch genügen, dies zu 
tun und die Daten nebst eines Zeitstempels irgendwo abzuspeichern.

Aber all diese Erwägungen setzen zwingend die im ersten Absatz 
beschriebenen Erkenntnisse voraus.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Gibt es doch schon:

MESCO IO-Link Monitor
http://www.mesco-systems.de/de/produkte/io-link-monitor

von Bastler (Gast)


Lesenswert?

>>Gibt es doch schon:

>>MESCO IO-Link Monitor

Finde das Teil nicht befriedigend, es meldet nach 5 sec. "Buffer 
Overflow"

Vielleicht baut ja jemand (Jasmin Kraft ?) ein besseres.
Lies einfach mal welche Datenraten es gibt (4k8  38k4  230k) und schau 
dir die verschiedenen Frametypen an.
Der Rest dürfte ein riesige Abfrage sein.

von Jasmin K. (hanane)


Lesenswert?

hallo Bastler
du hast recht ... ich habe die Frametypen angeschaut und die Datenraten 
auch...habe jetzt alles verstanden wie das läuft...aber das Problem ist 
wie transformiere ich das zu einem C-code, oder besser gesagt wie fange 
ich an dass alles zu meinem Controller beizubringen !!!!???? mir fällt 
den Anfang....Übrigens ich benutzt für mein Hardware ein NEC controller 
...

von Bastler (Gast)


Lesenswert?

möglicher Ansatz:

UART auf entsprechende Rate einstellen (vorerst manuell, später 
automatisch)

über UART Daten einlesen, dann auswerten (ok, riesen Punkt).
Vielleicht über die Zeiten, also alle 2,3ms, das Frame als Neues 
einordnen.

eingelesene Bytes auswerten:

if (BitX)
{
  // behandle so und so
}

if (BitY)
{
  // behandle so und so
}

oder mit switch / case

... gibt an der Stelle halt ne Menge Arbeit.

von Jasmin K. (hanane)


Lesenswert?

Vielen Dank noch mal Bastler :-)
wenn es dir noch irgenwelche ideen einfallen....werde ich auf jedenfall 
sehr freuen......

von Bastler (Gast)


Lesenswert?

Wäre auch als "handheld" nicht schlecht.
Gerät anschließen und Name, Version, ... werden ausgelesen und auf einem 
Display ausgegeben.

Ein paar Einstellungen sollen noch "genormt" werden.
Mal sehen in wie weit und bis wann.
Gestern hat ein AK des IO-Link-Konsortiums darüber diskutiert.

Das Projekt von Dir hört sich aber interessant an.
Wenn ich Zeit habe schau ich mir die Spec nochmals an.

von Bastler (Gast)


Lesenswert?

Bring erstmal die UART zum laufen und sortiere die Pakete.

Dann biste schon einen Schritt weiter.

von Jasmin K. (hanane)


Lesenswert?

Hallo bastler !!!
Ich hoffe du hast mich nicht vergessen !!!!
Ich hänge voll am Softwareschreiben.......

von Bastler (Gast)


Lesenswert?

Vielleicht komm ich am Wochenend mal zu einem Versuchsaufbau...

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.