Forum: Haus & Smart Home Laborversuch zum CAN


von Sebastian L. (Firma: HfTL) (seb1982)


Lesenswert?

Hallo allerseits,

ich bin Student an der Hochschule für Telekommunikation Leipzig und 
bereite gerade meine Masterarbeit vor. Im kommenden halben Jahr werde 
ich für das Lehrgebiet "Echtzeitsysteme" einen Laborversuch entwickeln, 
der die Echtzeiteigenschaften von Feldbussen am Beispiel des Controller 
Area Networks verdeutlicht.

Das grundsätzliche Problem das ich habe ist, dass weder ich noch sonst 
jemand an der HfTL Erfahrungen in diesem Bereich hat. Ich kenne mich 
zwar in der Theorie mit dem CAN aus, hatte aber die Komponenten noch nie 
"in der Hand" und habe nun Schwierigkeiten, die richtigen Geräte 
auszuwählen; insbesondere weil ich gelesen habe, dass die Hersteller den 
Standard teilweise verändert haben sollen. Leider habe ich bisher im Web 
noch nichts vergleichbares gefunden und auch hier scheint es dieses 
Thema nicht zu geben.

Da bei dem Laborversuch deutlich werden soll, dass bei einer hohen 
Auslastung vor allem Nachrichten übertragen werden, die über eine hohe 
Priorität verfügen, benötige ich Geräte, die diese hohe Last auch 
erzeugen. Ich habe gedacht, neben einem Controller und mehreren Sensoren 
und Aktoren, könnte ggf. ein Radio diese Auslastung generieren. Um einen 
künstlichen Engpass zu erzeugen, würde ich das ganze System ferner im 
Low-Speed-Mode betreiben.

Zu welchen Komponenten würdet ihr mir raten bzw. welche sind ggf. nicht 
miteinander kompatibel? Gibt's da was, was sich ohne viel Aufwand 
"zusammenstecken" lässt? Und da, wie gesagt, der Fokus des Versuchs auf 
dem Buszugriffsverfahren, müsste ich ferner noch ein "Messgerät" haben. 
Was gibt der Markt da her?

Ich danke euch für eure Posts!

LG

Seb

von Honk (Gast)


Lesenswert?

Hi,

der CANalyzer von Vector Informatic kann alles, was Du brauchst. Er kann 
aufzeichnen wann welche Message auf dem Bus landet und auch Busload 
generieren u.v.m.. Ist aber AFAIK sehr teuer.
Guckst Du hier: http://www.vector.com/vi_canalyzer_de,,2816.html

Googlen nach USB CAN Interface sollte Dir weitere Informationen über 
möglichweise kostengünstigere Produkte verschaffen.

Ansonsten such' Dir irgendeinen µC aus, der einen (oder mehr) 
CAN-Port(s) hat, CAN-Transceiver dran und fertig. Die Entwicklung einer 
Software sollte nicht die große Herausforderung sein, wenn Du schon 
einen theoretischen Background in Sachen CAN hast.

Viel Erfolg bei Deiner Master-Arbeit.

Der Honk.

von Roland M (Gast)


Lesenswert?

Hi,
eine gute Anlaufstelle ist die CAN-Nutzerorganisation : 
http://www.can-cia.org/
Preisgünsige CAN-Intefaces dür den PC gibt es von 
http://www.peak-system.com/ außerdem gibts da noch welche bei 
http://www.s-i-e.de/ und http://www.ixxat.de/
CAN-I/O-Knoten, Sensoren und programmierbare Steuergeräte gibt es bei 
allen Automatisierungsherstellern wie IFM, B&R, Intercontrol, STW, 
u.s.w.

Viel Erfolg und
Gruß Roland

von (prx) A. K. (prx)


Lesenswert?

Sebastian Lammermann wrote:

> Da bei dem Laborversuch deutlich werden soll, dass bei einer hohen
> Auslastung vor allem Nachrichten übertragen werden, die über eine hohe
> Priorität verfügen,

Für diese Erkenntnis braucht man einen Laborversuch???

von Sebastian L. (Firma: HfTL) (seb1982)


Lesenswert?

Hallo und vielen Dank erst mal für die schnellen Antworten und die 
vielen Links!

Ich habe bei Distrelec¹ schon eine Anfrage für USB-CAN-Konverter 
gestellt. Ein paar Fragen habe ich zu dem Thema aber noch (ich bin hier 
wirklich noch Newbie ;) ):
* Wie muss ich mir das Produkt vorstellen? Wird da am PC eine 
zusätzliche Netzwerkkarte o. ä. erkannt?
* Was enthält so ein Interface? Controller und/oder Transceier?
* Kann ich so ein Gerät direkt an den Bus anschließen, oder benötige ich 
noch ein Zusatzgerät?
* Kann ich mit mehreren dieser Geräte ein Netzwerk zwischen mehreren PCs 
aufbauen?

Danke und LG

Seb

¹ Distrelec ist unser "Haus- und Hoflieferrant", ich kann praktisch nur 
hier bestellen

von Stefan Kunz (Gast)


Lesenswert?

@ Sebastian
Wie der Name schon sagt schließt du ein USB-Gerät an und wird als 
solches von der Software die wohl mitgelifert wird erkannt ( Hab nur den 
ESD USB-CAN-Converter hier rumliegen).
Diese Geräte enthalten enthalten gleich den Controller und einen 
Transciever und somit kann man sie direkt am Bus anschließen(natürlich 
nicht je nach Topologie die nötigen Widerstände vergessen).
Und ja du kannst damit ein Netzwerk zwischen mehreren PCs aufbauen auch 
wenn das etwas aufwendiger ist als mit TCP/IP z.b.

MfG
Stefan Kunz

von Ein (Gast)


Lesenswert?

Hallo,
preiswerte Erfahrungen kann man auch mit den mikroe Compilern machen.

Die PIC - CAN - Kontroller werden in C oder Basic-Copilern unterstützt.

http://www.mikroe.com/en/compilers/mikrobasic/pic/builtin.htm

von Matthias N. (vbchaos)


Lesenswert?

Würde auch Vector Informatic als Anlaufstelle vorschlagen. Sind im 
Bereich CAN eigentlich Spitze. Hab mit dem CANalyzer schon beruflich 
gearbeitet und war sehr zufrieden damit. Habe damit einen CAN BUS 
zwischen 3 Mikrocontrollern "belauscht" und gezielt Datenpakete 
"eingeschleust". Ich vermute, dass du sowas suchst. Die Software loggt 
jeglichen Traffic des Busses mit, was du ja auch brauchst.

> Da bei dem Laborversuch deutlich werden soll, dass bei einer hohen
> Auslastung vor allem Nachrichten übertragen werden, die über eine hohe
> Priorität verfügen, benötige ich Geräte, die diese hohe Last auch
> erzeugen.

Ich kenn die CAN Spezifikation nicht genau, aber meines Erachtens ist 
genau das doch der Sinn bzw. einer der "Sinne" der Priorisierung von 
Paketen und sollte dementsprechend in der Spezifikation doch bereits 
enthalten sein, oder irre ich?

von Bertram S. (bschall)


Lesenswert?

Es gibt auch open Source CAN Interfaces... im Embedded Projects war ein 
Hinweis drinnen. Vl. lässt sich da ja auch ein Stück Software 
dazuschnitzen (LabView oÄ )

von CanMan (Gast)


Lesenswert?

Hallo allerseits,

da mir Vektor zu teuer ist habe nach Alternativen gesucht und 
http://www.caneasy.de/ gefunden. Das Programm ist imho leichter zu 
bedienen als die Vektor SW und wesentlich günstiger. Evtl. kannst du 
dort einmal anrufen. Habe bisher positive Erfahrungen damit und kann die 
SW weiterempfehlen.

Ein günstiger Adapter für den CAN ist sicherlich 
http://www.mhs-elektronik.de/cgi-bin/mhs.pl?id1=2&id2=1. Er funktioniert 
(soweit ich weiß) auch mit CanEasy.

Ansonsten viel Erfolg bei der MA!

von mue (Gast)


Lesenswert?

Ich kann Dir eigentlich nur von sämtlichen "Billig-CAN-USB-Adaptern" 
abraten. Die steigen eigentlich alle bei einer hohen Buslast aus, da in 
der Regel zu wenig Aufwand in die Treiberprogrammierung gesteckt wurde. 
Und das Szenario "hohe Buslast" ist ja genau das, was du machen willst.

Wenn es dein Budget nicht hergibt und du so einen CAN-USB-Adapter 
verwenden möchtest, kann ich dir nur raten, einfach eine sehr geringe 
Baudrate (10 kBit/s oder 50 kBit/s) zu verwenden. Einen Lowspeed-CAN 
brauchst du deshalb nicht benutzen, auch der Highspeed-CAN ist für diese 
Baudraten spezifiziert. Außerdem habe ich noch keinen 
Lowcost-USB-CAN-Adapter gesehen, der einen Lowspeed-Transceiver verbaut 
hat.

von Gast (Gast)


Lesenswert?

Bei uns ist beim Praktikumsversuch auch noch ein Oszi angeschlossen. 
Wenn eine(!) Nachricht zyklisch gesendet wird, erkennt man den genauen 
Datenstrom. Man bekommt dann einen Eindruck, wie die Daten gesendet 
werden (Flanken, Timing, Stuffing, NRZ, ...) und sieht als Studi 
zumindest einmal im Leben, wie die Daten über die Leitung rauschen ;-)

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.