CoderTools

Декодер CAN Bus & J1939

Инструмент анализа автомобильных сетей - Поддержка DBC

🔒 100% Локальная обработкаВведенные вами данные обрабатываются полностью в браузере и не отправляются на сервер.

Декодер CAN ID

Анализ CAN ID для извлечения параметров J1939, включая Приоритет, PGN, Адрес источника и Адрес назначения.

Документация

Этот инструмент обеспечивает всестороннюю поддержку анализа протоколов CAN (Controller Area Network) и SAE J1939. CAN — доминирующий стандарт связи в автомобильных и промышленных приложениях, а J1939 расширяет CAN для тяжелых транспортных средств и внедорожной техники.

Понимание протокола J1939

SAE J1939 — протокол верхнего уровня, построенный на CAN 2.0B с 29-битными расширенными идентификаторами. 29-битный CAN ID кодирует множество параметров, определяющих маршрутизацию и приоритет сообщений.

Структура идентификатора J1939

29-битный идентификатор разделен на отдельные поля. От старшего к младшему биту структура содержит Приоритет (3 бита), Зарезервировано/EDP (1 бит), Страницу данных (1 бит), Формат PDU (8 бит), PDU Specific (8 бит) и Адрес источника (8 бит). Такое кодирование обеспечивает эффективную приоритизацию и адресацию сообщений в автомобильной сети.

Priority (3) EDP (1) DP (1) PF (8) PS (8) SA (8)
Bit 28-26 | Bit 25 | Bit 24 | Bit 23-16 | Bit 15-8 | Bit 7-0

Номера групп параметров (PGN)

PGN — основной механизм адресации в J1939. Он идентифицирует тип и содержание передаваемых данных. PGN выводится из полей Формат PDU и PDU Specific, интерпретация зависит от того, использует ли сообщение формат PDU1 или PDU2.

Когда Формат PDU меньше 240 (0xF0), сообщение в формате PDU1 с адресацией к конкретному получателю. Поле PDU Specific содержит Адрес назначения. Когда Формат PDU равен 240 или больше, сообщение в формате PDU2 для широковещательных сообщений, и PDU Specific становится частью самого PGN.

Методы извлечения сигналов

Протоколы J1939 и CAN кодируют множество сигналов в 8-байтовых кадрах данных. Каждый сигнал имеет определенную начальную битовую позицию, длину в битах и порядок байтов. Этот инструмент поддерживает соглашения Intel (Little-Endian) и Motorola (Big-Endian).

Физические значения вычисляются из сырых значений сигналов по стандартной формуле: Физическое значение = Сырое значение × Коэффициент + Смещение. Это преобразование переводит двоичные показания датчиков в осмысленные инженерные единицы, такие как температура, давление или скорость.

Распространенные J1939 PGN

  • PGN 65262 (0xFEEE) — Температура двигателя 1: Содержит показания температуры охлаждающей жидкости, топлива и масла двигателя.
  • PGN 61444 (0xF004) — Электронный контроллер двигателя 1: Сообщает фактический крутящий момент двигателя, требуемый водителем момент и обороты двигателя (RPM).
  • PGN 65265 (0xFEF1) — Круиз-контроль/Скорость автомобиля: Предоставляет измерения скорости на основе колес и двигателя.
  • PGN 65269 (0xFEF5) — Условия окружающей среды: Содержит атмосферное давление, температуру окружающей среды и температуру воздуха на впуске двигателя.
  • PGN 65263 (0xFEEF) — Уровень/Давление жидкостей двигателя: Сообщает давление подачи топлива, давление масла и давление охлаждающей жидкости.

Практические применения

  • Разработка ECU: Проверка форматов сообщений при разработке встроенных контроллеров и интеграционном тестировании.
  • Диагностика автомобиля: Анализ трафика CAN в реальном времени для устранения проблем связи и проверки показаний датчиков.
  • Телематика автопарка: Анализ данных J1939 для мониторинга расхода топлива, учета моточасов и предиктивного обслуживания.
  • Калибровка силовой установки: Извлечение параметров двигателя для настройки производительности и проверки соответствия нормам выбросов.
  • Обучение протоколам: Изучение структуры протокола J1939 через практическое декодирование реальных примеров сообщений.

Соглашения о порядке байтов

Intel (Little-Endian) начинается с младшего бита и байта, обычно используется в процессорах x86 и многих современных ECU. Motorola (Big-Endian) начинается со старшего бита и байта, традиционно используется в CAN и автомобильных приложениях. Выбор правильного порядка байтов критически важен для точной интерпретации сигналов.

Обзор функций

Этот комплексный декодер CAN Bus предлагает четыре основных функциональных модуля для различных задач анализа автомобильных сетей:

  • Декодирование ID: Анализирует 29-битные расширенные ID J1939 или 11-битные стандартные ID. Извлекает приоритет, PGN, адрес источника, адрес назначения и информацию о формате PDU.
  • Извлечение данных: Извлекает значения сигналов из 8-байтовых CAN фреймов с настраиваемым начальным битом, длиной битов и порядком байтов. Поддерживает знаковые/беззнаковые целые и числа с плавающей точкой IEEE 754.
  • Просмотр логов: Анализирует CAN лог-файлы различных форматов, включая Linux candump, Vector ASC и PCAN TRC. Фильтрация по CAN ID и экспорт в CSV.
  • DBC декодер: Загрузите DBC файлы Vector CANdb++ для автоматического декодирования всех сигналов. Просматривайте сообщения, ищите сигналы, просматривайте узлы и выполняйте быстрое декодирование сигналов.

Поддержка DBC файлов

DBC (CAN Database) файлы определяют полную структуру CAN коммуникации, включая сообщения, сигналы, узлы и описания значений. Этот инструмент полностью поддерживает DBC файлы в формате Vector CANdb++.

После загрузки DBC файла вы можете просматривать все определённые сообщения с их временем цикла и количеством сигналов, искать среди тысяч сигналов по имени или единице измерения, просматривать ECU узлы и их передаваемые сообщения, а также быстро декодировать сырые CAN данные с использованием предопределённых описаний сигналов.

DBC парсер поддерживает: определения сообщений (BO_), определения сигналов (SG_), объявления узлов (BU_), описания значений (VAL_), комментарии (CM_), атрибуты (включая время цикла и начальные значения), порядок байтов Intel/Motorola и знаковые/беззнаковые типы значений.

Поддерживаемые форматы ввода

Поддерживает несколько форматов ввода данных для гибкости:

  • Hex с пробелами: Стандартный формат с байтами, разделёнными пробелами. Пример: FF 00 11 22 33 44 55 66
  • Hex без пробелов: Непрерывная hex строка без пробелов. Пример: FF00112233445566
  • Base64: Двоичные данные в кодировке Base64. Пример: /wARIjNEVWY=
  • C/C++ массив: Запись массива в стиле C. Пример: 0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66

Форматы лог-файлов

Просмотр логов поддерживает автоматическое определение распространённых форматов CAN логов:

  • Linux candump: (1234567890.123456) can0 18FEF100#FF00112233445566
  • Vector ASC: 0.000000 1 18FEF100x Rx d 8 FF 00 11 22 33 44 55 66
  • PCAN Trace: 1) 1234.5 18FEF100 8 FF 00 11 22 33 44 55 66

Поддержка транспортного протокола

Транспортный протокол J1939 (TP) позволяет передавать сообщения размером более 8 байт. Включение сборки TP позволяет автоматически анализировать многокадровые сообщения (BAM и CMDT), объединяя их в полные полезные данные.

Связанные инструменты

Быстрое меню

Нет недавних инструментов