|
Эмуляция сигнала реверса в Машине с CAN, Конкретно нужен CAN-ID и DATA для этого. |
|
|
|
Dec 16 2010, 06:24
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Привет. Я вообщем тут в немного дурацкую ситуевину попал - купил прибамбас, а он с моей машиной несовместим оказался. В общем он читает по CANу инфу о положении руля и накладывает линии парковочной разметки на камеру. Сделано китайцами и поддержки нет. Подрубается в OBD-II, в шину CAN. Проблема в том, что чтобы он начал работать - ему нужен сигнал, что включена задняя скорость, причем только по CANу. А у меня на машине Toyota Verso 2009 - похоже сигнал включения заднего хода вообще в CAN-шине не присутствует. Так что я хочу его обмануть и подсунуть на CAN сообщение о включении задней скорости. Все железо, знания и софт у меня есть, вопрос только в том - что же это за сообщение. Можете подсказать, в каком стандарте это описано или ID с данными просто - а я проэкспериментирую. Спасибо.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 28)
|
Dec 16 2010, 15:32
|
Группа: Новичок
Сообщений: 4
Регистрация: 18-11-10
Пользователь №: 61 004

|
Честно говоря я не знаю какой протокол у вас в машине. У меня есть информации только по протоколу J1939. Из стандартных сообщений должно подойти ETC2 (Electronic Transmission Controller 2): 0x18F00503 - Id А из данных это скорее всего параметр 523: Bit Start Position /Bytes: 4 Length: 1 byte SPN Description: Current Gear SPN: 523 Нумерация байтов начинается с 1. Далее выдрано из описания: "The gear currently engaged in the transmission or the last gear engaged while the transmission is in the process of shifting to the new or selected gear. Transitions toward a destination gear will not be indicated. Once the selected gear has been engaged then Current Gear will reflect that gear. Data Length: 1 byte Resolution: 1 gear value/bit , -125 offset Data Range: -125 to 125 Operating Range: -125 to +125, negative values are reverse gears, positive values are forward gears, zero is neutral. 251 (0xFB) is park."
|
|
|
|
|
Dec 16 2010, 19:21
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(RootSDF @ Dec 16 2010, 21:32)  У меня есть информации только по протоколу J1939. Навеяло: Где потерял? - вон там. А почему здесь ищешь? - так ведь здесь светлее. Не бывает в легковых машинах J1939, поэтому китайцы не станут под него девайс делать. Или он для грузовиков? В легковых OBD, а там CAN по стандарту J2284, скорее всего. А там ID 11 бит и скорость 500 кбод. С ним я дело практически не имел, но думаю, что мало на каких машинах КПП в сети имеется, а китайцы вряд ли для редких машин такой девайс делать будут. Может там скорость машины со знаком передаётся? Какой там у скорости PID? Если нет, то тогда по ID сообщений искать нужно. Вот у Ауди датчик поворота руля ID=0x0C2 имеет, а коробка ID=0x440. Сообщения с такими ID в сети присутствуют?
|
|
|
|
|
Dec 21 2010, 03:31
|
Участник

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710

|
Каждый производитель лепит свой протокол. Более того, он отличается от модели к модели. Бесполезно спрашивать ID не называя ни марки машины, ни марки прибамбаса...
|
|
|
|
|
Dec 21 2010, 04:29
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Спасибо, на выходных посмотрю, что у меня на шине присутствует. Девайс вот такой: http://yatour.net/shop/?type=detail&id=49 Машину я в первом сообщении назвал. Как видите, подключается ко многим машинам. Условие, чтобы была ESP. По скорости оно явно не работает, так как тогда бы при движении назад включалась бы. А она не включается.
|
|
|
|
|
Dec 21 2010, 14:07
|
Участник

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710

|
Цитата(syoma @ Dec 21 2010, 10:29)  Машину я в первом сообщении назвал. прошу прощения, не внимательно прочитал..
|
|
|
|
|
Dec 21 2010, 14:48
|

Местный
  
Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473

|
Цитата(syoma @ Dec 16 2010, 12:24)  Привет. Я вообщем тут в немного дурацкую ситуевину попал - купил прибамбас, а он с моей машиной несовместим оказался. В общем он читает по CANу инфу о положении руля и накладывает линии парковочной разметки на камеру. Сделано китайцами и поддержки нет. Подрубается в OBD-II, в шину CAN. Проблема в том, что чтобы он начал работать - ему нужен сигнал, что включена задняя скорость, причем только по CANу. А у меня на машине Toyota Verso 2009 - похоже сигнал включения заднего хода вообще в CAN-шине не присутствует. Так что я хочу его обмануть и подсунуть на CAN сообщение о включении задней скорости. Все железо, знания и софт у меня есть, вопрос только в том - что же это за сообщение. Можете подсказать, в каком стандарте это описано или ID с данными просто - а я проэкспериментирую. Спасибо. Сигнал о текущей передаче КПП обычно присутствует на шине. Если есть железо и знания, то найти ID элементарно - подключаетесь КАН анализатором, проезжаете сотню метров с переключением передач и далее смотрим в то, что просканировали. Момент включения передачи можно опеределить по оборотам двигателя, далее смотрим какие пакеты и как изменились в этот момент.
|
|
|
|
|
Dec 22 2010, 06:37
|
Местный
  
Группа: Свой
Сообщений: 202
Регистрация: 18-05-09
Из: Novosibirsk
Пользователь №: 49 204

|
Шины бывают разные Между ними бываю шлюзы
Прикрепленные файлы
Buses.JPG ( 45.31 килобайт )
Кол-во скачиваний: 100
|
|
|
|
|
Dec 23 2010, 09:55
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Serg_el @ Dec 23 2010, 13:28)  ID 0x3E9 Таких сообщений у Транзита в разъёме OBD нет. Хотя я что то засомневался в правильности снятия лога, т.к. не вижу в нём ID=0x7E8...0x7EA. А судя по описанию OBD (я в него только сейчас первый раз заглянул, поэтому может и не разобрался) такие ID обязательно должны присутствовать. В общем вижу только: Код 0F6 127 296 38A 409 128 38B 4E2 129 38E 4E3 12A 4FE Может у моей читалки была ошибка в софте? Надо будет ещё раз перечитать...
|
|
|
|
|
Dec 23 2010, 16:12
|

Местный
  
Группа: Свой
Сообщений: 302
Регистрация: 13-12-06
Из: Togliatti
Пользователь №: 23 473

|
Цитата(galjoen @ Dec 23 2010, 15:55)  Таких сообщений у Транзита в разъёме OBD нет. Хотя я что то засомневался в правильности снятия лога, т.к. не вижу в нём ID=0x7E8...0x7EA. А судя по описанию OBD (я в него только сейчас первый раз заглянул, поэтому может и не разобрался) такие ID обязательно должны присутствовать. В общем вижу только: Код 0F6 127 296 38A 409 128 38B 4E2 129 38E 4E3 12A 4FE Может у моей читалки была ошибка в софте? Надо будет ещё раз перечитать... Похоже на какую-то ошибку. Т.к. у меня есть полное описание СAN протокола Ford, то могу сказать, что этих ID там нет. Кстати, текущая передача также содержится в пакете с ID 0x231.
|
|
|
|
|
Dec 23 2010, 17:09
|
Участник

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710

|
Цитата(syoma @ Dec 23 2010, 13:46)  Я тоже почти уверен, что информации о включенной передаче вперед на легковой машине с механической КПП в сети не будет, так как соостветсвующие датчики просто отсутствуют. Но для задней передачи всегда есть датчик, хотя бы для включения лампы заднего хода. Но для системы управления двигаетелем он не нужен, поэтому в CANе может присутствовать, а может и нет. Для определения номера передачи совсем не нужны физические датчики. Достаточно знать скорость автомобиля и обороты двигателя. Соответственно, ничего не мешает вычислять номер передачи и выдавать его в сеть. (Этим занимается любой ЭБУ двигателя)
Сообщение отредактировал Alex_VI - Dec 23 2010, 17:10
|
|
|
|
|
Dec 23 2010, 17:36
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Serg_el @ Dec 23 2010, 22:12)  Похоже на какую-то ошибку. Т.к. у меня есть полное описание СAN протокола Ford, то могу сказать, что этих ID там нет. Кстати, текущая передача также содержится в пакете с ID 0x231. Ошибку нашёл. Спасибо. Ну не работал я никогда с ID 11 бит, а она только на это влияла, поэтому не выявленная и оставалась. Транзит прочитал просто так, из интереса, и был в полной уверенности, что прочитал правильно т.к. лог до сегодняшнего дня даже и не анализировал. Но теперь мне интересно стало. Если не жалко, то протоколом поделитесь пожалуйста.
|
|
|
|
|
Dec 23 2010, 17:57
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(Alex_VI @ Dec 23 2010, 23:09)  Для определения номера передачи совсем не нужны физические датчики. Достаточно знать скорость автомобиля и обороты двигателя. Соответственно, ничего не мешает вычислять номер передачи и выдавать его в сеть. (Этим занимается любой ЭБУ двигателя) Не всё так просто. Далеко не все датчики скорости направление выдают, поэтому задний ход определить нельзя. А некоторые даже и работать только с определённой скорости начинают. Датчики, где катушечка с магнитиком около зубчатого диска стоит, при малой скорости слишком малое напряжение вырабатывают, поэтому у всех американских тягачей скорости менее 20 км/час в сети не бывает, и спидометр тоже не показывает. Т.е. с 0 сразу скачёк на 20. А вот датчик нейтрали - у всех есть. Цитата(Serg_el @ Dec 23 2010, 23:38)  Извините, но информация о протоколе закрыта для распространения по требованию его разработчика. Понятно. Интересно, а это у всех легковых машин так?
|
|
|
|
|
Dec 24 2010, 03:05
|
Участник

Группа: Свой
Сообщений: 56
Регистрация: 17-11-08
Из: Москва
Пользователь №: 41 710

|
Цитата(galjoen @ Dec 23 2010, 23:57)  Не всё так просто. Далеко не все датчики скорости направление выдают, поэтому задний ход определить нельзя. А некоторые даже и работать только с определённой скорости начинают. Датчики, где катушечка с магнитиком около зубчатого диска стоит, при малой скорости слишком малое напряжение вырабатывают, поэтому у всех американских тягачей скорости менее 20 км/час в сети не бывает, и спидометр тоже не показывает. Т.е. с 0 сразу скачёк на 20. А вот датчик нейтрали - у всех есть. Вообще, передаточное отношение у задней передачи отличается от передаточных передних. Поэтому вычислить заднюю передачу также не сложно. Разговор велся про легковые машины, у современных всех скорость показывает практически сразу. Да и датчик заднего хода у всех есть
|
|
|
|
|
Dec 28 2010, 06:56
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Похоже, никудышный из меня хакер. Подключился CAN анализатором к OBD разъему. Скорость там 500кбит и 11-бит идентификаторы. При включении зажигания обмен там идет офигенный. Небольшой лог записал. В итоге надыбал, что положение руля находится в сообщении с ID 0x25 DLC 8-байт в 1-ом и 2-ом байте. Сообщение траслируется циклически каждые 10мс. Причем положение обнуляется при отключении аккумулятора. Т.е. при прямо стоящих колесах данные не точно равны 0. Текущие обороты двигателя есть в сообщении 0х1с4, которое транслируется каждые 4мс и 0х3B3, которое транслируется каждые 0,5с. Сообщения или сигнала в CANе, соответствующего включению задней передачи я так и не обнаружил. Все делал на неподвижной машине, поэтому другие сообщения не расшифровывал. Потом я отсоеденил CAN анализатор от шины и подключил его к моему устройству, чтобы проверить на что он реагирует. Как и ожидалось, при посылке сообщения 0x25 с любыми данными устройство реагирует и поворачивает линии. Все это в режиме меню. При нормальной работе, как и ожидалось линии не показываются, если на CAN шине присуствует хоть какой-то обмен, если сообщений не слать, то появляется сообщение о неподключенном OBD. Но мне надо ж найти сообщение о включении заднего хода, чтобы устройство перешло в рабочий режим. И я не нашел ничего лучшего (или худшего) чем перебрать все идентификаторы от 0 до 7FF с данными по 8 байт вида 0xFF ... И тут на сообщении с идентификатором 0x7FF я эту штуку запорол... Короче она перешла на китайский язык(до этого была на русском). Тип модели, которую можно было бы выбрать остался только Audi A6. Появились изображения парктроников и все. А в CAN она стала выдавать сообшения с идентификаторами 0х200, 0x605. И реагировать на 0х21D изменением цифр на изображении парктроников. Короче, я ее, похоже, в какой-то ну очень сервисный режим ввел, а вывести обратно уже не смог... Все на китайском. Повезу в магазин, наверное....
|
|
|
|
|
Jan 5 2011, 03:06
|

Местный
  
Группа: Участник
Сообщений: 242
Регистрация: 19-06-06
Из: Новосибирск
Пользователь №: 18 167

|
Не удивительно что запорол.....в области IDшников 0x7XX работает всякая диагноза и само собой через эту область проходят все процедуры конфигурирования итд... Дааа...и если Вы сканировали тойоту, не факт что все пакеты отловить успевали....шинка там весьма нагружена, не каждый сниффер все тянет с отключеным фильтром. И еще, вот файлик по ссылке гляньте, может чем поможет http://can.web-box.ru/docs/vkusnoe-8
Сообщение отредактировал Punk - Jan 5 2011, 03:17
|
|
|
|
|
Jul 24 2015, 06:49
|

Группа: Новичок
Сообщений: 5
Регистрация: 28-01-12
Пользователь №: 69 934

|
Цитата(Serg_el @ Dec 24 2010, 00:12)  Похоже на какую-то ошибку. Т.к. у меня есть полное описание СAN протокола Ford, то могу сказать, что этих ID там нет. Кстати, текущая передача также содержится в пакете с ID 0x231. Цитата(galjoen @ Dec 24 2010, 01:36)  Ошибку нашёл. Спасибо. Ну не работал я никогда с ID 11 бит, а она только на это влияла, поэтому не выявленная и оставалась. Парни помогайте, я никак не могу понять, где ошибка. Сканирую Ford Transit 2011. Получаю следующие идентификаторы: 0x0F6 0x127 0x128 0x129 0x12A 0x1F4 0x296 0x38A 0x38B 0x38E 0x400 0x405 0x409 0x442 0x443 0x4C2 0x4E2 0x4E3 0x4E4 0x4FE Вот скриншот с окна программы-анализатора, ID 0x0F6h:
can1.jpg ( 73.57 килобайт )
Кол-во скачиваний: 21Вот еще, ID 0x127h
can2.jpg ( 69.11 килобайт )
Кол-во скачиваний: 7На скриншотах четко видно, что 11-битный ID расшифровывается вполне корректно: 00011110110b = 0x0F6h 00100100111b = 0x127h Но уважаемый Serg_el пишет, что таких ID у форда нет. Подскажите, в чем загвоздка?
Сообщение отредактировал MEXAHuK - Jul 24 2015, 06:52
--------------------
Представители этой профессии производят разнообразные инструменты, необходимые другим ремесленникам. Кроме того, только они способны создавать сложные механизмы наподобие часов или секстантов, а также ловушки для защиты сундуков и жилищ. Поскольку механикам требуется дерево и железо, они умеют обращаться с топором и киркой.
|
|
|
|
|
Jul 25 2015, 19:29
|

Группа: Новичок
Сообщений: 5
Регистрация: 28-01-12
Пользователь №: 69 934

|
Цитата(Vasily_ @ Jul 25 2015, 01:11)  Если вы видите в пакете ID 0x127h то в чем проблема? и с чего вы взяли что у всех фордов набор ID одинаковый? Ну вот из этой переписки, где коллега galjoen сканировал транзит и получил практически такой же список, как у меня, а коллега Serg_el сообщил, что таких кодов у Форда быть не может: Цитата(Serg_el @ Dec 24 2010, 00:12)  Цитата(galjoen) Код 0F6 127 128 129 12A 296 38A 38B 38E 409 4E2 4E3 4FE Похоже на какую-то ошибку. Т.к. у меня есть полное описание СAN протокола Ford, то могу сказать, что этих ID там нет. А затем коллега galjoen сообщает, что Цитата(galjoen) Ошибку нашёл. Спасибо. Ну не работал я никогда с ID 11 бит, а она только на это влияла, поэтому не выявленная и оставалась. Транзит прочитал просто так, из интереса, и был в полной уверенности, что прочитал правильно т.к. лог до сегодняшнего дня даже и не анализировал. А я не вижу никакой ошибки, вот потому и прошу помощи в ее обнаружении.
--------------------
Представители этой профессии производят разнообразные инструменты, необходимые другим ремесленникам. Кроме того, только они способны создавать сложные механизмы наподобие часов или секстантов, а также ловушки для защиты сундуков и жилищ. Поскольку механикам требуется дерево и железо, они умеют обращаться с топором и киркой.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|