Форум по автодиагностике, автосканерам, ремонту, обслуживанию и эксплуатации автомобилей

Форум по автодиагностике, автосканерам, ремонту, обслуживанию и эксплуатации автомобилей (http://autoprogs.ru/index.php)
-   Мультимарочные диагностические сканеры (http://autoprogs.ru/forumdisplay.php?f=168)
-   -   Где взять описания CAN-протоколов для разных марок?.. (http://autoprogs.ru/showthread.php?t=4197)

Alexo 19.03.2015 19:26

Цитата:

Сообщение от ghost_gluck (Сообщение 275809)
Ну да. Либо по схеме найти провода и подключиться через крокодилы.

Пока я не лезу в межблочные связи - мне бы разобраться по диагностическому разъему что "бегает" (кроме ОБД, конечно)
Вообще я сделал программный шлюз, который врезается в любую кан-шину (на разъеме, например), он имеет два канала, которые перекрестно принимают с одного и передают данные во второй канал (я ранее его более подробно описывал, и сообщал, что хочу сделать такой шлюз) а для самого оборудования как бы и нет никакого разрыва.
Однако, скорости обмена слишком велики - не справляется (я его пробовал между диагностическим разъемом и разъемом сканера VAG-COM):shock:

Максимально его возможности, что мне удалось вычислить - на 500 Кбитной шине 20 сообщений с периодичностью 3 мс каждое. А в реале на том же Кобальте - около 40 сообщений, из них 20 - с периодичностью 250 мкс!..
Тут бы, конечно, во-первых, - делать программный коннект не на уровне библиотек (как у меня сейчас), а на уровень ниже - на уровне драйверов контроллера, а во-вторых, само ПО хорошо чтобы крутилось не под виндой, а в какой-нибудь ОС реального времени.. (мечтать не вредно)

ghost_gluck 19.03.2015 19:52

Alexo, на сколько я понял, Вы сделали программный фильтр-репитер?


Цитата:

Сообщение от Alexo (Сообщение 275816)
Максимально его возможности, что мне удалось вычислить - на 500 Кбитной шине 20 сообщений с периодичностью 3 мс каждое. А в реале на том же Кобальте - около 40 сообщений, из них 20 - с периодичностью 250 мкс!..

Не боитесь, что устроите флуд на шине? Но не это главное, На сколько я понял, вы хотите подменять сигналы какого либо из блоков. Так?
Возможно, проще будет данные блок на время перевести в stand-by, если такое имеется (тут я просто мечтаю :), а возможно такое реализовано уже. не обладаю информацией на данную тему.)
Или, Вы хотите брать сигналы с неисправного блока, пропускать их через шлюз и отдавать ответ исправного блока?

Если RTOS - посмотрите в сторону uC/OS II или ChibiOS. Последняя - бесплатная. Можно запустить на STM каком-нибудь с ARM архитектурой.

Цитата:

Сообщение от Alexo (Сообщение 275816)
Пока я не лезу в межблочные связи - мне бы разобраться по диагностическому разъему что "бегает"

Шина вроде линейная и связывает все блоки. Или я не так Вас понял? Или межблочные связи - это, например, общение двигателя с ABS/ESP?

Alexo 19.03.2015 20:06

Цитата:

Сообщение от ghost_gluck (Сообщение 275822)
Alexo, на сколько я понял, Вы сделали программный фильтр-репитер?

Точнее - просто репитер, с возможностью подмены данных на лету (возможность установки фильтров там есть, но чаще всего, думается, их использовать не придется).
Представьте, что есть некая практически неизвестная нам шина кан (протокол обмена - абсолютно неизвестен), соединяющая два блока, о функционале которых (не протоколе обмена, а именно о том, какие функции эти блоки выполняют в общей системе), нам впрочем, известно многое. Просто приконнектившись к шине, мы получим некий дамп - набор сообщений с данными. Даже такой важный начальный вопрос - Какой блок что шлет? - даже это в общем случае (не имея никаких, хотя бы косвенных данных по протоколу обмена) понять невозможно.
Используя шлюз мы как бы физически разделяем сообщения посылаемые каждым блоком. Далее - программная обработка этих сообщений - "дело техники"
Далее - для реверс-инж. - меняем данные (естественно, чтобы менять, надо до этого уже хотя бы "подозревать" о характере изменяемых данных) на лету - смотрим (по внешним ожидаемым признакам, по изменениям в других сообщениях и проч.), что изменяется и насколько..
Можно, конечно, и без шлюза - просто соединившись с шиной слать сообщения, аналогичные тем, что мы хотим "изучить" - и в них менять данные, но тогда появится так называемый "дребезг значений". Принимающий блок будет видеть то сообщение с одними данными (скажем посланное реальным блоком), то следующее - это же сообщение (с тем же ID) с другими данными (посланное нашим ПО) и так и будет "туда-сюда". Как поведет себя каждый конкретный блок в таком случае - абсолютно неизвестно. И уж точно не приходится говорить о достоверности выводов сделанных на основе таких "манипуляций"..
Это, конечно, утрированно, но принцип - такой.

Цитата:

Сообщение от ghost_gluck (Сообщение 275822)
Шина вроде линейная и связывает все блоки. Или я не так Вас понял? Или межблочные связи - это, например, общение двигателя с ABS/ESP?

Ну да, но как я понял, если она не выведена на диагн. разъем, то и диагностики в ней не предусмотрено?.. А я пока изучаю именно это.

ghost_gluck 19.03.2015 20:52

Alexo, почему шина не выведена на разъем - сказать сложно. Возможно, VAG по каким-то причинам не захотел выводить CAN. На сколько я понял в фольце только моторный CAN. Так?

У меня около 5 блоков управления в легковой. Но все пока не нашел.

Хотел спросить про имплементацию репитера.
Что используется в качестве CAN-контроллера SJA1000 или MCP2510/11?

В целом - задумка отличная.

Alexo 19.03.2015 21:07

Цитата:

Сообщение от ghost_gluck (Сообщение 275841)
Хотел спросить про имплементацию репитера.
Что используется в качестве CAN-контроллера SJA1000 или MCP2510/11?

В целом - задумка отличная.

Использую Marathon - 2-канальный CAN-USB адаптер, контроллер там SJA1000. Вообще - это наш отечественный клон америкосского IXXAAT - кстати, там тоже SJA1000 (контроллер, разработке которого 20 лет "в обед")
Но стоимость нашего на порядок дешевле (6,5 килоруб. vs 60 тыс)
А про задумку - это да, я рассказал только о небольшой толике возможностей - довести бы до ума.. Пока перейду на уровень драйверов - посмотрим насколько улучшится динамика...

----------

Цитата:

Сообщение от ghost_gluck (Сообщение 275841)
Alexo, почему шина не выведена на разъем - сказать сложно. Возможно, VAG по каким-то причинам не захотел выводить CAN. На сколько я понял в фольце только моторный CAN. Так?

Видимо, просто в те года (2004) был переход на кан, по-видимому, диагностику тогда ЕЩЁ не вывели, оставалась какое-то время клайновская.
А кан там не только моторный - и комфорт и все остальные блоки тоже по-моему, кан..

ghost_gluck 19.03.2015 21:30

Цитата:

Сообщение от Alexo (Сообщение 275842)
Видимо, просто в те года (2004) был переход на кан, по-видимому, диагностику тогда ЕЩЁ не вывели, оставалась какое-то время клайновская.
А кан там не только моторный - и комфорт и все остальные блоки тоже по-моему, кан..

У меня CAN выведен на OBD-II и на диагностический разъем под капотом. Но это 2010 год. Возможно, на VW есть еще один разъем для диагностики.
A схема VW у Вас есть? С ней как раз прояснится как связаны блоки между собой.

По поводу адаптера - неплохо. Возьму на заметку.

[OFFTOPIC]
Почему спрашивал про контроллеры - параллельно вожусь с концепцией умного дома. Выбираю контроллер. Возможно найду платы с датчиками и контроллером, либо просто с контроллером.
[/OFFTOPIC]

Alexo 19.03.2015 21:41

Цитата:

Сообщение от ghost_gluck (Сообщение 275860)
У меня CAN выведен на OBD-II и на диагностический разъем под капотом. Но это 2010 год. Возможно, на VW есть еще один разъем для диагностики.
A схема VW у Вас есть? С ней как раз прояснится как связаны блоки между собой.

[/OFFTOPIC]

А вот это для меня новость - то, что диагностика может быть выведена на другой разъем. Буду знать. Спасибо.
Схемы нет, вообще, конечно, надо бы хотя бы прошерстить инет в поисках всевозможной документации. Я уже это делал, но так - урывками. Надо бы более предметно заняться и вытащить всю возможную инфу (а ещё бы рассортировать!) На это надо пару недель точно..

----------

Цитата:

Сообщение от ghost_gluck (Сообщение 275860)
[OFFTOPIC]
Почему спрашивал про контроллеры - параллельно вожусь с концепцией умного дома. Выбираю контроллер. Возможно найду платы с датчиками и контроллером, либо просто с контроллером.
[/OFFTOPIC]

Ну, тут, вроде, попроще должно быть - скорости-то не должны быть большими? Сильно динамичных процессов ведь нет как в транспорте.
Я в плане используемых контроллеров - в принципе, достаточно недорогих?..

ddk_f 19.03.2015 21:54

Цитата:

Сообщение от ghost_gluck (Сообщение 275790)
Да вы тоже читали это.
Но есть еще 8 адресов, для каждого из 8 блоков. Т.е. 0x7E0:0x7E8 - пара request/response для первого ECU. Т.е. команды шлем на 0x7E0, а ответ получаем от 0x7E8. И так для каждого последующего ECU.
Например, у меня на посыл команды сброса всех ошибок в 0x7DF - приходит ответ c ID 0x7DC.

В читаемых доках не все описывается.

Базовое это на адрес скажем 7E0 ответ +8 , ну это относится для последних адресов а вот для первых 700, 701... от тут уже не стыковка , одни производители используют +8 а некоторые +40hex и +60hex.

Существуют команды которые не в какой стандарт не входят.

Опыт использования КАН есть в разных проектах в том числе полный эмулятор разных автомобилей и разных брендов.

Alexo 19.03.2015 22:02

..
 
Цитата:

Сообщение от ddk_f (Сообщение 275874)
Опыт использования КАН есть в разных проектах в том числе полный эмулятор разных автомобилей и разных брендов.

Вот это интересно!.. Тогда куча вопросов.
Эмуляторы чего конкретно, - всех блоков?
Я не для "плагиата" спрашиваю, а чтобы понять для себя - насколько это все можно сэмулировать и какая возможная польза от этого?..

ddk_f 19.03.2015 22:07

Цитата:

Сообщение от Alexo (Сообщение 275875)
Я не для "плагиата" спрашиваю, а чтобы понять для себя - насколько это все можно сэмулировать и какая возможная польза от этого?..

Для изучения и понятия о происходящих процесов.


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

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