Forum: Fahrzeugelektronik Busseitiges Schalten von CAN-Bus Signalen


von RacingJoe (Gast)


Lesenswert?

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

von Kevin M. (arduinolover)


Lesenswert?

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
Noch kein Account? Hier anmelden.