В связи с неожиданно образовавшимся свободным временем попытаюсь обобщить накопленный мной опыт работы по разработке диагностического оборудования для автомобилей имеющих в основе бортовую сеть GMLAN. Целью этого блога ставится :
Итак с чего начал чуть более года назад и каково состояние проекта на сегодняшний день.
На входе
На выходе. Разработана основа диагностического сканера , базирующегося на ОС Android и работающая с бортовыми сетями автомобилей GMLAN (Opel, Vauxhall, Chevrolet ). На начальном этапе работы использовался адаптер ELM327, но потом при поддержке Vic был сделан собственный адаптер на базе чипа Atmel. Основные функции адаптера - это сопряжение и коммутация шин (HS-CAN, MSCAN или LS-CAN) автомобиля с каналом Bluetooth и фильтрация пакетов для разгрузки основной программы обработки. Программа написана для OS Android v 2.2.3 и выше и выполняет следующие функции:
В итоге имеем вполне добротную заготовку для реализации проекта диагностического сканера. В следующих частях этого блога я покажу как можно работать с бортовой сетью GMLAN на примере автомобилей OPEL .
1. Предыстория GMLAN и теоретические основы.
Перед тем как приступить к делу, позволю себе немного позанудствовать о теории. Как только появился микропроцессор в системе управления двигателями в автомобилях, стал логичным вопрос о сборе и анализе данных , которые обрабатывал процессор, в целях отладки и диагностики Работы мотора. В самом начале, применительно к GM, это был так называемый порт ALDL Assembly Line Diagnostic Link . Это была однопроводная шина, которая для работы использовала ШИМ (широтно импульсную модуляцию). В конце 1990-х годов GM начал использовать Class-2, которая затем имел ветку развитая в J1850. Однако скорость работы шины не могла удовлетворить растущие потребности в обмене данных. Помимо скорости так же было необходимо обеспечить надежное межблочное взаимодействие всех электронных узлов бортовой сети автомобиля. Для этих целей очень хорошо подходил стандарт CAN 2.0 на промышленные сети от Bosch, который был творчески переработан ISO (International Organization for Standardization) для автомобильных целей . Вот на основе этих достижений GM и разработал свой стандарт бортовых автомобильных сетей GMLAN.
2. GMLAN и классическая семиуровневая модель ISO/OSI .
GMLAN можно отнести к протоколам высокого уровня (HLP - Higher Layer Protocols). Из названия следует что верхние уровни модели описываются протоколами стандарта GMLAN, но базируется на CAN стандарте и его развитии на сетевом уровне ISO 15765-2 .
- | Уровень | Соответствие в бортовой сети |
7 | Уровень представления (presentation) | GM-LAN |
6 | Прикладной (application) | |
5 | Сеансовый (session) | |
4 | Транспортный (transport) | |
3 | Сетевой (network) | ISO 15765-2 (UUST, USDT) |
2 | Канальный (data link) | ISO 11898 (CAN) |
1 | Физический (physical) | DW-CAN GMW 3122, SW-CAN GMW 3089 |
1. Физический уровень - это разъемы, провода, трансмиттеры. Разъем подключения (DLC) регламентируется документом SAE 1962. Физическая среда может быть двухпроводной витой парой (GMW 3122) или однопроводной (GMW 3089)
2. Канальный уровень - это фактически расширение спецификации CAN для взаимодействия с физической средой и организация управления доступом к среде, арбитраж на шине, обнаружение ошибок передачи данных. Этот уровень условно соответствует документу ISO 11898.
3-4 Сетевой уровень, транспортный уровень - Надстройкой затрагивающей указанные уровни является стандарт ISO 15765-2 , который вводит понятия типов кадров и сегментированной USDT (Unacknowledged Segmented Data Transfer) и несегментированной UUDT (Unacknowledged Unsegemented Data Transfer) передачи данных.
5-7 Верхние уровни модели базируются на внутреннем стандарте GM-LAN, который и определяет межблочное взаимодействие узлов и протоколы работы диагностического оборудования.
3. Адаптеры для начального подключения к GM-LAN.
Перед тем как что то разрабатывать самостоятельно, было бы неплохо по-изучать предмет с помощью подручных средств.
Как мы выяснили, типовая шина представляет собой витую пару , которая на концах сбалансирована сопротивлениями и к ней параллельно подключаются узлы . Таких шин в составе GM-LAN несколько и они связаны между собой узлами - шлюзами, которые позволяют передавать часть информации из одной шины в другую.
К нашей радости все шины GM-LAN в автомобиле Opel Astra-H выведены на диагностический разъем и нам не придется что либо разбирать в машине что бы добраться до них.
Скорость передачи данных по шинам :
HS-CAN (Hi Speed) 500 кб
MS-CAN (Middle Speed) 92,5 кб
LS-CAN (Low Speed) 33 кб
DLC - разъем | |
|
![]() |
ELM327.
Популярный адаптер ELM 327 выпускается …. ну кем он только не выпускается… всеми кому не лень, так что с приобретением такого устройства проблем нет. Это малогабаритное устройство , построенное на Microchip pic 18f248 и имеющее встроенное ПО , реализующее несколько диагностических протоколов , в том числе и ISO 15765 . Разработчик устройства www.elmelectronics.com . Существуют варианты как и USB так и с Bluetooth каналом.
CANNY7
Программируемый логический контроллер CANNY7 является многофункциональным устройством , которое в частности способно выполнять функции сниффера (анализатора) CAN шины. Реализация CAN 2.0B совместимая с ISO-11898 позволяет нам заглянуть в шину по USB каналу. Контроллер разработан фирмой www.canny.ru и ориентирован на автомобильные задачи. Единственный недостаток по сравнению с ELM - это отсутствие штатного переходника на DLC коннектор . Пришлось спаять дополнительный кабель и разместить в корпусе разъема дополнительный коммутатор для подключения шин.