J1939
— стандарт коммуникационной и диагностической сети для различных машин. Изначально был разработан в
США
для грузовиков. Данный стандарт является коммерческой разработкой, поэтому мало распространён. Сеть, созданная на основе J1939, в качестве канального уровня использует коммуникационную шину
CAN
стандарта CAN 2.0b. Используются только расширенные идентификаторы (29 бит). В настоящее время находит широкое применение в сельскохозяйственной технике, автобусах, грузовых автомобилях.
Протокол включает в себя несколько стандартов (каждый регламентируется отдельным документом SAE J1939-xx), основанных на 7-уровневой
модели ISO/OSI
:
SAE J1939-1x — Physical Layer (физический уровень): определяет электрический интерфейс и физическую среду
SAE J1939-21 — Data Link Layer (канальный уровень): определяет обмен данными по CAN согласно спецификации CAN 2.0b
SAE J1939-31 — Network Layer (сетевой уровень): в основном описывает функциональность моста для обмена сообщениями между двумя сегментами сети
SAE J1939-4x — Transport Layer (транспортный уровень): описывает сетевые сервисы для режима запроса сообщений, передачи уведомлений и мультипакетной передачи больших блоков данных
SAE J1939-71 — Vehicle Application Layer (прикладной уровень): описывает фактические данные (параметры или переменные сети с диапазоном значений, разрешением, физическим модулем и типом передачи). Каждое сообщение имеет однозначную ссылку по номеру (номер группы параметров PGN)
Уровни 5 (Session) и 6 (Presentation) стандартом J1939 не используются.
Характеристики
Использует в качестве канального уровня CAN 2.0b и расширенный идентификатор (29 бит).
Скорости передачи, 250 Кбит/с или 500 Кбит/с.
Поддерживает широковещательные,адресные и мульти-пакетные сообщения размером до 1785 байт.
Определяет диагностический интерфейс.
Контролирует доступ к шине.
Стандартизирует сообщение, а также позволяет добавлять проприетарные (уникальные для каждого производителя сообщения).