Forum: Mikrocontroller und Digitale Elektronik CAN-Bus High Speed Bus, Problem durch Steckverbinder?!


von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Hallo,

programmiere nun schon einige Zeit mit AVR-Mikroprozessoren und rätsle 
an einem eigenartigen Phänomen - diesmal in meinem Auto.

es gibt für mein Auto ein TV-Free Modul, das im wesentlichen als CAN-Bus 
Gateway agiert. Drinnen werkelt ein Atmega AT90CAN128, das Gateway nimmt 
Befehle vom Fahrzeug entgegen und filtert die Geschwindigkeitssignale 
raus,
alles andere geht ungefiltert ans Navi.

In unregelmäßigen Abständen verabschiedet sich die Navigationsanzeige am 
Tacho mit IC-Error im Engineering Menü und in weiteren unregelmäßigen 
sporadischen Abständen wird das Navisystem beim CAN-Wakeup mit einer 
Diebstahlwarnung abgeschaltet.

Hersteller und ich als Kunde/Tester sind etwas ratlos, was da passiert.

Der Original-Anschlusstecker für das Navi geht auf einen 
Zwischenstecker, wo das Modul mit 2xCAN und GND, Plus 12 Volt versorgt 
wird, der Ausgang auf einen weiteren Stecker an das Navi (wird also 
dazwischengesteckt)

Wie empfindlich ist denn das CAN-High Signal?
Können sich da Störungen alleine durch die Stecker einschleusen?
Kann eventuell der Transceiver zu langsam sein?
Kann ich mit dem Oszilloskop hier was (sinnvolles) messen?

von Anja (Gast)


Lesenswert?

Manfred S. schrieb:
> TV-Free Modul

Noch so ein Kandidat für den Darwin Award.

> Wie empfindlich ist denn das CAN-High Signal?
Es gibt nur ganz wenige Möglichkeiten ein CAN-Signal nachhaltig zu 
stören und Du hast eine davon gefunden.

Manfred S. schrieb:
> Können sich da Störungen alleine durch die Stecker einschleusen?

In der Regel sind ausreichend Reserven vorhanden um EMV-Störungen durch 
Handy usw. abzuhandeln.

Manfred S. schrieb:
> Kann eventuell der Transceiver zu langsam sein?
Halte ich für Unwahrscheinlich. Eher falsches (nicht auf den 
KFZ-Hersteller angepaßtes) Bit-Timing im Gateway.

Manfred S. schrieb:
> Kann ich mit dem Oszilloskop hier was (sinnvolles) messen?

Das was Du brauchst ist professionelles Meßequipment. Mit dem Du auch 
die ganzen CAN-Signale decodieren kannst. -> entweder Oszi mit 
Protokollanalysator (TEK MSO 4104 + Automotive-Modul) oder einen 
CANALYZER zusätzlich zu einem Speicheroszi.

Und hinterher die ganzen Tests nicht vergessen um zu überprüfen ob das 
Fahrzeug noch dem Zulassungs-Zustand entspricht.
- EMV-Tests
- CAN-Stresstest
...


Gruß Anja

von Lusche (Gast)


Lesenswert?

setze bei der initialisierung deines Atmegas mal das Bit für "listen 
only", das wäre mal das erste was du machen kannst!
Wenn es falsche Bittimings sind  bringt das ACK-Bit deines Moduls 
zumindest nicht mehr den restlichen CAN-Bus durcheinander.

CAN ist eher unempfindlich, denke nicht dass es an den Steckern liegt. 
Im übrigen wir das Signal vermutlich nicht "durchgeschleift" sondern 
dein Modul dürfte parallel hängen. Welche Baudrate fährst du!
Kann es sein dass du an deinem Zwischenstecker einen zuschaltbaren 
Terminierungswiderstand hast!? sofern vorhanden schalte den mal aus!

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Lusche schrieb:
>
> CAN ist eher unempfindlich, denke nicht dass es an den Steckern liegt.
> Im übrigen wir das Signal vermutlich nicht "durchgeschleift" sondern
> dein Modul dürfte parallel hängen. Welche Baudrate fährst du!
> Kann es sein dass du an deinem Zwischenstecker einen zuschaltbaren
> Terminierungswiderstand hast!? sofern vorhanden schalte den mal aus!

Das CAN-Signal wird "durchgeschleift", da ja das Navi nie die 
Originaldatens sehen soll.

An Bauteilen finden sich:
2x Transceiver A82C250 von NXP Philips
1x CAN-Controller SJA1000T von NXP Philips
1x AT90CAN128

Soweit ich die Postings beurteile, dürfte also Löten statt Stecken 
nichts bringen - vielleicht ist der Atmega (getaktet mit 16 Mhz Quarz) 
einfach an seiner Leistungsgrenze und für CAN High nicht mehr zu 
gebrauchen

von picbastler (Gast)


Lesenswert?

Ich glaube, ihr seid euch hier nicht einig, was mit "durchschleifen" 
gemeint ist. Bitte einmal klarstellen.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

picbastler schrieb:
> Ich glaube, ihr seid euch hier nicht einig, was mit "durchschleifen"
> gemeint ist. Bitte einmal klarstellen.

Naja, das Signal kommt über einen Transceiver vom Auto rein und geht 
über den anderen Transceiver zum Navi - also nix mit Parallelhängen,

intern (softwaremäßig) werden halt alle Signale am anderen Port wieder 
ausgegeben, bis auf das Geschwindigkeitssignal.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Anja schrieb:
> Manfred S. schrieb:
>> TV-Free Modul
>
> Noch so ein Kandidat für den Darwin Award.
>
> Das was Du brauchst ist professionelles Meßequipment. Mit dem Du auch
> die ganzen CAN-Signale decodieren kannst. -> entweder Oszi mit
> Protokollanalysator (TEK MSO 4104 + Automotive-Modul) oder einen
> CANALYZER zusätzlich zu einem Speicheroszi.
> Gruß Anja

Ja danke, das TEK kostet eh nur 13.000 Euro und das Automotive-Modul 
dann lächerliche 1.000 Euro - bevor ich mir das jetzt kaufe bin ich 
ieber ein Kandidat für den Darwin Award.

von gerhard (Gast)


Lesenswert?

wenn Du öffters mit CAN arbeitest solltest du aber dennoch "etwas in der 
Art" haben.

Anja schießt hier mit Kanonen auf Spatzen, gleiche Aufgabe kann man auch 
mit einem TEK DPO 2012 lösen, das bekommt man inkl. Automotivmodul für 
glatte 1500.-

von Hui B. (hui)


Lesenswert?

Kurze Frage: Wie schnell wird denn der CAN-Bus da gefahren? Mit 1MBit?
Wenn Du's nicht weiss, hilft ein einfaches Oszi.
Die Frage wäre dann noch, was genau denn an den Daten geändert wird. Ist 
das rechenaufwändig?
IMHO ist das benutzen eines CAN128 zusammen mit einem SJA um 2 Busse zu 
haben ein wenig ein Murks. Da hätte ich lieber gleich einen Chip 
genommen, welcher 2 CAN-Busse hat. Die SJAs sind für meinen Geschmack 
ziemlich Ressourcen-beanspruchend.

von Achim T. (Firma: Sapio Life GmbH & Co. KG) (achimtheobald)


Lesenswert?

Hi,

wie wäre es mit ein paar Hintergrundinfos?

zb. Welches KFZ, welche CAN-Bus Speed?

Cu

von Alex S. (Gast)


Lesenswert?

Ich denke mal, es handelt sich um einen Audi (vermutlich a4 8e oder a3 
8p) mit dem RNS-E (auch Navi Plus genannt), oder?
Wenn das so ist, dann läuft das Infotainment Bus mit 100kbit.
Der Transciever ist definitiv der falsche.

Gruß Alex S.

von Alex S. (Gast)


Lesenswert?

>Hersteller und ich als Kunde/Tester sind etwas ratlos, was da passiert.

Hersteller ist wahrscheinlich keine bekannte Firma wie etwa Kufatec, 
sondern ein Bastler. Stimmt's?
Denn die vernünftigen Hersteller wissen, wie man mit diesem Bus umgeht.

Gruß Alex

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Alex S. schrieb:
> Hersteller ist wahrscheinlich keine bekannte Firma wie etwa Kufatec,
> sondern ein Bastler. Stimmt's?
Nein, genau - es ist Kufatec, eigentlich sehr guter Support und ich habe 
auch ein Austauschmodell bekommen, das lt. meinen Vorgaben erst eine 
Minute nach dem Wakeup aktiv wird. Werde es testen, glaube aber 
mittlerweile nicht, dass das die Ursache ist. Irgendwo liefert das 
System falsche Daten vom Comand in Richtung Fahrzeugelektronik.

Es geht um das neue Comand Online NTG 4.5 bei Mercedes,
der Fehler tritt in den diversen Fahrzeugklassen (z.B. SLK R172) 
sporadisch auf, der Fehler ist nicht leicht produzierbar und gerade 
deshalb wäre es interessant, woran es genau liegt...

Vielleicht macht Mercedes irgendwelche "krummen Sachen" mit dem Bus, um 
den Diebstahlschutz so sicher zu verwirklichen, dass selbst die teuer 
mitgekauften Comand Online als gestohlen gelten..

von Alex S. (Gast)


Lesenswert?

kannst du selber löten?
Wenn ja, schreib mal deine e-mail adresse.
Ich möchte nicht öffentlich sagen, woran das liegt. Es hat seine Gründe 
und ich biete um Verständnis.
Gruß Alex

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Alex S. schrieb:
> kannst du selber löten?
> Wenn ja, schreib mal deine e-mail adresse.
> Ich möchte nicht öffentlich sagen, woran das liegt. Es hat seine Gründe
> und ich biete um Verständnis.
> Gruß Alex

Löten ist kein Problem, bastle ja sonst auch mit Atmegas, aber halt bis 
jetzt ohne Canbus - kannst mir unter dem angemeldeten Namen gerne 
weitere Infos zusenden -Danke

von Alex S. (Gast)


Lesenswert?

Hast post.
Melde dich dann, ob es geholfen hat.
Gruß Alex

von Postmann (Gast)


Lesenswert?

Mercedes so wie Audi haben auf den CAN Bus ein Netzmanagement (OSEK) mit 
Teilnetzbetrieb.

Das muss entsprechend in deinem Modul hinterlegt sein. Außerdem werden 
die Empfänger der Botschaften von Navi in ein TimeOut Fehler laufen, 
wenn diesen nicht 500 ms nach dem Wakeup und der Ringbildung mit der 
ersten Alive - Botschaft nicht die erwarteten zyklischen Botschaften 
empfangen.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Hallo,

mit verzögert Starten meinte ich nur die 
Geschwindigkeitssignalunterdrückung, dass heißt die ersten 60 Sekunden 
werden alle Signale 1:1 an das Navi weitergeleitet, erst dann beginnt 
das Modul aktiv ins Geschehen einzugreifen und Geschwindigkeitssignale 
zu unterdrücken.

Sollte es damit wieder nicht funktionieren, wirds wohl eher an den 
Transceivern liegen.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Ich hab mir jetzt das Datenblatt des A82C250 angesehen, der arbeitet bis 
1MBit, allerdings im High-Speed Modus mit folgender Einschränkung:

"For high-speed operation, the transmitter output
transistors are simply switched on and off as fast as
possible. In this mode, no measures are taken to limit the
rise and fall slope. Use of a shielded cable is
recommended to avoid RFI problems."

Was mir aber noch viel mehr aufstösst:
beim CAN-Transceiver von der Boardelektronik des Autos zum Modul ist 
kein Abschlusswiderstand verlötet, sollten da nicht 120 Ohm 
angeschlossen werden?

Beim Ausgang zum Navi stimmts - da darf auch kein Widerstand sein.

Soll ich so einen Abschlusswiderstand nachbestücken?
Passen die 120 Ohm?
Soll ich einen 100nF Kondensator auch noch dazuhängen?

von Postmann (Gast)


Lesenswert?

Der Abschlußwiderstand ist nicht in den Steuergeräte, sondern bei 
Mercedes / Audi im Sternverteiler.

Bei der Geschwindigkeit brauchst du dir auch keine Sorgen machen, im 
Fahrzeug liegt die Baudrate bei 125 - 500 kBaud.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Dann müsste allerdings beim CAN-Gateway (TV-Free Modul) Richtung Navi 
ein Abschlusswiderstand verbaut werden, denn im Navi wird ja auch keiner 
sein.

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.