Atenție: VPW este pentru modelele GM, PWM este pentru Ford, ISO 9141-2 este pentru modelele asiatice și europene.
Informații totale
Dispozitivul în cauză este un microcontroler realizat folosind tehnologia CMOS (CMOS).
Atenție: Controlerul nu este destinat să fie conectat la sistemele de autodiagnosticare la bord de prima generație (OBD I)!
Dispozitivul acționează ca un simplu scaner și este conceput pentru a citi coduri de diagnosticare și date din sistemul OBD II (turația motorului, temperatura lichidului de răcire și a aerului de admisie, caracteristicile sarcinii, debitul de aer către motor etc.) în domeniul de aplicare al standardului SAE J1979 prin orice tip de magistrală (PWM, VPW și ISO 9141-2).
Scopul principal
Pentru a vă conecta la un computer, este suficient un fir cu 3 fire, conectarea la conectorul de diagnosticare se realizează cu un fir cu 6 fire. Tensiunea de alimentare este furnizată controlerului prin conectorul de diagnosticare OBD cu 16 pini. Schema schematică a controlerului este prezentată mai jos.
Diagrama schematică a controlerului de interfață pentru un computer personal cu un sistem de autodiagnosticare OBD II la bord
Recomandări de utilizare
Un cablu neecranat, de cel mult 1,2 m, poate fi folosit pentru a conecta dispozitivul la mașină, ceea ce are o importanță deosebită atunci când se utilizează protocolul PWM. Când utilizați un cablu mai lung, reduceți rezistența rezistențelor la intrarea dispozitivului (R8 și R9 sau R15). Când utilizați un cablu ecranat, ecranul trebuie dezactivat pentru a reduce capacitatea.
Cablul pentru conectarea la portul serial al computerului poate fi, de asemenea, neecranat. Dispozitivul funcționează stabil cu o lungime a cablului de până la 9 m. Pentru lungimi semnificativ mai mari de cablu, ar trebui utilizat un comunicator RS 232 mai puternic.
Topologia conexiunilor electrice este arbitrară. Utilizați condensatori shunt suplimentari pentru umiditate ridicată.
Software gratuit (browser) pentru citirea codurilor și a datelor pot fi descărcate de pe site-urile web ale producătorilor și sunt destinate utilizării sub DOS. Dimensiunea nesemnificativă a aplicației software în variantă «sub DOS» vă permite să îl puneți pe o dischetă de pornire DOS și să îl utilizați chiar și pe computere echipate cu software care este incompatibil cu DOS. O condiție opțională este chiar prezența unui hard disk în computer.
Principii generale ale schimbului de date
Avertisment: Dacă nu se specifică altfel, toate numerele sunt în format hexazecimal (hex).
Formatul zecimal este indicat de etichetă dec.
Schimbul de date are loc printr-o conexiune serială cu trei fire, fără utilizarea schimbului de inițializare a mesajelor de serviciu (handshaking). Dispozitivul ascultă canalul pentru mesaje, execută comenzile primite și transmite rezultatele către computerul personal (PC), apoi revine imediat la modul de ascultare. Datele care intră și ies din controlor sunt organizate ca un lanț de octeți consecutivi, primul dintre care este cel de control. De obicei, octetul de control este un număr de la 0 la 15 dec (sau 0-F hex), care descrie numărul de octeți de informații care urmează. Deci, de exemplu, o comandă de 3 octeți ar arăta astfel: 03 (octet de control), primul octet, al doilea octet, al treilea octet. Un format similar este utilizat atât pentru comenzile de intrare pentru a interoga sistemul de autodiagnosticare de la bord, cât și pentru mesajele de ieșire care conțin informațiile solicitate. Trebuie remarcat faptul că în octetul de control sunt utilizați doar patru biți inferiori - biții înalți sunt rezervați unor comenzi speciale și pot fi utilizați de computer la inițializarea conexiunii cu controlerul și negocierea protocolului de transfer de date, precum și controler pentru a controla erorile de transmisie. În special, în cazul unei erori de transmisie, controlerul setează bitul cel mai semnificativ (MSB) octet de control pe unitate. La transmisia cu succes, toți cei patru biți de ordin înalt sunt setați la zero.
Avertisment: Există câteva excepții de la regulile de utilizare a octetului de verificare.
Inițializarea controlerului și a sistemului de autodiagnosticare la bord
Pentru a începe schimbul de date, computerul trebuie să stabilească o conexiune cu controlerul, apoi să inițializeze controlerul și canalul de date OBD II.
Stabilirea unei conexiuni
După conectarea controlerului la PC și a conectorului de diagnosticare OBD, acesta trebuie inițializat pentru a preveni «îngheață», legate de zgomotul în liniile seriale dacă acestea au fost conectate înainte ca controlerul să fie pornit. În același timp, se efectuează o simplă verificare a activității interfeței. Semnalul de un octet 20 este trimis mai întâi (hex), perceput de controlor ca o comandă de stabilire a unei conexiuni. Ca răspuns, controlerul în loc de control trimite un singur octet FF hex (255 dec) și intră în modul de așteptare pentru primirea datelor. PC-ul poate continua acum la inițializarea conexiunii de date.
Avertisment: Acesta este unul dintre puținele cazuri în care controlerul nu utilizează octetul de verificare.
Inițializare
In aceasta etapa se initializeaza protocolul in functie de care se vor face schimb de date, iar in cazul protocolului ISO se initializeaza sistemul de bord. Schimbul de date se face folosind unul dintre cele trei protocoale: VPW (General Motors), PWM (Ford) și ISO 9141-02 (Producători asiatici/europeni).
Atenție: Există multe excepții: de exemplu, la sondajul unor modele de mașini Mazda Se poate folosi protocolul PWM Ford. Astfel, dacă întâmpinați probleme de transmisie, ar trebui mai întâi să încercați să utilizați alt protocol.
Protocolul este selectat prin trimiterea unei combinații constând din octetul de control 41 (hexazecimal) și octetul imediat următor care specifică tipul de protocol: 0 = VPW, 1 = PWM, 2 = ISO 9141. De exemplu, comanda 41 (hex) 02 (hex) protocolul ISO 9141 este inițializat.
Ca răspuns, controlerul trimite un octet de control și un octet de stare. Setarea MSB al octetului de control indică o problemă, iar octetul de stare care îl urmează va conține informațiile corespunzătoare. La inițializarea cu succes, octetul de control 01 este trimis (hex), indicând că urmează un octet de stare de verificare. În cazul protocoalelor VPW și PWM, octetul de verificare este un simplu ecou al octetului de selectare a protocolului (0 sau, respectiv, 1), la inițializarea protocolului ISO 9141, aceasta va fi o cheie digitală returnată de procesorul OBD de la bord și va determina care dintre cele două versiuni de protocol ușor diferite va fi utilizată.
Atenție: cheia digitală este pur informațională.
Trebuie remarcat faptul că inițializarea protocoalelor VPW și PWM este mult mai rapidă, deoarece necesită doar transferul informațiilor relevante către controler. La modelele care respectă standardul ISO, inițializarea durează aproximativ 5 secunde, cheltuite pentru schimbul de informații între controler și procesorul de la bord, produs la o viteză de 5 baud. Trebuie remarcat cititorului că la unele vehicule din familia ISO 9141 inițializarea protocolului este suspendată dacă o solicitare de date nu este trimisă într-un interval de 5 secunde - asta înseamnă că computerul ar trebui să emită automat solicitări la fiecare câteva secunde, chiar și în modul inactiv..
După stabilirea conexiunii și inițializarea protocolului, începe schimbul regulat de date, constând în solicitări primite de la PC și răspunsuri emise de controlor.
Procedura de schimb de date
Funcționarea controlerului la utilizarea protocoalelor din familia ISO 9141-2 și SAE (VPW și PWM) apare în mai multe scenarii diferite.
Schimb prin protocoale SAE (VPW și PWM)
La schimbul de date folosind aceste protocoale, un singur cadru de date este tamponat, ceea ce înseamnă că este necesar să se specifice cadrul care urmează să fie capturat sau returnat. În unele (rar) cazuri, procesorul de la bord poate transmite pachete care constau din mai mult de un cadru. Într-o astfel de situație, cererea trebuie repetată până când toate cadrele pachetului au fost primite.
Cerere întotdeauna format după cum urmează: [Control byte], [SAE request], [Frame number]. După cum sa menționat mai sus, octetul de control este de obicei un număr egal cu numărul total de octeți care îl urmează. Solicitarea se face în conformitate cu Specificațiile SAE J1950 și J1979 și constă dintr-un antet (3 octeți), secvențe de octeți de informații și octeți de control al erorilor (CRC). Rețineți că, în timp ce informațiile la cerere sunt formate în strictă conformitate cu Specificațiile SAE, consumatorul octetului de control și al numărului de cadru este cipul de interfață.
La finalizarea cu succes a procedurii, un mesaj de răspuns are întotdeauna următorul format: [Verificare octet], [Răspuns standard SAE]. Octetul de control, ca și înainte, determină numărul de octeți de informații care îl urmează. Răspunsul, în conformitate cu cerințele standardului SAE, constă într-un antet (3 octeți), șiruri de octeți de informații și un octet CRC.
La eșec trimis pe 2 octeți mesaj de raspuns: [Verificare octet], [octet de stare]. În acest caz, MSB este setat în octetul de control. Cei patru biți cei mai puțin semnificativi formează numărul 001, indicând faptul că controlul este urmat de un singur octet, octetul de stare. Această situație poate apărea destul de des, deoarece Specificațiile permit posibilitatea ca procesorul de la bord să nu emită date, precum și transmiterea de date incorecte în cazul în care solicitarea nu respectă standardul suportat de producătorii de vehicule. De asemenea, este posibil ca datele solicitate să nu fie disponibile în memoria RAM a procesorului în momentul actual. Când cipul nu primește răspunsul așteptat sau primește date corupte, MSB-ul octetului de verificare este setat și octetul de stare este emis după verificare.
Pentru coliziunile cu magistrala, interfața generează un singur octet 40 (hex), care este un octet de control cu bitul cel mai puțin semnificativ setat la zero. O situație similară poate apărea destul de des atunci când autobuzul auto este încărcat cu mesaje cu o prioritate mai mare decât datele de diagnosticare - dispozitivul de calcul trebuie să repete cererea inițială.
Schimb conform protocoalelor ISO 9141-2
Standardul ISO 9141-2 este utilizat de majoritatea producătorilor de automobile din Asia și Europa. Structura cererii generate de PC nu este mult diferită de cea utilizată în standardele SAE, cu singura diferență că cipul nu are nevoie de informații despre numărul de cadre și informațiile corespunzătoare nu ar trebui să fie prezente în pachet. Prin urmare, cerere constă întotdeauna dintr-un octet de verificare urmat de un șir de octeți de date, inclusiv suma de control. La fel de mesaj de răspuns cipul transmite pur și simplu semnalele generate de procesorul de la bord. Nu există niciun octet de verificare în mesajul de răspuns, astfel încât computerul acceptă informațiile primite în mod continuu până când lanțul este întrerupt de o pauză de 55 de milisecunde care indică finalizarea pachetului de informații. Astfel, un mesaj de răspuns poate consta din unul sau mai multe cadre, conform specificațiilor SAE J1979. Cipul nu analizează cadre, nu aruncă cadre nediagnostic etc. PC-ul trebuie să proceseze singur datele primite pentru a izola cadrele individuale prin analiza octeților de antet.
Avertisment: Majoritatea răspunsurilor la interogare constau dintr-un singur cadru.
Modificări efectuate în cele mai recente controlere de interfață
Mai jos sunt principalele diferențe în procesul de transfer de date folosind protocoalele SAE și ISO 9141, care sunt specifice ultimelor versiuni de controlere de interfață, precum și ordinea transferului de date folosind protocolul ISO 14230: 1. Standardul ISO 9141: Adăugat octet de adresă;
2. ISO 9141: Nu sunt returnați unul, ci ambii octeți cheie; (octetul suplimentar este returnat și în modurile SAE, dar nu este folosit aici).
3. S-a adăugat suport pentru protocolul ISO 14230.
Avertisment: Toți octeții de date sunt transmisi în format hexazecimal.
Avertisment: caracterul XX indică un octet nedefinit, rezervat sau nerecunoscut.
Stabilirea unei conexiuni
Ordinea de configurare a conexiunii nu s-a schimbat:
Transport: | 20 |
Recepţie: | FF |
Selectarea protocolului
VPW:
|
|
Transport: |
41, 00 |
Recepţie: |
02, 01, XX |
PWM: |
|
Transport: |
41, 01 |
Recepţie: |
02, 01, XX |
ISO 9141: |
|
Transport: |
42, 02, adr, unde: adr - octet de adresă (de obicei 33 hex) |
Recepţie: |
02, K1, K2, unde K1, K2 sunt octeți de cheie ISO |
Sau: |
82, XX, XX (Eroare de inițializare ISO 9141) |
ISO 14230 (inițializare rapidă): |
|
Transport: |
46, 03, R1, R2, R3, R4, R5, unde: R1 ÷ R5 - mesaj despre începerea unei cereri de conectare ISO 14230, de obicei R1 ÷ R5 = C1, 33, F1, 81, 66 |
Recepţie: |
S1, S2, ……… - mesaje despre începutul răspunsului ISO 14230 la conexiune |
Avertisment: mai mult de un ECU poate fi transmis în serie. Un cod de răspuns negativ poate fi folosit ca răspuns.
Un răspuns pozitiv tipic arată astfel: S1, S2, ……. = 83, F1, 10, C1, E9, 8F, BD
ISO 14230 (inițializare lentă): Similar cu ISO 9141
Observație și comentarii
Dacă intenționați să utilizați controlerul pentru a transfera date numai prin unul sau două dintre protocoale, componentele inutile pot fi excluse (vezi diagrama de mai sus). De exemplu, atunci când se organizează o schemă pentru protocolul VPW (GM) sunt necesare doar trei fire de cablare electrică în firul care conectează controlerul la mașină (bornele 16, 5 și 2).
Dacă nu este utilizat protocolul PWM, elementele R4, R6, R7, R8, R9, R10, T1, T2 și D1 pot fi excluse.
În cazul refuzului schimbului conform protocolului ISO, sunt supuse excluderii următoarele elemente: R15, R16, R17, R18, R19, R21, T4 și T5.
Respingerea utilizării protocolului VPW vă permite să excludeți următoarele elemente: R13, R14, R23, R24, D2, D3 și T3.
Se folosesc rezistențe cu peliculă de carbon cu toleranță de rezistență de 5%.
Rețineți absența unui buton de resetare de urgență (RESET), dacă este necesar, o astfel de repornire se poate face prin deconectarea controlerului de la conectorul mașinii (procesorul de interfață va reporni automat). Repornirea software-ului pe PC are ca rezultat o nouă inițializare a interfeței.
Comentariile vizitatorilor