• Hallo CAN-Freaks!
    Ich starte diesen Thread um mehr über den CAN-Bus im Mondeo MK4 zu erfahren. Ich verfolge damit zunächst kein konkretes Ziel, also bitte nicht fragen WARUM ich das alles wissen will ;-)


    Ich will mal klein anfangen:
    1.) Hat jemand eine Übersicht (Grafik, Text, Kopf ;-) woraus man ablesen kann, welche CAN-Busse es im Mondeo gibt und welche Module daran angeschlossen sind? Idealerweise mit CAN-Speed-Angabe (Mid, High, Low)
    2.) Wo sitzt das CAN-Gateway im Mondeo? Ist es "im" Kombiinstrument (IPC) integriert?
    3.) An welchen Stellen im Fahrzeug kommt man an die CAN-Busse gut ran, um mitzulesen? Hat jemand geeignete Hardware dazu gefunden, z.B. Verlängerungs- oder Y-Stücke die man einfach zwischenstecken kann um dort eigene Hardware anzuschließen?
    4.) Mit welcher Standard-Hardware kommt man für den Anfang klar? Reicht ein popeliger ELM-Adapter um damit auch an anderen CAN-Bussen zu lauschen? Welche Software kann man hier einsetzen? (Alles bitte im Low-Cost, OpenSource Bereich)


    Die Ergebnisse würde ich dann im MK4-Wiki zusammentragen und dem Forum zur Verfügung stellen.
    Danke für Eure Hilfe!

  • Wer fragt, der bekommt auch Antwort, manchmal jedenfalls. ;)
    Da hat sich unser Cheffe mit den vielen Zahlen doch schon einmal bemüht: Kuckstduhier!
    Da hast Du zumindest mal einen Anfang.

    Gruß aus Erfurt


    Schon der dritte Ford und der Fahrer wird nicht schlau draus!

  • Ok, dank des tollen Plans mit der CAN-Bus Übersicht ist nun klar, am OBD-Port liegt
    1.) der MidSpeed CAN-Bus (MSCAN) ohne Multimedia an
    2.) der HighSpeed CAN-Bus (HSCAN) an
    Beide Busse sind auch jeweils am BCM (GEM). Dieses dient als Gateway zwischen MSCAN und HSCAN. Welche Nachrichten es weiterleitet ist unbekannt.
    Der Multimedia MSCAN (MM-MSCAN) ist nur über das IPC erreichbar. Dieses dient als Gateway zwischen MSCAN und MM-MSCAN.


    So wie es aussieht liegen am OBD-Port wirklich direkt die CAN-Busse für Zentralelektrik und Motorsteuerung an.
    Folgende Module sind also direkt am OBD-Port ansprechbar:


    MSCAN:
    - Kombiinstrument (IPC)
    - Zentralelektrikbox (BCM/GEM)
    - Einparkhilfe (PAM)
    - Klimasteuerung (EATC)
    - Airbag Steuermodul (RCM)
    - Schlüsselloses Schließ- und Startsystem (KVM)
    - Anhängermodul (TRM)
    - Klimasteuerung (EATC)
    - Türmodul/Fahrerseite (DDM)
    - Türmodul/Passagier/Fahrerseite (PDM)
    - Kraftstoffbetr. Zuheizer/Standheizung (AHCM)
    - Fahrersitzmodul (DSM)


    HSCAN:
    - Motorsteuerung (PCM)
    - Querbeschleunigungssensor (???)
    - Getriebesteuerung (TCM)
    - Anti-Blockier-System (ABS) und Elektronische Stabilitätskontrolle (ESP)
    - Hauptscheinwerfer-Modul (HCM) und dynamisches Kurvenlicht (AFS)
    - Schlüsselloses Schließ- und Startsystem (KVM) <--- NOCHMAL?
    - Lenkwinkelmodul (SASM)
    - Modul Stoßdämpferregelung (???)
    - Auffahrwarnmodul (???)


    Am MM-MSCAN "hinterm" IPC sind dann noch direkt folgende Module:
    - Audiogerät (ACM)
    - Externe CD-Wechsler (CDDJ)
    - Navigationsrechner (???)
    - Touchscreen (???)
    - Freisprecheinrichtung und Sprachsteuerung (SRM)


    Bus-Terminierung (120 Ohm):
    - Der MSCAN-Bus terminiert am IPC und am BCM.
    - Der HSCAN-Bus am PCM und IPC.
    - Der MM-MSCAN-Bus beide male am IPC.


    Geschwindigkeiten:
    - Der MSCAN-Bus arbeitet mit 250 kbit/s
    - Der HSCAN-Bus mit 500 kbit/s
    - Der MM-MSCAN-Bus arbeitet mit 250 kbit/s


    Fragen:
    1.) Annahme: Ein am CAN-Anschluß des OBD-Ports angeschlossener CAN-Controller hat keine Termninierung.
    2.) Die über LIN mit div. CAN-Modulen verbundenen Geräte sind über das jeweilige CAN-Modul ansprechbar. Auf Busseite sieht es so aus, als kämen die Informationen aus diesem Modul.
    3.) Es gibt am OBD keinen direkten Weg zum Multimedia-CAN, außer dem was das IPC "weiterreicht". Um hier direkt zu kommunizieren (ohne Filter) muss dieser Bus ans OBD geklemmt, oder separat angezapft werden.
    4.) Die am BCM über LIN angeschlossenen Module können über das BCM erreicht werden, bzw. das BCM leitet ggf. Daten dieser Module auf den CAN-Bus weiter.
    5.) Was bedeutet es, wenn am MM-MSCAN der "Berührungsempfindliche Bildschirm (Touchscreen)" als CAN-Modul verfügbar ist? Sendet das Display selbst direkt Nachrichten? Kann es auch welche empfangen und z.B. in "Grafik" umsetzen?

  • Nachdem ich jetzt etwas mehr über den Aufbau des CAN-Bus im Mondeo weiß und mich über Google und Youtube etwas mit der CAN-Bus Theorie vertraut gemacht habe, möchte ich nun gern praktische Erfahrungen sammeln. Hierzu überlege ich, welches die einfachste Methode ist an CAN-Bus Daten heran zu kommen und diese zu analysieren.


    Als Anzapfpunkt ist die OBD-Schnittstelle ja erstmal ideal. Also benötige ich lediglich einen CAN-Adapter und Sniffer-Software um am PC mithorchen zu können. Unser guter ELM-Adapter ist ja im prinzip nichts anderes. Im ELMConfig habe ich eine Funktion "Scanner Mode" gefunden und mal ohne Filter mitgeloggt. Selbst bei stehendem Fahrzeug und auf dem MSCAN pumpt der in Sekunden kilobyteweise Daten rein.


    Ich habe gesehen das es wahnsinnig viel CAN-Debugging-Tools gibt. Kann jemand eines empfehlen das z.B. mit dem USB-Protokoll des ELM-Adapters zurecht kommt, oder vielleicht CAN-Daten im Binär oder ASCII-Format aus einem solchen LOG lesen kann?


    Das Log schaut so aus (nur die ersten Zeilen):



    Wenn ich das richtig lese, dann kommt nach der Uhrzeit die 11-Bit CAN-ID gefolgt von den Datenbytes der Nachricht (immer 8 Bytes).
    Nehm ich z.B. die letzte Zeile oben, ist die ID 0x230. Da soll im Datenbyte 1 der eingelegte Gang hinterlegt sein. Der immer gleiche Eintrag erscheint alle 500ms.Tatsächlich habe ich während der Logs ein paarmal den Rückwärtsgang eingelegt. Das finde ich hier aber nicht wieder.

  • Geschwindigkeiten:
    - Der MSCAN-Bus arbeitet mit 250 kbit/s
    - Der HSCAN-Bus mit 500 kbit/s
    - Der MM-MSCAN-Bus arbeitet mit 250 kbit/s

    Ich habe aber für HSCAN 500 kBaud gefunden. ;)

    Gruß aus Erfurt


    Schon der dritte Ford und der Fahrer wird nicht schlau draus!

  • Ich habe aber für HSCAN 500 kBaud gefunden. ;)


    Das ist in diesem Fall dasselbe. Die Übertragungsrate gibt ja praktisch die Frequenz an mit der einzelne Symbole (Bits) übertragen werden. Sie ist beim CAN Bus nicht dynamisch, also hat ein Bit eine Übertragungszeit von ca. 2 Mikrosekunden.

  • laut diesem Plan ist der MM-CAN an Pins 1 und 8 OBD Buchse. Allerdings steht da auch CP_ONLY, k.A. was das bedeutet.


    Stimmt! Da ist genau das schon realisiert, was ich sonst nachgerüstet hätte :D Pin 1 und 8 sind laut OBD-Sepzifikation frei, bzw. "Vendor option". In meinem Elm ist derzeit ein Umschalter für HSCAN und MSCAN drin. Den müsste ich um einen weiteren erweitern, der mit MMCAN verbindet. Das macht den OBD Port immer attraktiver!


    Die Frage beim Elm den ich derzeit zum sniffen nutze ist nur, in wie weit er mir wirklich das zeigt was auf dem Bus läuft. Es könnte eher sein, das er sich mit einem Steuergerät wie dem BCM verbindet und nur OBD spezifische CAN Nachrichten darstellt.


    Daher überlege ich an einem Interface mit MCP2512 oder SJA1000 Controller für CAN und FTDI für USB. Evtl. muss noch ein uChip wie Atmega oder so zum puffern dazwischen. Ich lese immer wieder von dem Lawicel-Protokoll das von vielen OpenSource Tools zur Kommunikation über ein solches Interface genutzt wird. Könnte man das als Quasi-Standard beschreiben?
    Auf meinem Interface würde ich wohl eher gleich drei Controller, für jeden CAN Bus einen, implementieren um die lästige umschalterei zu vermeiden. Natürlich kann man sowas auch fertig kaufen. Die Preise liegen so ab 120€ aufwärts.

  • Hat jemand zufällig irgendwo eine Aufstellung von CAN-IDs vom Mondeo?
    Für den Anfang würde mir sowas wie R-Signal, Blinker, Bremse, Kupplung reichen. Klasse wäre natürlich eine ausführliche Sammlung. Die Hersteller und OEMs rücken die CAN-DB ja nicht raus, also hilft nur Reverse-Engineering...

  • Die behält Ford natürlich schön für sich. 8)
    Aber so einiges geistert durchs Netz, teilweise von verschiedenen Modellen (Mustang V6, Fiesta, Focus)
    Allerdings scheinen sich die meisten IDs zwischen den Modellen kaum zu unterscheiden.


    Frage mal die Suchmaschine Deiner Wahl nach "openxc" ;)
    Da findest Du vielleicht >>DAS<< mit etlichen weiteren Links, u.a. zu Radio-CAN-IDs.

    Gruß aus Erfurt


    Schon der dritte Ford und der Fahrer wird nicht schlau draus!

  • steht doch alles schon hier


    Stimmt schon, aber ich habs neu gezeichnet weil:
    1.) Darf ich dieses Dokument nicht einfach in unserem MK4 Wiki veröffentlichen
    2.) Muss man sich die Modulinfo mühsam zusammensuchen und die Info ist lückenhaft, Modulnamen fehlen, etc.
    3.) Enthält der Plan Fehler. Z.B. fehlt der MM CAN Anschluss am OBD.
    4.) Finde ich meine Grafik viiel schöner :rolleyes:


    In meiner Zeichnung habe ich selbst noch Fehler entdeckt und Module identifiziert. Dennoch bitte ich um Aufklärung bei den fehlenden Modulen. Hier meine Änderungen:
    - Alles was direkt zum BCM geht ist per LIN angebunden.
    - Zwischen ACC Modul und Radar ist ein eigener CAN. Hier fehlen noch die Terminatoren zwischen 26 und 27.
    - Überall wo im Plan noch Zahlen stehen, brauche ich das Modulkürzel
    - Bei IPC und BCM fehlt noch ein Gateway Symbol (muss ich noch suchen)
    - Hab den Anschluss vom IPC zum MSCAN vergessen.
    - Ich würd gern die optionalen, austattungs- und Motorabhängigen Module, kennzeichnen, die könnten ja fehlen.


    Wenn der Plan komplett ist, möchte ich mit einem CAN Sniffer die Nachrichten die och finde den Modulen zuordnen. Das wird sicher, je nach Prio der Nachricht, im ID Bereich wild durcheinander gehen?!


    Wie gesagt, ich will lernen und das hilft mir dabei die Dinge zu verstehen. Daher hilft mir pragmatismus in diesem Fall nicht weiter :)
    Danke für Eure Unterstützung!!! Letztlich lasse ich alles, was ich hier an Wissen erhalten kann und alles wieder in Form von Wikiseiten zugute kommen. Gern könnt ihr diese dann in Beiträgen als Verweis nutzen!

  • Auch wenn das Thema hier scheinbar nicht so interessant für die meisten ist: Ich habe inzwischen einen CAN-Sniffer aufgebaut und erfolgreich mit CANHacker getestet. Der Sniffer besteht aus einem MCP2515 (Controller) einem MCP2551 (Transceiver) nem Arduino Nano und einer Lawicel-kompatiblen Software drauf, sowie einem speziellen OBD-Kabel mit allen drei CAN-Bussen, die ich mittels 3fach Umschalter wählen kann/muss. Erste Tests am Multimedia-CAN waren sehr vielversprechend.
    Aber ich stehe noch ganz am Anfang, dokumentiere erstmal alles was ich finde in einer EXCEL Datei (würg) und dann später vielleicht mal in einer DBC.


    Würde mich natürlich freuen, wenn hier noch jemand mitarbeiten möchte. Die Hardware kostet zusammen keine 30 Euro (aus China). Theoretisch könnte man das auch mit einem modifizierten ELM machen. Der spricht nur leider kein LAWICEL. Aber ELMConfig kann tracen. Wär halt Handarbeit.

  • Das Thema ist sehr interessant für mich aber ich bin dafür leider zu doof.
    Was ich mich Frage, wäre aber, in es möglich ist mit den Can Modulen und Arduinos weitere Signale auf den Can zu legen und an einer anderen Stelle des Fahrzeuges mit der gleichen Technik zu lesen und in analoge Signale zu verwandeln. So viele Signalkabel, wie ich von vorne nach hinten und zurück gezogen habe...