ELM327

ELM327 är en programmerad mikrokontroller tillverkad för att översätta OBD-gränssnittet ( Onboard Diagnostics) som finns i de flesta moderna bilar. Kommandoprotokollet ELM327 är en av de mest populära PC-till-OBD-gränssnittsstandarderna och implementeras även av andra leverantörer.

Den ursprungliga ELM327 implementerades på mikrokontrollern PIC18F2480 från Microchip Technology .

Under sin verksamhet sålde ELM Electronics också andra varianter av produkten, med något annorlunda artikelnummer, som endast implementerade en delmängd av OBD-protokollen.

I juni 2020 tillkännagav ELM Electronics att de skulle lägga ner verksamheten i juni 2022.

Används

ELM327 abstraherar lågnivåprotokollet och presenterar ett enkelt gränssnitt som kan anropas via en UART , vanligtvis av ett handhållet diagnostikverktyg eller ett datorprogram anslutet via USB , RS-232 , Bluetooth eller Wi-Fi . Nya applikationer inkluderar smartphones.

Det finns ett stort antal tillgängliga program som ansluter till ELM327.

Funktionen för sådan programvara kan innefatta kompletterande fordonsinstrumentering , rapportering och radering av felkoder.

ELM327 Funktioner:

  • Läs diagnostiska felkoder, både generiska och tillverkarspecifika.
  • Rensa några felkoder och stäng av MIL ("Malfunction Indicator Light", mer känd som "Check Engine Light")
  • Visa aktuell sensordata
  • Motorvarvtal
  • Beräknat belastningsvärde
  • Kylvätsketemperatur
  • Bränslesystemstatus
  • Fordonshastighet
  • Kortsiktigt bränsletrim
  • Långsiktig bränsletrim
  • Insugningsrörstryck
  • Tidsförskott
  • Insugsluftens temperatur
  • Luftflödeshastighet
  • Absolut gasläge
  • Syresensorspänningar/associerade kortsiktiga bränsletrimningar
  • Bränsletryck

Protokoll stöds

De protokoll som stöds av ELM327 är:

  • SAE J1850 PWM (41,6 kbit/s )
  • SAE J1850 VPW (10,4 kbit/s)
  • ISO 9141-2 (5 baud init, 10,4 kbit/s)
  • ISO 14230-4 KWP (5 baud init, 10,4 kbit/s)
  • ISO 14230-4 KWP (snabb init, 10,4 kbit/s)
  • ISO 15765-4 CAN (11 bitars ID, 500 kbit/s)
  • ISO 15765-4 CAN (29 bitars ID, 500 kbit/s)
  • ISO 15765-4 CAN (11 bitars ID, 250 kbit/s)
  • ISO 15765-4 CAN (29 bitars ID, 250 kbit/s)
  • SAE J1939 (250kbit/s)
  • SAE J1939 (500kbit/s)

Kommandouppsättning

ELM327 - kommandouppsättningen liknar Hayes AT - kommandon .

Andra versioner

Typisk billig ELM327 kopia utan etikett på styrenheten

ELM327 är en PIC-mikrokontroller som har anpassats med ELM Electronics egen kod som implementerar testprotokollen. När ELM Electronics sålde version 1.0 av sin ELM327, aktiverade den inte kopieringsskyddsfunktionen hos PIC-mikrokontrollern. Följaktligen kunde alla som hade köpt en äkta ELM327-v1.0 använda en enhetsprogrammerare för att läsa ELM:s proprietära mikrokontrollerfirmware som en binär blob . Pirater kunde trivialt producera en ELM327-klon genom att köpa samma mikrokontrollerchip och programmera det med den kopierade bloben. ELM327-kopior såldes i stor utsträckning i enheter som påstår sig innehålla en ELM327-enhet, och problem har rapporterats med kopiorna. Problemen återspeglar buggar som fanns i ELM:s version 1.0 mikrokod; de som gör klonerna kan fortsätta att sälja den gamla versionen.

Även om dessa kopior kan innehålla koden ELM327 v1.0, kan de felaktigt rapportera versionsnumret som den aktuella versionen som tillhandahålls av den äkta ELM327, och i vissa fall rapportera en ännu icke-existerande version. Utgivna programvaruversioner för ELM327 är endast 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.3, 1.3a, 1.4, 1.4b, 2.0, 2.1, 2.2 och 2.3. De faktiska funktionerna för dessa kopior är ändå begränsade till funktionerna i den ursprungliga ELM327 v1.0, med deras inneboende brister.

Versionsöversikt

v1.0 Initial public release, ELM327 v1.0 stöds: – SAEJ1850 PWM och VPW,- – ISO 9141-2 (10,4 och 9,6 kbps), – ISO 14230-4 (10,4 och 9,6 kbps), – ISO 15765-4 CAN (250 och 500 kbps)- RS232-överföringshastigheterna var endast 9,6 kbps eller 38,4 kbps

v1.0a – J1850 VPW tidsjustering för vissa '99 – '00 GM-lastbilar.

v1.1 – Introducerade programmerbara parametrar – Tillagda kommandon för flödeskontroll

v1.2 – RS232 baudhastigheter är justerbara till 500 kbps – Programmerbara parametrar kan återställas med en bygel – Introducerad adaptiv timing – Tillagt SAE J1939-stöd (protokoll A) – Tillagda användardefinierade CAN-protokoll B och C – Modifierade KWP-protokoll för att tillåta fyra byte-rubriker

v1.2a – Ändrad feldetektering för att fånga KWP 4-byte-rubriker om ingen data eller kontrollsumma – Lade till kontroll för att förhindra CAN-maskkorruption på vissa flödeskontrollsändningar

v1.3 – Adaptiv timing ställt in lite annorlunda – Flera J1939-förbättringar – Nya CAN CRA-kommandon för att hjälpa till att ställa in masker och filter – Nya CAN D0/D1-kommandon för utskrift av meddelande dlc – Nytt CAN RTR-kommando för att skicka samma – Tillagd kontroll av mellanslagstecken in responses – Nytt STOPPED-meddelande för användaravbrott under sökningar – Infört LV RESET-meddelande för återställningar från lågspänning – Nya @2 och @3 kommandon för lagring av unik identifierare – Tillagd möjlighet att ange antalet önskade svar

v1.3a (fortfarande tillgänglig) – Lade till ledningskontroller för när J1962 CAN-stiften används för andra funktioner

v1.4 – Lagt till lågeffektläge ('sleep'-funktion) – Tillagt utökat adresseringsläge för CAN-protokoll – Lagt till stöd för 4800 baud ISO 9141 och ISO 14230 – Tillåt manuell kontroll över ISO 9141 och ISO 14230 initiering – Tillhandahåller en enda EEPROM-byte för användardatalagring – Alla avbrott säger nu STOPPAD (inte bara vid sökning) – Många nya programmerbara parametrar och tillägg

v1.4a Elm Electronics gjorde aldrig en v1.4a

v1.4b (inte längre tillgängligt) – Nytt CSM-kommando för att ha aktiv eller passiv CAN-övervakning – Nytt CRA-kommando för att snabbt återställa ändrade masker och filter – Flera SAE J1939-uppdateringar

v1.5 Elm Electronics har aldrig gjort en v1.5

v2.0 – Nya Activity Monitor-klockor OBD-stift – Wake from Low Power behåller nu inställningar – AT CRA accepterar 'don't care's (X) – Nya PP:er ger omfattande ISO/KWP-kontroll – Ökade RS232 Tx-bufferten till 512 byte – Brownout återställ spänningen reducerad till 2,8V

v2.1 – Hastigheten ökar – Bearbetar 'svar väntar' (7F xx 78) svar – CAN-sökningar mäter nu frekvens och kräver en matchning

v2.2 – AT CS-kommandot visar nu CAN-frekvens – Tillagda 12500 och 15625 bps ISO/KWP baudhastigheter – Nytt AT CER hh-kommando gör det möjligt att definiera CEA Rx-adressen – Nya IFR-lägen 4,5,6 styr J1850 IFR-sändning under övervakning – Lade till PP 1F för att tillåta KWP-längd att inkludera checksumbyten – Ökade PP19 från 31 till 4F

v2.3 (senaste utgåvan) – Nytt AT FT-kommando lägger till ytterligare ett lager av filtrering – Lagt till tre CAN Flow Control-lägen för experimenterare – Response Pending fungerar nu med CAN Extended Addressing – Ny AT IA och C0/C1-kommandon – Bättre brustolerans på RS232 Rx

Lite mer detaljerade ändringar kan ses i deras senaste datablad i kapitlet Versionshistorik (sid. 94-95).

Se även

externa länkar