Страница 1 из 3

Volvo CAN BUS

Добавлено: 12.11.2013 13:09
Alexey_BY
Хотелось бы систематизировать знания по данным шинам в одной ветке и конечно же задать вопросы знающим людям на эту тему.
Итак, известно, что в Volvo XC90 две шины CAN - LOWspeed и HIGHspeed. По первой общаются устройства климата, звука, комфорта и т.д., а по второй блоки и датчики управления двигателем и трансмиссией. Скорость шины LOW в не зависимости от модельного года 125 kbit/s, а вот скорость HIGH начиная с 2005-го модельного года 500 kbit/s, до этого года 250 kbit/s. Для передачи сигналов используются два скрученных между собой провода ,которые эффективно противостоят внешним помехам (что необходимо, например, при их нахождении в моторном отсеке). Один и тот же сигнал передается трансивером блока управления через оба провода шины, но на различных уровнях напряжения; только в дифференциальном усилителе принимающего блока управления формируется единый разностный и очищенный от помех сигнал, поступающий затем на вход шины CAN принимающего блока управления. В XC90 зелёный провод это сигнал нижнего уровня (CANL) , а белый высокого (CANH).
На OBD разъёме который у ног водителя на контактах 6 и 14 находится HIGHspeed can bus, на контактах 3 и 11 LOWspeed can bus.

Но, как выяснилось, по умолчанию протокол закрыт для общения с внешним миром, и чтобы его открыть необходимо посылать определённое "Keep-Alive" сообщение каждые 5 секунд, на К-линию (контакт 7 на OBD-разъем). Содержимое "84 40 13 03 F0 b2 7С", серийный настройки: 10800 бод, 8N1 и диапазон напряжения 0-12V (0 В = 0b, 12V = 1b).

В оригинале на инглише это звучит так
Ta activate and keep CAN buss alive
Send these 7 bytes in HEX
84 40 13 b2 f0 03 7c
every 5 seconds, otherwise it closes.

He used a USB -> RS232 converter
RS232 (+/- 10V) to K-line (0V & +12V)
Used terminal program that supported HEX instead of ASCII
Used 10800 baud with 8N1
Однако для чтения шины рекомендуют использовать разъём RTI или AEM. (а где искать их я хз, и есть ли разъём Rti на машине без него)


Это пока теория, мною лично не тестировано. буду признателен за исправления и дополнения,а также обсуждение девайсов для работы с шиной.

Добавлено: 12.11.2013 13:26
gljuk
Тоже собираюсь побаловаться с шиной в моей S80. Насколько я понял, KEEP-ALIVE нужен, чтобы шина присутствовала на OBD разъёме, А в других местах ничего подобного не надо, просто слушаеть то, что движется по шине.

Добавлено: 12.11.2013 14:06
Alexey_BY
Я по неопытности попробовал подключиться к шине параллельно ICM (блок магнитолы) однако словил ошибку СРС и машина начинает глючить с подключённым девайсом. Т.е. на не заведённую включается вентилятор салона, на заведённую отключается DIM. Надо попробовать через разъём Rti, и повторюсь пока хз где его искать и есть ли он.
Пользуюсь вот таким девайсом http://www.aliexpress.com/item/free-shi ... 71907.html

Добавлено спустя 1 минуту:
Хотя где-то про терминаторы слышал, может надо использовать.

Добавлено: 12.11.2013 14:58
yagger
Alexey_BY писал(а): где-то про терминаторы слышал
изучи этот вопрос. :)
gljuk писал(а):KEEP-ALIVE нужен, чтобы шина присутствовала на OBD разъёме
в машинах с 2005 года шина присутствует постоянно на ОБД.

Добавлено: 12.11.2013 15:17
Alexey_BY
yagger, так и знал что два партизана не сдадут инфу :) Придётся вытягивать. 8)

Добавлено спустя 12 минут 14 секунд:
yagger писал(а):
Alexey_BY писал(а): где-то про терминаторы слышал
изучи этот вопрос. :)
Оконечное прерывание шины
Шина CAN стандарта ISO 11898 должна заканчиваться терминатором. Это достигается путем установки резистора емкостью 120 Ом на каждом конце шины. Терминирование служит двум целям:
1. Убрать отражения сигнала на конце шины.
2. Убедиться, что получает корректные уровни постоянного тока (DC).
Шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Я повторю: шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Для лабораторной работы может хватить и одного терминатора. Если ваша шина CAN работает даже при отсутствии терминаторов – вы просто счастливчик.
Во тут я не понимаю. Терминатор должен стоять в конце шины, или на каждом устройстве.

Добавлено: 12.11.2013 16:39
AIL
yagger писал(а): Alexey_BY писал(а): где-то про терминаторы слышал


изучи этот вопрос. :)

Я! Я изучал! Он еще такой типа "Ай'л би бяк!" :D

Добавлено: 13.11.2013 11:43
Алексей_512
yagger, очень ценнная информация про постоянное присуствие на разъеме!


я читал http://hackingvolvo.blogspot.ru/ , там финн подключался в RTI прямо донглом ELM-327, что очень возбуждает.
сам пока не лезу в CAN, жду DICE(для сброса неизбежных ошибок) + CAN-USB адаптер для сканирования шины.

Добавлено: 13.11.2013 12:03
yagger
AIL писал(а):"Ай'л би бяк!" :D
:lol: жалезны!

Добавлено: 13.11.2013 15:27
Alexey_BY
На моём USB - Can адаптере есть перемычка,оказывается это и есть тот самый терминатор в 120 Ом. Ставится по концам шины. А вот где концы -то. Есть у схема как проводка по блокам идёт. Они ж (терминалы) уже должны стоять там. Пойду сниму блок ICM и померяю на контактах шины сопротивление. Может без блока и с терминатором получится послушать шину.

Добавлено спустя 2 минуты 18 секунд:
Алексей_512, Dice какой заказал ? Там есть новый, 2013 года типа. А в чём отличие?

Добавлено: 13.11.2013 17:45
gljuk
Вроде как устройства можно просто параллельно вешать на шину. Терминаторы не нужны и они и так есть. Можно попробовать подключить сигнальные провода через резисторы. 50...75 Ом.

Добавлено: 13.11.2013 18:30
Alexey_BY
gljuk писал(а):Вроде как устройства можно просто параллельно вешать на шину. Терминаторы не нужны и они и так есть. Можно попробовать подключить сигнальные провода через резисторы. 50...75 Ом.
вот я так тоже думал. тем более can шина достаточно помехоустойчива. Но при подключении у меня отключается панель приборов и т.д. и с терминатором и без. Вот и вопрос, что я делаю не так.

Добавлено: 14.11.2013 03:47
Алексей_512
Alexey_BY писал(а):вот я так тоже думал. тем более can шина достаточно помехоустойчива. Но при подключении у меня отключается панель приборов и т.д. и с терминатором и без. Вот и вопрос, что я делаю не так.
попробуй померить сопротивление адаптера мультиметром между ногами. 120 Ом? если нет, то припаять 120 Ом. Адаптер ничего не должен вещать в CAN, просто слушать - может в софте есть какой-нить параметр, переводящий адаптер в silent mode.

p.s. мне китайцы прислали софт для ихнего USB-CAN, может и у тебя заработает, — тут есть silent mode.
Посмотри http://www.soonwell.com/ebay_file/user_ ... Manual.rar

Добавлено: 14.11.2013 09:47
Алексей_512
ребят, какой вольтаж в шине соотвествует CANH сигналу? +5 или +12 вольт?

спрашиваю потому, что если +5 - то с любой ардуины(ну почти с любой) получится работать с кан-шиной через can-shield. А если +12, то придётся ваять какой-то преобразователь уровней на передачу.

Добавлено: 14.11.2013 10:57
yagger
При подключении на шину ПАССИВНОГО устройства, ни какие отключения и ошибки полезть не должны.

Добавлено спустя 1 минуту 3 секунды:
Алексей_512 писал(а):+5 или +12 вольт?
ни то ни другое... :)
среднее состояние 2,5 в. качаем любой даташит и там все описано. :good:

Добавлено: 14.11.2013 11:26
Alexey_BY
Can шилд отлично работает с шиной. Есть даже готовые прошивки под Arduino Uno для включения некоторых дополнительных функций. (Комфорт поворотники, автодожим стёкол и пару ещё)

Добавлено спустя 1 минуту 34 секунды:
Алексей_512 писал(а): попробуй померить сопротивление адаптера мультиметром между ногами. 120 Ом? если нет, то припаять 120 Ом. Адаптер ничего не должен вещать в CAN, просто слушать - может в софте есть какой-нить параметр, переводящий адаптер в silent mode.
Я ж говорю, есть перемычка на адаптере. Именно она добавляет 120 Ом между CANH и CANL. Вопрос только в том, нужна ли она.

Добавлено: 14.11.2013 11:30
yagger
Alexey_BY писал(а):Вопрос только в том, нужна ли она.
там уже все есть. не нужна.

Добавлено: 14.11.2013 11:53
Alexey_BY
yagger писал(а):
Alexey_BY писал(а):Вопрос только в том, нужна ли она.
там уже все есть. не нужна.
спасибо. Буду пробовать.

Добавлено: 15.11.2013 06:43
Алексей_512
Alexey_BY писал(а):Can шилд отлично работает с шиной. Есть даже готовые прошивки под Arduino Uno для включения некоторых дополнительных функций. (Комфорт поворотники, автодожим стёкол и пару ещё)
о как.. а киньте ссылку, пожалуйста? где посмотреть это.

Добавлено: 15.11.2013 09:58
Alexey_BY
Вот в этой ветке идёт описание и ссылки на прошивки.
http://www.svxc.se/phpBB2/viewtopic.php ... &start=340

Добавлено: 15.11.2013 12:13
Alexey_BY
Я в печали (с)

Сегодня попробовал снова почитать шину. Подключаюсь к разъёму ICM.
IMG_20131115_113745.jpg
USB CAN китайский сканер.
IMG_20131115_113753.jpg
Перемычка терминатора снята,сопротивление адаптера 0 (между CANH и CANL)
Пока адаптер не подключаю к USB бука, т.е. нет питания, всё ок. Как только подам питание - отключается панель и все блоки начинают глючить.

Есть какие-нибудь мысли что делать дальше ?
[img]https://s3-ap-northeast-1.amazonaws.com/volvoclu/thumb_3315_270dc27238165aa79f04335eaec4cad9[/img]


[img]https://s3-ap-northeast-1.amazonaws.com/volvoclu/thumb_3315_b2957c190cf39ab0a9144138ebb96638[/img]