Tartalomjegyzék: Általános információk ↡ Fő célja ↡ Használati javaslatok ↡ Az adatcsere általános elvei ↡ Az interfészvezérlők legújabb…↡ Megjegyzések és megjegyzések ↡
Vezérlő személyi számítógép és az OBD II fedélzeti öndiagnosztikai rendszer párosításához a SAE szabványok (PWM és VPW) és az ISO 9141-2 protokollok szerint.
Jegyzet. A GM által gyártott modellek megfelelnek a VPW szabványnak, a Ford a PWM szabványnak, az ázsiai és európai modellek pedig az ISO 9141-2 szabványnak.
Általános információk
A szóban forgó eszköz egy CMOS technológiával készült mikrokontroller.
Figyelem! A vezérlő NEM első generációs fedélzeti öndiagnosztikai rendszerekhez (OBD I) való csatlakoztatásra szolgál!
Az eszköz egyszerű szkennerként működik, és diagnosztikai kódok és adatok olvasására készült az OBD II rendszerből (a motor fordulatszáma, a hűtőfolyadék és a beszívott levegő hőmérséklete, a terhelési jellemzők, a levegő áramlása a motorba stb.) a SAE J1979 szabványon belül bármilyen buszkialakításon keresztül (PWM, VPW és ISO 9141-2).
Fő célja
A számítógéphez (PC) való csatlakoztatáshoz elegendő egy 3 vezetékes vezeték a diagnosztikai csatlakozóhoz egy 6 vezetékes vezetékkel. A vezérlő tápellátása a 16 tűs OBD diagnosztikai csatlakozón keresztül történik.
A PC és az OBD II rendszer párosításának vezérlő vázlata
Használati javaslatok
A készülék autóhoz történő csatlakoztatásához legfeljebb 1,2 m hosszú árnyékolatlan kábel használható, ami különösen fontos a PWM protokoll használatakor. Hosszabb kábel használata esetén csökkentse az ellenállások ellenállását a készülék bemenetén (R8 és R9 vagy R15). Árnyékolt kábel használatakor az árnyékolást ki kell kapcsolni a kapacitás csökkentése érdekében.
A számítógép soros portjához csatlakoztatható kábel árnyékolatlan is lehet. A készülék akár 9 m-es kábelhosszal is megbízhatóan működik. Lényegesen hosszabb kábelhossz esetén erősebb RS 232 kommunikátort kell használni.
Az elektromos csatlakozások topológiája tetszőleges. Ha magas a páratartalom, használjon további bypass kondenzátorokat.
A kódok és adatok olvasására szolgáló ingyenes szoftver (böngésző) DOS alatti használatra készült. A szoftveralkalmazás kis mérete a "DOS" verzióban lehetővé teszi, hogy DOS rendszerindító hajlékonylemezre helyezzük, és még DOS-szal nem kompatibilis szoftverrel felszerelt számítógépeken is használható. Nem kötelező feltétel még a merevlemez jelenléte is a számítógépben.
Az adatcsere általános elvei
Jegyzet. Ha másképp nem jelezzük, minden szám hexadecimális (hexadecimális) formátumban van, dec.
Az adatcsere háromvezetékes soros kapcsolaton keresztül történik, inicializálási szolgáltatás üzenetváltás használata nélkül (handshaking). A készülék meghallgatja a csatornát az üzenetekre, végrehajtja a kapott parancsokat, és továbbítja az eredményeket egy személyi számítógépre (PC), majd azonnal visszatér hallgatási módba. A vezérlőbe be- és kilépő adatok szekvenciális bájtok láncolatába szerveződnek, amelyek közül az első a vezérlés. Az ellenőrző bájt általában 0 és 15 dec közötti szám (vagy 0-F hex), amely leírja a következő információs bájtok számát. Így például egy 3 bájtos parancs így nézne ki: 03 (check byte), 1. bájt, 2. bájt, 3. bájt. Hasonló formátumot használnak mind a bejövő parancsok a fedélzeti öndiagnosztikai rendszer lekérdezéséhez, mind a kért információkat tartalmazó kimenő üzenetek. Meg kell jegyezni, hogy a vezérlő bájtban csak négy alacsony rendű bitet használnak - a magasabb rendű bitek bizonyos speciális parancsok számára vannak fenntartva, és a PC felhasználhatja őket a vezérlővel való kapcsolat inicializálása és az adatátviteli protokoll egyeztetése során. valamint az átviteli hibák szabályozására szolgáló vezérlő. Különösen átviteli hiba esetén a vezérlő a vezérlő bájt legjelentősebb bitjét (MSB) egyre állítja. Sikeres átvitel esetén mind a négy legjelentősebb bit nullára kerül.
Jegyzet. Van néhány kivétel az ellenőrző bájt használatára vonatkozó szabályok alól.
A vezérlő és a fedélzeti öndiagnosztikai rendszer inicializálása
Az adatcsere megkezdéséhez a PC-nek kapcsolatot kell létesítenie a vezérlővel, majd inicializálnia kell a vezérlőt és az OBD II adatcsatornát.
Kapcsolat létrehozása
Miután csatlakoztatta a vezérlőt a számítógéphez és az OBD diagnosztikai csatlakozóhoz, inicializálni kell, hogy elkerülje a soros vonalak zajával járó fagyásokat, ha azokat a vezérlő tápellátásának bekapcsolása előtt csatlakoztatták. Ezzel egyidejűleg az interfész tevékenységének egyszerű ellenőrzése is megtörténik. Mindenekelőtt egy egybájtos 20 (hex) jel kerül elküldésre, amelyet a vezérlő a kapcsolat létrehozására irányuló parancsként érzékel. Válaszul a vezérlő egyetlen bájtos FF hexa (255 dec) jelet küld a vezérlő helyett, és készenléti üzemmódba lép az adatok fogadására. A számítógép most folytathatja az adatcsatorna inicializálását.
Jegyzet. Ez azon kevés esetek egyike, amikor a vezérlő nem használ vezérlő bájtot.
Inicializálás
Ebben a szakaszban inicializálják azt a protokollt, amelyen keresztül az adatok cseréje történik, az ISO protokoll esetében pedig a fedélzeti rendszer inicializálását. Az adatcsere a három protokoll egyikével történik: VPW (General Motors), PWM (Ford) és ISO 9141-02 (ázsiai/európai gyártók).
Jegyzet. Sok kivétel van: például egyes Mazda modellek lekérdezésekor a Ford PWM protokollja használható. Ezért, ha átviteli problémák lépnek fel, először próbáljon meg valamilyen más protokollt használni.
A protokoll kiválasztása a 41(hex) vezérlő bájtból és az azt közvetlenül követő bájtból álló kombináció továbbításával történik, amely meghatározza a protokoll típusát: 0 = VPW, 1 = PWM, 2 = ISO 9141. Így például a 41-es paranccsal (hex) 02(hex) az ISO 9141 protokoll inicializálva van.
Válaszul a vezérlő egy vezérlő bájtot és egy állapotbájtot küld. Az MSB vezérlő bájt beállítása jelzi a problémákat, és a következő állapotbájt tartalmazza a megfelelő információkat. Sikeres inicializáláskor a 01(hex) vezérlő bájt kerül elküldésre, jelezve, hogy egy ellenőrző állapotbájt következik. VPW és PWM protokollok esetén az ellenőrző bájt a protokoll kiválasztási bájt egyszerű visszhangja (0 vagy 1), amikor az ISO 9141 protokoll inicializálva van, ez a beépített processzor által visszaadott digitális kulcs lesz, amely meghatározza, hogy a protokoll két, kissé eltérő verziója közül melyiket használják.
Jegyzet. A digitális kulcsnak pusztán információs célja van.
Megjegyzendő, hogy a VPW és PWM protokollok inicializálása sokkal gyorsabb, mivel csak a releváns információk továbbítását igényli a vezérlőnek. Az ISO szabványnak megfelelő modelleken az inicializálás körülbelül 5 másodpercet vesz igénybe, amelyet a vezérlő és a fedélzeti processzor közötti információcserére fordítanak, 5 baud sebességgel. Az olvasónak meg kell jegyeznie, hogy egyes ISO 9141 járműmodelleknél a protokoll inicializálása szünetel, ha 5 másodpercen belül nem küldenek adatkérést – ez azt jelenti, hogy a számítógépnek néhány másodpercenként automatikusan kérést kell kiadnia, még üresjáratban is.
A kapcsolat létrejötte és a protokoll inicializálása után megkezdődik a normál adatcsere, amely a PC-től kapott kérésekből és a vezérlő által kiadott válaszokból áll.
Adatcsere eljárás
A vezérlő működése az ISO 9141-2 és SAE család protokolljainak (VPW és PWM) használatakor némileg eltérő forgatókönyv szerint történik.
Csere SAE protokollon keresztül (VPW és PWM)
A protokollok használatával történő adatcsere során csak egy adatkeret kerül pufferelésre, ami azt jelenti, hogy meg kell adni a rögzítendő vagy visszaküldendő keretet. Egyes (ritka) esetekben a beépített processzor egynél több keretből álló csomagokat is továbbíthat. Ilyen helyzetben a kérést addig kell ismételni, amíg a csomagban lévő összes keret meg nem érkezik.
Kér mindig a következőképpen alakul: [Control byte], [SAE standard request], [Frame number]. Mint fentebb említettük, a vezérlő bájt általában egy szám, amely megegyezik az őt követő bájtok teljes számával. A kérés a SAE J1950 és J1979 specifikációi szerint van formázva, és egy fejlécből (3 bájt), egy információs bájt sorozatból és egy hibavezérlő bájtból (CRC) áll. Vegye figyelembe, hogy míg a kérésinformációt szigorúan a SAE-specifikációkkal összhangban állítják elő, a vezérlő bájt és a keretszám fogyasztója az interfészvezérlő.
Az eljárás sikeres befejezése után egy válaszüzenet mindig a következő formátummal rendelkezik: [Control byte], [SAE standard response]. A vezérlő bájt, mint korábban, meghatározza az őt követő információs bájtok számát. A válasz a SAE szabvány követelményeinek megfelelően egy fejlécből (3 bájt), egy információs bájtból és egy CRC bájtból áll.
A kudarcról 2 bájtos üzenet kerül elküldésre válasz üzenet: [Control byte], [Status byte]. Ebben az esetben az MSB a vezérlő bájtban van beállítva. A négy legkisebb jelentőségű bit a 001 számot alkotja, ami azt jelzi, hogy a vezérlő bájtot egyetlen bájt követi, az állapotbájt. Ez a helyzet meglehetősen gyakran előfordulhat, hiszen a Műszaki leírás lehetőséget ad arra, hogy a fedélzeti processzor ne adjon ki adatot, valamint hibás adatok továbbítását abban az esetben, ha a kérés nem felel meg a járműgyártók által támogatott szabványnak. Az is előfordulhat, hogy a kért adatok pillanatnyilag nincsenek a processzor RAM-jában. Ha a vezérlő nem kapja meg a várt választ, vagy sérült adatot kap, az MSB vezérlő bájt kerül beállításra, amelyet egy állapotbájt követ.
A buszon történő ütközések esetén az interfész egyetlen 40 (hex) bájtot állít elő, amely egy olyan vezérlő bájt, amelynek a legkisebb jelentőségű bitje törlődik. Hasonló helyzet gyakran előfordulhat, amikor az autóbuszt a diagnosztikai adatoknál magasabb prioritású üzenetek terhelik - a számítástechnikai eszköznek meg kell ismételnie az eredeti kérést.
Csere ISO 9141-2 protokollok használatával
Az ISO 9141-2 szabványt a legtöbb ázsiai és európai autógyártó használja. A PC által generált kérés szerkezete nem sokban tér el a SAE szabványokban használttól, azzal a különbséggel, hogy a vezérlőnek nincs szüksége információra a keretszámról, és a megfelelő információnak nem kell jelen lennie a csomagban. Így, kér mindig egy ellenőrző bájtból áll, amelyet információs bájtok láncolata követ, beleértve az ellenőrző összeget is. Mint válaszüzenet a vezérlő egyszerűen továbbítja a beépített processzor által generált jeleket. A válaszüzenetben nincs vezérlő bájt, így a PC folyamatosan érzékeli a bejövő információkat, amíg a láncot meg nem szakítja egy 55 ezredmásodperces szünet, jelezve az információs csomag befejezését. Így a válaszüzenet egy vagy több keretből állhat, ahogy azt a SAE J1979 specifikáció megköveteli. A vezérlő nem elemzi a képkockákat, nem dobja el a nem diagnosztikai képkockákat stb. A PC-nek önállóan kell feldolgoznia a bejövő adatokat, hogy a fejléc bájtok elemzésével elkülönítse az egyes kereteket.
Jegyzet. A legtöbb lekérdezésre adott válasz egyetlen keretből áll.
Az interfészvezérlők legújabb verziójának módosításai
Az alábbiakban bemutatjuk a legújabb interfészvezérlőkre jellemző SAE és ISO 9141 protokollokat használó adatátviteli folyamat főbb különbségeit, valamint az ISO 14230 protokollt használó adatátvitel sorrendjét:
- ISO 9141 szabvány: Hozzáadott címbájt;
- ISO 9141: Nem csak egy, hanem mindkét kulcsbájtot ad vissza (egy további bájt is visszaküldésre kerül SAE módokban, de itt nem használják);
- Hozzáadott támogatás az ISO 14230 protokollhoz.
Jegyzet. Minden információs bájt hexadecimális formátumban kerül továbbításra.
Jegyzet. Az XX karakter egy meghatározatlan, fenntartott vagy azonosítatlan bájtot jelöl.
Kapcsolat létrehozása
A kapcsolat beállítási eljárása nem változott:
- Feladás: 20
- Recepció: FF
Protokoll kiválasztása
A következő séma érvényes:
- VPW:
- Feladás: 41, 00
- Recepció: 02, 01, XX
- PWM:
- Feladás: 41, 01
- Recepció: 02, 01, XX
- ISO 9141:
- Feladás: 42, 02, adr, ahol: adr - cím byte (általában 33 hex)
- Recepció: 02, K1, K2, ahol K1, K2 az ISO kulcsbájtok
- Vagy: 82, XX, XX (iSO 9141 inicializálási hiba)
- ISO 14230 (gyors inicializálás):
- Feladás: 46, 03, R1, R2, R3, R4, R5, ahol: R1÷R5 - üzenet az ISO 14230 kapcsolatlétesítési kérés kezdetéről, általában R1÷R5 = C1, 33, F1, 81, 66
- Recepció: S1, S2, ………, ahol S1, S2, ……… a kapcsolatlétesítésre adott ISO 14230 válasz kezdetéről szóló üzenet
Jegyzet. Egynél több ECU egymás után továbbítható. Válaszként negatív válaszkód is használható.
- Egy tipikus pozitív válasz így néz ki: S1, S2, ……. = 83, F1, 10, C1, E9, 8F, BD
- ISO 14230 (lassú inicializálás): Hasonló az ISO 9141-hez
Megjegyzések és megjegyzések
Ha a vezérlőt csak egy vagy két protokollon keresztül kívánja használni az adatok továbbítására, akkor a felesleges komponensek kiküszöbölhetők (lásd a fenti ábrát). Például, ha a VPW (GM) protokollhoz egy áramkört szervez a vezérlőt az autóval összekötő vezetékben, csak három vezetékre lesz szükség (16., 5. és 2. kapocs).
Ha a PWM protokollt nem használják, az R4, R6, R7, R8, R9, R10, T1, T2 és D1 elemek kizárhatók.
Ha az ISO protokoll szerinti cserét megtagadják, a következő elemeket kizárják: R15, R16, R17, R18, R19, R21, T4 és T5.
A VPW protokoll használatának megtagadása lehetővé teszi a következő elemek kizárását: R13, R14, R23, R24, D2, D3 és T3.
5%-os ellenállástűrő szénfilm ellenállásokat használnak.
Kérjük, vegye figyelembe, hogy nincs vészhelyzeti visszaállítás gomb (RESET), ha szükséges, az ilyen visszaállítás a vezérlő leválasztásával az autós csatlakozóról történhet (az interfész processzora automatikusan újraindul). A szoftver újraindítása a számítógépen az interfész új inicializálását eredményezi.
