CAN Probleme

Hallo zusammen,

ich habe da ein Ph=E4nomen mit dem CAN Bus wo ich hoffe hier ein paar Ratschl=E4ge zu bekommen. Es geht sich um folgendes, ich habe mit einem Baustein von Microchip, MCP25050, einen Schaltung aufgebaut welche mir einen Analogwert als CAN Mesages auf den Bus schickt. Als CAN Interface habe ich den Philips Baustein PCA82C250. Die Abschlussimpedanz ist symmetrisch nach CAN-GND laut Philips Appplication. Das ganze funktioniert auf dem Labortisch mit Auto-Steuerger=E4t, Canalyzer und eben dieser Schaltung ganz gut. Im Fahrzeug geht es dann nicht mehr. Die Stecker f=FCr den Canalyzer und diese Box im Fahrzeug kann man untereinander tauschen, der Canalyzer funktioniert immer, die Box nicht, d.h. man sieht mit dem Canalyzer nicht mal die ID der Box. Alle anderen Steuerger=E4te scheinen zu kommunizieren, zumindest gibt es im Fahrzeug keine Funktionsprobleme zwischen den Steuerger=E4ten.

Was mich aber jetzt v=F6llig ins staunen versetzt sind die Pegel auf CAN_H und CAN_L, welche ich mit dem Osziloskop gemessen habe. Wenn nicht gesendet wird h=E4tte ich ja irgendwo ein Pgel erwartet zwischen 2 und 3 Volt auf CAN_H und CAN_L, wo dann bei Aktivit=E4t eben positivere Pegel auf CAN_H und negativere Pegel auf CAN_L zu messen sind, also typ. differentiel eben. Was ich aber gemessen haben ist auf beiden Leitungen Masse Potenzial, bei Senden gehen die Pegel auf 2,5 Volt von wo das Signal nach ca. 4 V bei CAN_H und 1V bei CAN_L geht und nach Ende der Message alles wieder auf 0V. Weiterhin gibt es Nachrichten wo der CAN_H zwischen 2,5V und 1V beim Senden wechselt und der CAN_L zwischen 2,5V und 4V, was wie eine Vertauschung von High und Low eines Ger=E4tes aussieht. Aber alle vorhandenen Ger=E4te verstehen sich untereinander.

Wenn alle Ger=E4te ausgeschaltet sind bis auf den Canalyzer dann sieht der Canalyzer die ID der BOX, der Canalyzer versteht die BOX im Labor nicht wenn CAN_H und CAN_L vertauscht werden, woraus ich schlie=DFe das die BOX korrekt ist.

Welcher cAN Experte h=E4tte da noch eine Idee was ich mal nachpr=FCfen sollte.

Gruss

Klaus

Reply to
klaus hinz
Loading thread data ...

Hallo Klaus,

welche Baudrate (500K?) verwendest Du? Welche Steuergeräte sind im Fahrzeug verbaut? Wie ist die Terminierung im Fzg.? Welches Widerstand für die Flankensteilheit beim 82C250 verwendest Du? Welches Fzg.?

Gruss, Florian

Reply to
Florian Schenk

Hallo Klaus,

Welches Fahrzeug? Alter? Bei DC wurden früher (heute?) keine integrierten CAN-Transceiver eingebaut, sondern was diskretes (Billiger...) Ob das dann auch mit jedem integrierten Transceiver funzt ist nicht gesagt.

Hängt das Steuergerät am Innenraum-CAN oder am Motorraum? Innenraum ist meist 100kBit/s, Motorraum 500kBit/s.

tschuessle Bernhard Spitzer

--
bash.org - Top 100...
 hm. I've lost a machine.. literally _lost_. it responds to ping, it 
works completely, I just can't figure out where in my apartment it is.
Reply to
B. Spitzer

Hallo Florian,

das ganze l=E4uft mit 500K, im Fahrzeug sind die Steurger=E4te von Motor und Getriebe und ein weiteres (wof=FCr?) sowie der Canalyzer. Der Terminierung ist im Fahrzeug- sowie im Getriebe-steuerger=E4t. Das dritte Teile sitzt aber am anderen Ende ohne Terminierung. Canalyzer und meine Platine sind nicht Terminiert. Die Terminierung bei meiner Platine ist aber ohne Einfluss. Der 82C250 hat eine 10 Ohm als Rs.

Gruss

Klaus

Reply to
klaus hinz

Hallo Barnhard,

ist ein Mitsubishi, Alter ganz neu. Das ganz ist am Motor Can, Baudrate stimmt schon =FCberein.

Was mich ja nun mal stutzig macht ist das scheinbar sowohl negative wie auch positive Messages/Pegel auf CAN_H zu sehen sind, sowie das gleiche aber immer gegenphasig zu CAN_H auch auf CAN_L. Leitungsrefelxionen wenn bestimmtes Ger=E4t sendet. W=FCrde aber bedeuten das ich nur die Refelxion sehe. Es sind n=E4mlich keine =DCberschwinger bzw. =DCberschwinger sondern scheinbar saubere Pulse.

Gruss

Klaus

Reply to
klaus hinz

Das kommt durch die Terminierung zustande! Dabei wird der CAN-Bus mit zwei 60 Ohm Widerständen in Serie terminiert und der Punkt zwischen den Widerständen mit einem Kondensator auf Masse gelegt. Werden nun Daten gesendet stellt sich über dem Kondensator die halbe Betriebsspannung ein. Im Ruhezustand misst man aber dann keine Spannung.

CAN-High----| --- | | 60 Ohm --- | C .----||---| | | GND --- --- | | 60 Ohm --- | CAN-Low------

Habe ich schon manchmal in Steuergeräten gesehen und wird (angeblich) zwecks besserer Störunterdrückung gemacht.

Das kann ich mir aber auch nicht erklären....

/Koarl

Reply to
Karl Kalchgruber

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.