Cuprins: Informații generale ↓ Scopul principal ↓ Schema de controler pentru interfața… ↓ Recomandări de utilizare ↓ Principii generale ale schimbului de… ↓ Inițializarea controlerului și a… ↓ Stabilirea unei conexiuni ↓ Inițializare ↓ Procedura de schimb de date ↓ Modificări aduse celor mai recente… ↓ Stabilirea unei conexiuni ↓ Selectarea unui protocol ↓ Notă și comentarii ↓
Avertisment: standardul VPW se aplică modelelor GM, standardul PWM se aplică modelelor Ford, standardul ISO 9141-2 se aplică modelelor asiatice și europene.
Informații generale
Privit aparatul este un microcontroler, realizat în tehnologie CMOS (CMOS).
Avertisment: Controlerul nu este destinat conectării 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 codurile de diagnosticare și datele sistemului OBD II (turația motorului, temperatura lichidului de răcire și a aerului de admisie, caracteristicile de sarcină, debitul de aer al motorului etc.) în cadrul standardului SAE J1979 prin orice tip de magistrală (PWM, VPW și ISO 9141-2).
Scopul principal
Pentru conectarea la un computer este suficient un cablu cu 3 fire, conectarea la conectorul de diagnosticare se face cu un cablu 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.
Schema de controler pentru interfața computerului personal cu sistemul de autodiagnosticare la bord OBD II

Recomandări de utilizare
Pentru a conecta dispozitivul la mașină, se poate folosi un cablu neecranat de cel mult 1,2 m, ceea ce are o importanță deosebită atunci când se utilizează protocolul PWM. Când utilizați un cablu mai lung, rezistența rezistențelor la intrarea dispozitivului ar trebui redusă (R8 și R9 sau R15). Când utilizați un cablu ecranat, ecranul trebuie deconectat 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 cabluri semnificativ mai lungi, ar trebui utilizat un comunicator RS 232 mai puternic.
Topologia conexiunilor electrice este arbitrară. În condiții de umiditate ridicată, utilizați condensatori de bypass suplimentari.
Software-ul gratuit (browser) pentru citirea codurilor și a datelor poate fi descărcat de pe site-urile producătorilor și este destinat utilizării sub DOS. Dimensiunea redusă a aplicației software în versiunea "DOS" permite să fie plasată pe o dischetă de boot DOS și utilizată chiar și pe computere echipate cu software incompatibil cu DOS. Nici măcar nu este necesar să aveți un hard disk în computer.
Principii generale ale schimbului de date
Declinare a răspunderii: cu excepția cazului în care se menționează altfel, toate numerele sunt în format hexadecimal.
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 un computer personal (PC), după care revine imediat la modul de ascultare. Datele care intră și ies din controlor sunt organizate ca un lanț de octeți secvențiali, primul dintre care este cel de control. De obicei, octetul de control este un număr între 0 și 15 dec (sau 0-F hex), descriind 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 cei patru biți mai puțin semnificativi, cei mai semnificativi biți sunt rezervați pentru unele comenzi speciale și pot fi utilizați de computer la inițializarea conexiunii cu controlerul și negocierea protocolului de transfer de date, precum și de către controler pentru a verifica erorile de transmisie. În special, în cazul unei erori de transmisie, controlerul setează bitul cel mai semnificativ (MSB) al octetului de control la unu. La transmiterea cu succes, toți cei patru biți de ordin înalt sunt setați la zero.
Atenție: Există câteva excepții de la regulile de utilizare a octetului de control.
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 "înghețarea" asociată cu 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. În primul rând, este trimis un semnal de un octet 20 (hex), care este perceput de controler ca o comandă de stabilire a conexiunii. Ca răspuns, controlerul trimite un singur octet hexadecimal FF (255 dec) în loc de octetul de control și intră în modul de așteptare pentru recepția datelor. Acum PC-ul poate continua la inițializarea canalului de date.
Avertisment: Acesta este unul dintre puținele cazuri în care controlerul nu utilizează un octet de control.
Inițializare
În această etapă se inițializează protocolul prin care se va efectua schimbul de date, iar în cazul protocolului ISO se inițializează sistemul de bord. Schimbul de date se realizează folosind unul dintre cele trei protocoale: VPW (General Motors), PWM (Ford) și ISO 9141-02 (producători asiatici/europeni).
Avertisment: Există multe excepții, cum ar fi atunci când examinați anumite modele de mașini Mazda protocolul Ford PWM poate fi utilizat. Prin urmare, dacă întâmpinați probleme de transmisie, ar trebui să încercați mai întâi să utilizați alt protocol.
Selecția protocolului se face prin transmiterea unei combinații constând din octetul de control 41 (hexazecimal) și octetul imediat următor, care determină tipul de protocol: 0 = VPW, 1 = PWM, 2 = ISO 9141. De exemplu, comanda 41(hex) 02(hex) inițializează protocolul ISO 9141.
Ca răspuns, controlerul trimite un octet de control și un octet de stare. Setarea MSB al octetului de control indică faptul că există o problemă, iar următorul octet de stare va conține informațiile corespunzătoare. Dacă inițializarea are succes, este trimis un octet de control 01(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 care determină care dintre cele două versiuni de protocol ușor diferite va fi utilizată.
Avertisment: cheia digitală are doar scop informativ.
Trebuie remarcat faptul că inițializarea protocoalelor VPW și PWM are loc semnificativ mai rapid, deoarece necesită doar transferul informațiilor relevante către controler. La modelele conforme cu ISO, inițializarea durează aproximativ 5 secunde, petrecute schimbând informații între controler și procesorul de la bord la o viteză de 5 baud. Cititorul trebuie să rețină că la unele vehicule din familia ISO 9141, inițializarea protocolului este suspendată dacă o solicitare de date nu este transmisă într-un interval de 5 secunde - asta înseamnă că PC-ul trebuie să emită automat solicitări la fiecare câteva secunde, chiar și în modul inactiv.
După stabilirea conexiunii și inițializarea protocolului, începe schimbul obișnuit de date, constând în solicitări primite de la PC și răspunsuri emise de controlor.
Procedura de schimb de date
Controlerul funcționează în mai multe scenarii diferite când utilizează protocoalele ISO 9141-2 și SAE (VPW și PWM).
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ă specificați cadrul care urmează să fie capturat sau returnat. În unele cazuri (rare), procesorul de la bord poate transmite pachete constând din mai mult de un cadru. Într-o astfel de situație, cererea trebuie repetată până când toate cadrele din pachet au fost primite.
Cerere este întotdeauna format după cum urmează: [Control byte], [SAE standard 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 este formatată în conformitate cu specificațiile SAE J1950 și J1979 și constă dintr-un antet (3 octeți), o secvență de octeți de informații și un octet de verificare a erorilor (CRC). Rețineți că, în timp ce informațiile de solicitare sunt generate în strictă conformitate cu Specificațiile SAE, consumatorul octetului de verificare și al numărului de cadre este cipul de interfață.
Dacă procedura este finalizată cu succes, mesajul de răspuns are întotdeauna următorul format: [Control Byte], [SAE Response]. Octetul de control, ca și înainte, determină numărul de octeți de informații care îl urmează. Răspunsul, așa cum este cerut de standardul SAE, constă dintr-un antet (3 octeți), un șir de octeți de informații și un octet CRC.
În caz de eșec se trimit 2 octeți mesaj de raspuns: [Octet de control], [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ă octetul de control 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 să transmită date incorecte în cazurile în care solicitarea nu corespunde standardului 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 control este setat, iar octetul de stare este scos după octetul de control.
În cazul coliziunilor pe magistrală, interfața produce un singur octet 40 (hex), care este un octet de control cu bitul cel mai puțin semnificativ șters. Această situație poate apărea destul de des atunci când autobuzul vehiculului este încărcat cu mesaje cu 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 diferă puțin de cea utilizată în standardele SAE, singura diferență fiind 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. Astfel, cerere constă întotdeauna dintr-un octet de control urmat de un lanț de octeți de informații, inclusiv o sumă de control. Ca mesaj de răspuns cipul retransmite pur și simplu semnalele generate de procesorul de la bord. Nu există niciun octet de control în mesajul de răspuns, astfel încât computerul primește informațiile primite în mod continuu până când lanțul este întrerupt printr-o pauză de 55 de milisecunde, indicând finalizarea pachetului de informații. Astfel, mesajul de răspuns poate consta din unul sau mai multe cadre în conformitate cu cerințele 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: Răspunsurile la majoritatea interogărilor constau dintr-un singur cadru.
Modificări aduse celor mai recente versiuni ale controlerelor de interfață
Mai jos sunt principalele diferențe în procesul de transfer de date folosind protocoalele SAE și ISO 9141, tipice pentru cele mai recente versiuni de controlere de interfață, precum și procedura de transfer de date folosind protocolul ISO 14230: 1. Standard ISO 9141: Octet de adresă adăugat;
2. ISO 9141: returnează nu doar 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 reprezintă un octet nedefinit, rezervat sau nerecunoscut.
Stabilirea unei conexiuni
Procedura de configurare a conexiunii nu s-a schimbat:
| Expediere: | 20 |
| Recepţie: | FF |
Selectarea unui protocol
|
VPW:
|
|
|
Expediere: |
41, 00 |
|
Recepţie: |
02, 01, XX |
|
PWM: |
|
|
Expediere: |
41, 01 |
|
Recepţie: |
02, 01, XX |
|
ISO 9141: |
|
|
Expediere: |
42, 02, adr, unde: adr este octetul adresei (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ă): |
|
|
Expediere: |
46, 03, R1, R2, R3, R4, R5, unde: R1÷R5 - mesaj despre începutul cererii ISO 14230 de stabilire a unei conexiuni, de obicei R1÷R5 = C1, 33, F1, 81, 66 |
|
Recepţie: |
S1, S2, ……… - Mesaje de pornire a răspunsului la configurarea conexiunii ISO 14230 |
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
Notă și comentarii
Dacă controlerul este planificat să fie utilizat pentru transmiterea datelor numai prin unul sau două dintre protocoale, componentele inutile pot fi excluse (vezi diagrama de mai sus). De exemplu, atunci când se organizează un circuit pentru protocolul VPW (GM), vor fi necesare doar trei fire de cablare electrică în firul care conectează controlerul la mașină (bornele 16, 5 și 2).
Dacă nu se utilizează protocolul PWM, elementele R4, R6, R7, R8, R9, R10, T1, T2 și D1 pot fi excluse.
Atunci când se refuză schimbul prin protocolul ISO, următoarele elemente sunt supuse excluderii: R15, R16, R17, R18, R19, R21, T4 și T5.
Prin neutilizarea protocolului VPW pot fi eliminate 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%.
Vă rugăm să rețineți că nu există un buton de resetare de urgență (RESET), dacă este necesar, o astfel de resetare se poate face prin deconectarea controlerului de la conectorul mașinii (procesorul de interfață se va reporni automat). Repornirea software-ului pe PC are ca rezultat o nouă inițializare a interfeței.
