Hallo Leute,
Ich habe ein Problem mit einem Can-Netzwerk mit mehreren Teilnehmern.
Wie Ihr im Bild seht taucht neben 2 CAN Frames ein komischer Peak auf.
Die Spannugnsdifferenz kann durchaus von verschiedenen Niveaus bei den
Steuergeräten kommen. Komisch sieht das ganze dann aber doch aus. Hat
jemand von euch sowas schonmal gesehen?
Ich bin für jeden Tipp dankbar,
Viele Grüße
Julia
Ich habe zwischen CAN_H und CAN_L gemessen. Die Abschlusswiderstädne
stimmen.
Julia schrieb:> Ich habe zwischen CAN_H und CAN_L gemessen
D.h. Oszilloskop-Masse an CAN_L angeschlossen und das damit geerdet?
Klemme die Masse an CAN-GND, messe mit 2 Tastköpfen CAN_H und CAN_L, und
benutze die Mathematikfunktion zum subtrahieren.
Das Acknowledge hat oft einen deutlicheren Pegel, insbesondere dann,
wenn mehrere Teilnehmer den Empfang quittieren. Außerdem quittieren ja
auch die Empfänger, daher kann der Pegel abweichen.
Ich bin mir allerdings nicht sicher, ob das an der Position der
Acknowledge ist. Könnte man mit einem Saleae parallel dazu angeschlossen
genauer untersuchen. Oder ein Scope mit Protokollanalyse wäre noch
besser.
Julia schrieb:> Ich habe zwischen CAN_H und CAN_L gemessen.
Also Masseklemme vom Oszi an CANL? Glück gehabt!
Warum machst du es nicht so: Kanal A an CANH, Kanal B an CANL, Masse
beider Kanäle an CANGND, und dann am Oszi die Mathefunktion A-B
einschalten.
Oder gleich mit einem richtigen Differentialtastkopf...
und Triggern kann man auf die Pause nach der CAN Nachricht also wenn das
Signal langer als x Low bleibt oder eben einen MSP2551 oder ähnlichen
CAN Tranceiver dazwischen hängen wenn das Oszi keine Math Funktion hat.
Ich verwende den MSP2551 gerne weil das ein High Speed Tranceiver ist
der bis 16 kBits/sek runter kann.
Harald schrieb:> Das Acknowledge hat oft einen deutlicheren Pegel, insbesondere> dann, wenn mehrere Teilnehmer den Empfang quittieren. Außerdem> quittieren ja auch die Empfänger, daher kann der Pegel abweichen.>> Ich bin mir allerdings nicht sicher, ob das an der Position der> Acknowledge ist. Könnte man mit einem Saleae parallel dazu angeschlossen> genauer untersuchen. Oder ein Scope mit Protokollanalyse wäre noch> besser.
Das ACK müsste dieses sein. Siehe Bild.
Dreh' mal die Zeitbasis auf, um die Bit-Zeit zu bestimmen - mein
Eindruck ist, dass der Peak nicht direkt mit dem CAN zu tun hat, weil
viel länger, als auf Grund der Bit-Zeit und dem Bit-Stuffing möglich
ist.
Hey,
danke schonmal für die schnellen Antworten :)
scheinbar bin ich hier richtig gelandet.
Ich habe mit einem differnziellen Taskkopf gemessen. Ich habe nicht in
Bezug auf die CAN Masse gemessen, da die in dem Bussystem nicht mit
geliefert wird. Ich dachte auch, dass die nur für die Schirmung
einseitig gedacht ist, damit die influenzierte Ladung abfließen kann.
Oder irre ich mich :/
Das mit dem ACK war auch eine gute Idee aber es scheint als ob Tim recht
hatte. Die Spannungsüberhöhung trifft ja am Ende auf o,o
Ein Oszi mit Protokoll-Interpretation habe ich nicht. Jedenfalls nicht
für CAN-FD.
Die Bitrate im Header ist 500k und in den Daten 2Mbit.
Ich habe zum Test mal ein Gerät von Vector angeschlossen und dieses sagt
auch immer CAN-FD Error und Bitstuffing Error.
Viele Grüße
Julia :)
Julia schrieb:> Ich habe nicht in Bezug auf die CAN Masse gemessen, da die in dem> Bussystem nicht mit geliefert wird.
Aber die Geräte brauchen doch eine gemeinsame Masse.
Julia schrieb:> Ich dachte auch, dass die nur für die Schirmung einseitig gedacht ist,> damit die influenzierte Ladung abfließen kann.
Nein! Der Strom fließt bei CAN nicht über CAN_H/L im Kreis. Der
Stromkreis wird immer über GND geschlossen. Ohne gute GND-Verbindung
funktioniert das nicht.
Dr. Sommer schrieb:> Nein! Der Strom fließt bei CAN nicht über CAN_H/L im Kreis.
Üblicherweise schon. Denn der von CANL und CANH getriebene Strom erzeugt
über dem Widerstand der Leitung den nötigen Spannungsabfall. Was aus
CANH heraus kommt muss also beim Sender in CANL wieder hinein. Und
die Empfänger sind dort lediglich hochomig angekoppelt.
> Der Stromkreis wird immer über GND geschlossen.
Aber wenn zwei Sender gleichzeitig aktiv sind, kann es passieren, dass
einer davon einen niederohmigereren CANH- und der andere einen
nierderohmigeren CANL-Treiber hat. Dann fließt bei einem dominanten Bit
tatsächlich ein Strom vom niederohmigeren High- zum niederohmigeren
Low-Treiber, der über CANGND wieder zurück zur Quelle muss.
Julia schrieb:> Ich habe nicht in Bezug auf die CAN Masse gemessen, da die in dem> Bussystem nicht mit geliefert wird.
CAN ist aber so definiert, dass CANGND als Bezugspunkt für die reale
Schaltung (Stichwort dazu "Gleichtaktbereich der Empfänger") mitgeführt
werden muss. Der Bus funktioniert nur "theoretisch" im Lehrbuch ohne
Massebezug.
Nur Hasardeure versuchen, RS485 und das "Derivat" CAN lediglich mit den
Datenleitungen ohne Masseleitung zu betreiben. die Betrachtungen im
Beitrag "Re: Datenübertragung über >100m" gelten
nämlich prinzipiell auch für CAN.
Lothar M. schrieb:> Was aus> CANH heraus kommt muss also beim Sender in CANL wieder hinein. Und> die Empfänger sind dort lediglich hochomig angekoppelt.
Wie passt das zusammen? Wie kann Strom aus CANH in den hochohmigen
Eingang des Empfängers hinein, durch den Empfänger hindurch, und durch
den anderen hochohmigen Eingang(!) wieder auf CANL heraus?
Wenn der Empfänger wie ein normaler Differenzverstärker funktioniert,
müsste der Strom aus dem Gate/Basis des CANL-Transistor heraus fließen
(technische Richtung)...
Nein, der Empfänger misst die beiden Eingangsspannungen gegen GND, d.h.
die zwei Ströme kommen aus CANH und CANL, gehen durch den Empfänger, und
fließen auf GND zurück.
Bei Ethernet sieht das anders aus - da fließt der Strom wirklich auf den
Datenleitungen im Kreis, was aber nur dank der Übertrager funktioniert.
Dr. Sommer schrieb:> Wie kann Strom aus CANH in den hochohmigen Eingang des Empfängers hinein
Wo steht da, dass der Strom in den Empfänger rein geht?
Ich zitiere mich dazu mal kurz selber:
>>> Was aus CANH heraus kommt muss also beim Sender in CANL wieder hinein.
Man kann sich ja einfach mal so einen Bus mit 2 Teilnehmern und dabei 1
Sender und 1 Empfänger mitsamt der Innenbeschaltung der Transceiver und
den Abschlusswiderständen aufmalen, dann wird recht schnell klar, wie da
die Ströme aus der Spannungsversorgung dorthin wieder zurück fließen.
> Nein, der Empfänger misst die beiden Eingangsspannungen gegen GND, d.h.> die zwei Ströme kommen aus CANH und CANL, gehen durch den Empfänger, und> fließen auf GND zurück.
Bestenfalls ein winziger Bruchteil (sagen wir mal ein tausendstel) der
Ströme aus dem CANH und "aus" dem CANL (dort fließt nämlich viel mehr
hinein als heraus) finden den Umweg über die hochohmige Eingangstufe
des Transceivers. Der allergrößte Teil fließt über den
Busabschlusswiderstand und erzeugt dort die dominante '0'.
Aber letztlich sagt dein Modell das selbe wie meines: ohne verbundenen
CANGND funktioniert der CAN nicht richtig zuverlässig.
Lothar M. schrieb:> Der allergrößte Teil fließt über den Busabschlusswiderstand und erzeugt> dort die dominante '0'.
Klar, aber um die zu messen muss ein Strom in den Empfänger fließen,
eine stromfreie Spannungsmessung gibt es halt nicht.
Lothar M. schrieb:> dann wird recht schnell klar, wie da die Ströme aus der> Spannungsversorgung dorthin wieder zurück fließen.
Was voraus setzt dass es eine gemeinsame Versorgung gibt, welche eben
auch ein gemeinsames GND hat. Wenn die Teilnehmer wirklich bis auf
CANL/H komplett getrennt sind, funktioniert das überhaupt nicht - im
Unterschied zu Ethernet.
Bei getrennter Versorgung und gemeinsamem GND fließen die sehr kleinen
Mess-Ströme dann über GND zurück.