Добро пожаловать на форум по автодиагностике, автосканерам! Чтобы общаться на форуме и получить доступ к информации, пожалуйста, зарегистрируйтесь!









Автосканеры, оборудование для диагностики


Вернуться   Форум по автодиагностике, автосканерам, ремонту, обслуживанию и эксплуатации автомобилей > Оборудование для автосервисов > Мультимарочные диагностические сканеры
Расширенный поиск

Мультимарочные диагностические сканеры Всё по работе с автосканерами Launch, AutoCom, Барс, Bosch KTS, Autoboss, Carman scan и др.

Где взять описания CAN-протоколов для разных марок?..


Like Tree34Likes

Ответ
 
LinkBack Опции темы Поиск в этой теме Опции просмотра
Старый 16.03.2015, 16:14   #181 (permalink)
Новичок
 
Регистрация: 30.01.2015
Сообщений: 66
Вы сказали Спасибо: 12
Поблагодарили 5 раз(а) в 5 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Беларусь, Минск
Авто: Hyundai i30 (FD), MАЗ 544069
По умолчанию

Цитата:
Сообщение от Alexo Посмотреть сообщение
Немного не понял, что Вы делали.. Итак, сканировали шину кан через диагностический разъем по пинам 6 и 14?
Да, именно это и делал.

Цитата:
Сообщение от Alexo Посмотреть сообщение
А далее? Ведь получили же какой-то лог? В чем же сомнения?..
Лог получен. Сомнения в протоколе, который используется в легковых авто.

Ну и попутно сомнения с другим прибором (AVL-треккером). Возможно я некорректно с ним работал, т.к. не получил ответ с CAN-шины. Но это уже другая история 8)

Буду парсить лог, результаты трейса выложу позже.
ghost_gluck вне форума   Ответить с цитированием
Старый 16.03.2015, 16:21   #182 (permalink)
Участник тусовки
 
Регистрация: 05.01.2014
Сообщений: 111
Вы сказали Спасибо: 1
Поблагодарили 62 раз(а) в 20 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Земля
По умолчанию

Цитата:
Сообщение от ghost_gluck Посмотреть сообщение
Сомнения в протоколе, который используется в легковых авто.
Ну, например, у меня сомнений нет о протоколе, который используется в моем Кобальте. Это GMLAN. У вас даже в типе сомнения? Думаю у хундаев также есть стандарт, название которого не должно быть засекречено...
Alexo вне форума   Ответить с цитированием
Старый 16.03.2015, 16:41   #183 (permalink)
Абориген
 
Аватар для GASCHE
 
Регистрация: 20.07.2013
Сообщений: 874
Вы сказали Спасибо: 55
Поблагодарили 182 раз(а) в 126 сообщениях
Сказал(а) Фууу!: 2
Сказали Фууу! 2 раз(а) в 2 сообщениях
Откуда: Москва, Троицк
По умолчанию

Цитата:
Сообщение от Alexo Посмотреть сообщение
Думаю у хундаев также есть стандарт
Hyundai Grand Starex, H-1 после 2007г. ISO-15765.
GASCHE вне форума   Ответить с цитированием
Старый 16.03.2015, 16:52   #184 (permalink)
Новичок
 
Регистрация: 30.01.2015
Сообщений: 66
Вы сказали Спасибо: 12
Поблагодарили 5 раз(а) в 5 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Беларусь, Минск
Авто: Hyundai i30 (FD), MАЗ 544069
По умолчанию

Цитата:
Сообщение от ;274201
Ну, например, у меня сомнений нет о протоколе, который используется в моем Кобальте. Это GMLAN. У вас даже в типе сомнения? Думаю у хундаев также есть стандарт, название которого не должно быть засекречено...
Я как раз и пытаюсь выяснить, что за протокол у меня. На основании трейсов чуть позже сделаю заключение.

Цитата:
Сообщение от ;274208
Hyundai Grand Starex, H-1 после 2007г. ISO-15765.
Спасибо за подсказку, буду смотреть.

Последний раз редактировалось ghost_gluck; 16.03.2015 в 16:53..
ghost_gluck вне форума   Ответить с цитированием
Старый 16.03.2015, 19:40   #185 (permalink)
Участник тусовки
 
Регистрация: 10.06.2014
Сообщений: 226
Вы сказали Спасибо: 0
Поблагодарили 63 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Украина
Авто: L405, L550MY17
По умолчанию

Чтобы "ковырять" КАН в первую очередь нужно осознать что это в первую очередь ТРАНСПОРТНЫЙ ПРОТОКОЛ в который вживили протокол диагностики, сначала каждый производитель делал свое а потом сперва адаптировали общий KWP2000 а потом чтобы навести порядок трансформировали в UDS . Как для "транспортной шины" каждый производитель делает что хочет и передает что хочет.
ddk_f вне форума   Ответить с цитированием
Сказал Спасибо ddk_f за это сообщение:
DavidBejenari (02.09.2018)
Старый 16.03.2015, 21:19   #186 (permalink)
Новичок
 
Регистрация: 30.01.2015
Сообщений: 66
Вы сказали Спасибо: 12
Поблагодарили 5 раз(а) в 5 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Беларусь, Минск
Авто: Hyundai i30 (FD), MАЗ 544069
По умолчанию

ddk_f, а где я написал про транспортный? Я сомневался в выборе Application Layer
ghost_gluck вне форума   Ответить с цитированием
Старый 17.03.2015, 10:40   #187 (permalink)
Участник тусовки
 
Регистрация: 10.06.2014
Сообщений: 226
Вы сказали Спасибо: 0
Поблагодарили 63 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Украина
Авто: L405, L550MY17
По умолчанию

Цитата:
Сообщение от ghost_gluck Посмотреть сообщение
ddk_f, а где я написал про транспортный? Я сомневался в выборе Application Layer
Все что по КАНу это транспортировка данных. Просто пакеты до 8 байт.
Чтобы передать больше надо сделать систему и разные стандарты как раз и это делают.
Стандарты самого КАНа устанавливают физику шины, единую скорость , арбитраж , корекцию ошибок . Только в диагностических стандартах устанавливается формат данных и адресация, тоесть передавать в других свободних адресах возможно что угодно, и что и делают разные производители на свое усмотрение.
ddk_f вне форума   Ответить с цитированием
Старый 17.03.2015, 12:35   #188 (permalink)
Новичок
 
Регистрация: 30.01.2015
Сообщений: 66
Вы сказали Спасибо: 12
Поблагодарили 5 раз(а) в 5 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Беларусь, Минск
Авто: Hyundai i30 (FD), MАЗ 544069
По умолчанию

ddk_f, еще раз спрашиваю, где я написал про транспортный?

Меня интересовала инкапсуляция пакетов протокола более высокого уровня. Она найдена. Что Вы пытаетесь доказать?

Для новичков Ваша информация будет полезна.

PS. Ничего личного. Но если и это сообщение не донесет до Вас смысл происходящего, тогда и не знаю, как быть. Считаю дальнейшие препирательства на данную тему нецелесобразными.
ghost_gluck вне форума   Ответить с цитированием
Старый 19.03.2015, 09:56   #189 (permalink)
Участник тусовки
 
Регистрация: 05.01.2014
Сообщений: 111
Вы сказали Спасибо: 1
Поблагодарили 62 раз(а) в 20 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Земля
По умолчанию //

Ещё раз - удалось связаться с шиной (то есть, каким-то образом увидели, что данные идут и(или) записываются), - значит, "транспортно - стандартный" уровень CAN преодолели. Далее - надо думать, как интерпретировать полученные данные. Это все равно, что получил я, к примеру (пример, кстати, реальный, - из того времени, когда изучал ОБД и у меня на авто как раз периодически высвечивался чек), в 4-м и 5-м байте ответа на запрос 0x7DF 01 03 00 00 00 00 00 00 (идентификатор и 8 байт данных) получил ответное сообщение 0x7E8 04 43 01 08 33 AA AA AA (здесь в принятой форме 16-ричной записи (0x) я указал только для идентификаторов сообщений, хотя данные представлены также в 16-ричной форме) Теперь надо понять, какая информация тут представлена. Для этого берем открытое описание OBD и интерпретируем: "0x7DF" - это идентификатор запроса на диагностику по ОБД стандарту (об этом я прочитал ранее, причем в разных местах, в Вики, на буржуйских сайтах и форумах канхакеров и т.д. и уже знал, с каким идетификатором должно быть это сообщение. Далее нулевой байт этого сообщения имеет значение "01". Этим я сообщаю системе диагностики, опять же по стандарту ОБД, что "далее следует 1 байт с данными, а после него - можно байты не читать, - все равно в них не содержится никакой информации". То есть, нулевой байт определяет длину поля со значащими данными. Следующий (первый) байт имеет значение "03". По стандарту ОБД - это служба, отвечающая за хранение и предоставление по запросу действующих на настоящий момент ошибках. Теперь ответное сообщение: "0x7E8" - идентификатор стандартного ответного сообщения. "04" - то же самое - количество следующих байт с полезной информацией "43" - байт, получаемый суммированием 16-ричных 03 (которое я посылал в запросе) и 40 (40 прибавляется всегда в ответном сообщении если все нормально и запрос корректный и принят) - тем самым подсистема диагностки авто как бы дает понять, что она принимает и обрабатывает запросы. Дальше - непосредственно данные: "01" - количество сообщений, содержащих данные об ошибках (ведь их может быть и не одна) В данном случае - ошибка одна и она вполне вместилась в это же сообщение, так как на код каждой ошибки тратится 2 байта. (Видимо, поместится и две ошибки, просто, соответственно, в нулевом байте будет указана длина поля со значащими данными не 4 а 6.) "08" и "33" - непосредственно код ошибки. Не буду долго расписывать, как он декодируется (можно посмотреть в Вики), скажу только, что прикольно - визуально в 16-ричной системе можно сразу сказать без "особой тренировки", что код ошибки P0833. Далее - по-крайней мере в моем Кобальте незначащие байты заполняются именно АА (может, видимо, быть по другому, однако это не интересует - по нулевому байту можно точно сказать, сколько байт рассматривать). А вот далее - по коду ошибки узнаем, что эта ошибка - датчика положения педали сцепления.. Так вот, все эти "описания" как интерпретировать все данные (получаемые, отсылаемые) и проч. и описаны в открытом протоколе обмена ОБД.

----------

Вот реальный принт-скрин лога в момент, когда я посылал запрос и получал ответ как раз для вышесказанного:
Нажмите на изображение, чтобы открыть его в исходном размере.
Вообще, сообщения делятся на два вида - постоянно "висящие" в шине - это служебные, которой обмениваются блоки как раз по протоколу производителя, некоторая информация из которых понятна, о чем я писал ранее.
В данном случае, во фрагмент кадра попали несколько сообщений между моим запросом и ответом системы.
По времени получения кадра видно, что ответ на запрос пришел примерно через 1 мс.
Интересно, что постоянные служебные сообщения посылаются с периодом менее 1 мс. Это очень быстро - учитывая скорость обмена - 500 кбит/с.
Для эмуляторов это говорит о том, что дешевенькие простенькие контроллеры, допустим ELM327 не справятся с задачей полной эмуляции...

----------

Добавлю - это выполнено при помощи универсального CAN-USB адаптера Marathon.
Можно было, конечно, настроить его аппаратный фильтр для пропуска только интересующих сообщений (настраивается как для одиночного сообщения, так и для группы идентификаторов - по диапазону). Фильтры чаще всего и применяются в подобных случаях - когда в сети много сообщений (сеть сильно загружена), и, чтобы не тратить процессорное время контроллера адаптера и программно-процессорное время непосредственно обрабатывающей системы (например, компа с соответствующей ОС и ПО), и премяняются фильтры.
Как правило, при разработке протоколов обмена стараются скомпоновать сообщения по их идентификаторам наряду с приоритетностью, принадлежностью к тем или иным группам и проч. ещё и из соображений простоты и удобства пользования аппаратной фильтрацией.
Так например, в случае с ОБД при снятии марафоном, - я устанавливаю фильтр (на самом деле в аппаратной фильтрации всегда два параметра - MASK и CODE) и маску и код фильтра в 0x7E0, и адаптер начинает пропускать на обработку сообщения только с идентификаторами из диапазона ОБД.
В том примере, что на рисунке, я аппаратной фильтрацией не пользовался - там мне было интересно, как это все будет коррелировать с другими (служебными) сообщениями...

----------

Так вот - самое главное - реверс - инжениринг и предполагает разобраться во всех этих служебных протоколах конкретного производителя, как это я показал на примере открытого протокола ОБД.
У меня уже есть дешевенькие кан-сканеры vag-com, op-com.
Интересует для GM. Что можно приобрести по цене не выше 5 килорублей?
4еснок likes this.
Alexo вне форума   Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо Alexo за сообщение:
4еснок (19.03.2015), ra4pou (25.11.2018), Ufv32 (03.12.2018), Алексей 76 (16.06.2015)
Старый 19.03.2015, 10:59   #190 (permalink)
Участник тусовки
 
Регистрация: 10.06.2014
Сообщений: 226
Вы сказали Спасибо: 0
Поблагодарили 63 раз(а) в 48 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Украина
Авто: L405, L550MY17
По умолчанию

[QUOTE=Alexo;275580]Для этого берем открытое описание OBD и интерпретируем: "0x7DF" - это идентификатор запроса на диагностику по ОБД стандарту (об этом я прочитал ранее, причем в разных местах, в Вики, на буржуйских сайтах и форумах канхакеров и т.д. и уже знал, с каким идетификатором должно быть это сообщение. Далее нулевой байт этого сообщения имеет значение "01"./QUOTE]

В протоколе "UDS" адрес "0x7DF" для общих команд, к примеру если подать команду вытереть ошибки "14" то откликнутся все блоки на исполнение этой команды.

В пакете первый байт не нулевой а количество байтов , если первая цифра 1Х то пакет длинный , пример 07 - это семь байт а есле 10 08 то это уже 8-мь байт так как он в транспотный КАН не влезает передают его в несколько КАН-посылок. 1F F8 - это передача FF8 hex байт.

В конце данных пустые места заполняются по разному и это зависет от производителя , по стандарту при передачи заполнять нужно 55 а при приеме АА но иногда идут нули а иногда ленятся и кеш оперативки.
ddk_f вне форума   Ответить с цитированием
Сказал Спасибо ddk_f за это сообщение:
aduard (20.02.2020)
Ответ






Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 14:56. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод:
zCarot
Автодиагностика и автосканеры.