Chevrolet Niva, Контролер за интерфейс на персонален компютър с вградена система за самодиагностика
Интерфейсен контролер за персонален компютър с OBD II бордова система за самодиагностика съгласно стандартите SAE (PWM и VPW) и протоколи ISO 9141-2
Стандартът VPW е изпълнен от моделите на GM, стандартът PWM от Ford и стандартът ISO 9141-2 от азиатските и европейските модели.
Въпросното устройство е микроконтролер, изработен по 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.
Топологията на електрическите връзки е произволна. Използвайте допълнителни шунтови кондензатори за висока влажност.
Безплатният софтуер (браузър) за четене на кодове и данни може да бъде изтеглен от уебсайтовете на производителите или от уебсайта на нашия издателhttp://arus.spb.ru и е предназначен за използване под DOS. Малкият размер на софтуерното приложение във версия "под DOS" позволява то да бъде поставено на дискета за зареждане на DOS и да се използва дори на компютри, оборудвани със софтуер, който е несъвместим с DOS. Незадължително условие е дори наличието на твърд диск в компютъра.
Общи принципи на обмен на данни
Освен ако не е посочено друго, всички числа са дадени в шестнадесетичен формат (hex).
Десетичният формат се обозначава с етикетаdec.
Обменът на данни се осъществява чрез трипроводна серийна връзка, без използване на инициализиращ обмен на служебни съобщения (handshaking). Устройството прослушва канала за съобщения, изпълнява получените команди и предава резултатите на персонален компютър (PC), след което веднага се връща в режим на прослушване. Данните, които влизат и излизат от контролера, са организирани като верига от последователни байтове, първият от които е контролният. Обикновено контролният байт е число0 до 15 dec (или 0-F hex), описващи броя на информационните байтове, които следват. Така, например, 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(шестнадесетичен) и байта непосредствено след него, който определя типа на протокола: 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. Чипът не анализира рамки, не изхвърля недиагностични рамки и т.н. Компютърът трябва сам да обработи входящите данни, за да изолира отделните кадри чрез анализиране на байтовете на заглавката.
Отговорите на повечето заявки се състоят от един кадър.
Модификации, направени в най-новите интерфейсни контролери
Всички информационни байтове се предават в шестнадесетичен формат.
Символът XX обозначава недефиниран, запазен или неразпознат байт.
Редът за установяване на връзка не е променен: