Poznámka. Normu VPW spĺňajú modely GM, normu PWM Ford a normu ISO 9141-2 ázijské a európske modely.
Celková informácia
Ide o mikrokontrolér vyrobený pomocou technológie CMOS (CMOS).
Pozor! Ovládač nie je určený na pripojenie k palubným systémom autodiagnostiky prvej generácie (OBD I)!
Zariadenie funguje ako jednoduchý skener a je určené na čítanie diagnostických kódov a údajov zo systému OBD II (otáčky motora, teplota chladiacej kvapaliny a nasávaného vzduchu, charakteristika zaťaženia, prietok vzduchu k motoru a pod.) v rámci normy SAE J1979 cez akýkoľvek typ zbernice (PWM, VPW a ISO 9141-2).
Hlavný účel
Na pripojenie k počítaču postačuje 3-vodičový vodič, pripojenie k diagnostickému konektoru sa vykonáva pomocou 6-vodičového vodiča. Napájanie je dodávané do ovládača cez 16-pinový diagnostický konektor OBD. Schéma regulátora je znázornená na obrázku.
Odporúčania na použitie
1. Na pripojenie zariadenia k autu je možné použiť netienený kábel, nie dlhší ako 1,2 m, čo je obzvlášť dôležité pri použití protokolu PWM. Pri použití dlhšieho kábla znížte odpor rezistorov na vstupe zariadenia (R8 a R9 alebo R15). Pri použití tieneného kábla by malo byť tienenie vypnuté, aby sa znížila kapacita.
2. Kábel na pripojenie k sériovému portu počítača môže byť tiež odtienený. Zariadenie stabilne pracuje s dĺžkou kábla do 9 m. Pre výrazne väčšie dĺžky káblov treba použiť výkonnejší RS 232 komunikátor.
3. Topológia elektrických spojení je ľubovoľná. Pre vysokú vlhkosť použite prídavné bočné kondenzátory.
4. Slobodný softvér (prehliadač) na čítanie kódov a údajov je možné stiahnuť z webových stránok výrobcov a je určený na použitie v systéme DOS. Nepodstatná veľkosť softvérovej aplikácie vo variante «pod DOSom» umožňuje vložiť ho na zavádzaciu disketu systému DOS a používať ho aj na počítačoch vybavených softvérom, ktorý nie je kompatibilný so systémom DOS. Voliteľnou podmienkou je dokonca aj prítomnosť pevného disku v počítači.
Všeobecné princípy výmeny údajov
Poznámka. Ak nie je uvedené inak, všetky čísla sú v hexadecimálnom formáte (hex).
Desatinný formát je označený štítkom dec.
Výmena dát prebieha cez trojvodičové sériové pripojenie, bez použitia inicializačnej výmeny servisných správ (handshaking). Zariadenie počúva správy na kanáli, vykonáva prijaté príkazy a odosiela výsledky do osobného počítača (PC), potom sa okamžite vráti do režimu počúvania. Údaje vstupujúce a opúšťajúce kontrolór sú organizované ako reťazec po sebe nasledujúcich bajtov, z ktorých prvý je riadiaci. Typicky je riadiacim bajtom číslo od 0 do 15 dec (alebo 0-F hex), ktorý popisuje počet informačných bajtov, ktoré nasledujú. Napríklad 3-bajtový príkaz by vyzeral takto: 03 (riadiaci bajt), 1. bajt, 2. bajt, 3. bajt. Podobný formát sa používa ako pre prichádzajúce príkazy na vyžiadanie palubného autodiagnostického systému, tak aj pre odchádzajúce správy obsahujúce požadované informácie. Je potrebné poznamenať, že v riadiacom byte sú použité iba štyri nízke bity - vysoké bity sú vyhradené pre niektoré špeciálne príkazy a môžu byť použité počítačom pri inicializácii spojenia s kontrolérom a vyjednávaní protokolu prenosu dát, ako aj ovládač na kontrolu chýb prenosu. Najmä v prípade chyby prenosu ovládač nastaví najvýznamnejší bit (MSB) riadiaci bajt na jednotku. Pri úspešnom prenose sú všetky štyri bity vyššieho rádu nastavené na nulu.
Poznámka. Existujú individuálne výnimky z pravidiel používania riadiaceho bajtu.
Inicializácia ovládača a palubného systému autodiagnostiky
Na spustenie výmeny údajov musí počítač vytvoriť spojenie s kontrolérom a potom inicializovať kontrolér a dátový kanál OBD II.
Nadviazanie spojenia
Po pripojení ovládača k PC a diagnostickému konektoru OBD je potrebné ho inicializovať, aby sa zabránilo «zamrzne», súvisiace so šumom v sériových linkách, ak boli pripojené pred zapnutím regulátora. Zároveň sa vykonáva jednoduchá kontrola aktivity rozhrania. Ako prvý sa odošle jednobajtový signál 20 (hex), vnímaný ovládačom ako príkaz na vytvorenie spojenia. Ako odpoveď pošle kontrolér namiesto kontroly jeden bajt FF hex (255 dec) a prejde do režimu čakania na príjem dát. Počítač môže teraz pokračovať v inicializácii dátového spojenia.
Poznámka. Tento prípad je jeden z mála, kedy ovládač nepoužíva riadiaci bajt.
Inicializácia
V tejto fáze sa inicializuje protokol, podľa ktorého sa budú vymieňať dáta a v prípade ISO protokolu sa inicializuje palubný systém. Dáta sa vymieňajú pomocou jedného z troch protokolov: VPW (General Motors), PWM (Ford) a ISO 9141-02 (ázijských/európskych výrobcov). Poznámka: Existuje veľa výnimiek, napríklad pri vypočúvaní niektorých modelov automobilov Mazda je možné použiť protokol PWM od spoločnosti Ford. Preto, ak narazíte na problémy s prenosom, mali by ste najprv skúsiť použiť nejaký iný protokol. Protokol sa vyberie odoslaním kombinácie pozostávajúcej z riadiaceho bajtu 41 (hexadecimálny) a bajt bezprostredne za ním, ktorý definuje typ protokolu: 0 = VPW, 1 = PWM, 2 = ISO 9141. Napríklad príkaz 41 (hex) 02 (hex) je inicializovaný protokol ISO 9141.
Ako odpoveď radič pošle riadiaci bajt a stavový bajt. Nastavenie MSB riadiaceho bajtu indikuje problém a stavový bajt za ním bude obsahovať zodpovedajúce informácie. Po úspešnej inicializácii sa odošle riadiaci bajt 01 (hex), čo znamená, že nasleduje bajt stavu overenia. V prípade protokolov VPW a PWM je overovací bajt jednoduchou odozvou bajtu výberu protokolu (0 alebo 1), pri inicializácii protokolu ISO 9141 to bude digitálny kľúč vrátený integrovaným procesorom OBD a určujúci, ktorá z dvoch mierne odlišných verzií protokolu sa použije.
Poznámka. Digitálny kľúč má čisto informačný účel.
Treba poznamenať, že inicializácia protokolov VPW a PWM je oveľa rýchlejšia, pretože vyžaduje iba prenos príslušných informácií do kontroléra. Na modeloch, ktoré spĺňajú normu ISO, trvá inicializácia približne 5 sekúnd, ktoré sú vynaložené na výmenu informácií medzi radičom a palubným procesorom, pričom rýchlosť je 5 baudov. Pre čitateľa je potrebné poznamenať, že na niektorých vozidlách rodiny ISO 9141 je inicializácia protokolu pozastavená, ak nie je odoslaná požiadavka na dáta v 5-sekundovom intervale - to znamená, že PC by malo automaticky vydávať požiadavky každých pár sekúnd, dokonca aj v nečinnom režime..
Po nadviazaní spojenia a inicializácii protokolu sa začne pravidelná výmena dát, pozostávajúca z požiadaviek prijatých z PC a odpovedí vydaných kontrolérom.
Postup výmeny údajov
Prevádzka ovládača pri použití protokolov rodiny ISO 9141-2 a SAE (VPW a PWM) sa vyskytuje v niekoľkých rôznych scenároch.
Výmena cez protokoly SAE (VPW a PWM)
Pri výmene údajov pomocou týchto protokolov sa vyrovnáva iba jeden dátový rámec, čo znamená, že musí byť špecifikovaný rámec, ktorý sa má zachytiť alebo vrátiť. V niektorých (zriedkavé) V týchto prípadoch môže integrovaný procesor prenášať pakety pozostávajúce z viac ako jedného rámca. V takejto situácii sa musí požiadavka opakovať, kým sa neprijmú všetky rámce paketu.
Požiadavka je vždy vytvorená nasledovne: [Riadiaci byte], [Požiadavka podľa normy SAE], [Číslo rámca]. Ako je uvedené vyššie, riadiaci bajt je zvyčajne číslo, ktoré sa rovná celkovému počtu bajtov, ktoré za ním nasledujú. Žiadosť sa podáva v súlade so špecifikáciami SAE J1950 a J1979 a pozostáva z hlavičky (3 bajty), sekvencie informačných bajtov a bajtu kontroly chýb (CRC) . Všimnite si, že zatiaľ čo informácie na požiadanie sú tvorené v prísnom súlade so špecifikáciami SAE, spotrebiteľom riadiaceho bajtu a čísla rámca je čip rozhrania.
Po úspešnom dokončení postupu má správa odpovede vždy nasledujúci formát: [Check Byte], [SAE Standard Response]. Riadiaci bajt, ako predtým, určuje počet informačných bajtov za ním. Odpoveď v súlade s požiadavkami normy SAE pozostáva z hlavičky (3 bajty), reťazce informačných bajtov a bajt CRC.
V prípade zlyhania sa odošle 2-bajtová správa odpovede: [Control byte], [Status byte]. V tomto prípade je MSB nastavený v riadiacom byte. Štyri najmenej významné bity tvoria číslo 001, čo znamená, že za ovládacím prvkom nasleduje jeden bajt, stavový bajt. Táto situácia môže nastať pomerne často, keďže špecifikácie počítajú s možnosťou, že palubný procesor nevydá údaje, ako aj s prenosom nesprávnych údajov v prípade, že požiadavka nespĺňa štandard podporovaný výrobcami vozidiel. Je tiež možné, že požadované údaje nie sú momentálne dostupné v RAM procesora. Keď čip nedostane očakávanú odpoveď alebo dostane poškodené dáta, nastaví sa MSB kontrolného bajtu a po kontrole sa vydá stavový bajt.
Pre kolízie zbernice rozhranie generuje jeden bajt 40 (hex), čo je riadiaci bajt s najmenej významným bitom nastaveným na nulu. Podobná situácia môže nastať pomerne často, keď je autobusová zbernica zaťažená správami s vyššou prioritou ako sú diagnostické údaje - výpočtové zariadenie musí zopakovať pôvodnú požiadavku.
Výmena podľa protokolov ISO 9141-2
Normu ISO 9141-2 používa väčšina ázijských a európskych výrobcov automobilov. Štruktúra vygenerovanej požiadavky PC sa príliš nelíši od štruktúry používanej v štandardoch SAE, len s tým rozdielom, že čip nepotrebuje informáciu o čísle rámca a zodpovedajúca informácia by nemala byť prítomná v pakete. Žiadosť teda vždy pozostáva z kontrolného bajtu, za ktorým nasleduje reťazec informačných bajtov vrátane kontrolného súčtu. Čip ako odpoveď jednoducho prenesie signály generované vstavaným procesorom. V správe s odpoveďou nie je žiadny kontrolný bajt, takže PC prijíma prichádzajúce informácie nepretržite, až kým reťaz nepreruší pauza 55 milisekúnd, ktorá indikuje dokončenie informačného paketu. Takže správa s odpoveďou môže pozostávať z jedného alebo viacerých rámcov, ako to vyžaduje špecifikácia SAE J1979. Čip neanalyzuje snímky, nevyraďuje nediagnostické snímky atď. Počítač musí spracovať prichádzajúce dáta sám, aby izoloval jednotlivé rámce analýzou bajtov hlavičky.
Poznámka. Odpovede na väčšinu požiadaviek pozostávajú z jedného rámca.
Úpravy vykonané v najnovších ovládačoch rozhrania
Nižšie sú uvedené hlavné rozdiely v procese prenosu údajov pomocou protokolov SAE a ISO 9141, ktoré sú typické pre najnovšie ovládače rozhrania, ako aj v postupe prenosu údajov pomocou protokolu ISO 14230:
- 1) ISO 9141: Pridaný bajt adresy;
- 2) ISO 9141: Vráti sa nie jeden, ale oba kľúčové bajty; (extra bajt sa vracia aj v režimoch SAE, tu sa však nepoužíva).
- 3) Pridaná podpora pre protokol ISO 14230.
Poznámka. Všetky informačné bajty sa prenášajú v hexadecimálnom formáte.
Znak XX označuje nedefinovaný, rezervovaný alebo nerozpoznaný bajt.
Nadviazanie spojenia
Poradie nastavenia pripojenia sa nezmenilo:
- Poštovné: 20
- Recepcia: FF
Výber protokolu:
- VPW:
- Odchod: 41.00 hod
- Recepcia: 02, 01, XX
- PWM:
- Odoslanie: 41, 01
- Recepcia: 02, 01, XX
- ISO 9141:
- Odosielanie: 42, 02, adr, kde: adr je bajt adresy (zvyčajne 33 hex)
- Príjem: 02, K1, K2, kde K1, K2 sú kľúčové bajty ISO
- Alebo: 82, XX, XX (Chyba inicializácie ISO 9141)
ISO 14230 (rýchla inicializácia):
- Odoslať: 46, 03, R1, R2, R3, R4, R5, kde: R1 ÷ R5 - správa o začatí požiadavky na pripojenie podľa normy ISO 14230, zvyčajne R1 ÷ R5 = C1, 33, F1, 81, 66
- Prijať: S1, S2, ……… - správy o začiatku odpovede ISO 14230 na vytvorenie spojenia
Poznámka. Viac ako jedna ECU môže byť prenášaná v sérii. Ako odpoveď možno použiť záporný kód odpovede.
Typická pozitívna odpoveď vyzerá takto: S1, S2, ……. = 83, F1, 10, C1, E9, 8F, BD
ISO 14230 (pomalá inicializácia): Podobne ako ISO 9141
Poznámky a komentáre
Ak plánujete použiť ovládač na prenos údajov iba prostredníctvom jedného alebo dvoch protokolov, nepotrebné komponenty možno vylúčiť (pozri diagram). Napríklad pri organizovaní schémy pre protokol VPW (GM) v kábli, ktorý spája ovládač s autom, sú potrebné iba tri vodiče elektrického vedenia (svorky 16, 5 a 2).
Ak sa nepoužíva protokol PWM, prvky R4, R6, R7, R8, R9, R10, T1, T2 a D1 môžu byť vylúčené.
V prípade odmietnutia výmeny podľa protokolu ISO podliehajú vylúčeniu tieto prvky: R15, R16, R17, R18, R19, R21, T4 a T5.
Odmietnutie použitia protokolu VPW vám umožňuje vylúčiť tieto prvky: R13, R14, R23, R24, D2, D3 a T3.
Používajú sa rezistory s uhlíkovým filmom s toleranciou odporu 5 %.
Všimnite si absenciu núdzového resetovacieho tlačidla (RESET), v prípade potreby je možné takýto reštart vykonať odpojením ovládača od konektora auta (procesor rozhrania sa automaticky reštartuje). Reštartovanie softvéru na PC spôsobí inicializáciu nového rozhrania.