Forum: Mikrocontroller und Digitale Elektronik CAN strange signals


von Julia (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Dr. Sommer (Gast)


Lesenswert?

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.

von Harald (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Thomas (kosmos)


Lesenswert?

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.

von H.Joachim S. (crazyhorse)


Lesenswert?

Heisst aber trotzdem MCP2551

von Tim Heine (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Thomas (kosmos)


Lesenswert?

natürlich MCP2551 Tippfehler

von U.G. L. (dlchnr)


Lesenswert?

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.

: Bearbeitet durch User
von Julia (Gast)


Lesenswert?

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 :)

von Dr. Sommer (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch Moderator
von Dr. Sommer (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch Moderator
von Dr. Sommer (Gast)


Lesenswert?

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.

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.