UART Kommunikation mit einem STN-Chip basierenden Adapter
Grundsätzlich kommuniziert der STN über einen UART-Chip und USB mit dem PC. Sind die richtigen Treiber für den UART-Chip (FTDI, CH340, oder was auch immer) installiert, bildet sich dort ein virtueller COM-Port. Über diesen Port sprechen Software und Adapter miteinander. Die verwendete Sprache basiert auf ASCII-Befehlen, ähnlich den Modems (die älteren unter uns werden sich erinnern) mit AT-Kommandos.
Beim einschalten des Adapters wartet dieser auf eine Verbindung mit dem PC, d.h. das jemand die Daten im Ausgangspuffer abholt. Damit das geschehen kann müssen sich Sender und Empfänger über die UART-Parameter Baudrate, Daten-Bits, Stopp-Bits und Paritäts-Bit einig sein. Der STN hat einen nicht-flüchtigen Speicher (NVRAM in Form eines EEPROMs oder Flash) in dem er sich die zuletzt eingestellte Baudrate merkt. Je nach Treiber ist das nicht relevant da z.B. ein FDTI völlig ohne Baudrate auskommen kann, das soll hier aber erstmal ignoriert werden. Die Standard-Baudrate könnte 9.600 oder 115.200 Baud sein, der Modus ist eigentlich immer „8N1“.
Wenn man versucht mit dem Chip Kontakt aufzunehmen kann man das aber nicht wissen und man muss es schlichtweg durchprobieren. Simulieren kann man das auch mit einem einfachen seriellen Terminalprogramm wie z.B. „HTerm“. Hab man die richtige Baudrate erwischt, kommt nach dem senden des „ATZ“ Kommandos (was soviel wie „Reset“ für den Adapter bedeutet) folgende Ausgabe zurück:
ELM327 v1.4b >
(Die Version kann unterschiedlich sein). Das Zeilenende-Zeichen ist in beiden Fällen (Senden/Empfangen) ein CR
(Hex 0x0d
). Ein beim senden mitgeliefertes LF
(0x0a
) wird dabei einfach ignoriert.
Nun befindet sich der Adapter im Kommunikationsmodus und ist in der Lage AT für die ELM-Emulation, aber auch ST für die STN-Spezifischen Befehle zu empfangen.