Забележка. Стандартът VPW е изпълнен от моделите на GM, стандартът PWM от Ford и стандартът ISO 9141-2 от азиатските и европейските модели.
Пълна информация
Въпросното устройство е микроконтролер, изработен по CMOS технология (CMOS).
внимание! Контролерът НЕ е предназначен за свързване към първо поколение бордови системи за самодиагностика (OBD I)!
Устройството действа като обикновен скенер и е проектирано да чете диагностични кодове и данни от системата OBD II (скорост на двигателя, температура на охлаждащата течност и входящия въздух, характеристики на натоварването, въздушен поток към двигателя и др.) в обхвата на стандарта SAE J1979 чрез всеки тип автобус (PWM, VPW и ISO 9141-2).
Основната цел
За да се свържете с компютър (RS) достатъчен е 3-жилен проводник, връзката към диагностичната букса се осъществява с 6-жилен проводник. Захранването се подава към контролера чрез 16-пинов OBD диагностичен конектор.
Принципна схема на PC интерфейс контролер със системата OBD II
Препоръки за употреба
За свързване на устройството към автомобила може да се използва неекраниран кабел, не по-дълъг от 1,2 m, което е от особено значение при използване на PWM протокол. При използване на по-дълъг кабел намалете съпротивлението на резисторите на входа на устройството (R8 и R9 или R15). Когато използвате екраниран кабел, екранът трябва да бъде деактивиран, за да се намали капацитетът.
Кабелът за свързване към серийния порт на компютъра също може да бъде неекраниран. Устройството работи стабилно с дължина на кабела до 9 м. При значително по-голяма дължина на кабела трябва да се използва по-мощен комуникатор RS 232.
Топологията на електрическите връзки е произволна. Използвайте допълнителни шунтови кондензатори за висока влажност.
Безплатен софтуер (браузър) за четене на кодове и данни е предназначен за използване под DOS. Незначителен размер на софтуерното приложение във варианта «под DOS» ви позволява да го поставите на дискета за зареждане на DOS и да го използвате дори на компютри, оборудвани с не-DOS съвместим софтуер. Незадължително условие е дори наличието на твърд диск в компютъра.
Общи принципи на обмен на данни
Забележка. Освен ако не е посочено друго, всички числа са в шестнадесетичен формат (hex), десетичният формат се обозначава с етикета 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 (hex), което показва, че следва байт за състояние на проверка. В случай на протоколи VPW и PWM, байтът за проверка е просто ехо на байта за избор на протокол (0 или 1, съответно), при инициализиране на протокола ISO 9141, това ще бъде цифров ключ, върнат от вградения процесор и определящ коя от двете малко по-различни версии на протокола ще се използва.
Забележка. Цифровият ключ има чисто информационна цел.
Трябва да се отбележи, че инициализирането на протоколите VPW и PWM е много по-бързо, тъй като изисква само прехвърляне на съответната информация към контролера. При моделите, които отговарят на стандарта ISO, инициализацията отнема около 5 секунди, изразходвани за обмен на информация между контролера и вградения процесор, произведени при скорост от 5 бода. Трябва да се отбележи на читателя, че при някои превозни средства от фамилията ISO 9141 инициализирането на протокола се спира, ако заявка за данни не бъде изпратена в рамките на интервал от 5 секунди - това означава, че компютърът трябва автоматично да издава заявки на всеки няколко секунди, дори в неактивен режим..
След установяване на връзката и инициализиране на протокола започва редовен обмен на данни, състоящ се от заявки, получени от компютъра, и отговори, издадени от контролера.
Процедура за обмен на данни
Работа на контролера при използване на протоколи от фамилията ISO 9141-2 и SAE (VPW и PWM) възниква при няколко различни сценария.
Обмен чрез SAE протоколи (VPW и PWM)
При обмен на данни с помощта на тези протоколи се буферира само един кадър от данни, което означава, че е необходимо да се посочи кадърът, който да бъде уловен или върнат. В някои (редки) В случаите вграденият процесор може да предава пакети, състоящи се от повече от един кадър. В такава ситуация заявката трябва да се повтаря, докато не бъдат получени всички рамки на пакета.
Заявка винаги се формира както следва: [Контролен байт], [SAE заявка], [Номер на рамка]. Както бе споменато по-горе, контролният байт обикновено е число, равно на общия брой байтове, които го следват. Заявката е направена в съответствие със спецификациите SAE J1950 и J1979 и се състои от заглавие (3 байта), последователности от информационни байтове и байт за контрол на грешки (CRC). Имайте предвид, че докато информацията при поискване се формира в строго съответствие със спецификациите SAE, потребителят на контролния байт и номера на рамката е контролерът на интерфейса.
При успешно завършване на процедурата, съобщение за отговор винаги има следния формат: [Check Byte], [SAE Standard Response]. Контролният байт, както и преди, определя броя на информационните байтове след него. Отговорът, в съответствие с изискванията на стандарта SAE, се състои от заглавие (3 байта), низове от информационни байтове и CRC байт.
При неуспех изпратени 2-байта съобщение за отговор: [Check Byte], [Status Byte]. В този случай MSB се задава в контролния байт. Четирите най-малко значими бита образуват числото 001, което показва, че контролата е последвана от един байт, статутния байт. Тази ситуация може да се случи доста често, тъй като спецификациите позволяват възможността бордовият процесор да не издава данни, както и предаването на неправилни данни в случай, че заявката не отговаря на стандарта, поддържан от производителите на превозни средства. Също така е възможно исканите данни да не са налични в RAM паметта на процесора в момента. Когато контролерът не получи очаквания отговор или получи повредени данни, MSB на контролния байт се задава и статутният байт се издава след контрола.
За сблъсъци на шини интерфейсът генерира един байт 40 (hex), който е контролен байт с най-малък значим бит, зададен на нула. Подобна ситуация може да възникне доста често, когато автомобилният автобус е зареден със съобщения с по-висок приоритет от диагностичните данни - изчислителното устройство трябва да повтори първоначалната заявка.
Обмен по протоколи ISO 9141-2
Стандартът ISO 9141-2 се използва от повечето азиатски и европейски производители на автомобили. Структурата на генерираната компютърна заявка не се различава много от тази, използвана в стандартите SAE, с единствената разлика, че контролерът не се нуждае от информация за номера на рамката и съответната информация не трябва да присъства в пакета. По този начин, искане винаги се състои от контролен байт, последван от низ от байтове данни, включително контролната сума. Като съобщение за отговор контролерът просто препредава сигналите, генерирани от вградения процесор. В съобщението за отговор няма байт за проверка, така че компютърът приема входящата информация непрекъснато, докато веригата не бъде прекъсната с пауза от 55 милисекунди, показваща завършването на информационния пакет. По този начин съобщението за отговор може да се състои от един или повече рамки, както се изисква от спецификациите SAE J1979. Контролерът не анализира рамки, не изхвърля недиагностични рамки и т.н. Компютърът трябва сам да обработи входящите данни, за да изолира отделните кадри чрез анализиране на байтовете на заглавката.
Забележка. Отговорите на повечето заявки се състоят от един кадър.
Модификации, направени в най-новите интерфейсни контролери
По-долу са основните разлики в процеса на прехвърляне на данни с помощта на протоколите SAE и ISO 9141, които са типични за най-новите интерфейсни контролери, както и процедурата за прехвърляне на данни с помощта на протокола ISO 14230:
- ISO 9141: Добавен байт за адрес;
- ISO 9141: Връщат се не само един, но и двата ключови байта (допълнителен байт също се връща в SAE режими, но не се използва тук);
- Добавена е поддръжка за протокол 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, ………, където 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), ако е необходимо, такова рестартиране може да се извърши чрез изключване на контролера от конектора на автомобила (интерфейсният процесор ще се рестартира автоматично). Рестартирането на софтуера на компютъра води до инициализация на нов интерфейс.