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

Электрооборудование, проводка, система зажигания, кондиционер, оптика и т.п.
Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#1

Сообщение Technics66 » 12 мар 2016, 22:43

Данная тема в данный момент для простого автовладельца не представляет ни какого интереса.
Это начало изучения шины 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
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#91

Сообщение Technics66 » 19 мар 2016, 20:18

autowp писал(а):Источник цитаты Может прошивка (бутлоадер) иная.

А возможно что на входе стоит ATMEGA16U2 которая даёт команду RESET ATMEGA328. Там есть контакты специальные и дорожка между ними которую можно разрезать чтоб ресета не было. А на других типа Nano там тупо проц и USB to COM. Дело дойдёт до опытов попробую.
autowp писал(а):Источник цитаты А вот ProMIcro поинтереснее:

Она и поуниверсальнее будет, и использовать удобнее. Наверно парочку закажу.

Отправлено спустя 4 минуты 58 секунд:
autowp писал(а):Источник цитаты Начнем пока с "личных собщений", чтобы базар не устраивать.

Здесь пишите, я потру потом. ;) . Все заинтересованные себя уже обозначили а кто не в теме тот суда пока не пишет. Сообща придём к консенсусу и всем будет что где и почём.

Отправлено спустя 2 минуты 9 секунд:
autowp
По моим постам наверно понятно что я заинтересован в изучении кан шины и от платки я бы не отказался :D
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
autowp
Младший сержант
Младший сержант
Сообщения: 55
Зарегистрирован: 13 мар 2016, 23:13
Авто: Peugeot 407 Coupé, Gris Aluminium, Cuir Mistral
Пробег: 1000000
Поблагодарили: 13 раз

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

#92

Сообщение autowp » 19 мар 2016, 21:10

Technics66 писал(а):Здесь пишите, я потру потом. ;) . Все заинтересованные себя уже обозначили а кто не в теме тот суда пока не пишет. Сообща придём к консенсусу и всем будет что где и почём.

По моим постам наверно понятно что я заинтересован в изучении кан шины и от платки я бы не отказался :D

Хозяин-барин.

Мы сделали пробную партию. Из всего-то 10 FT плат.
Опасались, что будет "комом", а оно возьми и заработай.

Сегодня мы можем отдавать голые платы по 500р в Москве.
На след неделе сможем отдавать плату+рассыпуху в Москве и Самаре по 1000руб.
Так же в Самаре можно будет брать готовые девайсы по 1300руб.

По доставке персонально. Предварительно, я готов побегать на почту, по тарифу.

По Москве ко мне, по Самаре к root

Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#93

Сообщение Technics66 » 19 мар 2016, 21:11

Схема подключения CAN адаптера на MCP2515 к Arduino
Выхода MCP2515 (pin) - Arduino
CS (16) - D10 (Настраивается в скетче)
SO (15) - D12
SI (14) - D11
SCK (13) - D13
INT (12) - D2 (Настраивается в скетче)
autowp
Всё правильно написал? если да то в шапку закину. Ещё вопрос: В скетче есть "SS_RX_PIN, SS_TX_PIN", это что за SoftwareSerial? Для чего он нужен и как его правильно конфигурировать?
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
autowp
Младший сержант
Младший сержант
Сообщения: 55
Зарегистрирован: 13 мар 2016, 23:13
Авто: Peugeot 407 Coupé, Gris Aluminium, Cuir Mistral
Пробег: 1000000
Поблагодарили: 13 раз

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

#94

Сообщение autowp » 19 мар 2016, 21:18

Technics66 писал(а):Схема подключения CAN адаптера к Arduino
Адаптер (MCP2515) - Arduino
CS (16) - D10 (Настраивается в скетче)
SO (15) - D12
SI (14) - D11
SCK (13) - D13
INT (12) - D2 (Настраивается в скетче)
autowp
Всё правильно написал? если да то в шапку закину. Ещё вопрос: В скетче есть "SS_RX_PIN, SS_TX_PIN", это что за SoftwareSerial? Для чего он нужен и как его правильно конфигурировать?

CS конфигурируется как в прошивке, так и на плате джампером. Можно переехать на 9ый пин. Это пригодится, если требуется подключить еще один шилд.

Например, я взял ethernet и хочу добавить возможность работы через него.
Да, отмечу, что pin-head-female будут обычные, не stackable. Их сложно достать и они дороги. Но если кто-то намекнет, где их брать, купим.

Мы опишем всё, в процессе. Я напишу тут

Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#95

Сообщение Technics66 » 19 мар 2016, 21:25

autowp писал(а):Источник цитаты Сегодня мы можем отдавать голые платы по 500р в Москве.

Считаю дороговато. По вашим постам изготовление одной платы Вам обошлось примерно в 100р. Понимаю что сюда надо добавить разработку, доставку и другие накладные расходы. Готов отдать за голую плату 250 - 300р.

Отправлено спустя 3 минуты 32 секунды:
autowp писал(а):Источник цитаты CS конфигурируется как в прошивке

По схеме видел, я немного не правильно написал. Правильнее было написать подключение микросхемы MCP2515 к Arduino. Предыдущий пост поправил.
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
Aquarius
Капитан
Капитан
Сообщения: 823
Зарегистрирован: 18 июл 2014, 22:05
Откуда: Дзержинск
Авто: 115MT Tendance тёмно-синий (OPR13679)
Пробег: 100000
Благодарил (а): 64 раза
Поблагодарили: 75 раз

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

#96

Сообщение Aquarius » 19 мар 2016, 22:57

Тоже думаю, что дороговато, т.к. изготовление 10 панелей стоит 10$ + доставка.

Аватара пользователя
root
Лейтенант
Лейтенант
Сообщения: 394
Зарегистрирован: 12 мар 2016, 11:43
Откуда: Самара
Авто: С4 Хетчбек 110 л.с. (B7) Tendance
Пробег: 90000
:
Золотые руки
Благодарил (а): 40 раз
Поблагодарили: 71 раз

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

#97

Сообщение root » 19 мар 2016, 23:26

А я бы пару лет назад за пару тысяч точно взял, жаль никто не предложил, не объяснил как пользоваться, не написал софт для этого. Пришлось потратить на это огромное количество времени, которое сейчас никто в расчет не принимает.
Aquarius писал(а):Источник цитаты изготовление 10 панелей стоит 10$ + доставка

оно так стоит в Китае и надо заказать 10 штук, а потом ждать месяц. А если, не дай бог, ошибка? Еще 10$ + доставка и снова ожидание.

Аватара пользователя
Дмитрий66
Полковник
Полковник
Сообщения: 2033
Зарегистрирован: 13 янв 2014, 13:06
Откуда: Москва, Капотня
Авто: C4Sedan, Exclusive, МКПП, eMyWay, Коричн., LEXIA, FreeDrive
Пробег: 109000
Прошлый авто: Citroen C3
:
За активность - Серебро Золотые руки Архивариус
Благодарил (а): 140 раз
Поблагодарили: 368 раз

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

#98

Сообщение Дмитрий66 » 19 мар 2016, 23:43

root писал(а):Источник цитаты А я бы пару лет назад за пару тысяч точно взял, жаль никто не предложил, не объяснил как пользоваться, не написал софт для этого. Пришлось потратить на это огромное количество времени, которое сейчас никто в расчет не принимает.

Я в данном случае согласен. Хотя мне тоже кажется дороговато, но понимаю, что ребята не просто перепродают, а продают интеллектуальную собственность. Давайте не будем спорить дорого - не дорого. В конце концов можно сделать самому.
Сейчас текущая задача разобраться с данными на шине. А глобальная задача какая?
Изображение

Аватара пользователя
autowp
Младший сержант
Младший сержант
Сообщения: 55
Зарегистрирован: 13 мар 2016, 23:13
Авто: Peugeot 407 Coupé, Gris Aluminium, Cuir Mistral
Пробег: 1000000
Поблагодарили: 13 раз

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

#99

Сообщение autowp » 19 мар 2016, 23:59

Дмитрий66 писал(а):
root писал(а):Источник цитаты А я бы пару лет назад за пару тысяч точно взял, жаль никто не предложил, не объяснил как пользоваться, не написал софт для этого. Пришлось потратить на это огромное количество времени, которое сейчас никто в расчет не принимает.

Я в данном случае согласен. Хотя мне тоже кажется дороговато, но понимаю, что ребята не просто перепродают, а продают интеллектуальную собственность. Давайте не будем спорить дорого - не дорого. В конце концов можно сделать самому.
Сейчас текущая задача разобраться с данными на шине. А глобальная задача какая?

Я программист. Моя интеллектуальная собственность этой затеи лежит на гитхабе: это прошивка, андроид, расшифрованные CAN-сообщения, ... И у меня нет задачи это окупить. Это нереально, я потратил десятки тысяч рублей на всякое барахло, нужное и не очень. Время так и вообще лучше не считать.

Может это не очень корректно с моей стороны, но я за 500 рублей в здравом уме на почту не пошел бы, платы отправлять. Это нерентабельно для меня, как и вся затея вцелом.
Однако мой интерес состоит в том, чтобы привлечь людей к этому мероприятию. Мне жутко интересно ковыряться с CAN, но я отдаю себе отчет, что этот документ http://autowp.github.io/ "в одно лицо" никогда не будет качественным.

По существу, я думаю так, что если эта цена - завышена, то рынок отрегулирует. Кто-то из нас распечатает аналог и продаст дешевле. Квалификации у сообщества хватает, как мне видится.


Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#100

Сообщение Technics66 » 20 мар 2016, 12:22

Вот начались первые проблемы. Подключил Arduino Uno, Плату CAN-SPI и Дисплей C от пежо 508. При использовании этого скетча монитор COM порта молчит и CANHacker тоже. Подумал что MCP2515 не заводится т.к. мелочь в том числе и кварц брал из плат что на разбор валяются. Загрузил библиотеку от сюда и воспользовался примером "receive_check" и при подаче питания на дисплей вижу такую картинку:
CAN-шина нашего автомобиля - Can_Log_1.jpg

Получается что аппаратная часть работает и проблему надо в софте искать?
P.S. Для начала хочу просто дисплей включить а он молчит :( . Пробовал посылать 036 8 0E 00 00 0F 01 00 00 A0 но тоже тишина.
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
autowp
Младший сержант
Младший сержант
Сообщения: 55
Зарегистрирован: 13 мар 2016, 23:13
Авто: Peugeot 407 Coupé, Gris Aluminium, Cuir Mistral
Пробег: 1000000
Поблагодарили: 13 раз

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

#101

Сообщение autowp » 20 мар 2016, 14:23

Technics66 писал(а):Вот начались первые проблемы. Подключил Arduino Uno, Плату CAN-SPI и Дисплей C от пежо 508. При использовании этого скетча монитор COM порта молчит и CANHacker тоже. Подумал что MCP2515 не заводится т.к. мелочь в том числе и кварц брал из плат что на разбор валяются. Загрузил библиотеку от сюда и воспользовался примером "receive_check" и при подаче питания на дисплей вижу такую картинку:

Получается что аппаратная часть работает и проблему надо в софте искать?
P.S. Для начала хочу просто дисплей включить а он молчит :( . Пробовал посылать 036 8 0E 00 00 0F 01 00 00 A0 но тоже тишина.

Да, похоже.

Небольшое отступление:
У нас код прошивки делится на 3 уровня:
- библиотека для работы с MCP2515 (аналог упомянутой выше seeed)
- библиотека, реализующая протокол CanHacker(lawicel)
- непосредственно скетч, в котором осуществляется базовое конфгурирование

Чтобы локализовать проблему, можно попробовать начать с использования только библиотеки для MCP2515 https://github.com/autowp/arduino-mcp2515/ . Она самодостаточна. В ней есть 2 примера - чтение и запись (которую добавил вот только что).
В примере отправки в порт как раз использовал 2 сообщения, которые нужны дисплею/магнитоле для включения.

Можно проверять результат, возвращаемый методами sendMessage. Успешная отправка (успешная передача в MCP2515) будет возвращать MCP2515::ERROR_OK, любое другое значение будет сигнализировать об ошибке.

В библиотеке протокола CanHacker есть несколько более удобные средства отладки: библиотека умеет выводить отладочную информацию в UART или иной интерфейс, реализованный через класс Stream (таковыми являются как минимум Serial, SoftwareSerial, Ethernet). Я подключаю USB-UART и использую softwareSerial. Вот пример

Можно выдавать отладку в тот же порт, через который идет общение по протоколу CanHacker. В этом случае настольный канхакер работаеть не сможет, но можно будет самому зайти в терминал и отправить что-то типа

Код: Выделить всё

S4
O
t123123

(установить скорость 125, открыть соединение, отправить однобайтовое сообщение 0x123 1 0x23)
В режиме Loopback, о котором ниже, в ответ должно вернуться t123123. В обычном режиме протокол CanHacker отвечает только символом возврата каретки и BEL, которые на глаз не видны

Можно включить режим Loopback. Это когда сообщения как не выходят за пределы MCP2515, а сразу возвращаются эхом.

При работе с либой MCP2515 это делается так:

Код: Выделить всё

mcp2515.setLoopbackMode();

А при использовании CanHacker, так:

Код: Выделить всё

canHacker->enableLoopback();

Это удобно тем, что исключает из проверки половину электроники, в частности TJA и физическую сеть.

Отправлено спустя 9 минут 22 секунды:
Вова&C4 писал(а):Отсюда ряд вопросов: -расшифровав сигналы КАН, что это даст простому автолюбителю, миллионам таких как я? -для чего вообще это нужно?

Эта документация - отправная точка для кучи других идей. Я знаю как минимум 1 реальный проект, построенный с помощью расшифрованного CAN - адаптер нештатного парктроника под штатную электронику.

Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#102

Сообщение Technics66 » 20 мар 2016, 17:29

autowp
Попробовал только библиотеку и пример из неё "CAN_write" дисплей завёлся. Если на ардуино зажать ресет то через 7 сек дисплей тухнет, при отпускании ресета скетч начинает работать и дисплей включается. Можно считать что аппаратная часть работает. Я не понимаю что за SoftwareSerial и для чего он нужен. Может в нём проблема?
CAN-шина нашего автомобиля - IMG_20160320_192654.jpg
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
autowp
Младший сержант
Младший сержант
Сообщения: 55
Зарегистрирован: 13 мар 2016, 23:13
Авто: Peugeot 407 Coupé, Gris Aluminium, Cuir Mistral
Пробег: 1000000
Поблагодарили: 13 раз

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

#103

Сообщение autowp » 20 мар 2016, 18:20

Technics66 писал(а):autowp
Я не понимаю что за SoftwareSerial и для чего он нужен. Может в нём проблема?


SoftwareSerial - это библиотека из состава Arduino, позволяющая сделать еще один UART порт на любых (почти) свободных пинах.
Т.е. это способ обзавестись вторым UART и выкидывать через него отладочную информацию.

Покажите скетч (ino). Возможно там включен loopback и в этом все дело (enableLoopback() есть?)

Аватара пользователя
Technics66
Маршал
Маршал
Сообщения: 7605
Зарегистрирован: 21 сен 2013, 19:24
Откуда: Екатеринбург
Авто: Citroen C4 Sedan MT Tendance+климат Темно-синий. OPR-13366
Пробег: 160000
Прошлый авто: Toyota Corolla E120
:
За активность - Золото Золотые руки Всегда готов!
Благодарил (а): 171 раз
Поблагодарили: 1762 раза

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

#104

Сообщение Technics66 » 20 мар 2016, 18:28

autowp
Сейчас перекачал библиотеки и скетч и CANHacker заработал. Не знаю что Вы там поправили но результат есть. Спасибо!
Можно в Вам обращаться на "Ты"?
Для информации: На Uno перерезал дорожку "Reset ON" теперь при подключении к COM порту Arduino не перезагружается. Но теперь чтоб скетч залился в Arduino надо вручную кнопку Reset нажимать.

Отправлено спустя 6 минут 51 секунду:
autowp писал(а):Источник цитаты Возможно там включен loopback и в этом все дело (enableLoopback() есть?)

Да в этом дело. Сравнил старый и новый скетч, в новом появился "while (!Serial);" а "enableLoopback()" за ремарен. В старом скетче отключил "enableLoopback()" и всё заработало.
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
autowp
Младший сержант
Младший сержант
Сообщения: 55
Зарегистрирован: 13 мар 2016, 23:13
Авто: Peugeot 407 Coupé, Gris Aluminium, Cuir Mistral
Пробег: 1000000
Поблагодарили: 13 раз

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

#105

Сообщение autowp » 20 мар 2016, 18:35

Technics66

Я выключил по-умолчанию loopback из примера скетча.

Про Uno в курсе. Еще можно конденсатор подсовывать и reset землить. Но все эти решения не годятся на роль "штатных", как мне кажется.

Андроид пробовать планируете?

На "ты" можно