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

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

Alexo 08.01.2014 08:49

Да IXXAT такой же, как на фото..

Alexo 08.01.2014 08:54

Если не говорить о программировании - то возможности обычных стандартных КАН-адаптеров тоже достаточно велики - в их стандартных программах мы перехватываем и видим все сообщения. Зная протокол, - можем судить обо всем, что там происходит.. Вот, как-то так.. Кстати, в ихатовских и марафоновских программах (стандартных, - те, что идут вместе с приборами) также можно и отсылать в сеть любые кан-кадры с заданной периодичностью.. Об эмуляции я писал уже раньше..

Alexo 08.01.2014 09:42

Вложений: 1
Вот скрин со стандартной программы Марафона (CANwise) одного из 4-рех каналов некой системы управления, по сложности которая на порядок больше автомобильной. В этом канале порядка сотни сообщений и около сорока периферийных приборов.
То есть, я, зная только скорость обмена (500 К) подключился к шине (в любом месте, где это удобнее - всего-то делов - два провода подсоединить), "слышу" все, что там происходит. В данном случае - на рис. закладка CANtracer - если сообщение хотя бы раз проходило, то оно здесь появится под своим идетификатором и будет "стоять" неподвижно, меняться будут только данные (если им "положено" меняться в силу логики работы). Столбец NUM -сколько всего данных с идентификатором ID прошло на данный момент. Все представлено в 16-ричной системе счисления. Вот, например, сообщение с идентификатором 0х206 (так обозначают в 16-ричной системе), байт "0" (все подсчеты, как правило, начинаются не с 1-го а с0-го, также как и биты) - значение 0хD2 (в десятичной системе - 210). Я по протоколу знаю, что в этом байте передается значение скорости в км/час (так договорились, когда разрабатывали) протокол обмена, так как максимально возможная скорость - 230 км/час, то все "умещается" в один байт, который, как известно, позволяет передавать от 0 до 255. А, например, сообщения с ID 0х184, 0х186 - передают засветку клавиш от блока управления. То есть, в данном случае, буквально: "Клавиши такие-то такие-то подсвечивать желтым цветом".. Все эти сообщения проходят со средней периодичностью около 30 мс (то есть, порядка 30-ти раз в секунду).. Продолжение следует...

Alexo 08.01.2014 10:01

Конечно, зная протоколы, нам не нужны никакие даже самые крутые и навороченные дилерские сканеры, проанализировать все мы и сами "смогем". А если ещё и программировать уметь, то тут вообще - и диаграммы временные выечрчивать, и данные компоновать как нам надо и полную эмуляцию чего угодно.. и проч.

Alexo 08.01.2014 10:31

Продолжим..
 
Вложений: 1
Вот выдержка из штатного протокола обмена некоего управляющего блока с управляемым. Управляющий шлет запрос 0х200, управляемый - отвечает. На самом деле там 10 ответных сообщений. Я выбрал 2 - разных, первое из них шлет аналоговые параметры, второе - в основном дискретные, но есть и аналоговые. Скорость обмена в данном случае - 250 КБит/сек...

bazuka 08.01.2014 10:46

КЛАСС!!!!!!!
 
ВЕЛИКОЕ ДЕЛО ДЕЛАЕШЬ!!!!!!
ЛИЧНО я с ИНТЕРЕСОМ ЧИТАЮ. СВЕЖИЕ МЫСЛИ!!!

ВАЖНО ПОНЯТЬ ОБЩИЕ ПРИНЦИПЫ . А ПОТОМ ДОСКОНАЛЬНО ПО ПУНКТАМ УГЛУБЛЯТЬСЯ

bazuka 08.01.2014 10:50

Цитата:

Сообщение от Alexo (Сообщение 87619)
Тут, для меня проблем работы с МАРАФОНОМ вплоть до создания своих программулин, например, нет. Дело больше в самом CAN – для самого начала неплохо бы изучить структуру КАН-кадра (или «сообщения», или «фрейма» – в разной документации возможно различное название). Для этого, опять же, надо представлять для чего вообще была создана эта технология и, если хотите, её «философия» - то есть, чем принципиально она отличается от других (того же, например RS485). Тут важно понимать, что за «простоту» принципа обмена информацией «расплачиваются» повышением общих накладных за счет обязательности у каждого прибора в сети наличия КАН-контроллера. Далее, - естесственно, это все стандартизировано, и ещё на аппаратном уровне имеются и проверки целостности, и защита от ошибок, и аппаратные фильтры и ещё много чего нужного, но делаемого автоматически и, таким образом, освобождающего программиста от заботы об этом всем.. Для программера остается только сам формат кадра – идентификатор сообщения и восемь байт с данными. И ВСЕ – больше он ни о чем может не волноваться. Протокол обмена устроен так: например, там написано, что некий датчик общается с основными «мозгами» авто в следующем порядке: на скорости 500 кБит/с, форма – «запрос – ответ», формат данных – «в первом байте – каждый бит (из 8-ми) говорит о его состоянии, - 1-ый, допустим, исправен-неисправен (да-нет – булева переменная, 2-ой – есть связь-нет связи, третий - ещё какие-то булевы параметры.)» То есть первый байт, по протоколу ответственен за булевы переменные (да-нет). Второй байт может быть уже какой-то аналоговой величиной (допустим, напряжение). Тогда весь байт отдан под него (может быть под аналоговые переменные отдано и больше – один байт максимум обеспечивает 255 – и то, если беззнаковая переменная, если знаковая – то до 127). Ну, и так далее – все зависит от того, как заранее ДОГОВОРИЛИСЬ это все дело передавать. Если для передачи данных не хватает восьми байт, то в протоколе прописывают ещё один кадр со своим идентификатором и восемью байтами данных. И т.д. Далее – контроллер датчика постоянно слушает сеть (как, впрочем, и все остальные контроллеры остальных приборов). «Слышит» он все сообщения, которые в ней «гуляют». Как только он услышал в сети кадр с идентификатором, который прописан у него программно (или в фильтре), только на него он реагирует – шлет свой пакет из предписанных ему по протоколу сообщений (о своем состоянии, величинах которые он контролирует и проч.) Кстати, очень часто, в одном из байт, как правило, передается так называемый «счетчик» - в каждом новом сообщении величина счетчика увеличивается на 1 и так до 255, потом – по-новой. Для «принимающей» стороны это, хоть и косвенно, говорит о том, что прибор исправен. Да и при необходимости, можно точно восстановить последовательность кадров. Формат общения не обязательно может быть «запрос-ответ», зачастую такие приборы, как датчики сами с некоторой «договоренной» периодичностью шлют свои сообщения. Или наоборот, - шлют только по запросу, если же превышен некоторый критичный порог, - начинают слать постоянно с некоторой периодичностью.. И т.д. – все это и есть описание протокола информационного обмена… Ну, как, нужен такой «ликбез»?... :smile:

по поводу кадра интересно очень....

Alexo 08.01.2014 10:55

Ладно, я сегодня на работе, вообще-то:biggrin1:. Перерывчик надо сделать и поработать.. Но потом - продолжим.. У меня тоже вопросы есть к опытным диагностам.

bazuka 08.01.2014 10:55

ДЛЯ РАЗВИТИЯ....
 
ALEXO, про библиотеки.....(кто за что отвечает, что даёт,Зачем надо)

Alexo 08.01.2014 10:59

Библиотеки имеется ввиду программные. в случае с МАРАФОНОМ имеется ввиду CHAI.dll. То есть, производитель прибора поставляет и библиотеку - там на низком уровне описано общение с контроллером. Но, чтобы мне не заморачиваться при написании своих программ, я знаю только МЕТОДЫ работы с ней - то есть, например, чтобы программно установить скорость обмена, я вызываю саму библиотеку и метод SetBaud(500) - и абсолютно не парюсь, что там в ней происходит (несколько страниц на Ассемблере):wave:


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

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