Nedávno jsem si zakoupil levný (cca 600czk) adaptér na eBay vybavený klonem čipu ELM327 a rozhraním FTDI. Zde se pokusím udělat pár poznámek o možnosti použití a na konci se zaměřím na využití adaptéru jako levného CAN analyzéru.
Čip ELM327 zpřístupňuje OBD (On Board Diagnostic) pomocí AT příkazů na sériovém rozhraní RS232.
Adaptér je vybaven rozhraním FTDI, podporuje datový přenos 500 kbaud. Ovladače pro rozhraní FTDI najdete zde.
Pro ruční ověření AT příkazů pomocí aplikace CoolTerm je třeba vytvořit dodatečně soubor baudrates.ini v adresáři, kde se nachází CoolTerm.exe s obsahem:
460800500000921600Následně již stačí CoolTerm spustit, nastavit baudrate 500000, ostatní hodnoty výchozí, záložka Terminal přepnout do Line Mode a Connect. Jednoduchý příklad pro použití AT příkazů jsem našel zde.
CoolTerm - AT příkazy pro adaptér ELM327
Zapojení pinů konektoru OBD je následující:
OBD konektor - popis pinů
Přičemž mechanický přepínač na adaptéru přepíná HS-CAN (pin 6 a 14) a MS-CAN (pin 3 a 11) na CAN rozhraní na čipu ELM327.
Základní sadu příkazu pro přepnutí ELM327 do monitorovacího módu jsem našel zde. Pro svůj případ jsem použil následující nastavení:
ATE0 //response echo OFF ATSP6 //ISO 15765-4 (CAN 11/500) and save itATAL //Set long messages ONATS1 //Space ON [08F 00 00 00 00 00 00 00 00] ATH1 //Set header ON [08F 00 00 00 00 00 00 00 00]ATD1 //Display data lenght ON [08F 8 00 00 00 00 00 00 00 00]ATL0 //Line feed OFFATCAF0 //CAN Auto Formatting OFFATMA //Start monitoringA výsledné přijaté data v programu CoolTerm pro CAN zprávy vypadají následně (hlavička id, počet dat ve zprávě, data):
ID    DATA01F 4 C7 23 00 00 00F 7 32 03 20 00 2D E9 00 012 7 32 03 20 00 2D E9 00 013 7 32 03 20 00 2D E9 00 014 7 32 03 20 00 2D E9 00 015 7 32 03 20 00 2D E9 00 06F 8 00 00 00 00 00 00 00 00 07F 8 00 00 00 00 00 00 00 00 08F 8 00 00 00 00 00 00 00 00 K monitoringu CAN rozhraní můžeme také použít program ELMConfig, stačí přepnout do módu Sniffer a lze vidět všechny zprávy na CAN rozhraní.
ELMConfig v módu Sniffer