Liebe Community, für ein aktuelles Kundenprojekt in einem sehr spezifischen Bereich der Fahrzeugdiagnose bin ich darauf angewiesen, CAN-Bus Leitungen von verschiedenen Pins des OBD-II-Steckers zu demultiplexen. Zunächst ein kurzer Überblick zum OBD-II-Standard und zum Hintergrund: Jeder PKW mit Verbrennungsmotor, der innerhalb der EU zugelassen wird, muss zum Zweck der Abgasanalyse mit einem nach SAE J1962 definierten OBD-II-Port ausgestattet sein. Bei EVs entfällt die Pflicht zwar aufgrund der fehlenden Abgase, allerdings hat sich auch hier bei den meisten Herstellern ein OBD-Port durchgesetzt. Dieser genormte Steckverbinder hat 16 Pins, wobei meist zunächst folgende Schnittstellen und Anschlüsse definiert sind: * 01 - Vendor option * 02 - SAE J1850 positive line (when implemented) * 03 - Vendor option * 04 - Chassis Ground * 05 - Signal Ground * 06 - CANH (when implemented) * 07 - K-Line (when implemented) * 08 - Vendor option * 09 - Vendor option * 10 - SAE J1850 negative line (when implemented) * 11 - Vendor option * 12 - Vendor option * 13 - Vendor option * 14 - CANL (when implemented) * 15 - L-Line (when implemented) * 16 - Positive battery rail In der Praxis sieht das normalerweise so aus, dass die beiden Grounds, VBAT und der Haupt-CAN-Bus implementiert sind. Die alten ISO Schnittstellen sind zumindest in unserer Anwendung fast vollständig von CAN verdrängt. Außerdem gibt es je nach Hersteller gelegentlich noch weitere CAN-Busse, deren Pinbelegungen sich über die Pins der nicht implementierten oben genannten Schnittstellen und auf undefinierte Pins verteilen. In neuere Fahrzeugen kommt zusätzlich noch Diagnostic-over-IP (kurz DoIP) - ein auf 100Base-T1 basierender Diagnose-Standard zum Einsatz. Auch bei DoIP gibt es zwei verschiedene Pinout-Varianten, wobei (wenn ich mich recht erinnere) das TX-Paar seinen Platz tauscht (man möge nun die Augen verdrehen). Nun zu meinem Problem: Wenn man davon ausgeht, dass nicht jedes Fahrzeug DoIP implementiert und nur die Versorgungsleitungen + der Haupt-CAN-Bus als Standard zu betrachten sind, bleiben 11 Leitungen übrig, die in Form von Vendoroptions CAN-Bus-Signale (sowohl CANH als auch CANL) sein können. Demnach gibt es 121 verschiedene valide Verbindungsmöglichkeiten, die im Feld für einen zweiten CAN-Bus auftauchen könnten. Da das zu entwickelnde Gerät zumindest einen weiteren CAN-Bus unabhängig der vom Hersteller gewählten Pin-Position unterstützen sollte (oft sind gewisse Informationen nur auf spezifischen CAN-Interfaces vom Gateway im Fahrzeug abrufbar), würde ich diese Funktion gerne mit einer Matrix aus analog-Switches oder mit einer ähnlichen Lösung auf der Bus-Seite des Tranceivers implementieren. Relais Transceiver stellen aufgrund der möglichen Vielfalt und des begrenzten Bauraums leider keine Möglichkeit dar. Im Vorgängergerät wurde dieses Problem durch verschiedene Bestückungsvarianten entsprechend dem Einsatz in spezifischen Fahrzeuggruppen mit identischem Pinout gelöst. Leider sind die Einsatzmöglichkeiten der einzelnen Geräte dadurch jedoch sehr beschränkt, was sich in der nächsten Revision ändern sollte. Hat hier schon einmal jemand Erfahrungen mit dem Schalten von busseitigen CAN-Bus-Signalen durch Halbleiter gemacht oder gibt es jemanden, der einen entsprechenden Switch / Bauteil empfehlen kann? Man sollte der Vollständigkeit halber auch noch erwähnen, dass für das Gerät unter anderem eine Typenzulassungserweiterung nach ECE-R10 fällig wird, wodurch die elektromagnetische Störfestigkeit sichergestellt sein muss (was ich hier primär als Problem sehe) und selbstverständlich auch leitungsgebundene und abgestrahlte Emissionsgrenzwerte einzuhalten sind. Vielen herzlichen Dank bereits im Vorhinein! RacingJoe
Wie wäre es mit sowas: https://www.analog.com/en/products/adg725.html Damit kannst du jeden Pin auf einen der Pins vom Transiver legen. Oder missverstehe ich deine Fragestellung?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.