Страница 19 из 82

CAN-шина нашего автомобиля

Добавлено: 12 мар 2016, 22:43
Technics66
Данная тема в данный момент для простого автовладельца не представляет ни какого интереса.
Это начало изучения шины CAN, и понимания как её можно использовать для расширения возможностей автомобиля. Есть реальный проект по подключению нештатный парктроников к штатной проводке (автор root) и в дальнейшем таких проектов будет больше.
В этой теме обсуждается всё что касается CAN шины. Исследования, методы работы с шиной, особенности.
Общая схема CAN шины
CAN-шина нашего автомобиля - CAN_All.jpg

Электрическая архитектура состоит из следующих сетей :
CAN IS, связывающей все компьютеры управления силовым агрегатом
CAN CAR, связывающей системы безопасности
CAN CONFORT, выполняющей роль интерфейса Человек/Машина автомобиля
Сеть LIN
CAN INFO DIV, объединяющая элементы информации и развлечения
CAN LAS, объединяющая системы, управляющие сцеплением с дорожной поверхностью
CAN DIAG, обеспечивающей телезагрузку определенных компьютеров сети CAN
DIAG ON CAN, позволяющей проводить телезагрузку, телекодирование и диагностику систем автомобиля

Расшифровка блоков
Метка Наименование
BCM0 Многофункциональный
BPGA Модуль системы защиты и управления электропитанием
BSI1 Интеллектуальный коммутационный блок
BSR1 Коммутационный блок прицепа
C001 Диагностический разъем
CV00 Подрулевой переключатель
PSF1 Коммутационная плата блока предохранителей - Моторный отсек
0004 Приборная панель
1012 Централизованное устройство стабилизации напряжения
1020 Генератор
1021 Реверсивный генератор
1031 Блок состояния заряда аккумуляторной батареи
1283 Насос подачи присадок в дизельное топливо
1320 Компьютер управления двигателем
1630 Компьютер автоматической коробки передач
2003 Модуль монитор авто-школа
2610 Левая фара
2615 Правая фара
4746 Модуль сигнализации о не пристегутом ремне безопасности
5007 Датчик дождя и яркости освещения
60B3 Блок запоминания положения сиденья водителя
6032 Привод + передний двухрежимный стеклоподъемник на двери водителя
6036 Плата управления стеклоподъемником/наружным зеркалом двери водителя
6051 Привод переднего правого стеклоподъемника
6131 Привод заднего правого стеклоподъемника
6132 Привод заднего левого стеклоподъемника
6404 Блок освещения и запоминания
6450 Коммутационный блок
6570 Компьютер подушек безопасности
6606 Блок динамической регулировки фар
7020 (*) Компьютер антиблокировочной тормозной системы (ABS)
7095 Электрический стояночный тормоз
7122 Блок электронасоса усилителя рулевого управления
7130 Датчик угла поворота рулевого колеса
7215 Многофункциональный дисплей
7500 Компьютер системы помощи при парковке
7550 Компьютер системы динамической стабилизации
7551 Левый датчик 1 контроля боковой траектории
7552 Левый датчик 2 контроля боковой траектории
7553 Левый датчик 3 контроля боковой траектории
7561 Правый датчик 1 контроля боковой траектории
7562 Правый датчик 2 контроля боковой траектории
7563 Правый датчик 3 контроля боковой траектории
7600 Компьютер системы определения падения давления в шинах
7800 (*) Компьютер системы контроля динамической стабилизации (ESP)
7804 Датчик гирометр - акселерометр
8080 Компьютер кондиционера
84B3 Матричный дисплей приборной панели
84C4 Блок автономной телекоммуникационной системы
8410 (*) Автомагнитола RD5
8424 Аудиоусилитель
8480 (*) Приемник/передатчик системы телематики
8602 Компьютер охранной сигнализации против взлома
(*) В зависимости от версии

CAN IS связывает все компьютеры управления силовым агрегатом
Сеть CAN IS связывает все компьютеры силового агрегата. Скорость передачи данных 500 Кбит/сек (High Speed).
CAN-шина нашего автомобиля - CAN IS.jpg

Метка Наименование
BSI1 Интеллектуальный коммутационный блок
C001 Диагностический разъем
1320 Компьютер управления двигателем
1630 Компьютер автоматической коробки передач
6606 Блок динамической регулировки фар
7020 (*) Компьютер антиблокировочной тормозной системы (ABS)
7095 Электрический стояночный тормоз
7122 Блок электронасоса усилителя рулевого управления
7130 Датчик угла поворота рулевого колеса
7600 Компьютер системы определения падения давления в шинах
7800 (*) Компьютер системы контроля динамической стабилизации (ESP)
(*) (в зависимости от конфигурации)
Точки подключения:
BSI 60V NR 1-CAN Low 3-CAN High, 60V NR 11-CAN Low 13-CAN High
OBDII 14-CAN Low 6-CAN High
ЭГУР 5V NR 5-CAN Low 4-CAN High
АКПП (AT8) 56V NR 29-CAN Low 30-CAN High

CAN CAR соединяет все узлы безопасности
Сеть CAN CAR соединяет все узлы безопасности. Скорость передачи данных 125 Кбит/сек (Low Speed).
CAN-шина нашего автомобиля - CAN CAR.jpg

Метка Наименование
BSI1 Интеллектуальный коммутационный блок
BSR1 Коммутационный блок прицепа
PSF1 Плата коммутационного блока моторного отсека (PSF1)
CV00 Подрулевой переключатель
2003 Модуль монитор авто-школа
8602 Компьютер охранной сигнализации против взлома

CAN CONFORT выполняющей роль интерфейса Человек/Машина автомобиля
Сеть CAN Confort является интерфейсом Человек/Машина. Скорость передачи данных 125 Кбит/сек (Low Speed).
CAN-шина нашего автомобиля - CAN CONFORT.jpg

Метка Наименование
BSI1 Интеллектуальный коммутационный блок
6036 Плата управления стеклоподъемником/наружным зеркалом двери водителя
63B3 Блок запоминания положения сиденья водителя
6450 Блок контроля "мертвой" зоны
6570 Компьютер подушек безопасности
7550 Компьютер системы динамической стабилизации
8080 Компьютер кондиционера
Точки подключения:
BSI 60V BE 23-CAN Low 25-CAN High, 60V MR 14-CAN Low 16-CAN High

Сеть LIN
CAN INFO DIV объединяющая элементы информации и развлечения
Сеть CAN INFO DIV является сетью со многими задающими устройствами, где каждый компьютер постоянно передает информацию для устройств сети. Скорость передачи данных 125 Кбит/сек.
CAN-шина нашего автомобиля - CAN INFO.jpg

Метка Наименование
BCM0 Многофункциональный
BSI1 Интеллектуальный коммутационный блок
0004 Приборная панель
7215 Многофункциональный дисплей
7500 Компьютер системы помощи при парковке
8410 (*) Автомагнитола RD5
8424 Аудиоусилитель
8480 (*) Приемник/передатчик системы телематики
84B3 Матричный дисплей приборной панели
84C4 Блок автономной телекоммуникационной системы
(*) (в зависимости от конфигурации)

CAN LAS объединяющая системы, управляющие сцеплением с дорожной поверхностью
Скорость передачи данных 500 Кбит/сек (High Speed).
CAN-шина нашего автомобиля - CAN LAS.jpg

Метка Наименование
BSI1 Интеллектуальный коммутационный блок
CV00 Модуль управления на рулевой колонке
PSF1 Плата коммутационного блока моторного отсека (PSF1)
7800 Компьютер системы контроля динамической стабилизации (ESP)
7804 Датчик гирометр - акселерометр

CAN DIAG
Скорость передачи информации по сети CAN DIAG составляет 500 кбит/с
CAN-шина нашего автомобиля - CAN DIAG.jpg

Метка Наименование
BSI1 Интеллектуальный коммутационный блок
C001 Диагностический разъем
L Компьютеры сети CAN IS
M Компьютеры сети CAN IS включены в линию "пробуждения" по дистанционной команде (RCD)
1 Сеть CAN Is (Диагностический разъем)
CAN-шина нашего автомобиля - OBDII.jpg

Централизованный диагностический разъем на 16 контактов
Контакт Назначение контактов разъема
1 +APC
2 Не подсоединен
3 CAN DIAGNOSTIC (High)
4 «масса» прибора для тестирования
5 «масса» сигнала
6 CAN (high)
7 Цепь K (Контроль двигателя + автоматическая коробка передач)
8 CAN DIAGNOSTIC (Low)
9 Не подсоединен
10 Не подсоединен
11 Не подсоединен
12 Цепь K4 (Динамическая стабилизация / Антиблокировочная система колес)
13 Не подсоединен
14 CAN (Low)
15 Не подсоединен
16 «+ Постоянный» прибора тестирования

DIAG ON CAN
Скорость передачи информации по сети DIAG ON CAN составляет 500 кбит/с.
Функции сети DIAG ON CAN :
Диагностика компьютеров
Телезагрузка програмного обеспечения компьютеров
Программирование компьютеров
Сеть DIAG ON CAN позволяет проводить диагностику различных компьютеров сетей CAN IS, CAN CAR, CAN CONFORT, CAN INFODIV, CAN LAS и LIN.
Сеть DIAG ON CAN выполняет загрузку программного обеспечения компьютеров сетей CAN CAR, CAN CONFORT, CAN INFODIV, CAN LAS, LIN и интеллектуального коммутационного блока (BSI1).
Функция программирования сети DIAG ON CAN позволяет пользователю с помощью диагностического прибора устанавливать параметры различных элементов системы.



В машине есть несколько CAN шин работающих на разных скоростях. Какие CAN шины есть в автомобиле можно посмотреть здесь
Устройства которые подключены к CAN "комфорт" используют Fault Tolerant CAN Transceiver. Список где и какие стоят трасиверы:
В дисплеях A и C TJA1055 (up to 125 kB/s)
B магнитолах RD5Lx AMIS-41683 (up to 125 kB/s)
B магнитоле RT6 и RDE TJA1055 (up to 125 kB/s)
В кнопках управления магнитолой TJA1055 (up to 125 kB/s)

В диагностическом шнурке используется простой High-Speed CAN Transceiver MCP2551 (up to 1 Mb/s).
На сколько я понял простые трансиверы не корректно работают на шине Fault Tolerant. И получается что если подключатся к проводке автомобиля то надо использовать Fault Tolerant трансиверы. Если подключатся к диагностическому разъёму то можно использовать простые типа MCP2551, TJA1050.
Здесь находится скетч с помощью которого можно использовать ардуину как канхакер. Источник . Доп. Инфо
Схема подключения CAN к Arduino. Здесь проекты обоих плат CANreader-FT и CANreader-HS в формате Eagle
Разводка плат для ЛУТ в формате Sprint-Layout предоставил Log_Stas
Китайские TJA1055T/C читайте до и после этого поста.

Пошаговая инструкция по запуску CANHacker от root

Места где можно подключится к CAN INFO DIV
CAN-шина нашего автомобиля - CAN INFO DIV Pin 1.jpg

Что уже удалось расшифровать:
ID Выдаваемые устройствами
Здесь наработки autowp и здесь что в процессе изучения. Таблица принадлежностей ID к блокам от Дмитрий66 здесь
Кнопки на руле
Кнопки на панели управления
Приложение для Android можно скачать здесь
Небольшая памятка
Включение дисплея 0F6 8 88 7E 06 01 A7 6D 6D 28
"Зажигание" 036 8 0E 00 03 0F B1 00 01 AC
Включение русского языка на дисплее: root предлагал 0x260 6 B8 04 9F 32 D5 40 и это работает. У меня по шине ходит 0x260 7 B8 34 8F 30 D5 41 00

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 16:17
Aquarius
Смотрел блокнот механика за 2007 год тут - нет инфы про CAN.

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 16:21
Log_Stas
root, нарыв информации по BSI выяснил, что CAN Body с большой степенью вероятности - это CAN Car. Поскольку сигнализацию я с авто демонтировал по причине ее глючности, то сейчас вынашиваю идею создать некий модуль,включающийся от родного ключа и выполняющий функции сигналки с использованием оставшихся от Шерхана сирены и датчика удара. Думаю, что нужные мне данные имеются как раз в шине CAN Car (Body). Пока изучаю матчасть, собираю информацию. Планирую сначала только послушать шину приборчиком на Пике, как на рисунке, ну а дальше видно будет.
CAN-шина нашего автомобиля - can.JPG

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 16:34
root
Может ошибаюсь насчёт "блокнота механика". Может раздел не так называется. Вроде он платный. Нужно именно на комп установить.

Отправлено спустя 6 минут 45 секунд:
Log_Stas
А почему драйвер HS ? CAN-Car - FT 125kbit/s
С этим pic-ом нужен can-контроллер, типа mcp2515. Ваша схема не будет работать.
Чем Вам не подходит CAN-Reader?

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 16:53
Log_Stas
Если CAN-Car - FT, то почему в Шерхане стоит HS трансивер? Это схема не моя, она работает только на прием и реализация протокола софтовая. Схема и терминалка взята отсюда http://213.239.208.2/forum/showthread.php?t=887. Ребята там собирают ее и слушают шину. Ну а трансивер можно и на FT поменять, скорость, насколько я понял, меняется в терминалке.

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 17:08
root
Log_Stas писал(а):Если CAN-Car - FT, то почему в Шерхане стоит HS трансивер?

Не знаю, видел такое решение и на других устройствах. У меня так не работает. Возможно это сделано для универсальности, не разрабатывать же отдельное устройство для ситроена.

Log_Stas писал(а):реализация протокола софтовая.

Круто, я даже не думал что можно реализовать CAN программно.
В этом случае наверное заработает.

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 17:22
Log_Stas
root, а то, что шина CAN-Car - FT - это 100%? Я по этому вопросу ничего не нашел. А по поводу софтовой реализации - снимаю шляпу перед мастерюгами программного кода, я даже вникать не хочу, как это работает. Свои планы тоже связываю только с MCP2515, но не с Ардуинкой, а просто с Мегой8. Не могу себя заставить перейти на Ардуинку.

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 17:40
root
Log_Stas писал(а):Источник цитаты шина CAN-Car - FT - это 100%?

CAN CAR, CAN INFO DIV и CAN CONFORT - Fault-Tolerant.

Re: CAN-шина нашего автомобиля

Добавлено: 09 май 2016, 17:48
Log_Stas
Тогда буду менять в схеме трансивер на TJA1055. Интересно, как Шерхан через TJA1051 работал с этой шиной. Может поэтому у меня периодически в движении проскакивало сообщение об открытых дверях, а сейчас ничего такого нет.

Re: CAN-шина нашего автомобиля

Добавлено: 11 май 2016, 23:35
Дмитрий66
HELP!!!!

Дмитрий66 писал(а):[Отправлено спустя 27 минут 50 секунд:
Нарисовал, забыл микросхемы подписать (TJA1055/c и 82C250)
[ ссылка на изображение ]


Совсем я замучился с этой схемкой. Помогай, кто может. (Далее: соединение 82С250(4) - TJA1055(2) - передача, TJA1055(3)-82C250(1)-приём)
Итак : собрал схемку, подключил к машине - КАН-шина падает. Разорвал приём и передачу - не падает. Соединил только приём - стал читать данные. Грешил на скорость, но на 125кбит/с принимает отлично, на других скоростях приёма нет.
При попытке снова подключить передачу заметил следующее: если смотреть осциллографом, то в момент старта что-то проскакивает в передаче и сразу все "затыкается", т.е. возвращается в исходное состояние. Программка (PCAN-View - то же, что и Канхакер) пишет BUS OFF.
Ладно, отключаю приём и подключаю передачу. На передаче и далее после TJA (CAN-LowSpeed) появляются осциллограммы, похожие на настоящие (как мне кажется), если кого заинтересует, завтра сфоткаю. Но в машине при попытке передать одиночное сообщение - КАН "падает".
Что не могу понять: если на столе включить передачу при разорванном приёме, то на выходе 3 TJA1055 появляются импульсы, очень похожие на импульсы наноге 2 (передача). Как будто передаваемые импульсы преобразуются в КАН сигнал и тут же считываются микросхемой обратно (гипотеза).
Резисторы на КАН шине поменял на 5.6К, 5 и 6 ноги TJA напрямую к + подключил. На короткое всё проверил.
Ещё непонятно - в даташите на TJA указано, что TxD внутри через резистор подвешен на плюс, но при прозвонке между 2 и 10 - МегОмы.

autowp, Вы вроде пару лет назад хотели собирать такую схемку, чем закончилось?

На сладкое: в логе присутствует код 0F6 8 88 53 03 DC 84 7C 7C 20, в котором зашит пробег (описан в перечне кодов у root/autowp)
А в одном из логов "зацепился" код 49F 8 A1 03 DC 84 7F 10 41 00 , ранее вообще не упоминавшийся. Видно, что в нём тоже пробег присутствует. Возможно, здесь один пробег из приборки, а другой из BSI, они сравниваются и записывается наибольший. Может, сможем узнавать пробег приборки :)

Re: CAN-шина нашего автомобиля

Добавлено: 12 май 2016, 00:41
autowp
> autowp, Вы вроде пару лет назад хотели собирать такую схемку, чем закончилось?
не стал собирать.

PCAN-View классная. CanHacker морально устарел, а танцы с бубном, чтобы он девайс принял в конец задолбали. Вот бы научиться прикидываться PCAN'ом

Re: CAN-шина нашего автомобиля

Добавлено: 12 май 2016, 07:12
root
autowp писал(а):Источник цитаты Вот бы научиться прикидываться PCAN'ом

Думаю не сильно сложно. Возможно там тот-же протокол (lawicel).

Отправлено спустя 22 минуты 48 секунд:
Дмитрий66 писал(а):Источник цитаты 49F 8 A1 03 DC 84 7F 10 41 00

У меня такой не встречается.
Но нашёлся другой: 257 6 07 BD 57 F8 42 A8
07 BD 57 - пробег.
а F8 42 A8, которые идут следом - инвертированное число равное пробегу.
Отправляется один раз при включении CAN.

Отправлено спустя 2 часа 20 минут 26 секунд:
Дмитрий66 писал(а):Источник цитаты осциллограммы, похожие на настоящие

Интересно посмотреть что на осциллограммах , причем в сравнении с тем что на шине. Я так понял что осциллограф многоканальный? С записью? Снимите при отправке с компа сразу 3-сигнала:(82С250(6), 82С250(1), TJA1055(11)). А дальше можно будет по даташиту посмотреть что-же на самом деле шлет в шину TJA1055.
PS. Если канала два, то: 82С250(6), TJA1055(11).

Re: CAN-шина нашего автомобиля

Добавлено: 12 май 2016, 14:28
Дмитрий66
root
С осциллограммами пока повременю. Осциллограф двухканальный, без памяти. Взял у коллег, пока мой в ремонте.
Мне кажется проблема в следующем: сам адаптер PCAN-USB при посылке одиночного сообщения "зависает" и шлёт импульсы бесконечно. В программке показывает, что ушла одна посылка, а в это время на выходе адаптера что-то передаётся. Поставил последние дрова (и старые пробовал).
Может проблема в том, что мой адаптер хоть и сделан PEAK и внешне один в один, но поставлялся как LENZE. Думаю, может Firmware чем-то отличается ? :(

Re: CAN-шина нашего автомобиля

Добавлено: 12 май 2016, 15:22
Technics66
Дисплей С перевёл в режим работы по проводам чтоб работали кнопки на дисплее. При нажатии на кнопки в шину ни чего не передаётся, но по меню дисплея ходит. Если посылать в цикле дату и время (276 7) то в дисплее появляется меню настройки даты и времени. Выставил 12 мая 2116 20:30 24-х часовой формат и нажал ОК. Дисплей в шину выдал 39B 5 F4 05 0C 14 1E. Если 12-и часовой формат то в шину идёт 39B 5 74 05 0C 14 1E.
Итого получается для выставления даты и времени в машине нужно отправить 39B 5 XX MM dd hh mm (MM-месяц, dd-день, hh-часы mm-минуы) только я не понял как год закодирован. 8-бит отвечает за формат (12, 24)а год так и не получился.
С годом также как в 276h Year 0-125 (2000-2125) 7-бит.
autowp, root Добавьте плиз эту инфу в общую базу

Отправлено спустя 3 часа 55 минут 52 секунды:
Подключился к машине. У меня сейчас стоит китайское ГУ и что и как оно выдаёт в шину не понятно, но выяснил следующее:
Программируемый круиз (выставлен 55, 75, 85, 105, 120), ГУ выдаёт при включенном режиме 01С 8 00 00 DF 37 4B 55 69 78 с периодом1000 , при выключенном 01С 8 00 00 9F 37 4B 55 69 78. 01С 8 00 00 xF S1 S2 S3 S4 S5 (xF - 7-bit on/off)
Настройки авто, посылается единично при изменений настроек. 15B 6 ДХО, парктроник off (B8 34 8D 30 55 41), ДХО-on парктр-off (B8 34 8F 30 55 41), ДХО, парктр- on (B8 34 8F 30 D5 41), ДХО-off парктр-on (B8 34 8D 30 D5 41). Где передаются данные из BSI что включено и что выключено не увидел.

Re: CAN-шина нашего автомобиля

Добавлено: 12 май 2016, 20:27
root
Technics66 писал(а):Источник цитаты Добавьте плиз эту инфу в общую базу

добавил, надеюсь что все правильно понял.
http://autowp.github.io/#39B

Re: CAN-шина нашего автомобиля

Добавлено: 12 май 2016, 22:09
frog2050
Technics66
Забортную температуру найдите, чтоб выводить на дисплей.
Скорей всего она передаётся один раз при включении машины.
А надо запрос на передачу из машина данных по температуре за бортом получить