Autor |
Nachricht |
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
26-09-2017, 18:46 Titel: Low Speed Can Pegel Terminierung |
|
|
Hallo Leute,
wahrscheinlich brauche ich einen Lowspeed Can und der ist elektrisch anders.
Nun findet man dafür im Gegensatz zu Highspeed Can aber überhaupt keine Boards nur einzelne Chips TJA 1054/55, auch nur smd.
Was ich so an Infos finde ist beim Low Speed Can nur der Rezessiv Pegel anders.
Während der bei Highspeed Can CanHi = CanLo = 2,5 Volt bzw. verbunden über x mal 120 Ohm ist, ist der bei Low Speed Can CanHi = 0 Volt, CanLo = 5 Volt.
Nun ist die Frage, ob ich einfach einen HighSpeed Transceiver nehmen kann und statt der üblichen Terminierung 120 Ohm zwischen CanHi/CanLo, für Low Speed nun CanHi mit 120 Ohm oder ähnlich gegen 0 Volt und CanLo mit gleichen Ohm gegen 5 Volt ziehen kann.
Ich habe bis jetzt nur die 0 und 5 Volt als Info gefunden, nicht mit wie viel Ohm darauf gezogen werden muss. |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
27-09-2017, 9:41 Titel: Low Speed Can Pegel Terminierung |
|
|
Ich habe jetzt ein ausführliches Dokument zum Low Speed Can Transceiver TJA1055 gefunden, das auch die Terminierung beschreibt.
Demnach soll jeder Low Speed Can Node CanLo gegen +5 Volt und CanHi gegen GND terminieren, der Gesamtwiderstand gegen den jeweiligen Pegel soll 100 Ohm betragen, per Node mit diesem Transceiver jedoch minimal 500Ohm.
Die Terminierung wird von diesem Transceiver nämlich geschaltet, im Fehlerfall auf mehr Ohm über interne Widerstände, im Normalfall durchgeschaltet und dann verträgt er nicht weniger als 500 Ohm extern.
Wenn man sich die Treiberschaltungen vom LowSpeed Transceiver TJA1055 und HighSpeed Tja1050 ansieht, dann schalten die CanHi/CanLo nach Vcc/Masse durch oder nicht.
Eingang ist Differenz CanHi/CanLo.
Es könnte funktionieren, einen Highspeed Transceiver für LowSpeed zu verwenden wenn man extern CanHi/CanLo gegen GND/VCC mit passenden Widerstand terminiert um den richtigen rezessiv Pegel zu haben.
Eingangsseitig kommt der Highspeed-Transceiver vielleicht damit klar, dass die Differenz bei LowSpeed rezessiv minus 5 Volt ist statt 0 Volt bei Highspeed.
Die Dominantpegel und Differenz sind für High und LowSpeed ähnlich.
https://www.nxp.com/docs/en/supporting-information/AH0801.pdf |
|
Nach oben |
|
|
postmann CAN-Profi
CAN Hacker seit: 23.05.2013 Beiträge: 137 Karma: +58 / -0
CAN Support
CAN-Diagnose gefällt das. |
29-09-2017, 20:32 Titel: Low Speed Can Pegel Terminierung |
|
|
Ein Low Speed CAN hat im allgemeinen keine Terminierung.
Da der CAN mit maximal 125 KB laufen darf und Fehlertolerant ist, ist laut ISO 11898-3 keine Terminierung notwendig / erlaubt.
Die von euch beschrieben Terminierung ist für einen High Speed CAN. |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
29-09-2017, 21:20 Titel: Low Speed Can Pegel Terminierung |
|
|
Ich denke Highspeed Can wird 120 Ohm jedes Ende zwischen CanHi/CanLo terminiert.
Die beschriebene Terminierung jeder Node CanHi gegen GND, CanLo gegen VCC, 100Ohm für alle Nodes in Summe ist doch gänzlich anders.
Das verlinkte Dokument beschreibt das so für den LowSpeed Transceiver tja1055, Nachfolger von tja1054.
Das LowSpeed Can rezessiv CanLo 5 Volt, CanHi Gnd ist, habe ich auch anderswo schon gehört, das muss ja von irgendwoher kommen, wie immer man das nennen möchte.
Bei meinem Cangerät messe ich unverbunden -10.x Volt zwischen CanHi und CanLo, das würde auf eine solche LowSpeed Terminierung deuten, nur hat der tja 1055 laut Datenblatt nur 4.x - 5.x Betriebsspannung, 10 Volt Pegeldifferenz sind da auch wieder nicht erklärbar. |
|
Nach oben |
|
|
postmann CAN-Profi
CAN Hacker seit: 23.05.2013 Beiträge: 137 Karma: +58 / -0
CAN Support
CAN-Diagnose gefällt das. |
30-09-2017, 11:43 Titel: Low Speed Can Pegel Terminierung |
|
|
Die von dir beschriebenen 120 Ohm an beiden Enden eines CAN Netzwerks sind eigentlich "nur" eine theoretische Größe. Benutzt man im der praktischen Anwendung nicht.
Die Terminierung mit jeweils 100 Ohm zwischen CAN Leitung und der Versorgung ist eine Splitterminierung. Dazu gehört aber noch ein entsprechender Kondensator und einen Drossel. Das im allgemeinen die gebräuchlichste Art der Terminierung im Kraftfahrzeugbereich.
Was aber eigentlich sofern egal ist, da ein Low Speed CAN nicht terminiert wird. Du verwendest ja einen Transceiver, der ISO 11898-3 kompatibel ist, bist du dir sicher, dass das Netzwerk ein Low Speed Netzwerk ist?
Man verwendet (zumindest in der Automobilindustrie) gerne High Speed CAN und fährt die Baudrate runter. Dann würde auch eine Terminierung Sinn machen. |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
30-09-2017, 12:38 Titel: Low Speed Can Pegel Terminierung |
|
|
Was ist dann die praktische Terminierung von Highspeed Can, oder meinst Du damit jeder Highspeed Can Node hat 120 Ohm zwischen CanHi und Low und nicht nur am Ende?
Bei einem meiner Obd Adapter kann man jedenfalls 120 Ohm zwischen CanHi und CanLo messen, bei einem anderen nicht.
Man müsste ja anhand der unterschiedlichen Terminierung und Rezessiv-Pegel nachmessen können ob man es mit Highspeed oder LowSpeed Can zu tun hat.
Bei Highspeed Can müsste man 120 Ohm zwischen CanHi und Lo messen können oder weniger da mehrfach parallel.
Außerdem habe ich in einem Datenblatt gesehen, dass höherohmig rezessiv auf 2,5 Volt gezogen wird, über gleiche höherohmige Widerstände gegen 5 Volt und GND.
Bei Lowspeed Can gibt es keine Terminierung zwischen CanHi und Lo, gemessener Widerstand dazwischen sollte sehr groß sein.
Statt dessen wird CanLo rezessiv gegen 5 Volt (minus Diode?) und CanLo gegen 5 Gnd (plus Diode?) gezogen, an jedem Node, zusammen soll es 100 Ohm sein.
Das wird in der verlinkten Application Note auch als Terminierung bezeichnet. |
|
Nach oben |
|
|
postmann CAN-Profi
CAN Hacker seit: 23.05.2013 Beiträge: 137 Karma: +58 / -0
CAN Support
|
30-09-2017, 21:59 Titel: Low Speed Can Pegel Terminierung |
|
|
Wenn du in ein High Speed Netzwerk (z.B.an der OBD Dose) zwischen CAN High und CAN Low solltes du beim Bus Low Power 0-0,5V und ca. 60 Ohm messen. Da hier eine Splitterminierung verwendet wird.
Bei einem OBD Adapter solltest du eigentlich nichts messen können (also Widerstand sehr hochohmig) da die Terminierung im Fahrzeug ist. Wenn im Adapter ebenfalls eine Terminierung ist (also die von dir gemessenen 120 Ohm), könnte das negativ für den Wellenwiderstandabgleich sein. Funktionieren wird er trotzdem, da der Diagnose CAN bei dem meisten Fahrzeugen keine hohe Buslast hat.
Die verlinkte Appliction Note ist nicht für einen LowSpeed CAN gedacht, der Transceiver kann das zwar (er ist ISO 11898-3) kompatibel, LowSpeed CAN wird aber z.B. auf einen Diagnose CAN nicht funktionieren.
Du musst also erstmal feststellen, welcher CAN verwendet wird (11898-2,11898-3 oder anderen Standard, gibt viele).
Wenn du soweit bist brauchst du die Baudrate. Ist es ein LowSpeed CAN ist es recht einfach, der kann nur bis 125kB. Highspeed CAN wird schon schwieriger.
Bei den Spannungen auf dem CAN musst du Wissen, was das Netzwerk gerade tut. Man unterscheidet bei einem Fahrzeug zwischen:
- Low Power -> Spannung zwischen CAN High & CAN Low 0V, zwischen CAN H und Masse 0V und zwischen CAN L und Masse 0 V (Transceiver aus)
- Bus Idel Low Power -> Spannung zwischen CAN High & CAN Low 0V, zwischen CAN H und Masse 0,5V und zwischen CAN L und Masse 0,5 V (Transceiver schläft)
- Bus Rezessiv -> Spannung zwischen CAN High & CAN Low 0V, zwischen CAN H und Masse 2,5V und zwischen CAN L und Masse 2,5 V (schwankt etwas, da sich der Buspegel ja ändert)
- Bus Dominant-> Spannung zwischen CAN High & CAN Low 2V, zwischen CAN H und Masse 3,5V und zwischen CAN L und Masse 1,5 V (schwankt etwas, da sich der Buspegel ja ändert)
Bei einem Industrie CAN (Safty CAN, TT CAN, usw.) können andere Spannungen verwendet werden.
Wofür magst du den Transceiver denn einsetzen ? |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
30-09-2017, 22:53 Titel: Low Speed Can Pegel Terminierung |
|
|
Die verlinkte Appliction Note ist nicht für einen LowSpeed CAN gedacht
Da steht schon auf der ersten Seite:
Title TJA1055T - Fault-tolerant CAN transceiver
Fault-tolerant (Single Line Can) deutet schon auf Low Speed, denn Highspeed gibt es nicht Fault-tolerant.
Außerdem sind TJA1055 und 54 Low Speed Transceiver.
Zuletzt bearbeitet am 30-09-2017, 22:54, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
30-09-2017, 23:10 Titel: Low Speed Can Pegel Terminierung |
|
|
Bei einem OBD Adapter solltest du eigentlich nichts messen können (also Widerstand sehr hochohmig) da die Terminierung im Fahrzeug ist. Wenn im Adapter ebenfalls eine Terminierung ist (also die von dir gemessenen 120 Ohm), könnte das negativ für den Wellenwiderstandabgleich sein.
So wie ich Terminierung verstanden habe muss am Kabelende ein ohmscher Widerstand sein, der dem Wellenwiderstand des Kabels entspricht, der unabhängig von dessen Länge ist, um Reflexionen zu vermeiden.
Da könnte man durchaus meinen, dass das an jedem Zweig des Kabels sein muss, auch wenn die Buslast dann steigt.
Ob der Widerstand dann in der Dose sein müsste und nicht im Adapter könnte man diskutieren, beim Diagnosecan ist wahrscheinlich nur an einem Ende das Gateway und am anderen die OBD-Buchse, insofern wohl egal, wobei in der Dose und im Adapter wäre mit zusammen 60 Ohm dann falsch. |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
30-09-2017, 23:31 Titel: Low Speed Can Pegel Terminierung |
|
|
Bei den Spannungen auf dem CAN
Wie schon angedeutet messe ich bei dem fraglichen Can-Gerät bei 13,5 Volt Batteriespannung im Deep Sleep -11,5 Volt zwischen CanHi und CanLo, im Betrieb ca -10 Volt zwischen CanHi und CanLo.
Das ließe sich wenn überhaupt nur mit LowSpeed Can erklären, der gegen die komplette Batteriespannung und nicht nur 5 Volt terminiert ist, der tja1055 LowSpeed Transceiver arbeitet laut Datenblatt aber nur mit 5 Volt.
Diese Spannung ist aber so hochohmig, dass ich mit diesem Gerät am Bus problemlos von einem mcp2515/tja1050 zu einem elm327, senden kann, alle 3 Geräte am gleichen Bus.
Ich werde noch probieren die 0x7FF Can Ids durchzusenden, ob ich auf irgendeine ID ein Ack bekomme, selbst mit allen mir bekannten Baudraten 83.3 125 250 500 kbps ist das noch machbar.
Das Gerät sollte sich auch über den CanBus einschalten lassen, habe ich aber auch noch nicht hinbekommen, muss Acc verwenden.
Ich weiss nicht ob es da eine spezielle Sequenz gibt, eine bestimmte ID/Message nötig ist oder nur irgendwelcher Traffic, wobei letzteres schon gewesen sein sollte.
Möglich ist auch noch, dass Rasperry Pi Socket Can die krumme Baudrate 83.3 nicht korrekt einstellt beim mcp2515, könnte ich mit dem Logic Analyser nachmessen.
Ich habe in einem Board schon gelesen, dass es bei Mercedes 83.3 Baud LowSpeed Can gäbe und man den tj1054 Low Speed verwenden müsse für den Comfort Bus.
Wie oft liest man verschiedenes...
Zuletzt bearbeitet am 30-09-2017, 23:32, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
|
postmann CAN-Profi
CAN Hacker seit: 23.05.2013 Beiträge: 137 Karma: +58 / -0
CAN Support
|
01-10-2017, 10:34 Titel: Low Speed Can Pegel Terminierung |
|
|
Da kann ich dir helfen
Es gibt in der Tat CAN Netzwerke bei Mercedes mit 83.3 kB, das sind aber High Speed CAN Netzwerke. Low Speed CAN wird bei Mercedes nicht eingesetzt.
Wobei die 83.3 meines Wissens nicht auf dem Komfort-CAN benutzt wird, sondern auf dem Headunit-CAN (Telematik / Audio).
Besorge dir einen anderen Transceiver und triggere dann auf die ID 0xA1h oder 0x20h (je nach Fahrzeug). Das ist die Zündungsbotschaft, die wird immer gesendet.
Terminieren musst du da da gar nichts, Mercedes hat eine Sternanordnung und die Terminierung ist zentral im Stern. |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
01-10-2017, 21:18 Titel: Low Speed Can Pegel Terminierung |
|
|
Wobei die 83.3 meines Wissens nicht auf dem Komfort-CAN benutzt wird, sondern auf dem Headunit-CAN (Telematik / Audio).
Ist das nicht der gleiche (Can B)?
Ich dachte die Headunit müsste am gleichen Can hängen wie Lenkrad und Boardcomputer, was sollte da noch am Comfortcan hängen wenn das ein anderer ist, da müsste da ja auch recht viel geroutet werden.
Wobei andererseits HeadUnits teils Anschlüsse für 2 Cans haben, für den Vito soll es das brauchen. |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
01-10-2017, 21:46 Titel: Low Speed Can Pegel Terminierung |
|
|
Ich bekomme jetzt Acks vom Gerät im Deep Sleep bei 83.3 kbps mit mcp2515/tja1050 ohne jegliche Terminierung nur tja1050 und Gerät verbunden, auf jede ID die ich bis jetzt probiert habe.
Das ist schon mal ein Fortschritt, 83.3 kbps hatte ich eigentlich schon mal probiert, weiß nicht warum es jetzt geht, muss ich mal durchprobieren, ob es am ELM327, den 120 Ohm oder was immer lag.
Da das Gerät wie gesagt hochohmig auf ca -10 Volt zwischen CanHi/Lo zieht ist schon erklärbar, dass es keine weitere Terminierung braucht um dominant + x Volt wieder runterzuziehen.
83.3 kHz sollte Reflexionsmäßig auch kaum problematisch sein, noch dazu bei meinen paar 10 cm Kabel.
Da werde ich jetzt mit konkreten Messages experimentieren.
Du weißt nicht was genau in den 0x20 oder 0xA1 Zündungsmessages genau sein muss? |
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
02-10-2017, 2:11 Titel: Low Speed Can Pegel Terminierung |
|
|
Ich habe jetzt die Spec vom Mercedes Can Bus gefunden:
https://drive.google.com/file/d/0B1Rb8jOWwErbQ19CM3dnZmsyRlU/view
https://mbworld.org/forums/audio-electronics/580108-w211-can-b-hacking-2.html
Danach ist Can B/Body Can doch klar Low Speed Can mit 83 kbps, denn es ist von Fehlertoleranz eine Can-Leitung Schluss nach Vcc oder Ground möglich, Singel Wire Betrieb die Rede.
Auch die Pegel die ich gemessen habe sind so spezifiziert: CanLo ~ 11 Volt dormant, 4 Volt active, Can Hi ist mir etwas unklar ob active wirklich nur 0,65 Volt sind, das Diagramm ist da nicht ganz eindeutig.
Gerade bei diesen komischen Pegeln wundert es mich, dass das mit meinem HighspeedTranseiver überhaupt funktioniert (ich bekomme Acks), weil rein rechnerisch die active Pegel Differenz immer noch negativ ist und die müsste bei Highspeed Can positiv sein, bei LowSpeed bin ich mir nicht sicher.
Das passt alles auch überhaupt nicht dazu wie ich die Specs vom Low Speed Transceiver tja1054/55 verstanden habe, ob man da noch einen gänzlich anderen Transceiver braucht.
Zuletzt bearbeitet am 02-10-2017, 2:19, insgesamt 1-mal bearbeitet.
|
|
Nach oben |
|
|
alex Gast
Kostenloser Account, kein CAN Entwicklungs-Support
|
02-10-2017, 3:18 Titel: Low Speed Can Pegel Terminierung |
|
|
Nach 1,5 Monaten rumsuchen habe ich nun rausgefunden wie man mein Can-Gerät über Can einschaltet, dank des schon verlinkten Threads auf mbworld.org und einem dort gefundenen github Projekt:
https://github.com/jumph4x/can-bus-w211.git
man muss 1-2 mal auf id 0 0xFF senden, dann geht es an,
mit auf id 0 0x00 geht es wieder aus, alles mit 83 (,3 ???) kpbs.
mit Linux Socket Can sieht das dann so aus:
cansend can0 000#FF
cansend can0 000#FF
cansend can0 000#00
Zugegeben sieht das recht einfach aus, wenn man es erst mal weiß, aber abgesehen von diesem einem mbworld Thread den ich erst kürzlich fand, wusste eigentlich keiner was brauchbares.
Erklärung ist, dass in ID 0 Byte 0 diverse Klemme 15 Bits sind, Klemme 15 ist Zündung.
Umfangreiche weitere Informationen sind in dem Thread und dem auch verlinkten GitHub Projekt zum Merceds Can Bus. |
|
Nach oben |
|
|
CAN-Diagnose Administrator
CAN Hacker seit: 07.06.2011 Beiträge: 550 Karma: +27 / -0 Wohnort: Ländle
|
02-10-2017, 21:35 Titel: Low Speed Can Pegel Terminierung |
|
|
alex hat folgendes geschrieben: | Ich habe die Infos zum Mercedes CanBus consolidiert.
Ich verstehe nicht, dass Du das entfernst, insbesondere weil sonst keine Infos dieser Qualität vorhanden sind.
Was ich Stück für Stück herausfand ist unübersichtlich über mehrere meiner Threads verteilt und zum Stichwort Mercedes gar nicht zu finden.
Ich hatte in anderen Foren zum Thread verlinkt, dann werde ich das entfernen müssen und dort direkt angeben.
Ich kann nicht verstehen, dass Du Informationen unterdrückst. |
Klarstellung, warum Du hier rausfliegst.
1.) Beiträge, die nur aus Links und keinem Text bestehen, was soll das? Hier ist keine Linkschleuder.
2.) Links auf Dinge die urheberrechtlich geschützt sind, gehen gar nicht, da nützt es auch nichts, die in irgendwelchen Pastebins zu speichern!
3.) Dokumente die extern verlinkt sind, sind irgendwann weg und damit nutzlos.
4.) Finde ich es unverschämt, hier um Hilfe zu bitten, sich helfen zu lassen und dann nur noch Links zu posten und Themen zu entführen.
Deshalb: Ciao. |
|
Nach oben |
|
|
|