Съдържание: Обща информация ↓ Основна цел ↓ Схема на контролер за свързване на… ↓ Препоръки за употреба ↓ Общи принципи на обмен на данни ↓ Инициализация на контролера и… ↓ Установяване на връзка ↓ Инициализация ↓ Процедура за обмен на данни ↓ Извършени са модификации на… ↓ Установяване на връзка ↓ Избор на протокол ↓ Забележка и коментари ↓
Предупреждение: Стандартът VPW се прилага за моделите на GM, стандартът PWM се прилага за моделите на Ford, стандартът ISO 9141-2 се прилага за азиатските и европейските модели.
Обща информация
Въпросното устройство представлява микроконтролер, изпълнен по технологията CMOS (CMOS).
Внимание: Контролерът не е предназначен за свързване към първо поколение бордови системи за самодиагностика (OBD I)!
Устройството действа като обикновен скенер и е проектирано да чете диагностични кодове и данни от системата OBD II (скорост на двигателя, температура на охлаждащата течност и входящия въздух, характеристики на натоварването, скорост на въздушния поток на двигателя и др.) в рамките на стандарта SAE J1979 чрез всеки тип автобус (PWM, VPW и ISO 9141-2).
Основна цел
За свързване към компютър е достатъчен 3-жилен кабел, връзката към диагностичния конектор се осъществява с 6-жилен кабел. Захранващото напрежение се подава към контролера чрез 16-пинов OBD диагностичен конектор. Схематичната диаграма на контролера е показана по-долу.
Схема на контролер за свързване на персонален компютър с бордова система за самодиагностика OBD II

Препоръки за употреба
За свързване на устройството към автомобила може да се използва неекраниран кабел с дължина не повече от 1,2 m, което е от особено значение при използване на протокола PWM. При използване на по-дълъг кабел трябва да се намали съпротивлението на резисторите на входа на устройството (R8 и R9 или R15). Когато използвате екраниран кабел, екранът трябва да бъде изключен, за да се намали капацитетът.
Кабелът за свързване към серийния порт на компютъра може също да е неекраниран. Устройството работи стабилно с дължина на кабела до 9 м. За значително по-дълги кабели трябва да се използва по-мощен RS 232 комуникатор.
Топологията на електрическите връзки е произволна. При условия на висока влажност използвайте допълнителни байпасни кондензатори.
Безплатен софтуер (браузър) за четене на кодове и данни може да бъде изтеглен от уебсайтовете на производителите и е предназначен за използване под DOS. Малкият размер на софтуерното приложение във версия "DOS" позволява то да бъде поставено на дискета за зареждане на DOS и да се използва дори на компютри, оборудвани със софтуер, несъвместим с DOS. Дори не е необходимо да имате твърд диск в компютъра си.
Общи принципи на обмен на данни
Предупреждение: Ако противното не е изрично посочено специално, всички числа са дадени в 16-ричном формат (hex).
Десетичният формат се указва от етикета dec.
Обменът на данни се осъществява чрез трипроводна серийна връзка, без използване на инициализиращ обмен на служебни съобщения (handshaking). Устройството прослушва канала за съобщения, изпълнява получените команди и предава резултатите на персонален компютър (PC), след което веднага се връща в режим на слушане. Данните, които влизат и излизат от контролера, са организирани като верига от последователни байтове, първият от които е контролният. Обикновено контролният байт е число между 0 и 15 dec (или 0-F шестнадесетичен), описващ броя на информационните байтове, които следват. Така, например, 3-байтова команда ще изглежда така: 03 (контролен байт), 1-ви байт, 2-ри байт, 3-ти байт. Подобен формат се използва както за входящи команди за запитване на бордовата система за самодиагностика, така и за изходящи съобщения, съдържащи исканата информация. Трябва да се отбележи, че в контролния байт се използват само четирите най-значими бита; най-значимите бита са запазени за някои специални команди и могат да се използват от компютъра при инициализиране на връзката с контролера и договаряне на протокола за пренос на данни, както и от контролера за проверка за грешки при предаване. По-специално, в случай на грешка при предаване, контролерът задава най-значимия бит (MSB) на контролния байт на единица. При успешно предаване и четирите бита от висок ред се нулират.
Предупреждение: Има някои изключения от правилата за използване на контролния байт.
Инициализация на контролера и бордовата система за самодиагностика
За да започне обмен на данни, компютърът трябва да установи връзка с контролера, след което да инициализира контролера и OBD II канала за данни.
Установяване на връзка
След свързване на контролера към компютъра и OBD диагностичния конектор, той трябва да се инициализира, за да се предотврати "замръзване", свързано с шум в серийните линии, ако те са били свързани преди захранването на контролера да бъде включено. В същото време се извършва проста проверка на активността на интерфейса. Първо се изпраща еднобайтов сигнал 20 (hex), който се възприема от контролера като команда за установяване на връзка. В отговор контролерът изпраща един FF шестнадесетичен байт (255 dec) вместо контролния байт и преминава в режим на готовност за получаване на данни. Сега компютърът може да продължи да инициализира канала за данни.
Предупреждение: Това е един от малкото случаи, когато контролерът не използва контролен байт.
Инициализация
На този етап се инициализира протоколът, по който ще се извършва обмен на данни, а при ISO протокола се инициализира бордовата система. Обменът на данни се осъществява чрез един от трите протокола: VPW (General Motors), PWM (Ford) и ISO 9141-02 (азиатски/европейски производители).
Предупреждение: Има много изключения, като например при изследване на определени модели автомобили Mazda може да се използва протокол Ford PWM. Следователно, ако срещнете проблеми с предаването, първо трябва да опитате да използвате друг протокол.
Протоколът се избира чрез предаване на комбинация, състояща се от контролния байт 41 (шестнадесетичен) и байта непосредствено след него, който определя типа на протокола: 0 = VPW, 1 = PWM, 2 = ISO 9141. Например командата 41 (hex) 02 (hex) инициализира протокола ISO 9141.
В отговор контролерът изпраща контролен байт и байт за състояние. Задаването на MSB на контролния байт показва, че има проблем и следващият байт за състояние ще съдържа съответната информация. Ако инициализацията е успешна, се изпраща контролен байт 01(hex), който показва, че следва байт за състояние на проверка. В случай на протоколи VPW и PWM, байтът за проверка е просто ехо на байта за избор на протокол (0 или 1, съответно), при инициализиране на протокола ISO 9141, това ще бъде цифров ключ, върнат от вградения OBD процесор, който определя коя от двете малко по-различни версии на протокола ще се използва.
Предупреждение: Цифровият ключ е само за информационни цели.
Трябва да се отбележи, че инициализирането на протоколите VPW и PWM става значително по-бързо, тъй като изисква само прехвърляне на съответната информация към контролера. При ISO-съвместими модели инициализацията отнема около 5 секунди, прекарани в обмен на информация между контролера и вградения процесор при скорост от 5 бода. Читателят трябва да отбележи, че при някои превозни средства от фамилията ISO 9141 инициализацията на протокола се спира, ако заявка за данни не се предаде в рамките на интервал от 5 секунди - това означава, че компютърът трябва автоматично да издава заявки на всеки няколко секунди, дори в неактивен режим.
След установяване на връзката и инициализиране на протокола започва регулярният обмен на данни, състоящ се от заявки, получени от компютъра, и отговори, издадени от контролера.
Процедура за обмен на данни
Контролерът работи в няколко различни сценария, когато използва протоколите ISO 9141-2 и SAE (VPW и PWM).
Обмен чрез SAE протоколи (VPW и PWM)
При обмен на данни с помощта на тези протоколи се буферира само един кадър от данни, което означава, че е необходимо да се посочи кадърът, който да бъде уловен или върнат. В някои (редки) случаи вграденият процесор може да предава пакети, състоящи се от повече от един кадър. В такава ситуация заявката трябва да се повтаря, докато не бъдат получени всички рамки в пакета.
Заявка винаги се формира както следва: [Контролен байт], [SAE стандартна заявка], [Номер на рамка]. Както бе споменато по-горе, контролният байт обикновено е число, равно на общия брой байтове, които го следват. Заявката е форматирана в съответствие със спецификациите SAE J1950 и J1979 и се състои от заглавка (3 байта), поредица от информационни байтове и байт за проверка на грешки (CRC). Обърнете внимание, че докато информацията за заявката се генерира в строго съответствие със спецификациите на SAE, потребителят на контролния байт и номера на рамката е интерфейсният чип.
Ако процедурата е завършена успешно, съобщението за отговор винаги има следния формат: [Контролен байт], [SAE отговор]. Контролният байт, както и преди, определя броя на информационните байтове, които го следват. Отговорът, както се изисква от стандарта SAE, се състои от заглавка (3 байта), низ от информационни байтове и CRC байт.
В случай на неуспех изпраща се 2-байта отговор на съобщение: [Контролен байт], [Байт на състоянието]. В този случай MSB се задава в контролния байт. Четирите най-малко значими бита образуват числото 001, което показва, че контролният байт е последван от един байт, статутният байт. Тази ситуация може да се случи доста често, тъй като спецификациите позволяват възможността бордовият процесор да не издава данни, както и да предава неправилни данни в случаите, когато заявката не отговаря на стандарта, поддържан от производителите на превозни средства. Също така е възможно исканите данни да не са налични в RAM паметта на процесора в настоящия момент. Когато чипът не получи очаквания отговор или получи повредени данни, MSB на контролния байт се задава и статутният байт се извежда след контролния байт.
В случай на сблъсъци в шината, интерфейсът произвежда един байт 40 (шестнадесетичен), който е контролен байт с изчистен най-малък значим бит. Тази ситуация може да възникне доста често, когато шината на превозното средство е заредена със съобщения с по-висок приоритет от диагностичните данни - изчислителното устройство трябва да повтори първоначалната заявка.
Обмен по протоколи ISO 9141-2
Стандартът ISO 9141-2 се използва от повечето азиатски и европейски производители на автомобили. Структурата на генерираната компютърна заявка се различава малко от тази, използвана в стандартите SAE, с единствената разлика, че чипът не се нуждае от информация за номера на рамката и съответната информация не трябва да присъства в пакета. по този начин, искане винаги се състои от контролен байт, последван от верига от информационни байтове, включително контролна сума. като отговор съобщение чипът просто препредава сигнали, генерирани от вградения процесор. В съобщението за отговор няма контролен байт, така че компютърът получава входящата информация непрекъснато, докато веригата не бъде прекъсната с пауза от 55 милисекунди, показваща завършването на информационния пакет. По този начин съобщението за отговор може да се състои от един или повече рамки в съответствие с изискванията на спецификациите SAE J1979. Чипът не анализира кадри, не изхвърля недиагностични кадри и т.н. Компютърът трябва сам да обработи входящите данни, за да изолира отделните кадри чрез анализиране на байтовете на заглавката.
Предупреждение: Отговорите на повечето запитвания се състоят от един кадър.
Извършени са модификации на най-новите версии на интерфейсните контролери
По-долу са основните разлики в процеса на пренос на данни с помощта на протоколите SAE и ISO 9141, характерни за най-новите версии на интерфейсните контролери, както и процедурата за прехвърляне на данни с помощта на протокола ISO 14230: 1. Стандарт ISO 9141: Добавен адресен байт;
2. ISO 9141: Връща не само един, но и двата ключови байта; (допълнителният байт също се връща в SAE режими, но не се използва тук).
3. Добавена е поддръжка за протокол ISO 14230.
Предупреждение: Всички байтове данни се предават в шестнадесетичен формат.
Предупреждение: Знакът XX представлява недефиниран, запазен или неразпознат байт.
Установяване на връзка
Процедурата за настройка на връзката не е променена:
| Изпращане: | 20 |
| Рецепция: | FF |
Избор на протокол
|
VPW:
|
|
|
Изпращане: |
41, 00 |
|
Рецепция: |
02, 01, XX |
|
PWM: |
|
|
Изпращане: |
41, 01 |
|
Рецепция: |
02, 01, XX |
|
ISO 9141: |
|
|
Изпращане: |
42, 02, adr, където: adr е адресният байт (обикновено 33 шестнадесетични) |
|
Рецепция: |
02, K1, K2, където K1, K2 са ISO ключови байтове |
|
Или: |
82, XX, XX (грешка при инициализация на ISO 9141) |
|
ISO 14230 (бърза инициализация): |
|
|
Изпращане: |
46, 03, R1, R2, R3, R4, R5, където: R1÷R5 - съобщение за началото на заявката ISO 14230 за установяване на връзка, обикновено R1÷R5 = C1, 33, F1, 81, 66 |
|
Рецепция: |
S1, S2, ……… - ISO 14230 начални съобщения за настройка на връзката |
Предупреждение: Повече от едно ECU може да се предава последователно. Като отговор може да се използва код за отрицателен отговор.
Типичен положителен отговор изглежда така: S1, S2, ……. = 83, F1, 10, C1, E9, 8F, BD
ISO 14230 (бавна инициализация): Подобно на ISO 9141
Забележка и коментари
Ако контролерът се планира да се използва за предаване на данни само чрез един или два от протоколите, ненужните компоненти могат да бъдат изключени (вижте диаграмата по-горе). Например, когато организирате верига за протокола VPW (GM), ще са необходими само три проводника от електрическо окабеляване в проводника, свързващ контролера към автомобила (клеми 16, 5 и 2).
Ако протоколът PWM не се използва, елементите R4, R6, R7, R8, R9, R10, T1, T2 и D1 могат да бъдат изключени.
При отказ за обмен по ISO протокола на изключване подлежат следните елементи: R15, R16, R17, R18, R19, R21, T4 и T5.
Ако не използвате протокола VPW, следните елементи могат да бъдат елиминирани: R13, R14, R23, R24, D2, D3 и T3.
Използват се въглеродни резистори с 5% толеранс на съпротивлението.
Моля, обърнете внимание, че няма бутон за спешно нулиране (RESET), ако е необходимо, такова нулиране може да се извърши чрез изключване на контролера от конектора на автомобила (интерфейсният процесор ще се рестартира автоматично). Рестартирането на софтуера на компютъра води до нова инициализация на интерфейса.
Статията е препечатка на материал от AUDIMANUAL.RU
