Предупреждение: моделите на GM са VPW, Ford е PWM, азиатските и европейските модели са 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.
Топологията на електрическите връзки е произволна. Използвайте допълнителни шунтови кондензатори за висока влажност.
Безплатният софтуер (браузър) за четене на кодове и данни може да бъде изтеглен от уебсайтовете на производителите и е предназначен за използване под DOS. Малкият размер на софтуерното приложение във версия "под DOS" позволява то да бъде поставено на дискета за зареждане на DOS и да се използва дори на компютри, оборудвани със софтуер, който е несъвместим с DOS. Незадължително условие е дори наличието на твърд диск в компютъра.
Общи принципи на обмен на данни
Предупреждение: Освен ако не е посочено друго, всички числа са в шестнадесетичен формат.
Десетичният формат се обозначава с етикета 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 (hex) и байта непосредствено след него, който определя типа на протокола: 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-байтово съобщение за отговор: [Check Byte], [Status Byte]. В този случай 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 |
ШИМ: |
|
Доставка: |
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), ако е необходимо, такова нулиране може да се извърши чрез изключване на контролера от конектора на автомобила (интерфейсният процесор ще се рестартира автоматично). Рестартирането на софтуера на компютъра води до инициализация на нов интерфейс.
Коментари на посетители