I thought that instead of elm327bt, which has been wandering with me for a long time, I need a good adapter. Such that it was possible to reach out to all corners of the car … But I didn’t think about the subtleties …
I came across in the open spaces that there are dealer programs that can miraculously diagnose cars, make calibrations and even sew individual blocks and their name is J2534 adapters. They have the same interface according to the standard, but each automaker is fooling around as best he can, especially regarding the implementation of pins not considered by the standards. But I realized this when it was too late, because the wizard was already riding at full speed from the Middle Kingdom. At what, not from Honda, but from Toyota:
Having received the cord, he smoked and thought. Clone of the M-VCI clone for all cars on one face, but they do not read the non-native brand of a car. I did not want to send this one back, or buy HDS Cable.
I asked the pinout from the supplier and another 20 Chinese people selling exactly the same product, they all bumped into one, that this cord will work only with Toyota, that they do not understand me and frantically ask for the order number … Well, the hell out of you, outbid rice-ripe.
The first thing I started to look for, what is different in the HBS Toyota and Honda.
I scraped the information that Honda SCS (diagnostic jumper clip method error display by flashing the board) can be 1 and 9 pins locked to the ground (4 and 5 pins). And HDS Cable defaults to 1, 9, and 15 pins. Why didn’t I find intelligible information on 15, by the standard there can only be L-line. And some cars, in particular mine, have 14 pins. The ABS, SRS, IMMO security systems communicating via the K-line sitting on the 7th pin are displayed. I also found out that we have 12 pins — this is the so-called BootPin, which allows programming input, the resolution signal is + 5V.
On Toyota, as I understand it, 1 pin is a reading of a lamb, how it happens I did not delve into. Everything else they have, like, by standard. (If interested, the OBD2 standard is described on Wikipedia).
Well, starting from this information and assuming that the VID-PID and EEPROM of the FT232RL mikruhi does not change from clone to clone, and even more so the ARM firmware, on which the cord is assembled, you just need to make the necessary jumpers and set the necessary drivers.
I did not make jumpers, I decided to make a universal adapter for any brands that support this standard (well, or at least for Honda and Toyota). I unsoldered the motherboard from the OBD connector and sawed off the wiring to hell, I was afraid to get drunk, because there is a risk that the legs of the OBDshka will float away. And he shorted the circuit board of the switches, which can pull 1 9 15pin to the ground, 7 and 14, close each other, or return everything to its original state. It took me six on-off switches.
Well, it’s time to check whether the cord is determined to be HDS compatible. Installed HDS. Installed XHorse Mini-VCi 1.4.8 drivers, connected the cord, requested information about the device:
Connected to the car, sees ALL systems, writes keys.
Updating the ECU with this particular cord can be a risk if I am sure that the j2534-ECU communication is stable. And then, I think in a good way, first I will remove the stock firmware dump by the programmer, and only then all the experiments.
In general, this adapter has already paid off for one hundred%. I found out that I have an SRS block in a crash date, the front airbags have fired (I haven’t looked at them in regular places yet). And the indicator on the tidy goes out safely (!) Although the HDS shows its blinking. Which means that in the wiring to the tidy, a signal substitution is made … well, fix, over time …
PS1: I sawed off the OBD2 connector from my adapter to pass the signal through the switches and I don’t know what will happen if I just throw the jumpers.
PS2: I DON’T NEED TO ASK FOR ME WHAT YOU DO WITH YOUR CORDS, ESPECIALLY IN PERSONALITY.
Your cords — you and understand.
I figured out my lace myself, did it once, and uploaded the information to the network … and … FORGOTTEN ! And I don’t want to strain to remember what is in it and where it goes …
Хочу рассказать о том, какие бывают адаптеры для диагностики автомобилей, что они собой представляют, в чем их отличие, и какой адаптер нужен для выполнения каких задач. Я расскажу о 3-х типах адаптеров, указанных в заголовке статьи. В природе могут существовать и другие типы адаптеров, которые являются производными от данных. Могут также существовать адаптеры, предназначенные для работы с какой-то конкретной программой, но речи о них в этой статье не будет.
Самый простой адаптер, который стоит особняком — это Kline адаптер. Его назначение — преобразование уровней сигнала между компьютером и автомобилем, никаких вычислительных функций данный адаптер не производит, его основная задача — простое преобразование сигнала. В пору компьютеров с COM портами Kline адаптер можно было собрать на нескольких транзисторах. В эре USB, Kline стали делать на микросхеме USB — COM преобразователя. Для этих целей используют 2 типа микросхем от разных производителей — FT232 (дорогая) и CP2102 (дешевая). Т.к. диагностика авто работает на нестандартных скоростях COM порта, то для микросхемы CP2102 в необходима дополнительная настройка в Реестре Windows, иначе ничего не будет работать. FT232 не требует никакой дополнительной настройки и там все будет работать "из коробки". Проблема с микросхемами FT232 только в том, что в последнее время их начали активно подделывать китайцы. Компания FTDI начала бороться с этим, и теперь в последних драйверах, при использовании подделки слетает PID у USB устройства, в результате чего адаптер перестает работать, а для восстановления адаптера придется пошаманить (в сети можно найти инструкции по восстановлению).
Для выходного каскада адаптера могут использоваться транзисторы (китайцы именно их и используют в своих VAG-COM 409 шнурках) или микросхема L9637D или ее аналог. Самый правильный Kline адаптер — это адаптер на оригинальной FT232 от FTDI и L9637D (или ее аналоге). По крайней мере такую связку предпочитают те, кто использует Kline адаптер в повседневной работе.
Что можно посмотреть с помощью Kline адаптера? Как правило им можно посмотреть относительно старые машины (в новых вместо К Линии используется CAN шина) с помощью программ, которые заточены именно под Kline адаптер (протоколы ISO9141, ISO14230). Например, это такие программы как Chevrolet Explorer, OpenDiagFree и т.д.
Однако, сама по себе К Линия не совсем надежна в плане передаче данных и имеет относительно низкую скорость обмена (максимум — 57600 бит в секунду). Поэтому производители автомобильной электроники придумали более надежные и быстрые способы передачи данных. Протоколов передачи данных и самих физических способов передачи данных становилось все больше и для того, чтобы сделать одно устройство, которое сможет покрыть все протоколы и способы передачи данных придумали ELM327 и J2534 устройства.
ELM327 и J2534 это уже мультипротокольные устройства (поддержка протоколов ), которые в отличии от Kline адаптера производят вычислительные операции для преобразования данных. Поэтому на транзисторах такое устройство уже не собрать, тут уже как минимум нужен микроконтроллер.
Целями создания ELM327 было создание диагностического адаптера для частного использования. В последнее время, в связи с бумом на ELM327 появляется много продавцов, которые преподносят этот адаптер, как СТО в кармане помогающее решить любую проблему. Но это не так. Ни один нормальный сервис не будет использовать ELM327 как основное средство для диагностики автомобилей. ELM327 — это как медицинский градусник, который может только показать болен пациент или нет. А для окончательного диагноза может понадобиться более глубокая диагностика, которую в домашних условиях не сделаешь.
Однако, некоторые умудряются выжать из ELM327 по максимуму, например программа ForScan.
Некоторые считают, что внутри ELM327 адаптера стоит специальная микросхема ELM327. Но это не так. Микросхемой ELM327 называется самый обычный PIC контроллер, прошитый специальной прошивкой. В виду того, что используется довольно слабенький PIC, для всех задач по работе с автомобильными ЭБУ он однозначно не подойдет ввиду своей медленной скорости работы, маленьким объемом ОЗУ и не совсем оптимального способа передачи данных между ПК и адаптером.
Фактически ELM327 заменяет собой Kline адаптер, но проблема в том, что нужный софт может быть рассчитан только на работу Kline или только ELM327. В общем, со своей основной задачей — а именно проведение диагностики в домашних условиях адаптер справляется. С тем, с чем не справится ELM327 справится J2534 адаптер и соответствующий софт.
J2534 устройства создавались изначально для обновления прошивок ЭБУ автомобилей. Обновления имеются ввиду те, которые предоставляются заводом изготовителем авто, т.е. чтобы по бюллетеню обновить в прошивку мог не только официальный дилер, а и неофициальный сервис (таковы законы США, откуда собственно и взяли начало J2534 адаптеры). J2534 на самом деле — это название стандарта, а устройства, которые ему отвечают, называют J2534 устройствами или сокращенно — J2534, так уж повелось. В последнее время многие производители дилерского оборудования отказываются от разработки специализированного "железа", а фокусируются на создании софта, который будет работать с J2534 устройствами. Примерами такого делийского софта могут быть Techstream для дилерской диагностики Toyota, Lexus и GDS2 для дилерской диагностики GM группы (Opel, Chevrolet).
Стоимость J2534 может очень сильно различаться — от сотен до тысяч долларов (я не говорю о клонах). Причина различии в цене — различные технические характеристики, но детально о причине такого большого разброса цен лучше написать отдельную статью.
Ввиду того, что "железо" стандартизировано, в последнее время становится популярным доступ к дилерской диагностике по подписке. Человек оплачивает необходимый ему срок работы с программой (от 1 дня до года) и фактически получает те же возможности у себя, что и дилер (могут буть кое-какие ограничения при перепривязке ключей).
Я рассказал об адаптерах, которые наиболее широко распространены и стандартизированы. Именно благодаря стандартизации производители программного обеспечения могут не разрабатывать с нуля свой адаптер, а использовать уже имеющийся от стороннего производителя. Именно по этому пути сейчас идет большинство автопроизводителей для дилерской диагностики своих авто.
В последние несколько лет получили широкое распостранение ELM327 адаптеры. Распостранение свое они получили благодаря налаженной работе китайской промышленности. Для рядового автовладельца возможностей этого адаптера вполне достаточно — посмотреть параметры работы двигателя, посмотреть ошибки. Но не все операции с ЭБУ можно выполнить через ELM327 адаптер. Причина скорее кроется в его аппаратных возможностях — он собран на базе не нового процессора PIC, и для работы с современными высоконагруженными CAN шинами его просто недостаточно.
На сегодняшний день набирают популярности адаптеры, работающие по стандарту J2534. Его поддержка появляется в различных диагностических программах для пользователей (например, ScanXL, FORScan), а также в профессиональной дилерской диагностике (например, Techstream для Toyota, MDI для GM). При этом, через дилерскую диагностику можно сделать такие вещи, как расширенная диагностика всех систем автомобиля, настройка параметров работы каждого из них, перепрограммирование ЭБУ, привязка ключей и т.д.
В данной статье я хочу рассказать о работе с ЭБУ через J2534 адаптер. Расскажу я это все на примере ЭБУ ACDelco автомобиля Chevrolet Aveo, CHIPSOFT J2534 адаптера и инженерной программы DrewTech J2534 Tool.
Итак, запускаем программу, выбираем J2534 устройство, через которое будем работать и жмем "Load DLL". Если устройство подключено, то в левом нижнем углу окна программы увидим информацию о протоколах, которые поддерживает адаптер:
Затем нажимаем кнопку "Open" и получаем подробную информацию об адаптере:
Внизу окна, в строке статуса отображается результат выполнения команды. Если бы возникла ошибка, то она была бы написана там и там же была ее расшифровка.
Выбираем протокол ISO15765 и нажимаем "Connect", скорость BaudRate должна быть 500000:
Теперь необходимо настроить фильтрацию сообщений, которые будут обрабатываться. Дело в том, что в CAN шине современного автомобиля "гуляет" очень много CAN пакетов (у меня на заведенной Kia Carens в среднем проходит в секунду около 2000), которые нас в данный момент не интересуют. Чтобы они нам не мешали, мы вводим фильтрацию только тех, которые нас интересуют. Переходим на закладку "Filters", в полях Mask вводим "ff ff ff ff", в поле Pattern — "00 00 07 e8", в поле Flow Control — "00 00 07 e0" . Tx Flags устанавливаем 0x00000040, Тип фильтра устанавливаем как "Flow" и нажимаем "Apply":
Теперь можем отправлять команды на ЭБУ. Например, отправим команду получения VIN кода от ЭБУ. Переходим на вкладку "Messages" и в поле "Scratch Pad" вводим "00 00 07 E0 1A 90". Это запрос на получение VIN кода от ЭБУ (00 00 07 E0 — это CAN идентификатор получателя сообщения, т.е. ЭБУ двигателя, 1A — запрос на получение идентификационных данных, 90 — получить VIN код).
Теперь необходимо запустить цикл опроса ЭБУ, чтобы получить от него результат выполнения запроса. Для этого нажимаем кнопку "Start".
После этого можно отправить сообщение, нажав кнопку "Send". Если все сделано правильно, то увидим такую картинку:
Стрелками с надписью "out" показаны запросы, которые были отправлены на ЭБУ. Стрелки с надписью "in" показывает ответы, полученные от ЭБУ. В нашем случае мы получили в ответ "4B 4C 31 54 47 35 36 45 38 39 42 33 38 30 32 37 31", что соответствует VIN коду KL1TG56E89B380271.
Для того, чтобы закрыть соединение, достаточно закрыть программу.
Описанный в статье пример будет работать на большинстве современных автомобилей, которые работают по CAN шине. Не будет работать точно на Honda. Это связано с тем, что ЭБУ Honda используют другой CAN идентификатор.
Некоторые могут спросить, а не сломаю ли я что-то, если таким образом полезу в ЭБУ? Отвечу, что нет. Для выполнения критических операций всегда требуется пройти парольный доступ (который индивидуален у каждого производителя и даже у конкретной марки авто). Поэтому не зная его, что-то серьезное с последствиями для ЭБУ и авто сделать нельзя.
Для тех, кто хочет глубже разобраться в том, какие команды существуют, и как интерпретировать ответы ЭБУ, отошлю их к описанию стандарта ISO14230-3. В нем все это описано.