Ich versuche, ein Kombiinstrument eines Saab 9-3 Baujahr 2008 zu steuern. Es hat 2 Pins, die für I-Bus markiert sind (beide Drähte sind grün, der Durchgangstest zeigt, dass sie wie hier gezeigt miteinander verbunden sind:
Manche Seiten nennen diesen Instrumentenbus auch GMLAN . Ich hatte keine Informationen darüber, wie dieser Bus funktioniert, außer "die Datenübertragungsrate des I-Bus beträgt 33 kbit / s" und:
Also habe ich das Gerät zerlegt und nach einigen IC-Markierungen gesucht, ich habe einen AU5790D gefunden, der ein Single-Wire-CAN-Transceiver ist. Es gibt eine Seite mit verschiedenen CAN-IDs und Nachrichten für einen Saab 9-3 von 2001. (Sie haben den Bus geändert, aber hoffentlich die Codes beibehalten.) Reverse-Engineering des Saab 9-3 Instrumentation Bus (I-BUS)
Nach einigen Recherchen zu den Eindrahtbussen hat sich herausgestellt, dass mein Seeedstudios Can Shield hier unbrauchbar ist. Ich habe den gleichen Chip bestellt, damit ich ein 2-Knoten-Netzwerk emulieren kann. Meine Fragen sind:
Die meisten kleinen Mikrocontroller (wie die auf dem Arduino verwendeten) sind nicht schnell genug, um CAN in Software zu implementieren. Aus diesem Grund verwendet das CAN Shield den CAN-Controller-IC MCP2515 .
Ich empfehle eine von zwei Möglichkeiten:
Verbinden Sie einen MCP2515-Chip mit Ihrem Arduino und verwenden Sie den CAN-Transceiver AU5790 . Tun Sie dies entweder auf einem Steckbrett oder entwerfen Sie eine Leiterplatte.
Verwenden Sie die Arduino CAN-Abschirmung, aber löten Sie einige Drahtbrücken von den TXD-, RXD- und GND-Leitungen auf eine andere Platine mit einem AU5790 darauf.
Laden Sie den Schaltplan und die PCB-Designs für das Arduino CAN-Schild herunter und passen Sie das Design so an, dass es den AU5790 anstelle des MCP2551 akzeptiert.
Leider scheint der AU5790 nicht Pin-kompatibel mit dem MCP2551 zu sein. Es ist fast so, was schade ist.
Zoszko
Zoszko
niedergeschlagen
niedergeschlagen