Hallo,
ich habe ein Problem, dazu muss ich etwas ausholen:
ich habe zwei Geräte (CAN Adapter und Autoradio) die über eine UART Verbindung (Maestro IDatalink) miteinander bidirektional reden müssen. Das Autoradio gibt es in einer deutschen und einer amerikanischen Version. Die amerikanische Version hat eine offizielle IDatalink Schnittstelle mit passendem Stecker. Bei der Programmierung des CAN Adapters muss man die Seriennummer und das Modell des Autoradios angeben, diese wird beim Kommunikationsaufbau abgefragt, wenn das nicht übereinstimmt, geht der CAN Adapter in den Fehlermodus. Leider gibt es da nur die amerikanischen Modelle zur Auswahl ![]()
Das deutsche Pendant zur amerikanischen Autoradio Variante unterstützt diese IDatalink Schnittstelle nicht offiziell, hat aber auch einen "UART zur Kommunikation mit CAN Adapterboxen". Ich vermute, dass da softwareseitig das gleiche Protokoll drauf läuft und sich das anpassen lässt.
Um das Model zu faken will ich einen Arduino mit zwei UARTS dazwischen basteln, um die Response des Autoradios auf einen entsprechenden Request herauszufiltern, und als Antwort die amerikanische Modellnumer schicken, der andere Verkehr soll einfach durchgeleitet werden.
Problem 1: Ich habe zwei vierpolige Kabel (eines mit drei Leitungen belegt, eines mit vier Leitungen belegt). GND und Tx habe ich herausmessen können, beim dreipoligen Kabel ergibt sich somit Rx, beim vierpoligen Kabel bin ich wg. Rx unsicher. Gibt es einen Weg das messtechnisch herauszubekommen ohne die Gehäude öffnen zu müssen?
Problem 2: Die Tx Pegel sind unterschiedlich, CAN Adapter 3,3V, Autoradio 5V. Die Versorgungsspannungen 5V/3.3V liegen nicht mit am Kabel an (so wie bei Sensoren - bei allen Beschreibungen der Logic Level Shifter geht es immer um Schaltungen wo die Versorgungsspannung abgegriffen werden kann). Mir ist aber nicht ganz klar woher ich die 3.3V Versorgungsspannung nehmen kann, um den Logic Level Shifter auf der Low Voltage Seite mit Spannung zu versorgen. Da wäre ich für Tipps dankbar.
Gruß
Jörg
