CAN шина – это сеть обмена данными определенная в стандарте ISO 11898. Другие каналы обмена данными в автомобиле не могут быть названы CAN шиной. AVC-LAN, BEAN, J1708, VAN и другие старые протоколы это НЕ CAN !
В автомобиле может быть более одной CAN шины. Для каждого функционального сегмента автомобиля выделяется своя сеть CAN. Выделенные сети могут работать на разных скоростях.
- Скорости работы CAN шины
- Сегментация CAN шины по функциональному назначению
- Реализации CAN на уровне электрических сигналов
- 1 ISO11898-2 или CAN-High Speed.
- 2 ISO11898-3 или CAN-Low Speed или Faut Tolerant CAN
- 3 Single Wire CAN или SW-CAN
- Чтение данных OBD-II автомобиля через CAN в контейнерном приложении во встроенном Linux
- Краткий разговор о CAN
- Установка TorizonCore 5
- Загрузка контейнера, готового к обмену данными по CAN на TorizonCore 5
- 🌟 Видео
Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Скорости работы CAN шины
CAN на разных автомобилях и в разных сегментах сети может работать на разных скоростях.
Названия сегментов сети: Мотор, Шасси, Комфорт, Салон – условны! У Каждого автопроизводителя свои названия этих участков сети!
- Группа VAG: Мотор\шасси – 500 кбит\с, Комфорт – 100 кбит\с и с 2018 года шина Комфорт может иметь скорость 500 кбит\с., Диагностика: 500 кбит\с.
- BMW : Мотор\Шасси – 500кбит\с, Комфорт – 100 кбит\с и с 2018 года шина Комфорт может иметь скорость 500 кбит\с., Диагностика: 500 кбит\с.
- Mercedes-Benz : Мотор\Шасси – 500 кбит\с, Комфорт 83.333 кбит\с, 250 кбит\с, Диагностика: 500 кбит\с.
- Ford, Mazda : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с. (Для Ford может быть больше вариантов)
- KIA\Hyundai : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с, 500 кбит\с, Мультимедиа: 125 кбит\с, 500 кбит\с., Диагностика: 500 кбит\с.
- GM : Мотор\Шасси – 500 кбит\с, Комфорт: 33.333 кбит\с, 95.2 кбит\с, Диагностика: 500 кбит\с.
- Toyota, Nissan, Honda, Subaru, Suzuki : 500 кбит\с (может использоваться гейтвей)
- Mitsubishi : Мотор\Шасси: 500 кбит\с, Салон\Комфорт – 83.333 кбит\с, 250 кбит\с, Диагностика: 500 кбит\с.
- Volvo : Мотор\Шасси: 500 кбит\с, Салон\Комфорт – 500 кбит\с, 125 кбит\с, Диагностика: 500 кбит\с.
- Renault : 500 кбит\с
- Peugeot : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с.
- Lada : 500 кбит\с
- Коммерческая и специальная техника : Стандарт J1939 250 или 500 кбит\с.
Видео:Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED I2C, TJA 1020Скачать
Сегментация CAN шины по функциональному назначению
- Как правило разные, сегменты сети разделены специальным устройством, которое называется Гейтвей (Gateway, ZGW, ETACS, ICU) .
- В роли гейтвея может выступать панель приборов (для простых автомобилей) или отдельный специальный модуль межсетевого интерфейса.
- Гейтвей разделяет потоки данных в разных сегментах сети и обеспечивает связь сегментов сети работающих на разных скоростях.
- ВАЖНО: На многих автомобилях (особенно VAG, MB, BMW) CAN шина в диагностическом разъеме OBD2 отделена от других участков сети при помощи гейтвея, поэтому подключившись к CAN шине OBD разъема невозможно увидеть поток данных. В этом случае можно увидеть только обмен между диагностическим инструментом и автомобилем во время процесса диагностики! Так же модулем гейтвеем оборудованы автомобили японских марок с 2016..2018 годов в зависимости от модели.
- ОБЯЗАТЕЛЬНО изучайте схемы на исследуемый автомобиль, чтобы знать к какому сегменту сети Вы подключаетесь!
Схема ниже изображена в общем виде для упрощения понимания роли Гейтвея. Количество CAN шин и варианты включения блоков управления к тому или другому сегменту сети могут отличаться.
Видео:CAN шина👏 Как это работаетСкачать
Реализации CAN на уровне электрических сигналов
CAN шина может быть реализована физически тремя способами:
1 ISO11898-2 или CAN-High Speed.
Классическая витая пара нагруженная с обоих концов резисторами 120 Ом.
В этом случае уровни на шине CAN выглядят так:
Для такой реализации сети используются как правило обычные CAN трансиверы в 8 выводном корпусе, аналоги PCA82C250, TJA1050 и им подобные. Работает такая конфигурация на скоростях 500 кбит\с и выше. (Но могут быть исключения) .
2 ISO11898-3 или CAN-Low Speed или Faut Tolerant CAN
В этом варианте используется та же витая пара, но линии CAN-Low и CAN-High подтянуты к напряжению питания и массе соответственно.
Подробное описание FT-CAN по ссылке
Такой вариант CAN шины способен переключаться в однопроводный режим в случае повреждения одной из линий. Работает на скоростях до 250 кбит\с.Уровни сигнала на шине отличаются от High Speed CAN, при этом не теряется возможность работы с шиной FT-CAN используя трансиверы High-Speed CAN и соблюдая ряд условий.
Подробнее в нашей статье о FT-CAN – ссылка.
Читайте также: Makita 7601 адаптер для шины
Fault tolerant CAN обычно используется для низкоскоростного обмена между блоками управления относящимися к сегменту сети Салон\Комфорт\Мультимедиа.
ВАЖНО: При подключении к шине Faul tolerant CAN, подключать терминальный резистор 120 Ом между линиями CAN-High и CAN-Low НЕ НУЖНО !
3 Single Wire CAN или SW-CAN
Однопроводный вариант шины CAN. Работает на скорости 33.333 кбит\с
Используется специальный тип трансиверов. Для того что бы подключиться к такому варианту шины CAN необходимо линию CAN-High анализатора подключить к шине SW-CAN а линию CAN-Low к массе\земле.
Видео:CAN шина на осциллографе FINIRSI ADS1013DСкачать
Чтение данных OBD-II автомобиля через CAN в контейнерном приложении во встроенном Linux
CNXSoft: обзор от гостя Андре Марсио де Лима Курвелло — старшего FAE и технического евангелиста Toradexо — о поддержке OBD-II и CAN во встроенном Linux
Подключенный мир позволяет в режиме реального времени через ваш смартфон отслеживать онлайн-заказы, отправленные вам, и получать информацию о вашем транспортном средстве, такую как давление в шинах, внешняя температура, и даже такие подробности, как разбитая лампа. Но за магией знания, где находится грузовик, в котором находится ваша посылка, и других деталей транспортного средства, кроется очень сложный мир, состоящий из встроенных устройств, «говорящих» друг с другом, это способствует тому, что информация передается от устройства к вам.
В этом обзоре вы узнаете, как создать приложение для связи с автомобилем через CAN с помощью стандарта OBD-II. Мы используем современную программную контейнеризацию с Docker и Torizon, современной промышленной платформой для встраиваемых Linux-систем от Toradex. Мы реализуем приложение на компьютере-на-модуле Verdin, который разработан для использования в суровых условиях, например, в коммерческих автомобилях. Хотя в этом примере описывается гипотетическое автомобильное приложение, вы можете использовать CAN даже в промышленных приложениях.
Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать
Краткий разговор о CAN
Прежде чем мы углубимся в технические детали приложения, вы должны знать, что оно будет использовать CAN, что означает сеть контроллеров. Это один из наиболее часто используемых протоколов связи для транспортных средств, грузовиков и даже тракторов. Если у вас есть автомобиль, произведенный после 2004 года, он наверняка имеет сеть CAN, соединяющую десятки ЭБУ.
Для тех, кто не знаком с этим термином, ЭБУ(ECU) — это аббревиатура от электронный блок управления (Electronic Control Unit). Он соответствует каждому электронному устройству в сети CAN, которое может принимать и передавать данные, отвечая за управление одной или несколькими функциями в транспортном средстве, такими как двигатель, трансмиссия и даже мультимедийная система.
Как правило, любой данный ЭБУ, действующий как узел CAN, способный взаимодействовать с шиной CAN транспортного средства, должен иметь два основных компонента: контроллер CAN, который реализует уровень канала передачи данных ISO 11898-1 для CAN, и приемопередатчик CAN, который, в свою очередь, заботится о физическом уровне в соответствии со стандартами ISO 11898-2 / 3, как показано на рисунке 1.
Первоначально шина CAN была предназначена для использования на транспортных средствах, но она оказалась настолько надежной, что ее начали использовать другие области, добавляя транспортные протоколы, чтобы она могла поддерживать больше приложений, таких как стандарт CAN J1939, созданный для грузовиков, и ISO-11783 (также известный как ISOBUS) создан для тракторов. OBD-II поверх CAN, о котором мы будем говорить, построен на ISOTP, или, другими словами, ISO-15765-2.
В том же направлении сеть CAN в большинстве транспортных средств также должна обмениваться данными по стандарту бортовой диагностики (OBD-II), в котором она должна отвечать на серию запросов, чтобы предоставить информацию о скорости, оборотах в минуту, уровне батареи, уровне топлива, среди множества других данных, связанных с информацией о двигателе. Как видно из названия, OBD-II может использоваться (и используется) для диагностики транспортных средств, как показано на Рисунке 2.
Читайте также: Шина заземления под дин рейку
Возможность взаимодействия с данным транспортным средством со стандартом OBD-II позволяет любому приложению запрашивать информацию из главного ЭБУ данного транспортного средства, без необходимости знать собственные сообщения CAN, используемые каждым производителем для передачи интересующего сообщения. OBD-II не только означает стандарт сообщений через сетевой протокол, но также относится к используемому общему физическому разъему, как показано на рисунке 3.
Этот разъем обычно используется компаниями для телематических устройств для мониторинга, помимо других доступных переменных транспортных средств, скорости транспортного средства, уровня топлива, уровня заряда батареи, сгруппированных вместе с данными геолокации, полученными через приемник GPS / GNSS. Также может быть получена другая информация, такая как температура двигателя и частота вращения, которая может указывать на условия высокой интенсивности, которым может подвергаться данный двигатель.
OBD-II — это подход «запрос-ответ». Другими словами, вам не придется читать не интересные вам сообщения по мере их появления. Вы будете отправлять сообщения главному ЭБУ транспортного средства, чтобы он реагировал на данную информацию, например, на скорость транспортного средства. Главный ЭБУ автомобиля ответит на этот запрос, и вы обработаете сообщение в соответствии со стандартом OBD-II. Главное преимущество этого подхода заключается в том, чтобы не спамить шину CAN и периодически запрашивать интересующие сообщения, например, один раз в минуту.
Torizon и Verdin
Если вы еще не слышали о Torizon, предлагаем вам взглянуть. Torizon — это простая в использовании промышленная встраиваемая Linux-платформа Toradex, которая использует приложения в контейнерах, управляемых Docker, с тем, чтобы облегчить разработку встроенных системных решений. Он также поставляется с клиентом OTA с безопасностью автомобильного уровня. Это открытый исходный код.
Вместе с Torizon Toradex уже предоставляет новое семейство компьютеров-на-модулях под названием Verdin, основанное на разъеме DDR4 SODIMM. Verdin имеет оптимизированный интерфейс, а также упрощенные требования к источнику питания и управлению питанием всей системы. Он разработан для суровых условий, и его прямой выход позволяет добавлять реальные порты ввода-вывода без необходимости пересекать трассы или слои. Первые модули Verdin основаны на процессорах приложений i.MX 8M Mini, подобных показанному на рисунке 6, который использовался в этом примере.
NXP i.MX8 M Mini SoC не поставляется с собственными контроллерами CAN. Чтобы компенсировать это, Toradex добавила в модуль контроллер MCP2518 SPI CAN, как показано на рисунке 7. Контроллер CAN MCP2518 совместим с CAN-FD и является хорошим выбором для приложений CAN высокого класса. Вы можете найти более подробную информацию о Verdin iMX8M Mini на его странице в Toradex. CAN также доступен на других компьютерах Toradex в модулях, таких как семейства Apalis и Colibri.
В настоящее время есть две несущие платы, которые вы можете использовать для оценки компьютера-на-модуле Verdin: Dahlia и плата разработки Verdin. Dahlia — это компактная несущая плата, обеспечивающая легкий доступ к наиболее распространенным функциям семейства Verdin, а плата разработчика Verdin — это несущая плата, цель которой — раскрыть все функции модуля. В этой демонстрации мы будем использовать плата разработки Verdin, но вы можете легко использовать Dahlia. Плата разработки Verdin использует изолированный CAN-трансивер ISO1042BDWR от Texas Instruments, который предоставляет все необходимые сигналы для CAN, такие как: CAN High, CAN Low и GND (никогда не забывайте о заземлении). Мы будем использовать интерфейс CAN1 в плате разработки Verdin, как показано на рисунке 8.
Читайте также: Шины hankook dynapro at2 rf11 265 60 r18
Мы предоставляем подробные инструкции по правильному использованию Verdin iMX8MM и платы разработки Verdin в Кратком руководстве от Toradex.
Поскольку TorizonCore является встроенным дистрибутивом Linux, он поддерживает SocketCAN, предоставляемый ядром Linux, что позволяет приложению взаимодействовать с сетью CAN как соединение сокета с Linux Socket API.
Теперь, когда все настроено, давайте сделаем шаг за шагом, чтобы вы могли установить TorizonCore 5 в свой Verdin iMX8MM и наше приложение-контейнер для связи CAN со стандартом OBD-II.
Видео:ELM327 переделка - доработка под две CAN шиныСкачать
Установка TorizonCore 5
На момент написания этого обзора TorizonCore 5 все еще находится в стадии разработки. Мы решили использовать его в нашем обзоре, потому что это будет наша основная ориентированная версия TorizonCore. Посетите веб-страницу Torizon, чтобы увидеть дорожную карту для получения дополнительной информации.
Чтобы установить его в Verdin iMX8MM, сначала вы должны использовать нашу последнюю версию Toradex Easy Installer — 2.0b6, доступную через наши ночные сборки в Toradex Artifactory. Вы можете найти подробные инструкции о том, как его получить, в разделе «Ночной выпуск» на странице «Простой установщик Toradex».
Если в Verdin iMX8MM загружен Toradex Easy Installer 2.0b6, вам необходимо использовать наши каналы CI для загрузки TorizonCore 5, что можно сделать, щелкнув пункт меню «Feeds» в меню Toradex Easy Installer и отметив значок Вариант подачи CI, как показано на рисунке 9.
Этот процесс займет некоторое время, так как он загрузит множество ссылок на изображения из Toradex Artifactory.
После завершения загрузки выберите один образ TorizonCore 5, например «5.1.0-devel-20201019 + build.98», выбранный ниже (одна из наших последних ночных сборок), и установите его. Если вы не можете найти эту, выберите самую близкую к вашей дате ночную сборку.
Обратите внимание, что ночные сборки могут быть нестабильными. Если вы обнаружите проблему, не стесняйтесь опубликовать ее в нашем сообществе Toradex, и мы проанализируем ее как можно быстрее. После установки вы сможете получить доступ к TorizonCore 5 через адаптер Verdin Development Board USB-to-Serial X66. Инструкции о том, как получить доступ к консоли модуля через последовательный порт, представлены в нашей статье «Настройка консоли отладки последовательного порта (Linux / U-Boot)». При первом входе в систему и пользователь, и пароль — torizon. Вам будет предложено изменить пароль, как показано на рисунке 11.
Теперь у нас есть Verdin iMX8MM с TorizonCore 5, и пришло время для практического использования контейнера.
Видео:OBD tester Mini, OBD2 TESTER PRO, тестирование напряжений в диагностической колодке автомобиляСкачать
Загрузка контейнера, готового к обмену данными по CAN на TorizonCore 5
Одна из основ TorizonCore — это использование контейнеров для изоляции приложений и управления ими, что осуществляется через Docker. Это может сбивать с толку разработчиков встраиваемых систем «старой школы», но это общая тенденция на рынке, поскольку встраиваемые устройства более мощные и способны выполнять более сложные задачи, чем в прошлом. Кроме того, безопасность сегодня вызывает большее беспокойство, чем когда-либо прежде.
Мы приглашаем вас ознакомиться с обзором TorizonCore с документацией, а также вы можете прочитать статью для быстрого начала работы с контейнерами на Torizon.
Но для нетерпеливых, необходимая настройка для этого руководства — иметь хост-машину с Docker и настроенную с эмуляцией Arm, чтобы вы могли создавать образы контейнеров для своего целевого устройства. Об этом у есть подробный обзор.
Пожалуйста, всегда создавайте образы докеров для TorizonCore на главном компьютере разработки. Хотя это можно сделать на целевом устройстве (например, Verdin iMX8MM), это займет гораздо больше времени. В рамках этого руководства мы можем создать образ докера со следующим файлом Dockerfile:
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🌟 Видео
CAN-шина, простой поиск данных в кан шине автомобиля. Как расшифровать и найти данные в кан шине?Скачать
ELM327: дорогой и дешевый - ЕСТЬ ЛИ РАЗНИЦА?Скачать
Проверим разъём OBD-2 мультиметром.Скачать
03 K line и CANСкачать
Распиновка OBD2 МИКАС.Скачать
поиск нерабочей can шины, часть дваСкачать
Штатная мультимедиа (ММС) Весты. Заставки. Прошивка. Видеосигнал. Разъемы: OBD 2 CAN, mini ISO.Скачать
Автосканер Super Mini ELM327 OBD-II Bluetooth CAN-BUSСкачать
Arduino CAN Monitor (простейший монитор шины CAN)Скачать
Как проверить К-линию.Скачать
Canbus - зачем он нужен? И как его настроить.Скачать
Нива. Сптроник. CAN шина.Скачать
Подробно про CAN шинуСкачать