ELM327

ELM327 to zaprogramowany mikrokontroler stworzony do translacji interfejsu diagnostyki pokładowej (OBD), który można znaleźć w większości nowoczesnych samochodów . Protokół poleceń ELM327 jest jednym z najpopularniejszych standardów interfejsu PC-to-OBD i jest również wdrażany przez innych dostawców.

Oryginalny ELM327 został zaimplementowany na mikrokontrolerze PIC18F2480 firmy Microchip Technology .

Podczas prowadzenia działalności firma ELM Electronics sprzedawała również inne warianty produktu, z nieco innymi numerami części, które implementowały tylko podzbiór protokołów OBD.

W czerwcu 2020 roku firma ELM Electronics ogłosiła, że ​​​​zamyka działalność w czerwcu 2022 roku.

Używa

ELM327 stanowi streszczenie protokołu niskiego poziomu i przedstawia prosty interfejs, który można wywołać za pośrednictwem UART , zwykle za pomocą ręcznego narzędzia diagnostycznego lub programu komputerowego podłączonego przez USB , RS-232 , Bluetooth lub Wi-Fi . Nowe aplikacje obejmują smartfony.

Dostępnych jest wiele programów, które łączą się z ELM327.

Funkcja takiego oprogramowania może obejmować dodatkowe oprzyrządowanie pojazdu , raportowanie i kasowanie kodów błędów.

Funkcje ELM327:

  • Przeczytaj diagnostyczne kody usterek, zarówno ogólne, jak i specyficzne dla producenta.
  • Wyczyść niektóre kody usterek i wyłącz MIL („Lampka wskaźnika awarii”, bardziej znana jako „Lampka kontrolna silnika”)
  • Wyświetl aktualne dane czujnika
  • Obroty silnika
  • Obliczona wartość obciążenia
  • Temperatura płynu chłodzącego
  • Stan układu paliwowego
  • Prędkość pojazdu
  • Krótkoterminowa regulacja paliwa
  • Długoterminowa regulacja paliwa
  • Ciśnienie w kolektorze dolotowym
  • Zaliczka czasowa
  • Temperatura powietrza wlotowego
  • Natężenie przepływu powietrza
  • Absolutna pozycja przepustnicy
  • Napięcia sondy lambda/powiązane krótkoterminowe korekty paliwowe
  • Ciśnienie paliwa

Obsługiwane protokoły

Protokoły obsługiwane przez ELM327 to:

  • SAE J1850 PWM (41,6 kb/s )
  • SAE J1850 VPW (10,4 kb/s)
  • ISO 9141-2 (początek 5 bodów, 10,4 kbit/s)
  • ISO 14230-4 KWP (początek 5 bodów, 10,4 kbit/s)
  • ISO 14230-4 KWP (szybka inicjalizacja, 10,4 kbit/s)
  • ISO 15765-4 CAN (11-bitowy identyfikator, 500 kbit/s)
  • ISO 15765-4 CAN (29-bitowy identyfikator, 500 kbit/s)
  • ISO 15765-4 CAN (11-bitowy identyfikator, 250 kbit/s)
  • ISO 15765-4 CAN (29-bitowy identyfikator, 250 kbit/s)
  • SAE J1939 (250kbit/s)
  • SAE J1939 (500kbit/s)

Zestaw poleceń

Zestaw poleceń ELM327 jest podobny do poleceń Hayes AT .

Inne wersje

Typowy tani egzemplarz ELM327 bez etykiety na sterowniku

ELM327 to mikrokontroler PIC , który został dostosowany za pomocą zastrzeżonego kodu ELM Electronics, który implementuje protokoły testowe. Kiedy firma ELM Electronics sprzedawała wersję 1.0 swojego ELM327, nie włączała ona ochrony przed kopiowaniem mikrokontrolera PIC. W związku z tym każdy, kto kupił oryginalny ELM327-v1.0, mógł użyć programatora urządzeń do odczytania zastrzeżonego oprogramowania układowego mikrokontrolera ELM jako binarnego obiektu blob . Piraci mogli w prosty sposób wyprodukować klon ELM327, kupując ten sam układ mikrokontrolera i programując go za pomocą skopiowanego bloba. Kopie ELM327 były szeroko sprzedawane w urządzeniach rzekomo zawierających urządzenie ELM327 i zgłaszano problemy z kopiami. Problemy odzwierciedlają błędy obecne w mikrokodzie ELM w wersji 1.0; osoby tworzące klony mogą nadal sprzedawać starą wersję.

Chociaż te kopie mogą zawierać kod ELM327 v1.0, mogą fałszywie podawać numer wersji jako aktualną wersję dostarczoną przez oryginalny ELM327, aw niektórych przypadkach zgłaszać jeszcze nieistniejącą wersję. Wydane wersje oprogramowania dla ELM327 to tylko 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.3, 1.3a, 1.4, 1.4b, 2.0, 2.1, 2.2 i 2.3. Rzeczywiste funkcje tych kopii są jednak ograniczone do funkcji oryginalnego ELM327 v1.0, z ich nieodłącznymi brakami.

Zarys wersji

v1.0 Pierwsza wersja publiczna, ELM327 v1.0 obsługiwał: – SAEJ1850 PWM i VPW,- – ISO 9141-2 (10,4 i 9,6 kb/s), – ISO 14230-4 (10,4 i 9,6 kb/s), – ISO 15765-4 CAN (250 i 500 kb/s) — Szybkość transmisji RS232 wynosiła tylko 9,6 kb/s lub 38,4 kb/s

v1.0a – regulacja rozrządu J1850 VPW dla niektórych ciężarówek GM z lat 99 – 00.

v1.1 – Wprowadzono parametry programowalne – Dodano polecenia kontroli przepływu

v1.2 – Prędkości transmisji RS232 są regulowane do 500 kb/s – Programowalne parametry można zresetować za pomocą zworki – Wprowadzono synchronizację adaptacyjną – Dodano obsługę SAE J1939 (protokół A) – Dodano definiowane przez użytkownika protokoły CAN B i C – Zmodyfikowane protokoły KWP, aby umożliwić cztery nagłówki bajtów

v1.2a – Zmieniono wykrywanie błędów w celu przechwytywania 4-bajtowych nagłówków KWP w przypadku braku danych lub sumy kontrolnej – Dodano sprawdzanie, aby zapobiec uszkodzeniu maski CAN w przypadku niektórych wysyłek Flow Control

v1.3 – Adaptive Timing dostrojony nieco inaczej – Kilka ulepszeń J1939 – Nowe polecenia CAN CRA pomagające w ustawianiu masek i filtrów – Nowe polecenia CAN D0/D1 do drukowania wiadomości dlc – Nowe polecenie CAN RTR do wysyłania tego samego – Dodano kontrolę znaku spacji w odpowiedziach – Nowy komunikat STOPPED dla przerwań użytkownika podczas wyszukiwania – Wprowadzono komunikat LV RESET dla resetów z niskiego napięcia – Nowe komendy @2 i @3 do zapamiętania unikalnego identyfikatora – Dodano możliwość podania ilości żądanych odpowiedzi

v1.3a (nadal dostępna) – Dodano sprawdzanie okablowania, kiedy piny J1962 CAN są używane do innych funkcji

v1.4 – Dodano tryb niskiego poboru mocy (funkcja „uśpienia”) – Dodano rozszerzony tryb adresowania dla protokołów CAN – Dodano obsługę ISO 9141 i ISO 14230 z szybkością 4800 bodów – Możliwość ręcznego sterowania inicjacją ISO 9141 i ISO 14230 – Zapewniono pojedynczy bajt pamięci EEPROM dla przechowywanie danych użytkownika – Wszystkie przerwania mają teraz komunikat STOPPED (nie tylko podczas wyszukiwania) – Wiele nowych Programowalnych Parametrów i dodatków

v1.4a Elm Electronics nigdy nie stworzył wersji 1.4a

v1.4b (już niedostępne) – Nowe polecenie CSM do aktywnego lub pasywnego monitorowania CAN – Nowe polecenie CRA do szybkiego resetowania zmienionych masek i filtrów – Kilka aktualizacji SAE J1939

v1.5 Elm Electronics nigdy nie stworzył wersji 1.5

v2.0 – Nowy monitor aktywności obserwuje piny OBD – Wybudzanie z niskiego poboru mocy zachowuje teraz ustawienia – Agencje ratingowe AT akceptują „nie przejmuj się” (X) – Nowe PP zapewniają rozbudowaną kontrolę ISO/KWP – Zwiększono bufor RS232 Tx do 512 bajtów – Brak zasilania napięcie resetowania obniżone do 2,8 V

v2.1 – Zwiększenie szybkości – Przetwarza odpowiedzi „Oczekiwanie na odpowiedź” (7F xx 78) – Wyszukiwania CAN mierzą teraz częstotliwość i wymagają dopasowania

v2.2 – Polecenie AT CS pokazuje teraz częstotliwość CAN – Dodano prędkości transmisji ISO/KWP 12500 i 15625 bps – Nowe polecenie AT CER hh umożliwia zdefiniowanie adresu CEA Rx – Nowe tryby IFR Sterowanie 4,5,6 J1850 Wysyłanie IFR podczas monitorowania – Dodano PP 1F, aby długość KWP obejmowała bajt sumy kontrolnej – Zwiększono PP19 z 31 do 4F

v2.3 (najnowsza wersja) – Nowe polecenie AT FT dodaje kolejną warstwę filtrowania – Dodano trzy tryby CAN Flow Control dla eksperymentatorów – Oczekiwanie na odpowiedź działa teraz z rozszerzonym adresowaniem CAN – Nowe polecenia AT IA i C0/C1 – Lepsza tolerancja szumów w RS232 Rx

Nieco bardziej szczegółowe zmiany można zobaczyć w ich najnowszym arkuszu danych w rozdziale Historia wersji (str. 94-95).

Zobacz też

Linki zewnętrzne