ИСО 15765-2
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2019 г. ) |
ИСО 15765-2 , [1] или ISO-TP (Transport Layer) — международный стандарт отправки пакетов данных по CAN-шине . Протокол позволяет передавать сообщения, размер которых превышает максимальную полезную нагрузку в восемь байтов кадров CAN . ISO-TP сегментирует более длинные сообщения на несколько кадров, добавляя метаданные (заголовок CAN-TP), которые позволяют интерпретировать отдельные кадры и повторно собирать получателем полный пакет сообщения. Он может нести до 2 32 -1 (4294967295) байт полезной нагрузки на пакет сообщения, начиная с версии 2016 года. В предыдущей версии максимальный размер полезной нагрузки был ограничен 4095 байтами.
В модели OSI ISO-TP охватывает уровни 3 (сетевой уровень) и 4 (транспортный уровень).
Наиболее распространенным применением ISO-TP является передача диагностических сообщений на OBD-2 автомобили, оборудованные , с использованием KWP2000 и UDS , но он широко используется в других реализациях CAN для конкретных приложений, где может потребоваться отправлять сообщения длиннее, чем физический протокол CAN. позволяет уровень (8 байт для CAN, 64 байта для CAN-FD и 2048 байт для CAN-XL).
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 | ответ получателя, подтверждающий сегмент первого кадра. Он устанавливает параметры для передачи дальнейших последовательных кадров. |
Битовое смещение | 7 .. 4 (байт 0) | 3 .. 0 (байт 0) | 15 .. 8 (байт 1) | 23..16 (байт 2) | .... |
---|---|---|---|---|---|
Одинокий | 0 | размер (0..7) | Данные А | Данные Б | Данные С |
Первый | 1 | размер (8..4095) | Данные А | Данные Б | |
Последовательный | 2 | индекс (0..15) | Данные А | Данные Б | Данные С |
Поток | 3 | Флаг ФК (0,1,2) | Размер блока | СТ |
Сообщение размером семь байт или менее отправляется в одном кадре, причем начальный байт содержит тип (0) и длину полезной нагрузки (1–7 байт). Если в поле типа указан 0, это также может считаться более простым протоколом с форматом данных длины и часто неверно интерпретируется как таковой.
Сообщение длиной более 7 байт требует сегментации пакета сообщения на несколько кадров. Сегментированная передача начинается с первого кадра. В этом случае PCI состоит из двух байтов, причем первые 4 бита представляют собой тип (тип 1), а следующие 12 бит - длину сообщения (исключая байты типа и длины). Получатель подтверждает передачу кадром управления потоком. Кадр управления потоком имеет три байта PCI, определяющие интервал между последующими кадрами и количество последовательных кадров, которые могут быть отправлены ( Размер блока ).
Для CAN FD протокол ISO 15765-2 был расширен для одиночного и первого кадра, чтобы обеспечить большие значения размера, но при этом он по-прежнему обратно совместим с традиционным ISO 15765. См. CAN FD .
Битовое смещение | 7 .. 4 (байт 0) | 3 .. 0 (байт 0) | 15 .. 8 (байт 1) | 23..16 (байт2) |
---|---|---|---|---|
Описание | тип | если передача разрешена | Размер блока | Separation Time (ST), минимальное время задержки между кадрами (конец одного кадра и начало другого) |
Одинокий | тип = 3 | (0 = продолжить отправку, 1 = подождать, 2 = переполнение/прерывание) | 0 = оставшиеся «кадры» для отправки без управления потоком или задержки. | <= 127 (от 0x00 до 0x7F), время разделения в миллисекундах. |
Одинокий | тип = 3 | (0 = продолжить отправку, 1 = подождать, 2 = переполнение/прерывание) | > 0 отправить количество «кадров» перед ожиданием следующего кадра управления потоком | От 0xF1 до 0xF9 UF, от 100 до 900 микросекунд. |
Начальный байт содержит тип (тип = 3) в первых четырех битах и флаг в следующих четырех битах, указывающий, разрешена ли передача (0 = продолжить отправку, 1 = ждать, 2 = переполнение/прерывание). Следующий байт — это размер блока, количество кадров, которые могут быть отправлены до ожидания следующего кадра управления потоком. Нулевое значение позволяет отправлять оставшиеся кадры без управления потоком или задержки. Третий байт — это время разделения (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.
Стандарты
[ редактировать ]Ссылки
[ редактировать ]- ^ «ИСО 15765-2:2016» . ИСО . Проверено 5 апреля 2019 г.