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.
Схемы храню здесь

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

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

#946

Сообщение Дмитрий66 » 26 ноя 2018, 17:03

1. Для запуска магнитолы достаточно ID 036h.
2. Предлагаю всё, начиная с поста Дмитрия root оформить в отдельную тему, где обсуждать проблемы адаптеров. Хотя как писал в начале Technics66
Technics66 писал(а):Источник цитаты Данная тема в данный момент для простого автовладельца не представляет ни какого интереса.
но уже набито 64 страницы и новые исследователи своими вопросами набьют ещё столько же. Уже сейчас я, например, перелистывавший эту тему тысячу раз и знающий что в ней есть не могу быстро найти нужную информацию.
Изображение

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

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

#947

Сообщение root » 27 ноя 2018, 08:27

Дмитрий66 писал(а):Источник цитаты Предлагаю всё, начиная с поста Дмитрия root оформить в отдельную тему

Считаю данную тему без инструкции по подключению - не полной. Топик выше должен был появиться здесь еще с первых постов, но всё как-то было не до этого.
Согласен, что однотипные вопросы новичков загромождают тему. Думаю правильнее будет в шапке составить некий навигатор по теме (ссылки на топики с важной информацией), тогда и кол-во страниц будет не важно, и найти что-то важное будет проще. А отдельная тема только усугубит ситуацию. Искать придется в двух больших темах :D

Аватара пользователя
frog2050
Маршал
Маршал
Сообщения: 14130
Зарегистрирован: 13 апр 2014, 21:03
Откуда: Москва
Авто: Citroen C4L Optima, 120л.с. Белый
Пробег: 56400
Прошлый авто: Citroen C4(B7) Хэтч проехал 96т.км за 3,5 года
:
За активность - Серебро За активность - Золото Мастер на все руки
Благодарил (а): 1430 раз
Поблагодарили: 2064 раза

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

#948

Сообщение frog2050 » 27 ноя 2018, 11:12

Кто из Вас хорошо в этой теме разбирается, составьте список важных сообщений, мы их в шапку выложим со всеми ссылками.

Или если есть идея по упорядочиванию шапки или своя шапка со всеми ссылками, можно её выложить и если она будет интересней чем та, что сейчас - заменим.
Всё в Ваших руках.
Изображение
Есть Лексия, Бутово.

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

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

#949

Сообщение root » 14 дек 2018, 20:56

Небольшое дополнение к посту про использование Arduino в роли канхакера.

Для проверки работоспособности шилда и скетча, не имея при этом реального оборудования, можно воспользоваться режимом loopback CAN-контроллера. Суть этого режима заключается в том, что все отправленные контроллеру пакеты не передаются в физическую среду, а поступают на приём. Таким образом мы можем проверить работоспособность в программе канхакер : то что мы отправили - должно появиться в принятых пакетах.
CAN-шина нашего автомобиля - 1.jpg

Чтобы включить режим loopback необходимо в скетче в функции setup, сразу после строки

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

canHacker = new CanHacker(&Serial, NULL, SPI_CS_PIN);

добавить:

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

canHacker->enableLoopback();

в итоге получаем такой скетч:

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

#include <can.h>
#include <mcp2515.h>

#include <CanHacker.h>
#include <CanHackerLineReader.h>
#include <lib.h>

#include <SPI.h>

const int SPI_CS_PIN = 10;
const int INT_PIN = 3;


CanHackerLineReader *lineReader = NULL;
CanHacker *canHacker = NULL;

void setup() {
    Serial.begin(115200);
    SPI.begin();
   
    canHacker = new CanHacker(&Serial, NULL, SPI_CS_PIN);
    canHacker->enableLoopback();            // Enable Loopback mode for offline tests
    lineReader = new CanHackerLineReader(canHacker);
   
    pinMode(INT_PIN, INPUT);
}

void loop() {
    if (digitalRead(INT_PIN) == LOW) {
        canHacker->processInterrupt();
    }
    if (Serial.available()) {
        lineReader->process();
    }
}


кстати говоря, данный скетч взят из примера, идущего с библиотекой ArduinoCanHacker (Файл->Примеры->arduino-canhacker->leonardo_cdc).

Еще одно важное замечание: не забывайте проверять к каким пинам на ардуино подключается mcp2515, в частности CS и INT. В соответствии с этим в скетче должны быть объявлены константы:

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

const int SPI_CS_PIN = 10;
const int INT_PIN = 3;

Аватара пользователя
svoboda120
Ефрейтор
Ефрейтор
Сообщения: 37
Зарегистрирован: 20 ноя 2018, 15:30
Откуда: Енакиево, ДНР
Авто: Peugeot 407 Седан 143л.с. Черный
Пробег: 100000
Прошлый авто: Daewoo Lanos SE
Благодарил (а): 9 раз
Поблагодарили: 2 раза

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

#950

Сообщение svoboda120 » 14 дек 2018, 21:14

Спасибо огромное, тест пройден. Теперь буду пробовать оживить на столе магнитолу и дисплей

Аватара пользователя
frog2050
Маршал
Маршал
Сообщения: 14130
Зарегистрирован: 13 апр 2014, 21:03
Откуда: Москва
Авто: Citroen C4L Optima, 120л.с. Белый
Пробег: 56400
Прошлый авто: Citroen C4(B7) Хэтч проехал 96т.км за 3,5 года
:
За активность - Серебро За активность - Золото Мастер на все руки
Благодарил (а): 1430 раз
Поблагодарили: 2064 раза

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

#951

Сообщение frog2050 » 14 дек 2018, 22:32

Режим канхакера на столе заработал только когда в кан шину было подключено два девайса использующих САN.
Например магнитолу и дисплей или панель управления и дисплей.
Изображение
Есть Лексия, Бутово.

Аватара пользователя
svoboda120
Ефрейтор
Ефрейтор
Сообщения: 37
Зарегистрирован: 20 ноя 2018, 15:30
Откуда: Енакиево, ДНР
Авто: Peugeot 407 Седан 143л.с. Черный
Пробег: 100000
Прошлый авто: Daewoo Lanos SE
Благодарил (а): 9 раз
Поблагодарили: 2 раза

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

#952

Сообщение svoboda120 » 16 дек 2018, 19:03

Добрый вечер. Изготовил плату CANReaderFT. Прототипом послужила схема отсюда. Выполнить старался под Arduino Uno/Leonardo. Разводку платы разрабатывал в Sprint Layout 6.0. Пытался "оживить" на столе магнитолу RD4 MP3 + дисплей БК. Не получилось. Тест MCP2515 проходит успешно. Посылки отправляет и получает. А вот драйвер TJA1055T молчит. Возможна одна из причин это ошибка в разводке платы. Если есть на форуме те кто пользуется Sprint Layout просьба проверить и указать ошибки. Разрабатывал впервые, возможно все..
https://yadi.sk/d/Pv0MIy3e9KiYXw

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

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

#953

Сообщение Technics66 » 16 дек 2018, 19:34

svoboda120
Посмотрел. А Масса TJA где??? 13 нога.
Citroen C4 Sedan MT Tendance+климат темно-синий. OPR13366
ГУ Teyes CC2 2/32 (PSA-RZ-15), фронт JBL CS2165C, тыл пока штатный. Есть Lexia.
Схемы храню здесь

Аватара пользователя
svoboda120
Ефрейтор
Ефрейтор
Сообщения: 37
Зарегистрирован: 20 ноя 2018, 15:30
Откуда: Енакиево, ДНР
Авто: Peugeot 407 Седан 143л.с. Черный
Пробег: 100000
Прошлый авто: Daewoo Lanos SE
Благодарил (а): 9 раз
Поблагодарили: 2 раза

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

#954

Сообщение svoboda120 » 16 дек 2018, 19:47

Да действительно, накосячил... :( В первом файле все было, но решил немного перекомпоновать элементы и в результате ошибка. Спасибо огромное. Попробую сделать перемычку, потом переделаю заново.


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

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

#955

Сообщение Technics66 » 16 дек 2018, 20:11

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

Аватара пользователя
svoboda120
Ефрейтор
Ефрейтор
Сообщения: 37
Зарегистрирован: 20 ноя 2018, 15:30
Откуда: Енакиево, ДНР
Авто: Peugeot 407 Седан 143л.с. Черный
Пробег: 100000
Прошлый авто: Daewoo Lanos SE
Благодарил (а): 9 раз
Поблагодарили: 2 раза

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

#956

Сообщение svoboda120 » 05 янв 2019, 16:55

Всех с наступившим! Появилось время и попробовал прочитать CAN-шину в автомобиле. Не знаю по какой причине, но с утилитой CANhacker для Windows на 10-ке получилось подключиться не сразу. Arduino UNO вообще не заработала, а Leonardo пакеты приняла, но я так и не понял в какой момент. Сначала подсоединил проводки самой шины к шилду, потом дал питание +5в. на Leonardo и +12в. на шилд, дальше в CANhacker'e в настройках проверил установленные скорости и COM-порт, нажимаю кнопку с молнией и ничего не происходит. Дальше включал питание, убирал, заново подавал, опять коннектился и в какой то момент на мониторе CANhacker'a посылки из шины начали приниматься. Причем много. Записал себе на телефон даже видео, чтобы потом переписать на бумагу и попробовать понять, какая посылка к чему относится. Потом запустил двигатель. Увидел, что некоторые посылки изменили свои значения. Опять заснял все. Потом выключил зажигание, но посылки какое то время еще поступали и значения в некоторых постоянно менялись. Потом все остановилось. Я опять включаю зажигание и... опять ничего не происходит. Т.е. то, что минуту назад работало теперь опять ничего не выводит на экран. Алгоритма так и не понял. Нужно в какой то последовательности все подключать, подавать питание и нажимать кнопки в CANhacker'e или у меня какой то частный случай? Как получить стабильность? От чего эта стабильность может зависеть?
P.S. До этого несколько раз пробовал подключить магнитолу + дисплей на столе, но так ничего и не получилось. Магнитола сразу пошуршит какое то время, диск отдает и принимает. А вот дисплей не включается никак. Сейчас посмотрел посылки которые отправлял (036 и 0F6) и сравнил с теми, которые получил в машине. Они отличаются от тех что в примере (может из-за того, что у меня Пежо). Попробую послать свои данные, но учитываю с какого раза получил результат в машине надежда получить подобное на столе еле теплится.
Последний раз редактировалось svoboda120 05 янв 2019, 17:25, всего редактировалось 1 раз.

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

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

#957

Сообщение root » 05 янв 2019, 17:03

В loopback режиме на том же компьютере, софте, железе работает стабильно?

Аватара пользователя
svoboda120
Ефрейтор
Ефрейтор
Сообщения: 37
Зарегистрирован: 20 ноя 2018, 15:30
Откуда: Енакиево, ДНР
Авто: Peugeot 407 Седан 143л.с. Черный
Пробег: 100000
Прошлый авто: Daewoo Lanos SE
Благодарил (а): 9 раз
Поблагодарили: 2 раза

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

#958

Сообщение svoboda120 » 05 янв 2019, 17:18

В loopback режиме все отлично. Что отправил, то и получил. Как то раньше было, что на Leonardo очень медленно отправлялись посылки. Причем не важно какой период выставляешь. Отправка шла раз в 6-7 сек. Но на последнем изготовленном шилде задержек не замечал. Все остальное: софт, железо, ноутбук одно и тоже и не меняется.

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

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

#959

Сообщение root » 05 янв 2019, 17:27

В таком случае, нужно искать проблему в схеме после can-контроллера. Это может быть непропай, бракованный или поддельный can-драйвер, плохой контакт в коммутационных проводах...
Светодиод на ноге err tja1055 не загорается?

Отправлено спустя 3 минуты 37 секунд:
И, на всякий случай, покажите код скетча.

Аватара пользователя
svoboda120
Ефрейтор
Ефрейтор
Сообщения: 37
Зарегистрирован: 20 ноя 2018, 15:30
Откуда: Енакиево, ДНР
Авто: Peugeot 407 Седан 143л.с. Черный
Пробег: 100000
Прошлый авто: Daewoo Lanos SE
Благодарил (а): 9 раз
Поблагодарили: 2 раза

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

#960

Сообщение svoboda120 » 05 янв 2019, 17:51

Когда подаю питание +12в. на шилд светодиод горит. Но когда получал посылки не горело ничего. Сейчас буду пробовать дома на столе оживлять. Немного привыкнет к комнатной температуре (только занес домой с морозной улицы) и займусь. Тогда точно понаблюдаю за светодиодом. А насчет бракованного CAN-драйвера - кто же знает. Покупал на радио-рынке. Для моего Мухосранска вещь почти антикварная. Еле нашел. Две недели назад заказал на Али по 5шт. tja1055 и mcp2515, но по прогнозам приедут в конце февраля, начало марта..((. Непропай думаю врядли. Тестером прошелся ни один раз по всем местам пайки. Прозваниваются как будто все места пайки.
Скетч тот что в Инструкции.

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

#include <can.h>
#include <mcp2515.h>

#include <CanHacker.h>
#include <CanHackerLineReader.h>
#include <lib.h>

#include <SPI.h>

const int SPI_CS_PIN = 10;
const int INT_PIN = 2;

CanHackerLineReader *lineReader = NULL;
CanHacker *canHacker = NULL;

void setup() {
    Serial.begin(115200);
    SPI.begin();
   
    canHacker = new CanHacker(&Serial, NULL, SPI_CS_PIN);
    lineReader = new CanHackerLineReader(canHacker);
   
    pinMode(INT_PIN, INPUT);
}

void loop() {
    if (digitalRead(INT_PIN) == LOW) {
        canHacker->processInterrupt();
    }

    // uncomment that lines for Leonardo, Pro Micro or Esplora
    // if (Serial.available()) {
    //   lineReader->process();   
    // }
}

// serialEvent handler not supported by Leonardo, Pro Micro and Esplora
void serialEvent() {
    lineReader->process();
}

Строчки касательно Leonardo разкомментировал, строчки касательно serialEvent наоборот закомментировал. Скетч компиляцию и загрузку в Leonardo проходит нормально.