Forum: Fahrzeugelektronik HS-/MS-CAN Umschaltung von ELM-Clone "CM327" ansteuern


von Olli Z. (z80freak)



Lesenswert?

Ich grübele seit Tagen zusammen mit einem Bekannten über die Frage wie 
ich mittels AT-Kommandos eine kleine Sequenz in den CAN-Bus seines 
Fahrzeugs einspielen kann. Er hat einen CM327 (ELM-Clone) mit 
automatischer HS-/MS-CAN Bus Umschaltung. Hierzu hat der Adapter zwei 
TJA1050, die vermutlich nur über einen CAN-Controller des PIC2 
angesteuert werden. Das ist auch ok, denn für diese einfachen Adapter 
reicht es wenn immer nur ein Bus aktiv genutzt wird.

Laut meinen Informationen geschieht die Wahl des CAN-Busses mittels des 
RTS-Signals, welches man softwareseitig setzt. In den Geräten mit 
nachgerüsteter, automatischer Umschaltung (meist mittels Relais) wird 
dazu das Signal am UART (beim CM327 ist das der FTDI-Clone Chip) 
abgegriffen.

Dennoch funktioniert es nicht. Mein Problem ist das der Bekannte keine 
weiteren elektronischen Fähigkeiten besitzt und ich keinen solchen 
Adapter habe um selbst mal ein paar Messungen zu machen.

Daher meine Hoffnung das hier jemand mitliest der sich damit auskennt 
und weiss ob das mit der Umschaltung via RTS stimmt, oder da noch mehr 
zu tun ist?

Die gesamte Initialisierung funktioniert, inkl. Wahl der richtigen 
CAN-Baudrate und ID-Länge, etc. Beim senden der Bytes kommt jedoch ein 
CAN-ERROR, was klar ist wenn versucht wird mit 125 kbaud (MS-CAN) auf 
einem 500 kbaud Bus (HS-CAN) zu senden.

: Bearbeitet durch User
von Olli Z. (z80freak)


Lesenswert?

Inzwischen glaube ich fast das ich alles richtig mache, das nur das 
setzen des RTS-Signals im HTerm nicht dazu führt das dieses Signal auch 
im Adapter so ankommt.

Den Treiber habe ich schon angeschaut und in den Einstellungen ist 
"Flusssteuerung" auf "Keine". So sollte HTerm eigentlich schon in der 
Lage sein das Signal zu stellen.

von Florian (Gast)


Lesenswert?

Bau doch einfach einen Adapter aus einem OBD Stecker und Buchse bei dem 
du die CAN-Leitungen manuell umschalten kannst. Oder kauf bei den 
Chinesen ein Lawicel Interface für 5(?) €

von Olli Z. (z80freak)


Angehängte Dateien:

Lesenswert?

Ich habe zwar keinen CM327, aber einen TRE27 und der scheint mir dem CM 
sehr änhlich. Hier konnte ich nun endlich messen und auch mit meinem 
CAN-Sniffer überprüfen was raus kommt.

Der RTS-Button von HTerm toggelt Pin 3 vom FTDI-Chip. Dennoch scheint 
das keine Wirkung zu haben. Auf dem PCB kann ich auch nicht erkennen 
oder messen das der irgendwo belegt wäre.

Jedenfalls sendet der TRE27 immer auf den Pins für HS-CAN, egal welches 
Protokoll ich mit ATSP* einstelle (das richtige für mich wäre ATSPB für 
125 Kbaut/11-Bit CAN-ID) und egal wie ich RTS setze. Auch DTR habe ich 
mal ausprobiert, kein Unterschied.

von Olli Z. (z80freak)


Lesenswert?

Ich denke jetzt hab ich selbst raus bekommen (wurde auch echt ein 
Monolog hier... ;-)
Und zwar emuliert mein TRE27 (wird auch als ELS27 verkauf) mit seinem 
PIC2 nicht einen ELM327 Chip sondern einen STN1170 (was am Ende auch nur 
ein PIC2 mit anderem Aufdruck ist). Und der wiederum bietet neben einer 
ELM-Emulation auch einen eigenen Befehlssatz (ST... anstelle AT...) und 
besitzt sogar 3 CAN-Bus Anschlüsse, aber nur einen Controller.
Er bietet für das interne umschalten einen eigenen Befehl an:
"STP h"
Wobei in meinem Fall "h" das Protokoll Nummer 53 ist (125 Kbaud, 11 Bit 
ID). Und siehe da, schon kommen die gesendeten Daten auch auf der 
richtigen Schnittstelle an.

Für näheres dann bitte einfach nach dem Datenblatt zum STN1170 suchen.

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.