Forum: Mikrocontroller und Digitale Elektronik CANH und CANL sniffen


von Bülent C. (mirki)


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

von Frank K. (fchk)


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

von user (Gast)


Lesenswert?

CAN low wird auf GND geschaltet, CAN high auf 5V oder mehr

von Peter D. (peda)


Lesenswert?

Bülent C. schrieb:
> Wo liegt hier das Problem, ist es der Meßaufbau, oder der Analyzer
> selbst?

Weder noch, es liegt an Dir.
Beim CAN-Bus ist die Differenz zwischen CANH und CANL das Signal, 
nicht aber deren Lage zu GND.

von Bülent C. (mirki)


Lesenswert?

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?!

von Uwe Bonnes (Gast)


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?!

Dann wäre es ja ein Differenz Analysator und kein Logikanalysator...

von Dieter M. (Gast)


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

von Peter D. (peda)


Lesenswert?

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

von Bülent C. (mirki)


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

von Bülent C. (mirki)


Lesenswert?

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.

von Frank K. (fchk)


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

: Bearbeitet durch User
von Bülent C. (mirki)


Lesenswert?

Frank K. schrieb:
> Komparatoren wie zB LM393.

Das ist ein guter Ansatz..

von Christopher (Gast)


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.

von Steffen R. (steffen_rose)


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

von Thomas (kosmos)


Angehängte Dateien:

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.

von Bülent C. (mirki)


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!

: Bearbeitet durch User
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.