ISO 15765-2 , [1] или ISO-TP (Транспортный уровень) - это международный стандарт для отправки пакетов данных по CAN-шине . Протокол позволяет транспортировать сообщения, которые превышают максимальную полезную нагрузку восьми байтов кадров CAN . ISO-TP сегментирует более длинные сообщения на несколько фреймов, добавляя метаданные, позволяющие интерпретировать отдельные фреймы и собирать получатель в полный пакет сообщения. Он может нести до 4095 байт полезной нагрузки на пакет сообщения.
В модели OSI ISO-TP охватывает уровень 3 (сетевой уровень) и 4 (транспортный уровень).
Наиболее распространенным приложением для ISO-TP является передача диагностических сообщений с транспортных средств, оборудованных OBD-2, с использованием KWP2000 и UDS , но он широко используется в других реализациях CAN для конкретных приложений.
ISO-TP может работать с собственной адресацией как так называемая расширенная адресация или без адреса, используя только CAN ID (так называемая нормальная адресация ). Расширенная адресация использует первый байт данных каждого кадра как дополнительный элемент адреса, уменьшая полезную нагрузку приложения на один байт. Для ясности нижеприведенное описание протокола основано на нормальной адресации с восьмибайтовыми кадрами CAN. Всего протоколом ISO 15765-2 разрешено шесть типов адресации.
ISO-TP добавляет один или несколько байтов метаданных к данным полезной нагрузки в восьмибайтовом кадре CAN, уменьшая полезную нагрузку до семи или менее байтов на кадр. Метаданные называются информацией управления протоколом или PCI. PCI составляет один, два или три байта. Начальное поле состоит из четырех битов, указывающих тип кадра и неявно описывающих длину PCI.
ISO 15765-2 является частью ISO 15765 (озаглавленный Дорожные транспортные средства - Диагностическая связь через сеть контроллеров (DoCAN) ), который состоит из следующих частей:
- ISO 15765-1 Часть 1: Общая информация и определение варианта использования
- ISO 15765-2 Часть 2: Транспортный протокол и услуги сетевого уровня
- ISO 15765-3 Часть 3: Внедрение унифицированных диагностических услуг (UDS на CAN) - заменено на ISO 14229-3 Транспортные средства - Единые диагностические услуги
- ISO 15765-4 Часть 4: Требования к системам, связанным с выбросами
Список типов полей информации управления протоколом
ISO-TP определяет четыре типа кадров:
Тип | Код | Описание |
---|---|---|
Одиночный кадр (SF) | 0 | Переданный единственный кадр содержит полную полезную нагрузку до 7 байтов (нормальная адресация) или 6 байтов (расширенная адресация). |
Первый кадр (FF) | 1 | Первый кадр более длинного пакета многокадрового сообщения, используемый, когда необходимо передать более 6/7 байтов сегментированных данных. Первый кадр содержит длину всего пакета вместе с исходными данными. |
Последовательный кадр (CF) | 2 | Кадр, содержащий последующие данные для многокадрового пакета |
Кадр управления потоком (FC) | 3 | ответ получателя, подтверждающий получение сегмента первого кадра. Он устанавливает параметры для передачи следующих друг за другом кадров. |
4..15 | Зарезервированный |
Битовое смещение | 7 .. 4 (байт 0) | 3 .. 0 (байт 0) | 15 .. 8 (байт 1) | 23..16 (байт 2) | .... |
---|---|---|---|---|---|
Одинокий | 0 | размер (0..7) | Данные А | Данные B | Данные C |
Первый | 1 | размер (8..4095) | Данные А | Данные B | |
Последовательный | 2 | индекс (0..15) | Данные А | Данные B | Данные C |
Поток | 3 | Флаг FC (0,1,2) | Размер блока | ST |
Сообщение размером семь или менее байтов отправляется в одном кадре, причем начальный байт содержит тип (0) и длину полезной нагрузки (1–7 байтов). С 0 в поле типа это также может проходить как более простой протокол с форматом данных длины и часто неправильно интерпретируется как таковой.
Сообщение длиннее 7 байтов требует сегментирования пакета сообщения на несколько кадров. Сегментированная передача начинается с первого кадра. В этом случае PCI составляет два байта, причем первое 4-битное поле указывает тип (тип 1), а следующие 12 бит - длину сообщения (исключая байты типа и длины). Получатель подтверждает передачу кадром управления потоком. Кадр управления потоком имеет три байта PCI, определяющие интервал между последующими кадрами и количество последовательных кадров, которые могут быть отправлены ( размер блока ).
Битовое смещение | 7 .. 4 | 3 .. 0 | 15 .. 8 | 23..16 |
---|---|---|---|---|
Описание | тип | если перевод разрешен | Размер блока | Время разделения (ST), минимальное время задержки между кадрами (конец одного кадра и начало другого) |
Одинокий | type = 3 | (0 = продолжить отправку, 1 = ждать, 2 = переполнение / прерывание) | 0 = оставшиеся «кадры» будут отправлены без управления потоком или задержки | <= 127, время разделения в миллисекундах. |
Одинокий | type = 3 | (0 = продолжить отправку, 1 = ждать, 2 = переполнение / прерывание) | > 0 отправить количество «кадров» перед ожиданием следующего кадра управления потоком | От 0xF1 до 0xF9 UF, от 100 до 900 микросекунд. |
Начальный байт содержит тип (type = 3) в первых четырех битах и флаг в следующих четырех битах, указывающий, разрешена ли передача (0 = Clear To Send, 1 = Wait, 2 = Overflow / abort). Следующий байт - это размер блока, количество кадров, которые могут быть отправлены до ожидания следующего кадра управления потоком. Нулевое значение позволяет отправлять оставшиеся кадры без управления потоком или задержки. Третий байт - это время разделения (ST), минимальное время задержки между кадрами. Значения ST до 127 (0x7F) указывают минимальное количество миллисекунд для задержки между кадрами, а значения в диапазоне от 241 (0xF1) до 249 (0xF9) определяют задержки, увеличивающиеся от 100 до 900 микросекунд. Обратите внимание, что время разделения определяется как минимальное время между концом одного кадра и началом следующего. Надежные реализации должны быть готовы принять кадры от отправителя, который неверно интерпретирует это как частоту повторения кадров, то есть от начала кадра до начала кадра. Даже тщательные реализации могут не учитывать незначительный эффект вставки битов на физическом уровне.
Отправитель передает остальную часть сообщения, используя последовательные кадры. Каждый последовательный кадр имеет однобайтовый PCI с четырехбитным типом (тип = 2), за которым следует 4-битный порядковый номер. Порядковый номер начинается с 1 и увеличивается с каждым отправленным кадром (1, 2, ..., 15, 0, 1, ...), с помощью которых можно обнаруживать потерянные или отброшенные кадры. Каждый последовательный кадр начинается с 0, первоначально для первого набора данных в первом кадре будут считаться 0-е данные. Таким образом, первый набор CF (последовательных кадров) начинается с «1». Затем, когда он достигнет «15», начнется с «0». Поле длиной 12 бит (в FF) позволяет использовать до 4095 байтов пользовательских данных в сегментированном сообщении, но на практике типичный предел для конкретного приложения значительно ниже из-за ограничений буфера приема или оборудования.
Параметры времени
Следует упомянуть временные параметры, такие как таймер P1 и P2.
Стандарты
Рекомендации
- ^ 14: 00-17: 00. «ISO 15765-2: 2016» . ISO . Проверено 5 апреля 2019 .CS1 maint: числовые имена: список авторов ( ссылка )