You are here:
  • Increase font size
  • Default font size
  • Decrease font size

Diakom-Auto

Ремонт и настройка диагностических приборов.

Ставим BMW на колени, или как?

PDF
К нам приходит большое количество писем с просьбами помочь в построении несложных диагностических систем на базе персонального компьютера. Я решил что такое количество народа может объединить свои усилия и начать создавать свой прибор. Предлагаю начальные установки для создания сканера автомобилей фирмы BMW.
  1. базовая схема блока в файле bmw.pdf 36kB
  2. описание сканирования канала в файле interf.zip
  3. пример файла обмена между компом и автомобилем на BC 3.1 под DOS dme.zip (программа написана очень коряво, и требует радикальной переработки).
  4. файлы с описаниями ошибок на некоторые системы err.zip (в дальнейшем будут пополняться).

Скажу сразу, у нас есть прибор, и очень хороший прибор, но к сожалению не всем он по карману. По этому я предлагаю всем желающим принять участие в создании простого адаптера, сборе информации и его развитии. Одному человеку делать это нерентабельно и долго. Все собранные материалы и программы будут свободно выложены на нашем сайте.

А теперь коротко о работе программы.

Как видно из схемы, линия RxD - TxD канала с помощью сигнала RTS коммутируется как на K так и на L линию диагностического канала, сделано это для экономии программных ресурсов и отработки логики канала. При запросе скорость канала устанавливается 8 бод, и выдается код 0х7F 0х0F на линию L, что и соответствует стандартному запросу на диагностику в блоках DME-DDE, ответ, и дальнейший обмен происходит по линии K, обычно со скоростью 9600 бод, но это совсем не обязательно. Скорости лежат в диапазоне от 1200 до 10500 бод.

Для коробок алгоритм примерно такой же, а для блоков AIRBAG и инструментальной панели (к примеру) все запросы в блок идут по линии L, все ответы возвращаются по линии K.

Передачу и прием необходимо организовать по прерываниям, ибо по готовности стабильность канала получить не возможно.

Программу предлагаю писать на Си, под DOS., это себя оправдывает простотой и легкостью отладки.

Было бы неплохо, если один из программистов взял в свои руки компиляцию и стыковки кусков программ, поскольку я себя программистом не считаю, а писать программу левой задней нагой, и получить вариант CarSoft нет ни какого желания. С моей стороны будет помощь с информацией о протоколах, тестирование и критика, ибо без этого не обойтись.

Теперь о протоколе DME

Запрос на диагностику по L выглядит как 0=1000 мс 1=250 мс 0=550 мс, после которого L = 1, а по линии К приходит ответ на скорости канала. 0х55 0х00 0х81, который повторяется два или три раза, если не было подтверждения от сканера.

Сканер отвечает инверсией на принятый байт, а контроллер радостно шлет ему новые данные.

Второй байт в запросе = 0х09 - чтение данных, 0х07- чтение ошибок, 0х05 -стирание ошибок.

Третий байт в ответе - количество принимаемых байт

На последний 0х03 отвечаем 0х03 и читаем со следующего адреса

Ошибки обычно читаются с посылки с адресом 0х16, но это не обязательно, главное считать все номера, а далее канал можно крутить непрерывно, что собственно говоря все сканера и делают.. Шестой принимаемый байт и есть номер ошибки, в пересчете на десятичное счисление. Впрочем это все есть в прилагаемой текстушке. В заключении я прилагаю программу написанную несколько лет назад, в ней собранны номера блоков по системам(oldver.zip).

Присылайте письма с предложениями, дополнениями и замечаниями на адрес Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript с пометкой "Диагностический прибор".

С уважением. Александр Викулин.

 

Сегодня, 13.12.99 пришло письмо от Александра Кишнера (прошу прошения, если не совсем правильно перевел фамилию на русский язык), по замечаниям которого были внесены некоторые коррективы в схему и описание алгоритма работы, и даю некоторые пояснения.

Схемотехника линий K и L взята из руководства фирмы BOSCH по построению интерфейса ISO9141.

Перечеркнутые резисторы со знаком " I " это позисторы, или как их еще называют "самовастонавливающиеся предохранители". Принцип их работы в том, что применяющаяся в них керамика имеет резко выраженную зависимость сопротивления о температуры, до температуры перегиба омы, или доли ом, а после точки перегиба сотни килоом, косвенно эта зависимость связанна с током. Надпись R030 означает 0.3 А.

Итак, начало положено, спасибо за профессиональный подход.