CANH und CANL sniffen

OP #4048177
Lesenswert?

Ich habe derzeit ein Problem, welches ich mir derzeit nicht erklären 
kann, und zwar geht es um die CANH und CANL Pegel.

Mit dem Oszi kann ich beide Pegel sauber darstellen, aber mit dem Logik 
Analyzer (OpenBench) sehe ich nur CANL und CANH nicht. CANH wird hier 
durchgehend als high dargstellt. Die Massen zwischen CAN Board und und 
Analzer sind auch verbunden.
Ausschließen kann ich einen defekten Pin am Analzer, da beim swap das 
gleiche passiert.

Wo liegt hier das Problem, ist es der Meßaufbau, oder der Analyzer 
selbst?

VG, Bülent
#4048196
Lesenswert?

Das liegt an den Schaltschwellen der Eingänge, d.h. bei welchen 
Spannungen wird eine 1 erkannt, bei welchen eine 0 und welcher Bereich 
ist undefiniert. Schau dazu ins Handbuch Deines LA. Bei einem guten 
Gerät kannst Du die einstellen, bei einem weniger guten sind die fest 
vorgegeben.

fchk
Gast #4048263
Lesenswert?

Stimmt schon, die Daten werden aus dem Differenz-Signal zwischen CAN_H 
und CAN_L gewonnen.
Wenn Du das Signal aus den einzelnen Leitungen gegen GND rekonstruieren 
möchtest, brauchst Du wirklich einen LA mit einstellbaren 
Schaltschwellen.
CAN_H pendelt nämlich zwischen 2,5V und 3,5V, hier wäre also eine 
Schaltschwelle von ca.3V sinnvoll.
CAN_L pendelt zwischen 2,5V und 1,5V, hier also Schaltschwelle ca. 2V!

Da Dein LA nur CAN_L richtig darstellt, (wahrscheinlich invertiert?) 
wird die Schaltschwelle wohl bei ca. 2V liegen
OP #4048284
Lesenswert?

Dieter M. schrieb:
> Da Dein LA nur CAN_L richtig darstellt, (wahrscheinlich invertiert?)
Ist nicht invertierend

Dieter M. schrieb:
> CAN_H pendelt nämlich zwischen 2,5V und 3,5V, hier wäre also eine
> Schaltschwelle von ca.3V sinnvoll.
> CAN_L pendelt zwischen 2,5V und 1,5V, hier also Schaltschwelle ca. 2V!
Das hört sich vernünftig an. Nur dummerweise kann ich die Schaltschwelle 
nicht einfach so anpassen...
#4048365
Lesenswert?

Bülent C. schrieb:
> Peter Dannegger schrieb:
>> Weder noch, es liegt an Dir.
>> Beim CAN-Bus ist die Differenz zwischen CANH und CANL das Signal,
>> nicht aber deren Lage zu GND.
>
> Das hört sich einleuchtend an! Anscheinend kann man LogicAnalzer keine
> Differenz Pegel erkennen?!

Der hier kann das:

http://www.ikalogic.com/ikalogic-products/scanaplus-9-channels-100mhz-logic-analyzer/

"Number of integrated differential lines receivers: 2 (can used for CAN, 
RS485, etc.)"

Ansonsten eben CAN-Transceiver benutzen, oder wenn Du die Einzelsignale 
sehen willst, Komparatoren wie zB LM393.

fchk
Gast #4048406
Lesenswert?

> Wo liegt hier das Problem, ist es der Meßaufbau, oder der Analyzer
> selbst?

Ein Oszi kann auch helfen. Vielleicht hast du ja eines und kannst dir 
dann die Pegel anschauen. Mithilfe der "hold" Funktion kannst du dann 
auch die Übertragungsrate (Zeitdauer genau eines Bits messen) ermitteln 
und somit schon mal ausschließen, dass du dabei einen Fehler hast.

Den Rest kannst du dann eher mit einem normalen CAN-Teilnehmer (z.B. 
Peak-Hardware oder Vector wenn Geld vorhanden ist) und einer guten 
Auswertesoftware untersuchen.
#4048416
Lesenswert?

Bülent C. schrieb:
> Peter Dannegger schrieb:
>> Alternativ könnte man den LA auch an RXD eines CAN-Transceivers (z.B.
>> TJA1050T) anschließen.
>
> Geht Leider nicht, da ich einen LPC11C24 vorliegen habe. Der hat den
> Transceiver mit on Board.

Was willst Du überhaupt analysieren?

Die Güte des Signals - dafür ist eher ein Oszi geeignet.
Bittiming - Da du einen Oszi hast, ist dieser hierfür gut geeignet
CAN Bitream - braucht man extrem selten
CAN Nachrichten - dafür wäre ein CAN Adapter mit PC Tool sicher besser 
geeignet
#4048428
Lesenswert?

besorg dir doch einfach einen CAN-Tranceiver wie oben geschrieben wurde, 
denn hängst du einfach mit rein und gut.

Hier mal ein Bild vom Oszi einmal CANH, CANL und einmal RX vom MCP2551

ansonsten einfach Masse vom LA mit CANL verbinden dann hats du die 
Differenz allerdings muss die halt höher als die Schaltschwelle des LAs 
sein.
Angehängte Dateien:
OP #4048487
Lesenswert?

Thomas O. schrieb:
> RX vom MCP2551

Frank K. schrieb:
> Ansonsten eben CAN-Transceiver benutzen,

Peter Dannegger schrieb:
> Alternativ könnte man den LA auch an RXD eines CAN-Transceivers (z.B.
> TJA1050T) anschließen.


Ja, die einfachsten Workarounds sind die die am weitesten sind... Auf 
die Idee mit dem Transceiver hätte ich auch kommen müssen...tat es aber 
nicht.
Danke für den heißen Tipp!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren