CAN we find the Bus? (Spoiler: Yes, we can!)

Die Technik zur F800R - F 800 R.

CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon AlchemX » 16.06.2016, 18:53

Hallo zusammen!

In diesem Post möchte ich euch erklären, wie man den CAN-Bus der F800R anzapft. :idea:

Warum? Weil ich es kann! ... und aus reiner Neugier, was da denn so läuft, oder vllt. um mal etwas Datalogging zu betreiben.
Mal schaun, auf welche Ideen ich sonst noch komme :)

Zuerst aber: Diese Anleitung beinhaltet Schritte, die Teile des Instrumentenpanels zerlegen und verändern.
Damit erlischt garantiert die Garantie, zumindest für das Instrumentenpanel, vielleicht auch für das ganze Motorrad.
Meine ist lt. Schweizer Recht eh gerade eben abgelaufen, also weniger problematisch.
... in der Bucht kostet das Teil ~4-500$ !!!

:arrow: Also: Ihr folgt dieser Anleitung auf eigene Gefahr. Nur ums mal klar gesagt zu haben.


Zum Hintergrund:
In alten Motorrädern waren noch alle elektrischen Sachen direkt an die jeweiligen Schalter am Lenker angekabelt, mit der Konsequenz, dass ein massiver (und fehleranfälliger) Kabelbaum nötig war.
Alle modernen Kraftfahrzeuge (damit auch die meisten Motorräder) haben mehrere elektronische Bausteine:
- Motorcontroller/ECU: Einspritzung, Abgaskontrolle, Drehzahlbegrenzer, Zündwinkel etc.
- Powercontroller (Licht, Blinker, 12V für Navi etc) bei BMW glaub ich "ZFE" genannt.
- ABS-Steuereinheit
- Bordinstrumente: RPM, KM/H, Blinkanzeige, Tankfüllstand, Temperatur etc etc.
- Inertialsensoren (nur bei neueren R1200GS/S1000R/X/R. Für Traktionskontrolle/Wheelieblocker/DTC/ABSPro etc genutzt, bei Autos fürs ESP.
Diese alle direkt miteinander und untereinander zu verdrahten wäre unsinnig kompliziert.
Daher nutzen praktisch alle Fahrzeugbauer den sogenannten CAN-Bus: 2 Drähte (plus Masse als Referenz), welche alle Bausteine miteinander verbinden.
Die Bausteine werden wie Blümchen an einem Gänseblümchen-Kranz verbunden (also alle hintereinander), daher auch der englische Fachbegriff "Daisy-Chain".
Das vereinfacht den Kabelbaum sowie die Fehlersuche ungemein.
Wer mehr zum CANBus erfahren will, dem seien die folgenden Seiten empfohlen:
https://www.kvaser.com/can-protocol-tutorial/
https://de.wikipedia.org/wiki/Controller_Area_Network

Über den CAN-Bus reden also alle Elektronikbausteine in unserem Motorrad miteinander. Da möchten wir gerne mal zuhören...
Nur, wie? Aus elektronischer Sicht ist das einfach: wir müssen nur die 2 Kabel des CAN-Bus finden (sowie einen Massepunkt als Referenz) und daran ein "Messgerät" anhängen.
Aus Bastler-Sicht stellt sich sofort die Frage: Wo sind den die 2 Leitungen am einfachsten anzuzapfen?

Wer jetzt denkt: Diagnosestecker! ... liegt leider falsch. Da ist kein CANBus herausgeführt, sondern OBD (mit Standards SAE J1850 oder ISO 9141-2).
Ja, ein OBD-Stecker (zB in einem Auto) _kann_ auch eine Verbindung zum CANBus bereitstellen - muss er aber nicht.
Zwingend ist nur OBD - zumindest für Autos. Für Motorräder nichtmal das. Kommt noch dazu, dass BMW natürlich keinen "normalen" OBD2-Stöpsel verbauen konnte... nene... Irgend ein lustiger runder Anschluss.
Nur mit dem ELM327-Bluetoothstecker fürs Auto dran - geht leider nicht. UND: Der Diagnosestecker ist NUR mit der ECU verbunden, andere Daten kommen da also ned raus!

Irgendwo in diesem Forum fand ich den Schaltplan der F800(X). (PIC) Daraus wurde klar, dass u.a. die Bordinstrumente mit CANBus arbeiten. https://goo.gl/photos/8BKtPF9NPbc8zezt7
Und dass da ein nur 5-adriges Kabel hinführen sollte...

Bevor ich mit der eigentlichen Anleitung beginne, eine Liste der Werkzeuge und Komponenten:
- Torx-Bit-Satz. Der grösste war glaub ich T40 [, die kleinsten waren _sehr_ klein: T10 und T6.
- Elektroniklötkolben inkl. Lötfett und Lötzinn
- Flachschraubenzieher, diverse: zum das Bordinstrument zu zerlegen / auseinanderhebeln.
- USB-CAN-Konverter. Ich verwende den hier: http://www.fischl.de/usbtin/
- Multimeter
- Unbenutztes, jungfräuliches, relativ dickes USB-A-A-Verlängerungskabel. Dieses wird der Wissenschaft geopfert.


A. Bordinstrument ausbauen:
A1. Lampenschrauben (Torx) beidseitig lösen (NICHT rausdrehen)
A2. Lampe leicht nach unten schwenken
A3. Windschild demontieren und beiseite legen (3 Schrauben, Torx)
A4. Windschildhalter demontieren beiseite legen (4 Schrauben, Torx).
Da kommt man nur ran wenn die Lampeneinheit beiseite ist.
A5. Bordinstrument lösen: Wird von 3 Clips gehalten ("Segerringe").
Diese mit einem Flachschraubenzieher vorsichtig _zur Seite_ abziehen.
A6. Bordinstrument aus Halterung ziehen, "3 Stöpsel"
A7. Stecker abziehen. Vorsicht: 2 Schnappnasen links und rechts zuerst ausrasten.

https://goo.gl/photos/7jRoRqPdhp6sUFSv7

Da ist nun also besagter 5-Kabliger Anschluss, der in einem 6-poligem Stecker endet. (ein Pin also nicht belegt).
Nur, welche Kabel sind für CAN und Ground?
Klar, könnte man nun alle durchchecken. Der Schaltplan von vorhin wäre vllt auch ein Anhaltspunkt - aber ich traue keiner Dokumentation, die ich nicht selbst geschrieben hab! (und solcher auch nur sehr begrenzt ;)
Aber um einen dauerhaften CAN-Diagnose-Anschluss einzubauen, müsste man hier die Kabel zerfriemeln - unschön, und da vorne am Bug auch ein Risiko für Wasserschaden/Kurzschluss.
Wie wärs, mal IM Bordinstrument nachzuschauen?

B. Bordinstrument zerlegen
- Diese Schritte waren NICHT zerstörungsfrei bei mir!
- Leg das Instrument mit den Gläsern voran auf eine weiche Unterlage (Küchenrollen-Papier, Tuch etc.), um Kratzer in den Plastikscheiben zu vermeiden.
B1. Entferne alle Schrauben an der Rückseite. 7 Stück, Torx T10.
https://goo.gl/photos/uhJUSaA7rNYck2ZK7
B2. an der Unterseite (da wo der Drehzahlmesser / Schaltblitz ist) befindet sich ein schmaler Schlitz. _Vermutlich_ kann man da einen Schraubenzieher so einfädeln, dass man die Plastiknase vom Bügelchen trennen kann, und dann das Instrument aufklappen kann.
Bei mir ging das nicht, ich würgte, und ZACK war der Bügel kaputt. Aber das Instrument offen. (RAGEFACE)
https://goo.gl/photos/CMkXECCe1jrCKTpr6
plemplem

B2.1. Geh was essen. Trink n Bier. knuddel dein Häschen. CHILL THE F*** OUT. Reg dich ab...
B3. Entferne die Zeiger. Sanfte Gewalt ist hier nötig - Die Zeiger bestehen aus einem schwarzen Kunststoff-Hütchen sowie dem eigentlichen Zeiger, aus Klar-Plexi. Sie sind aufgesteckt/geklemmt, und können gerade nach oben weggezogen werden.
B4. Entferne die Ziffernblätter. Diese sind in der Mitte (da wo die Achse durchgeht) mit 2 Nocken festgeklemmt. Sachte ziehen, dann klappt das.
https://goo.gl/photos/MDNarXq6jvEZzWej7 https://goo.gl/photos/7tV3hMEv1x94JRzv7
B5. Entferne die 3 Schrauben, welche das Elektronik/Anzeigeteil am hinteren Gehäusedeckel festhalten. Torx T6. (Rote Pfeile)
B6. Die Platine wird immer noch von 2 Kunststoffnasen des hinteren Deckels gehalten. (Gelbe Pfeile)
Daher: vorsichtig an der linken Seite des Tachos anheben. Nun habt ihr die Platine separat in der Hand.

Okay... soweit so gut.

Nur, leider ist so eine Platine kaum beschriftet. Nirgends steht einfach "CAN Anschluss hier!"
Also schaute ich mir die Chips auf der Platine genauer an.

https://goo.gl/photos/tykXzfoMhL7czupn7
https://goo.gl/photos/8UfxkJDKccaCZ5aE9

Und siehe da: Mittig ist ein Chip namens "NXP 82C250Y"
Einmal Googeln ergibt http://www.nxp.com/documents/data_sheet/PCA82C250.pdf
Das ist also der CAN-Transceiver. Und anhand der Pinbelegung die im Datenblatt beschrieben ist, kann man auch ermitteln, welcher der Stifte, die ins Kabel gehen, für was zuständig ist.
Ich habe einfach von jedem Pin des Transceivers mal an die Stifte durchgepiepst.

https://goo.gl/photos/LKtRFawPG4EXyAUa8
https://goo.gl/photos/8JvR2Cdv8zNBXKwk9

Nun ist die Sache schon wesentlich klarer.

Um nun einen sauberen CAN-Diagnoseanschluss anzubauen, könnte man einfach 3 Leitungen an die Platine anlöten... Gedacht getan: Als Anschluss eignet sich ein etwas dickeres USB-Verlängerungskabel, Typ A-A.
Im Gegensatz zur Schweinerei mit den Plastiknasen hat es BMW uns hier richtig easy gemacht, irgendwelche Kabel in das Bordinstrument zu legen. Why? Nobody knows...
Der hintere Gehäusedeckel besitzt 3 Plastik-Deckelchen/Stöpsel. Diese können einfach von Hand herausgezogen werden, und verdecken je ein ca 5mm grosses Loch, welches direkt Zugang zur Platine bietet. Wunderbar!
ThumbUP


C. USB-Kabel an die Platine löten & verlegen https://goo.gl/photos/PKmFhgHGCmvj98cz6
C1. Halbiere das USB-Kabel. Schnipp! Leg das männliche Ende beiseite, es kann später um Anschluss an einen CAN-USB-Konverter (PC-Analyse etc) verwendet werden.
Ich verwendete für den Anschluss am Instrument die weibliche USB-Buchse - diese kann man bei Nichtgebrauch einfach zukleben.
C2. Isoliere ca. 6 cm des USB-Kabels ab. Also äusseren Kunststoffmantel, Schirmgewebe, Alufolie. Das sollte die 4 Adern freilegen. Wir benötigen nur 3: Ground (Schwarz), sowie die USB-Datenleitungen (Grün und Weiss).
Das rote Kabel (+5V) knipste ich ab - ich wollte nicht aus versehen irgendwoher irgendwie 5V Spannung wo sie nix verloren hat.
C3. Um zu verhindern, dass evtl. Reste des Schirmgewebes auf die Platine kommen, habe ich das Ende des USB-Kabels mit etwas Schrumpfschlauch sauber isoliert. https://goo.gl/photos/6G3E8jggvGHwJCyA9
C4. Isoliere bei der Schwarzen, Grünen und Weissen Ader je ca 5mm ab.
C5. Verzinne die gerade eben abisolierten Enden.
C6. Führe das USB-Kabel-Ende durch eine der Öffnungen in den hinteren Gehäusedeckel. Dies jetzt, weil man es später (wenn alles angelötet ist) nicht mehr kann ;)
C7. Ich lötete die Ader-Enden direkt an die rückseitigen Lötpunkte der Stecker-Stifte des Instruments. Diese sind mies zugänglich - eine ruhige Hand und ein schmaler aber heisser Lötkolben sind von Vorteil.
Schwarz bleibt GND, Grün ist nun CANH und Weiss ist CANL.
https://goo.gl/photos/i3XgX1xx28jxzZhL6
C8. Das Instrument kann nun wieder zusammengebaut werden. Zuerst wird dazu das Kabel sauber unter der Platine so verlegt, dass es nirgends gequetscht wird oder die Platine verbiegt. Am unteren Rand (unter dem Drehzahlmesser) klappte das gut.
https://goo.gl/photos/u8JefkesPsBdjFxV9
C9. Da der Zusammenbau einige Tücken hat, hier einige wichtige Punkte:
- Platine zuerst auf der rechten Seite in den Gehäusedeckel bzw. die Schnappnasen einklinken, erst dann Kabel positionieren, und zuletzt Platine ablegen. auf die Stifte der Steckerbuchse auf der Rückseite achten. Diese "verpassen" gerne ihre Löcher!
- Schrauben nicht vergessen (3x T6). Erneut auf Kabelposition achten. Mein Kabel ist durch sanften Andruck der Platine praktisch zugentlastet bzw. fixiert.
- Ziffernblätter einbauen. In der Mitte mit einem Fingernagel (Flach-Schraubenzieher für alle nervösen Leute) die Blätter in die Nasen einrasten/reindrücken.
- Zeiger aufsetzen. Hinweis: die Zeiger-Motoren haben einen internen Endanschlag. Dieser ist NICHT "Zeiger schlägt an Kunststoffwand"!
Setze den Zeiger zuerst nur ganz sanft obendrauf und drehe den Zeiger-Motor in den Endanschlag, bevor du den Zeiger fest aufdrückst.
Und: die Ruhestellung/Endanschlag (NICHT Nullstellung) ist leicht "vor Null", sowohl für RPM als auch für Tacho.

FALSCH: https://goo.gl/photos/kEvMAEh6oy1wDZ6NA
RICHTIG: https://goo.gl/photos/P1YupqzU7dnG5ADj8
An diesem Punkt kann man bereits einen Funktionstest machen, wenn man CAN-USB-Wandler etc. schon ready hat!

C10. Bordinstrument wieder zusammenschrauben, 7 Schrauben Torx T10 https://goo.gl/photos/uD3Qx8F8Z5m3sAKy8
So, fast fertig!

C11. Bordinstrument am Motorrad wieder anstöpseln. Anbauen würde ich es erst wieder vollständig wenn der CAN-Anschluss klappt ;)

So, bevor ich nun das Instrumentenpanel wieder voll verschraubte, fing ich an, mit meinem CAN-Tool zu scannen, und zu testen, auf welcher Bitrate der Bus arbeitet....

...aber mehr dazu im nächsten Post :)
Erstma is Feierabend! Prost!

Bis bald, AlchemX
Benutzeravatar
AlchemX
 
Beiträge: 5
Registriert: 16.06.2016, 09:20
Wohnort: Frick
Motorrad: F800R, G650GS

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Karl Dall » 16.06.2016, 23:01

Endlich einer der die BMW-Technik abseits der Rep-Rom beleuchtet clap , harre der Dinge, die da kommen... scratch
Gruss Karl Dall
Benutzeravatar
Karl Dall
 
Beiträge: 794
Registriert: 08.10.2013, 23:08
Wohnort: Torfhaus (2. Wohnsitz)
Motorrad: alles mit 2 Rädern

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon SingleR » 16.06.2016, 23:30

Och, mir würde schon eine auf einem Schlepptopp lauffähige Software reichen... Dann könnte man mit dem passenden Interface (so ein Ding habe ich hier) an den Diagnosestecker gehen.

Bevor einer was sagt: nein, ein GS-911 suche ich nicht! ;-)
Twin-F: die perfekte Symbiose aus 2-Spark-Rotax-Eintopf und Zündabstand eines Einzylinder-2-Takters... :mrgreen:
----
BMW R 1200 GSA: der "Leo-2" unter den Motorrädern! ;-)
Benutzeravatar
SingleR
 
Beiträge: 2920
Registriert: 27.08.2013, 18:07
Motorrad: F 800 R

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Roadslug » 17.06.2016, 07:01

Kleine Ergänzung zu "praktisch alle Fahrzeuge verwenden CAN":
Bei nahezu allen (deutschen) Pkw-Herstellern wird schon seit geraumer Zeit als Bus-System nicht mehr CAN sondern FlexRay verwendet. Flexray ist um ein ganzes Ende leistungsfähiger, schneller und vor allem Fehler-redundant. Bei BMW gibt es CAN nur noch bei Motorrädern. Aber bekanntlich hinkt die Motorradtechnik der Pkw-Technik einige Jahre hinterher.

Roadslug
Benutzeravatar
Roadslug
 
Beiträge: 2966
Registriert: 26.02.2010, 14:57

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Dirk-Bs » 17.06.2016, 08:28

@Roadslug

Das alle OEM kein CAN mehr verwenden ist völlig falsch!! Auch BMW verwendet CAN im Auto und das wird sicher noch einige Jahre weiter gehen. Nun kommt CAN FD erst mal und bevor der eingestampft wird darf der FlexRay sterben weil die durch Ethernet überflüssig werden wird. Dazu gibt es nooch andere Bus-Systeme im Auto wie LIN oder MOST, und diese auch noch in verschiedenen Geschmacksrichtungen.
Also, nicht nur ein Bus-System im Auto, sonder viele.... damit die Kommunikation auch über die Systeme hinweg läuft sorgen Gateways für die Übersetzung.

Zum Thema. Also ich finde man kann mit einem Schaltplan bewaffnet immer die CAN Leitungen finden. Soweit ich weiß, sind in BMW Motorräder ein sogenannter 1-Draht CAN verbaut, d.h. Spannungspegelwechsel auf einer Leitung gegen Masse.

Auf jeden Fall, Respekt für die akribische Arbeit!
Dirk-Bs
 
Beiträge: 9
Registriert: 04.07.2012, 19:44
Motorrad: F800R + K1300R

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon AlchemX » 17.06.2016, 22:13

Hey! Danke euch allen fürs Interesse!

@Roadslug, danke für den Hinweis mit FlexRay. Das gab mir einiges zum Nachlesen. Ich kann verstehen, warum die Hersteller irgendwann von CAN weg kamen - Datenrate, und Sicherheit sind da einfach nicht optimal.
FlexRay bietet gegenüber CAN folgende Vorteile:
Redundanz: alle Leitungen sind doppelt geführt.
Realtime: garantierte Latenzzeiten & deterministische Frames. Es ist immer klar, wie lange eine Message von A nach B hat, sowie wie gross sie maximal ist. Jeder Teilnehmer kommt garantiert mal dran.
Datenrate bis 10MBit. CAN kann maximal 1MBit.

Sobald wir lustige Sachen wie "Fahrassistenzsysteme" oder "aktives Fahrwerk" verbauen wollen, sind 1MBit zuwenig. ...
Schliesslich muss der Sitzcontroller der Klimaanlage unverzüglich melden, wenn der Fahrer seinen Sitz um 0.4° nach vorne neigt, um die Stellung der Luftdüsen nach oben anzupassen, um weiterhin dem Fahrer sein wallendes Brusthaar korrekt zu durchströmen.
arbroller

@Dirk-Bs:
Du meinst vermutlich:
http://www.bmw-motorrad.com/com/en/index.html?content=http://www.bmw-motorrad.com/com/en/technology_new/item_can_bus.html

Der Artikel wurde sichtlich von einem Werbefritzen geschrieben, für den eine 10-Euro Aldi-Kaffeemaschine als "Thermic Beverage Brewing Machine with Dual-State Temperature Controller" durchgeht. :roll:
Statt "Single-Wire" sollte es "Single Cable" heissen - die Idee ist es, einen einzelnen Kabelstrang von vorne bis hinten zu haben.
"...CAN bus technology (Controller Area Network) via a single connection (thus the term Single Wire System), although in practice it is designed as a dual channel system." blablupp
Jop, der hat keine Ahnung. cofus

Der CAN-Bus in der F800R ist garantiert die "normale" 2-adrige Version - sowohl laut Schaltplan (siehe mein letzter Post) sowie laut meinen Analysen. Die einzige Ausnahme dürfte das berühmte "Kabelende auf der Batterie" darstellen, welches für BMW-Navis gedacht ist, und GND, 12V und _vermutlich_ einen Single-Wire-CAN-Anschluss zur Verfügung stellt.


So, gleich kommt mehr. Input (1 BEER) for more Science... bier

Gruss,
AlchemX
Benutzeravatar
AlchemX
 
Beiträge: 5
Registriert: 16.06.2016, 09:20
Wohnort: Frick
Motorrad: F800R, G650GS

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Kami0911 » 17.06.2016, 23:13

Erstmal vielen Dank für deine Experimentierfreude!

AlchemX hat geschrieben:Statt "Single-Wire" sollte es "Single Cable" heissen - die Idee ist es, einen einzelnen Kabelstrang von vorne bis hinten zu haben.


Nein, es soll Single-Wire heissen. Das ist neben der technisch korrekten Bezeichnung "single ended" noch am zutreffendsten. Dabei verzichtet man auf differentielle Signale und nutzt die Fahrzeugmasse als Bezug. Das angebliche "dual channel system" erscheint mir eher Marketingsprech für ein Half-Duplex-System zu sein. Das ist zwar ein Designprinzip von CAN, klingt aber so eben ganz toll...
Nur den einen Kabelstrang hat man so oder so, weil die Topologie von CAN eben ein Bus und kein Stern ist und daher nur kurze Stichleitungen erlaubt. Auch in Single-Wire-Ausführung liegen die Steuergeräte deswegen alle hintereinander am Bus.

Der CAN-Bus in der F800R ist garantiert die "normale" 2-adrige Version - sowohl laut Schaltplan (siehe mein letzter Post) sowie laut meinen Analysen.


Da du über den 82C250 gestolpert bist, wissen wir jetzt schon, dass der CAN-Bus in der Maschine differentiell ausgeführt ist, wie es bei CAN üblich ist. 2-adrig ist eine gefährliche Aussage, abhängig vom verwendeten Protokoll lässt das auch Full-Duplex-Systeme zu, liegt bei uns aber nicht vor.

Hinweis: Wenn du nicht sicher bist, an welchen Pins auf einem Steckverbinder CANH/CANL anliegen, und Durchgangsmessung keine Option ist, kannst du alle Pins gegeneinander messen. Zwischen CANH und CANL ist, wenn alles korrekt angeschlossen ist (Gesamtsystem!), ein Widerstand von 62Ohm messbar.

Die einzige Ausnahme dürfte das berühmte "Kabelende auf der Batterie" darstellen, welches für BMW-Navis gedacht ist, und GND, 12V und _vermutlich_ einen Single-Wire-CAN-Anschluss zur Verfügung stellt.


Auf dem Cartool-Stecker liegt an Pin 2 das Tachosignal über einen Open-Collector-Ausgang an, kein CAN.

So, gleich kommt mehr. Input (1 BEER) for more Science... bier

Gruss,
AlchemX


Vielleicht kannst du mal ein paar CAN-Telegramme hier reinstellen, dann kann man mit etwas Glück erkennen, welches Protokoll läuft.
Kami0911
 
Beiträge: 58
Registriert: 10.02.2014, 15:42
Motorrad: F800R

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon AlchemX » 18.06.2016, 00:13

Hallo nochmals!

@Kami0911 du hast da ein paar interessante Punkte - einige dazu wohl auch rein zur Terminologie.

Frage 1:
Nein, es soll Single-Wire heissen. Das ist neben der technisch korrekten Bezeichnung "single ended" noch am zutreffendsten.

Laut meinem Verständniss wird der Begriff "Single-Wire" nur für SAE J2411 - Single-wire CAN (SWC) verwendet.
Oder ist der begriff "Wire" im Englischen mehrdeutig? (ich verstehe "wire"als einzelne Kupfer-Ader bzw. Litze)

Frage 2:
2-adrig ist eine gefährliche Aussage, abhängig vom verwendeten Protokoll lässt das auch Full-Duplex-Systeme zu, liegt bei uns aber nicht vor.

Welches Protokoll lässt über 2 Kupferadern einen Full-Duplex-Verbindung zu? (Standard? ISO? Referenz? Würde das gerne nachlesen!)

Danke für den Hinweis mit dem Cartool-Stecker. Hm... da könnte ich vllt. was machen damit :D




Zum Telegramm:
Wie vorher erwähnt habe ich den USB-CAN-Wandler von fischl.de verwendet. Den habe ich samt Anschlusskabel in eine kleine Abzweigedose für 1.79 euro ausm Baumarkt gebastelt, im Einsatz sieht das dann so aus:
https://goo.gl/photos/6VUY3bnw8c1J8J568

Zum Wandler liefert der Erbauer auch gleich ein kleines Java-Tool mit, was das simple auslesen des CAN-Buses erlaubt (USBtinViewer 1.3) Damit probierte ich nun alle möglichen Sample-Raten aus - und fand, dass der BUS auf 500'000 bit/sec arbeitet.
Also haben wir es mit einem Highspeed-Bus nach ISO 11898-2:2003 zu tun.

Damit kam zuerst dies zustande:
https://goo.gl/photos/28mvvzyd1vNwPBUs6

Nun gilt es nur noch rauszufinden, was die einzelnen Frames beinhalten ;)
Klar wird damit: 29-Bit-Identifier, auch „Extended frame format“ genannt (CAN 2.0B)

Also habe ich an allen möglichen Sachen am Motorrad rumgespielt:
Kupplung, Bremsen, alle Knöpfe am Lenker, Gangschaltung, Gashahn.

Dabei kam das hier raus:
https://goo.gl/photos/F1y9SJccrBrGBejA6
...fehlen noch ein paar Sachen :D

Aber das kommt dann morgen noch.

Bis dann,
AlchemX
Benutzeravatar
AlchemX
 
Beiträge: 5
Registriert: 16.06.2016, 09:20
Wohnort: Frick
Motorrad: F800R, G650GS

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon 815-mike » 18.06.2016, 11:48

...Hochachtung; bestimmt steckt da viel Arbeitszeit drin!

Meine Meinung zu Bus-Systemen in Motorrädern: Unsinn. In einem Motorrad wären trotz allen mittlerweile NOTWENDIGEN elektronischen Sicherheitssystemen schlicht keine monströsen Kabelbäume erforderlich. Und vor allem sind die Wege zu allen Sensoren/Aktuatoren/Verbrauchern außerordentlich kurz. Und wo ich eine Canbusleitung ziehen muß, kann bei Verzicht auf selbigen auch noch eine zweite Leitung untergebracht werden.

Technik um der Technik Willen lehne ich ab. Dort, wo sie sinnvoll ist, muß sie eingesetzt werden. Alles andere widerspricht dem Dauergesabber von angeblicher "Nachhaltigkeit", erhöht die Komplexität und ist im Hinblick auf die Reparierbarkeit (für "Normal"menschen) ein Rückschritt.

Natürlich bin ich mir bewußt, daß ich mit dieser Einschätzung ganz klar zur Minderheit gehöre.

winkG
mike
815-mike
 
Beiträge: 768
Registriert: 01.09.2009, 17:00

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Roadslug » 18.06.2016, 12:56

Na ja, ob Bus-System oder nicht wird wohl für 99% der Motorradfahrer egal sein, zumindest solange alles funktioniert. Der Profi mit dem entsprechenden Wissen und vorhandenen Werkzeugen tut sich wohl leichter bei der Fehleranalyse. Dagegen hat der ambitionierete Amateurschrauber das Nachsehen, da hast du zweifellos recht. Aber da nun mal die in Pkw längst etablierte Bus-Technik, mit zeitlichem Abstand natürlich, auch in Motorrädern eingesetzt wird, lässt sich der Trend zu digitaler Datenverarbeitung auch in Motorrädern kaum verhindern.

Roadslug
Benutzeravatar
Roadslug
 
Beiträge: 2966
Registriert: 26.02.2010, 14:57

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Karl Dall » 18.06.2016, 14:56

da hilft kein zetern--wenn mir die Fuhre still steht, will ich möglichst schnell den Fehler eleminiert haben (auch Unterwegs).
Ein Gaszug ist fix repariert, wenns nun aber elektro-komisch funktioniert, müssen halt entsprechende Infos her--vielleicht versteh ichs ja noch...
Gruss Karl Dall
Benutzeravatar
Karl Dall
 
Beiträge: 794
Registriert: 08.10.2013, 23:08
Wohnort: Torfhaus (2. Wohnsitz)
Motorrad: alles mit 2 Rädern

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon SingleR » 18.06.2016, 18:18

Karl Dall hat geschrieben:... wenn mir die Fuhre still steht, will ich möglichst schnell den Fehler eleminiert haben (auch Unterwegs).

Ja klar, das ist verständlich. Auf der anderen Seite sind die Fahrzeuge, nicht zuletzt auch dank der Elektronik, heute deutlich fehlerunanfälliger als noch vor einigen Jahrzehnten. Ich habe zwar noch keinen Versuch unternommen, dies statistisch nachzuweisen. Ein Indiz für eine geringere Pannenanfälligkeit sind aber sicher die ggü. früher deutlich verlängerten Wartungsintervalle.

Einem Wüstendurchquerer, für den im Pannenfall die nächste Hilfe hunderte von Kilometern entfernt ist, kann man sicher eher den Wunsch nach einfacher Selbsthilfe abnehmen als einem, der in einem dicht besiedelten Land mit einem ebenso engmaschigen Netz von Pannenhelfern mal eine Stunde auf Hilfe warten muss.

Wer überdies im Pannenfall möglichst viel selbst machen können möchte, wird sich statt in seinen modernen Audi auch wieder in einen alten DKW 3=6 Zweitakter setzen müssen. Bei Letzterem beschränken sich die "elektronischen" Komponenten auf Zündung, Beleuchtung und Scheibenwischermotor. ;-) Sogar die Betriebsbremsen sind m.W. noch seilzugbetätigt! :mrgreen:
Twin-F: die perfekte Symbiose aus 2-Spark-Rotax-Eintopf und Zündabstand eines Einzylinder-2-Takters... :mrgreen:
----
BMW R 1200 GSA: der "Leo-2" unter den Motorrädern! ;-)
Benutzeravatar
SingleR
 
Beiträge: 2920
Registriert: 27.08.2013, 18:07
Motorrad: F 800 R

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Kami0911 » 18.06.2016, 19:40

AlchemX hat geschrieben:Hallo nochmals!

@Kami0911 du hast da ein paar interessante Punkte - einige dazu wohl auch rein zur Terminologie.

Frage 1:
Nein, es soll Single-Wire heissen. Das ist neben der technisch korrekten Bezeichnung "single ended" noch am zutreffendsten.

Laut meinem Verständniss wird der Begriff "Single-Wire" nur für SAE J2411 - Single-wire CAN (SWC) verwendet.
Oder ist der begriff "Wire" im Englischen mehrdeutig? (ich verstehe "wire"als einzelne Kupfer-Ader bzw. Litze)


Immer langsam - SWC ist eine spezielle Betriebsart, hat aber mit dem von BMW verwendeten System nichts zu tun. Bei SWC wird Kollisionsfreiheit durch niedrigen Takt und wenige Knoten erreicht. Aber nicht alles, was single wire ist, ist gleichbedeutend mit SWC. Single wire heisst erstmal nur, dass die physikalische Schicht aus einer Leitung und einer gemeinsamen Masse besteht (common ground). Und anders benutzt BMW den Begriff auch nicht. Nicht alles, was im Elektronikbereich genutzt wird, ist genormt.

Frage 2:
2-adrig ist eine gefährliche Aussage, abhängig vom verwendeten Protokoll lässt das auch Full-Duplex-Systeme zu, liegt bei uns aber nicht vor.

Welches Protokoll lässt über 2 Kupferadern einen Full-Duplex-Verbindung zu? (Standard? ISO? Referenz? Würde das gerne nachlesen!)


Schau dir mal das Datenblatt des 82C250 genau an. Der wandelt das differentielle Signal von CANH/CANL auf eine Leitung, single ended, CAN_Rx. Fürs Schreiben gibts eine zweite Leitung CAN_Tx. Je nach Ausgestaltung des Protokolls (Stichwort Notwendigkeit von CDMA/CR) kann man auf kurzen Strecken damit auch Full Duplex arbeiten. Das hat - genauso wie die single-wire-Geschichte von BMW - aber nichts mit Normen oder Standards zu tun. Manchmal muss man eben kreativ werden.

Danke für den Hinweis mit dem Cartool-Stecker. Hm... da könnte ich vllt. was machen damit :D


Viel Spaß ;-) Im Mccoi-Forum findet sich mehr dazu, da hat auch mal jemand verbal die Ausgangsbeschaltung beschrieben. Schaltplan habe ich dazu bisher noch nicht gefunden, und da ich es noch nicht brauchte auch selbst keinen erstellt.

Damit kam zuerst dies zustande:
https://goo.gl/photos/28mvvzyd1vNwPBUs6


Ok, das sind alles synchrone Frames. Interessant wäre, welche Telegramme beim Starten der Maschine kommen.
Ich erkenne ein paar Übereinstimmungen mit CANopen, aber 10c und 130 als Identifier passen da nicht so recht rein.
Ein Blick in die Kommunikation beim Start würde hier weiterhelfen.

Nun gilt es nur noch rauszufinden, was die einzelnen Frames beinhalten ;)
Klar wird damit: 29-Bit-Identifier, auch „Extended frame format“ genannt (CAN 2.0B)


Ich sehe keinen Hinweis auf EFF, alle Frames haben 11Bit-Identifier. Entgeht mir da was?

Also habe ich an allen möglichen Sachen am Motorrad rumgespielt:
Kupplung, Bremsen, alle Knöpfe am Lenker, Gangschaltung, Gashahn.

Dabei kam das hier raus:
https://goo.gl/photos/F1y9SJccrBrGBejA6
...fehlen noch ein paar Sachen :D


Hilft sehr, um das Protokoll einzugrenzen.
Bei näherer Betrachtung scheint es mir doch so zu sein, dass hier kein knotenbasiertes sondern ein priorisierendes Protokoll läuft. Dafür spricht die niedrige Priorisierung der Uhrzeit (3ff) und die hohe Priorität von Gas, Kill Switch und Blinkern (10c/130).
Kami0911
 
Beiträge: 58
Registriert: 10.02.2014, 15:42
Motorrad: F800R

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon Kami0911 » 18.06.2016, 20:02

815-mike hat geschrieben:Meine Meinung zu Bus-Systemen in Motorrädern: Unsinn. In einem Motorrad wären trotz allen mittlerweile NOTWENDIGEN elektronischen Sicherheitssystemen schlicht keine monströsen Kabelbäume erforderlich. Und vor allem sind die Wege zu allen Sensoren/Aktuatoren/Verbrauchern außerordentlich kurz. Und wo ich eine Canbusleitung ziehen muß, kann bei Verzicht auf selbigen auch noch eine zweite Leitung untergebracht werden.


Stimmt von vorne bis hinten absolut gar nicht. Bis auf den Allgemeinplatz "Fällt eine CAN-Leitung weg, ist eine Leitung frei!".

Technik um der Technik Willen lehne ich ab. Dort, wo sie sinnvoll ist, muß sie eingesetzt werden. Alles andere widerspricht dem Dauergesabber von angeblicher "Nachhaltigkeit", erhöht die Komplexität und ist im Hinblick auf die Reparierbarkeit (für "Normal"menschen) ein Rückschritt.


Wenn ich als Hersteller eine technische Lösung für ein spezifisches Problem in der Schublade liegen habe, dann benutze ich die auch bei ähnlichen Problemstellungen als Basis. Alles doppelt zu entwickeln, nur um auf die höchst unsinnigen Befindlichkeiten einiger Weniger einzugehen, lehne ich ab. Und abgesehen davon: Die Zuverlässigkeit einer technischen Lösung steigt mit jeder Wieder- und Weiterverwendung.
Kami0911
 
Beiträge: 58
Registriert: 10.02.2014, 15:42
Motorrad: F800R

Re: CAN we find the Bus? (Spoiler: Yes, we can!)

Beitragvon AlchemX » 18.06.2016, 22:29

Hallo Kami0911,

SWC ist eine spezielle Betriebsart, hat aber mit dem von BMW verwendeten System nichts zu tun. Bei SWC wird Kollisionsfreiheit durch niedrigen Takt und wenige Knoten erreicht. Aber nicht alles, was single wire ist, ist gleichbedeutend mit SWC. Single wire heisst erstmal nur, dass die physikalische Schicht aus einer Leitung und einer gemeinsamen Masse besteht (common ground). Und anders benutzt BMW den Begriff auch nicht. Nicht alles, was im Elektronikbereich genutzt wird, ist genormt.


Okay - danke für die Interpretation der BMW-Terminologie :D das macht alles viel klarer in meinem Kopf.
Genau wie ein Getränk aus dem "Thermic Beverage Brewing Machine with Dual-State Temperature Controller".

... aber nichts mit Normen oder Standards zu tun. Manchmal muss man eben kreativ werden.

Got it ;)

Ich sehe keinen Hinweis auf EFF, alle Frames haben 11Bit-Identifier. Entgeht mir da was?

Nein. Mein Fehler. Ich hab grad mal hochgerechnet welche ID's mit 11 Bit möglich sind.
plemplem
Also, definitv ein 11bit - Arbitration/ID -Feld.
(Hab mir die Rohdaten nochmal angeschaut, die bestätigen das auch)

Ein Blick in die Kommunikation beim Start würde hier weiterhelfen.

Da muss ich uns beide enttäuschen. An dem Anschluss, den ich mir wie beschrieben gelegt habe, kommen exakt die Frames an, welche du im Screenshot siehst. Es ist keiner "wieder weg" oder vom Tool gelöscht oder so - das ist also alles, was am Bordinstrument ankommt!
Nun gibt es 3 Möglichkeiten:
1- Mein Tool erkennt nicht alles was ankommt. Halte ich für unwahrscheinlich - Das Tool bzw der CAN-Wandler läuft schon bevor ich das Bike starte. Ich gehe also vorderhand und mangels anderer Hinweise davon aus, dass mein CAN-Tool alles exakt so empfängt wies ankommt. (Ich weiss: wer misst, misst Mist).
2- Am Bordinsturment kommen nicht alle CAN-Frames, die es im System gibt, an. Würde heissen dass zB zwischen ECU und ZFE mehr Datenverkehr sichtbar wäre. Möglich.
3- Es gibt keine weiteren / anderen Frames. Ende Gelende.

Alternative zu obigem: Würde es helfen, die zeitlich ersten Frames direkt nach aufstarten der Elektronik anzuschauen?
Wären wohl dieselben ID's, nur wäre es wohl spannend zu sehen, wie sich die Werte über die ersten paar Millisekunden ändern.

Ein mir noch unerklärliches Phänomen habe ich beobachtet:
Kupplungsschalter- und Killswitch-Werte beeinflussen / verändern sich (je nach Zustandskombination) gegenseitig.
Ich gehe davon aus, dass hier die Motor-Kill-Logik sichtbar ist. ... Hey, da müsste der Seitenständerschalter auch was mit beitragen!

In den Worten von GLaDOS:
Look at me; still talking
When there's science to do!


...aber erst morgen. Jetzt bin ich hundemüde vom Mittelaltermarkt :roll:

Bis bald,
AlchemX
Benutzeravatar
AlchemX
 
Beiträge: 5
Registriert: 16.06.2016, 09:20
Wohnort: Frick
Motorrad: F800R, G650GS

Nächste

Zurück zu F800R - F 800 R - Technik

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste

BMW-Motorrad-Bilder |  K 1200 S |  K 1300 GT |  K 1600 GT |  K 1600 GTL |  S 1000 RR |  G 650 X |  R1200ST |  F 800 R |  Datenschutzerklärung |  Impressum