Съдържание: Обща информация ↡ Основна цел ↡ Препоръки за употреба ↡ Общи принципи на обмен на данни ↡ Инициализация на контролера и…↡ Установяване на връзка ↡ Инициализация ↡ Процедура за обмен на данни ↡ Обмен чрез SAE протоколи (VPW и PWM) ↡ Обмен чрез използване на протоколи…↡ Модификации, направени в най-новата…↡ Установяване на връзка ↡ Забележка и коментари ↡
Контролер за свързване на персонален компютър с бордова система за самодиагностика OBD II по протоколи на стандартите SAE (PWM и VPW) и ISO 9141-2.
Схема на контролер за сдвояване на персонален компютър с бордова система за самодиагностика OBD II

Забележка. Моделите, произведени от GM, отговарят на стандарта VPW, Ford - със стандарта PWM, а азиатските и европейски модели - със стандарта ISO 9141-2.
Обща информация
Въпросното устройство представлява микроконтролер, изпълнен по технологията CMOS (CMOS).
Внимание! Контролерът не е предназначен за свързване към първо поколение бордови системи за самодиагностика (OBD I)!
Устройството действа като обикновен скенер и е проектирано да чете диагностични кодове и данни от OBD II системата (скорост на двигателя, температура на охлаждащата течност и входящия въздух, характеристики на натоварването, въздушен поток в двигателя и др.) в рамките на стандарта SAE J1979 чрез всеки дизайн на шина (PWM, VPW и ISO 9141-2).
Основна цел
За свързване към компютър е достатъчен 3-жилен кабел, връзката към диагностичния конектор се осъществява с 6-жилен кабел. Захранващото напрежение се подава към контролера чрез 16-пинов OBD диагностичен конектор. Схематичната диаграма на контролера е показана на илюстрацията.
Препоръки за употреба
За свързване на устройството към автомобила може да се използва неекраниран кабел с дължина не повече от 1,2 m, което е от особено значение при използване на PWM протокол. Когато използвате по-дълъг кабел, намалете съпротивлението на резисторите на входа на устройството (R8 и R9 или R15). Когато използвате екраниран кабел, екранът трябва да бъде изключен, за да се намали капацитетът.
Кабелът за свързване към серийния порт на компютъра също може да бъде неекраниран. Устройството работи надеждно с дължина на кабела до 9 m. За значително по-дълги кабели трябва да се използва по-мощен RS 232 комуникатор.
Топологията на електрическите връзки е произволна. Ако влажността е висока, използвайте допълнителни байпасни кондензатори.
Прочетете повече на уебсайта MERCEDESMAN.ru
Безплатният софтуер (браузър) за четене на кодове и данни може да бъде изтеглен от уебсайтовете на производителите и е предназначен за използване под DOS. Малкият размер на софтуерното приложение във версия "DOS" позволява то да бъде поставено на дискета за зареждане на DOS и да се използва дори на компютри, оборудвани със софтуер, несъвместим с DOS. Незадължително условие е дори наличието на твърд диск в компютъра.
Общи принципи на обмен на данни
Забележка. Освен ако не е посочено друго, всички числа са дадени в шестнадесетичен (шестнадесетичен) формат.
Десетичният формат се обозначава с етикета dec.
Обменът на данни се осъществява чрез трипроводна серийна връзка, без използване на обмен на съобщения за услуга за инициализация (handshaking). Устройството прослушва канала за съобщения, изпълнява получените команди и предава резултатите на персонален компютър (PC), след което веднага се връща в режим на слушане. Данните, които влизат и излизат от контролера, са организирани под формата на верига от последователни байтове, първият от които е контролен. Обикновено контролният байт е число между 0 и 15 dec (или 0-F шестнадесетичен), описващ броя на следващите информационни байтове. Така, например, 3-байтова команда ще изглежда така: 03 (проверка на байт), 1-ви байт, 2-ри байт, 3-ти байт. Подобен формат се използва както за входящи команди за запитване на бордовата система за самодиагностика, така и за изходящи съобщения, съдържащи исканата информация. Трябва да се отбележи, че само четири бита от нисък ред се използват в контролния байт - битовете от висок ред са запазени за някои специални команди и могат да се използват от компютъра при инициализиране на връзка с контролера и договаряне на протокола за пренос на данни, както и контролера за контрол на грешки при предаване. По-специално, в случай на грешка при предаване, контролерът задава най-значимия бит (MSB) на контролния байт на единица. При успешно предаване и четирите най-значими бита се нулират.
Забележка. Има някои изключения от правилата за използване на байта за проверка.
Инициализация на контролера и бордовата система за самодиагностика
За да започне обмен на данни, компютърът трябва да установи връзка с контролера, след което да инициализира контролера и OBD II канала за данни.
Установяване на връзка
След свързване на контролера към компютъра и OBD диагностичния конектор, той трябва да се инициализира, за да се предотвратят замръзвания, свързани с шум в серийните линии, ако те са били свързани преди включване на захранването на контролера. В същото време се извършва проста проверка на активността на интерфейса. Първо се изпраща еднобайтов сигнал 20 (hex), който се възприема от контролера като команда за установяване на връзка. В отговор контролерът изпраща един байт FF hex (255 dec) вместо контролния и преминава в режим на готовност за получаване на данни. Сега компютърът може да продължи да инициализира канала за данни.
Забележка. Този случай е един от малкото, когато контролерът не използва контролен байт.
Инициализация
На този етап се инициализира протоколът, по който ще се обменят данните, а при ISO протокола се инициализира бордовата система. Обменът на данни се осъществява чрез един от трите протокола: VPW (General Motors), PWM (Ford) и ISO 9141-02 (азиатски/европейски производители).
Забележка. Има много изключения: например при анкетиране на някои модели автомобили Mazda може да се използва PWM протоколът на Ford. Следователно, ако възникнат проблеми с предаването, първо трябва да опитате да използвате друг протокол. Протоколът се избира чрез предаване на комбинация, състояща се от контролен байт 41 (hex) и байта непосредствено след него, който определя типа на протокола: 0 = VPW, 1 = PWM, 2 = ISO 9141. Така например чрез команда 41 (hex) 02(hex) протоколът ISO 9141 е инициализиран.
В отговор контролерът изпраща контролен байт и байт за състояние. Задаването на контролния байт MSB показва наличието на проблеми и следващият статут байт ще съдържа съответната информация. При успешна инициализация се изпраща контролен байт 01 (шестнадесетичен), което показва, че следва байт за състояние на проверка. В случай на протоколи 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, ХХ
PWM:
- Изпращане: 41, 01
- Рецепция: 02, 01, ХХ
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, ………, където 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); ако е необходимо, такова нулиране може да се извърши чрез изключване на контролера от конектора на автомобила (интерфейсният процесор ще се рестартира автоматично). Рестартирането на софтуера на компютъра води до нова инициализация на интерфейса.
