Технология автомобильной шины | Практическое руководство по протоколу J1939 и решение для записи данных J1939
Технология автомобильной шины | Практическое руководство по протоколу J1939 и решение для записи данных J1939

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

«Да, это простое и практичное руководство по протоколу SAE J1939», — Хунке.

Начало:В этом введении,Мы представили основы протокола J1939.,К ним относятся ПГН и СПН. Поскольку это введение, ориентированное на применение,Таким образом, вы также узнаете, как пройтиDBC-файлдекодированиеJ1939данные、Как войти в J1939, типичные случаи применения и практические советы. под,Давайте узнаем об этом простом и понятном введении в J1939~

Что такое J1939?

Введение в J1939

Короче говоря, SAE J1939 на самом деле представляет собой набор стандартов. ЭБУ автомобилей большой грузоподъемности обмениваются данными по шине CAN в соответствии с этим набором стандартов. Большинство автомобилей сегодня используют CAN (сеть контроллеров) для связи с ЭБУ. Однако шина CAN обеспечивает лишь основу для связи (так же, как телефон), но не обеспечивает «язык» для диалога для выполнения более сложных операций. В большинстве крупных автомобилей этим «языком» является стандарт SAE J1939, определенный Обществом автомобильных инженеров (SAE). Если объяснить это профессиональным языком: на основе «физического уровня» CAN J1939 предоставляет протокол высокого уровня HLP (протокол более высокого уровня).

J1939 принадлежит к «протоколу более высокого уровня». J1939 основан на CAN, который обеспечивает базовый «физический уровень» и «уровень канала передачи данных», которые являются самым низким уровнем модели OSI. По сути, CAN обеспечивает только простую связь по шине CAN, но не более того. Будучи протоколом высокого уровня, J1939 может обеспечивать более сложную связь. Протокол более высокого уровня позволяет обмениваться данными между большими и сложными сетями. Например, САЭ Протокол J1939 определяет, как обрабатывать " многопакетная датаграмма », то есть когда необходимо передать данные размером более 8 байт. Аналогично, он определяет, как данные анализируются в удобочитаемые данные. Он делает это, предоставляя набор стандартов. J1939-71. В этом документе подробно описано, как. для преобразования большого количества сообщений J1939, уже используемых многими производителями, в необходимую удобочитаемую информацию данных (дополнительную информацию см. ниже).

Существует множество других протоколов более высокого уровня, основанных на CAN, таких как CANopen, DeviceNet, службы UDS. Хотя все они могут быть расширены производителями, они обычно представляют собой определенную степень стандарта в своих отраслях. Напротив, производители легковых автомобилей используют собственные стандарты. Другими словами, вы можете использовать один и тот же файл J1939.dbc для анализа оборотов двигателя двух грузовиков разных автомобильных компаний, но вы не можете использовать файл .dbc модели Peugeot 207 для анализа данных модели Audi A4.

J1939 — стандарт, широко используемый в тяжелых транспортных средствах и электрозарядных станциях. Проще говоря, J1939 стандартизирует связь между ЭБУ, или, другими словами: J1939 обеспечивает общий язык для разных производителей. Напротив, легковые автомобили используют собственные протоколы, настроенные OEM-производителями.

История J1939 года

  • 1994: Опубликованы первые документы (J1939-11, J1939-21, J1939-31).
  • 2000: Выпущена первоначальная документация верхнего уровня.
  • 2000: CAN был официально включен в стандарт J1939.
  • 2001: J1939 начинает заменять предыдущий стандарт SAE J1708/J1587.

Случаи применения J1939

Одним из наиболее известных применений J1939 является его применение на транспортных средствах большой грузоподъемности (таких как автобусы или грузовики) (однако производные стандарты SAE J1939 также используются в некоторых основных областях промышленности, таких как: ISO 11783, MilCAN, NMEA 2000, ФМС):

  • Лесозаготовительная техника: лесозаготовительные машины, лесовозы, сборщики бревен и т.д.
  • Горнодобывающая техника: бульдозеры, экскаваторы и т.д.
  • Военная техника: танки, транспортные машины и т.д.
  • Сельскохозяйственная техника: тракторы, комбайны и т.д.
  • Строительная отрасль: гидравлические мобильные подъемники, краны и т. д.
  • Спасательная техника: машина скорой помощи, пожарная машина и т.д.
  • Прочее: суда, электромобили, энергетическое оборудование, насосное оборудование и т. д.

Будущее J1939

С развитием телематических технологий для тяжелых транспортных средств J1939 играет все более важную роль на рынке Интернета транспортных средств. Поэтому безопасности записывающих устройств IoT (Интернета вещей) J1939 уделяется все больше внимания. В то же время OEM-производители постепенно перейдут от традиционного CAN к CAN FD и перейдут на протокол J1939 с переменной скоростью передачи данных. Кроме того, J1939 также используется в качестве стандарта прикладного уровня в области зарядных устройств для электромобилей. Например, протокол связи между внешним проводящим зарядным устройством электромобиля национального стандарта GBT27930-2015 и системой управления аккумулятором определяет группу параметров связи прикладного уровня J1939 и так далее. Благодаря устойчивому развитию электромобилей J1939 будет применяться ко все большему количеству узлов.

«Ожидается, что к 2020 году рынок средств связи в транспортных средствах (аппаратного обеспечения и приложений, которые предоставляют водителям или автопаркам множество новых функций) достигнет 120 миллиардов евро». Откуда: Бостон Consulting Group, Connected Vehicles and the Road to Revenue

Ключевые особенности J1939

Типичные характеристики протокола J1939

  • Скорость передачи данных 250 Кбит/с и 29-битный расширенный идентификатор

Скорость передачи данных J1939 обычно составляет 250 Кбит/с (в последнее время также поддерживается 500 Кбит/с) и имеет 18-битный расширенный идентификатор, всего 29-битных идентификаторов (CAN 2.0B).

  • Трансляции и запросы

Большинство сообщений J1939 распространяются по CAN-шине в виде широковещательных рассылок, а некоторые данные можно получить из CAN-шины только посредством запросов.

  • ПГН и СПН

В сообщении J1939 18-битный PGN (номера групп параметров) используется в качестве метки для группы параметров. В группе параметров имеется один или несколько конкретных параметров, и каждый конкретный параметр в группе параметров указан в J1939. идентифицируется 19-значным SPN (номером подозрительного параметра)

  • Многобайтовые переменные и многопакетные сообщения

Многобайтовые переменные отправляются первыми с младшим битом допустимого байта (порядок байтов Intel). Поддерживает PGN до 1785 байт в соответствии с транспортным протоколом.

  • Другие особенности J1939

Ниже приведен набор дополнительных характеристик протокола J1939:

Зарезервированные PGN: J1939 содержит большое количество стандартных PGN, но PGN от 00FF00 до 00FFFF зарезервированы. Специальный PGN: байты данных 0xFF (255) отражают данные N/A, а 0xFE (254) отражают ошибки.

Расширение: PGN (номер группы параметров)

PGN в J1939 включает 18 бит 29-битного CAN ID расширенного кадра. PGN — единственный идентификатор кадра в стандарте J1939 (PGN и SPN перечислены в документе J1939-71, вы можете проверить этот документ).

Пример:J1939 PGN 61444(EEC1) Предположим, вы записываете сообщение J1939 с идентификатором 0CF00401. Здесь PGN начинается с позиции 9 и имеет длину 18 (индексируется, начиная с индекса 1). from 1)). PGN — это 0F004 или 61444 в десятичной записи. в САЭ Выполните поиск в документе J1939-71 и обнаружите, что это " Электронный контроллер двигателя 1-EEC1 Кроме того, файл содержит подробную информацию о PGN, включая приоритет, скорость передачи и соответствующий SPN. Подробности см. на рисунке выше. В этом PGN имеется семь SPN (например, частота вращения двигателя, об/мин), и подробную информацию о каждом SPN можно запросить в документе J1939-71.

Сплит J1939 PGN Вышеупомянутое является лишь кратким объяснением, поскольку 29-битный идентификатор J1939 можно разбить на более мелкие детали. МОЖЕТ Идентификатор включает приоритет (3 бита), PGN (18 бит) и адрес источника (8 бит). Кроме того, PGN можно разделить на четыре части: зарезервированный бит (1 бит), бит страницы данных (1 бит), поле формата PDU (8 бит) и поле расширения группы (8 бит). Если вы хотите узнать больше, у нас есть очень популярный онлайн-конвертер для конвертации CAN Конвертируйте ID в PGN и просмотрите формулу расчета субкомпонентов PGN. Онлайн-конвертер можно получить в личном сообщении. Если вас интересует J1939 Если вас интересуют файлы DBC, это может облегчить понимание и помочь вам.

Расширение: SPN (номер подозрительного параметра)

SPN в J1939 используется в качестве идентификатора сигнала CAN (параметра), содержащегося в базе данных. SPN группируется в соответствии с PGN. Данные SPN могут быть извлечены в соответствии с начальной позицией бита, длиной бита, точностью (масштабом). смещение и единица измерения (а также информация или количества, необходимые для масштабирования до физических значений) для описания.

Пример: анализ SPN в J1939 190 (обороты двигателя) Предположим, вы записали исходное сообщение J1939 следующим образом:

CAN ID

байты данных

0CF00401

FF FF FF 68 13 FF FF FF

Разместив CAN Идентификатор преобразован в PGN J1939. Вы можете знать, что это упомянутый ранее PGN. 61444. Из документа J1939-71 вы можете проверить, что одним из SPN в этом PGN является частота вращения двигателя (SPN 190), детали которого приведены в таблице. Используя эти данные, можно извлечь «Скорость двигателя» данные физического значения, которые можно использовать для рисования изображений и т. д. Поэтому, пожалуйста, обратите внимание на соответствующие данные, расположенные в 4-м и 5-м байтах информации PGN, то есть шестнадцатеричные байты. 68 и 13 в данных. Преобразуйте 1368 из шестнадцатеричного формата (порядок байтов Intel) в десятичное, то есть 4968. Чтобы получить число оборотов в минуту, мы используем компенсировать 0 и 0,125. RPM /биты точности масштабируют это значение. Окончательное физическое значение (т.е. масштабированное инженерное значение) составляет 621. RPM。 Обратите внимание на некоторые из байтов выше. данныхдаFF或да255,То есть он недоступен. Хотя PGN теоретически может поддерживать SPN в этом диапазоне.,Но заполнение FF означает, что данные параметры не поддерживаются данным конкретным приложением.

SPN 190 Скорость двигателя Фактическая скорость двигателя, рассчитывается путем деления минимального угла коленчатого вала 720 градусов на количество цилиндров

PGN

61444

SPN

190

начало бита

24

длина бита

16

Точность

0,125 об/мин/бит

компенсировать

0

минимальное значение

0

максимальное значение

8031.875

Пример: J1939 DBC-файл Фактически, вам не нужно искать PDF-файл для анализа содержимого данных J1939. Эта информация может храниться в файле базы данных CAN (файл .dbc). J1939 DBC-файл может использоваться для декодирования данных на большинстве тяжелых транспортных средств. Исходные данные J1939 можно записать с помощью устройства записи данных шины CAN и проанализировать с помощью программных инструментов CAN, которые поддерживают преобразование DBC (например, программное обеспечение PCAN-Explorer6). Обычно при этом анализируются данные для 40–60 % автомобилей, представленных на рынке, а остальная часть — это данные, специфичные для OEM-производителей, где требуется обратный инжиниринг.

Дополнительно: запросы J1939 и многопакетные сообщения.

J1939 запросить сообщение Протокол J1939 поддерживает различные расширенные операции, такие как запросы, многопакетный обмен сообщениями и мультиплексирование: Большинство сообщений J1939 транслируются по CAN-шине, но некоторую информацию необходимо запросить (например, Какой-то Диагностический код неисправности J1939). Это от "запросить сообщение”(PGN 59904) для достижения этой цели требуется всего 3 байта. Сообщение J1939 данных. Он имеет уровень приоритета 6, переменную скорость передачи и может быть отправлен как глобальный запрос или запрос для конкретного адреса. байты данные с 1-го по 3-й бит должны содержать запрошенный PGN (порядок байтов Intel), здесь J1939запросить Диагностическая информация (ДМ) включена в сообщение. Для OBD2 вы можете использовать список передач в нашем CANedge для установки SAE. J1939иззапросить сообщение。

J1939 информация о нескольких упаковках ПГН и Пример СПН основан на 8 байтах. данных J1939, размер которого равен большинству сообщений. Но есть два других типа сообщений: 3 байта. данныхиззапросить сообщениеибайты переменная сообщения данных. байты последнего данных превышает обычный 8-байтовый предел формата CAN-шины. Такие сообщения называются многокадровыми или многопакетными сообщениями J1939. Протокол J1939 определяет процесс дизассемблирования, передачи и повторной сборки пакетов данных. Этот процесс называется транспортным протоколом (см. J1939-21), существует два способа передачи многопакетных сообщений: 1、 Управление соединением (передача «точка-точка»): подходит для конкретных устройств 2、 Широковещательное уведомление (с использованием глобального адреса): применимо ко всей сети.

Проще говоря, широковещательное уведомление основано на отправке ECU исходной группы широковещательных уведомлений для установления работы передачи. Широковещательное уведомление определяет многопакетный идентификатор PGN и передаваемые байты. Количество данных и пакетов данных, максимальное количество пакетов данных — 255. Первые байты в каждом пакете данных данные используются для хранения серийных номеров (от 1 до 255), за которыми следуют 7 байт. данные. Таким образом, максимальная передача байтов количество данных составляет 7 байт x 255 = 1785 байт. Окончательный пакет данных должен содержать хотя бы один байт данных, а любые данные, не используемые позже, будут заполнены FF. В режиме широковещательных уведомлений интервал между сообщениями составляет 50-200 мс. Наконец, программное обеспечение преобразования может объединить данные из нескольких сообщений в строку и проанализировать ее на основе PGN и SPN в многопакетных сообщениях.

Анализ данных выборки грузовиков J1939

Ниже мы расскажем, как выглядят реальные данные J1939. Это «необработанные» данные J1939, записанные с тяжелого грузовика с использованием CANedge2, а «физические значения» — это выходные данные после анализа подключаемым модулем анализа J1939 DBC программного обеспечения PCAN-Explorer6.

Пример: необработанные данные грузовика J1939 (CSV). Данные, записанные с помощью CANedge, сохраняются в виде файла .mdf4 в стандартизированном двоичном формате, который можно преобразовать в любой формат файла (например, в CSV, ASC, TRC и т. д.) с помощью нашего конвертера файлов .mdf4. Ниже представлена ​​CSV-версия исходной платформы J1939. Обратите внимание, что МОЖЕТ ID — байт все данные представлены в шестнадцатеричном формате:

Вы можете скачать полный пример исходного файла J1939 .mdf4 в нашем вводном документе CANedge2. Образец данных также включает образец J1939 DBC, чтобы вы могли попытаться проанализировать сообщения J1939 с помощью программного обеспечения PCAN-Explorer6.

Пример: декодированные данные физических величин грузовика J1939 (CSV). После декодирования и экспорта необработанных данных J1939 результатом будет, например, температура масла, скорость. двигателя,GPS,燃油率и速度之类带有时间戳из参数,Если вы хотите узнать больше о записи данных J1939Пример, вы можете связаться с Хунке для получения подробной информации ~

Регистратор CANedge J1939 и примеры применения

Регистратор CANedge позволяет легко записывать данные J1939 на SD-карту объемом 8–32 ГБ. Просто подключите его к большему транспортному средству, чтобы начать запись, и данные можно будет декодировать с помощью программного обеспечения PCAN-Explorer6 и нашего J1939 DBC.

Регистрация данных J1939 — пример применения

  • Телематика большегрузного флота

Данные J1939 от грузовых автомобилей, автобусов, тракторов и т. д. можно использовать при управлении автопарком для снижения затрат или повышения безопасности.

  • Диагностика в режиме реального времени

Передавая декодированные данные J1939 на ПК, технические специалисты могут анализировать и диагностировать автомобиль в режиме реального времени.

  • профилактическое обслуживание

Транспортные средства можно контролировать с помощью устройства записи IoT CAN в облаке, а неисправности можно прогнозировать и избегать на основе данных J1939.

  • Черный ящик для тяжелых транспортных средств

Регистраторы CAN можно использовать в качестве «черных ящиков» для большегрузных автомобилей, предоставляя данные для споров, диагностики и т. д.

  • Мониторинг данных о зарядке электромобилей

У вас есть данные J1939, которые вы хотите проанализировать? Пожалуйста, свяжитесь с Хунке, мы сможем вам помочь~

6 практических советов по регистрации данных J1939

Многие из наших конечных пользователей будут записывать J1939 на месте. Ниже мы поделимся 6 практическими советами по записи:

1. Регистратор J1939 и интерфейс данных J1939.

Автономный регистратор данных J1939 с SD-картой идеально подходит для записи данных автомобиля в течение недель или месяцев. Версия рекордера J1939 с поддержкой Wi-Fi также поддерживает телематические функции. Если используется интерфейс USB-PC J1939, сторона ПК должна передавать данные по шине CAN в режиме реального времени. Версия рекордера J1939 с Wi-Fi особенно удобна для диагностики или анализа данных. CLX000 поддерживает два режима работы, CANedge2 очень подойдет для телематики.

2. Разъёмы и бесконтактное считывание

Если вы хотите подключить CAN-анализатор к машине, которая обменивается данными с J1939 (например, к грузовику), вы обычно можете использовать 9-контактный разъем J1939. Мы можем предоставить вам разъем DB9-J1939, который подходит к 9-контактному немецкому разъему, используемому во многих тяжелых транспортных средствах. В качестве альтернативы вы можете подключить CAN-рекордер к CAN-шине через CANCrocodile. Эти методы позволяют записывать данные, не мешая передаче данных по шине CAN, и не требуют отключения каких-либо линий CAN.

3. Загрузка данных Wi-Fi и сотовой связи (3G/4G).

Для управления автопарком и телематики данные обычно загружаются через Wi-Fi или 3G/4G. С помощью CANedge2 вы можете передавать данные, подключившись к Wi-Fi, который может быть создан маршрутизатором WLAN или точкой доступа 3G/4G. Если вам нужны данные из движущегося грузовика, вы можете установить CANedge2 и использовать его для питания точки доступа USB 3G/4G. Преимущество этого заключается в том, что у вас есть непрерывный доступ к устройству, если устройство не потеряет сигнал. Однако если вам необходимо загружать данные только регулярно, вы можете загружать данные через WLAN, когда автомобиль направляется в определенное место (например, гараж, ремонтную мастерскую и т. д.), тем самым снижая затраты на передачу данных.

4. Выбор программного обеспечения и 1939 год. DBC-файл

При записи или передаче данных J1939 ключевое значение имеет программное обеспечение для постобработки. В частности, программное обеспечение должно поддерживать Анализ DBC, позволяющий легко получить удобочитаемые данные. Наше программное обеспечение PCAN-Explorer6 поддерживает эту функцию и может выполнять анализ DBC в режиме реального времени. Кроме того, в сотрудничестве с SAE мы также можем предоставить J1939. DBC-файлиз下载。

5. Рассмотрите необходимость запроса PGN

Некоторые номера PGN J1939 доступны по запросу, а это означает, что вам необходимо регистрировать эту информацию, постоянно запрашивая шину CAN. CANedge и CLX000 способны отправлять пользовательские сообщения CAN, которые можно использовать для отправки запросов PGN через регулярные промежутки времени. Однако, если вы установите рекордер в «тихий режим», вы не сможете включить эту функцию (т.е. если регистратор подключен через CANCrocodile и т.п., эту функцию включить нельзя).

6. Фильтруйте, сжимайте и шифруйте данные.

Для оптимизации записи данных J1939 может оказаться полезным ряд расширенных настроек. В частности, расширенные параметры фильтра и частоты дискретизации CANedge помогают оптимизировать объем записываемых данных, что является ключом к минимизации использования полосы пропускания сотовой связи. Другие опции включают режим «только прослушивание» и циклическую запись, которая позволяет диктофону всегда отдавать приоритет последним данным (полезно при записи в «черный ящик»).

Поскольку J1939 стандартизирован, крайне важно шифровать данные как «в состоянии покоя» (на SD-карте), так и «в пути» (в процессе загрузки). Это снижает различные риски безопасности, с которыми вы сталкиваетесь при обработке данных, включая штрафы GDPR/CCPA, утечку конфиденциальной информации и нарушение целостности данных. Для получения более подробной информации о защите записей данных J1939 свяжитесь с Hongke.

Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/132929.html Исходная ссылка: https://javaforall.cn

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.