ISO 15765-2 , [ 1 ] o ISO-TP (Capa de Transporte) , es un estándar internacional para enviar paquetes de datos a través de un bus CAN . [ 2 ] El protocolo permite el transporte de mensajes que superan la carga útil máxima de ocho bytes de las tramas CAN . ISO-TP segmenta los mensajes más largos en múltiples tramas, agregando metadatos (encabezado CAN-TP) que permiten la interpretación de tramas individuales y su reensamblaje en un paquete de mensaje completo por parte del destinatario. Puede transportar hasta 2 32 -1 (4294967295) bytes de carga útil por paquete de mensaje a partir de la versión de 2016. [ 2 ] Las versiones anteriores estaban limitadas a un tamaño máximo de carga útil de 4095 bytes.
En el modelo OSI , ISO-TP abarca la capa 3 (capa de red) y la capa 4 (capa de transporte).
La aplicación más común de ISO-TP es la transferencia de mensajes de diagnóstico en vehículos equipados con OBD-II mediante KWP2000 y UDS , pero también se utiliza ampliamente en otras implementaciones CAN específicas de la aplicación, donde puede ser necesario enviar mensajes más largos de lo que permite la capa física del protocolo CAN (ocho bytes para CAN, 64 bytes para CAN FD y 2048 bytes para CAN-XL).
ISO-TP puede funcionar con su propio direccionamiento, denominado Direccionamiento Extendido , o sin direccionamiento, utilizando únicamente el ID CAN (denominado Direccionamiento Normal ). El Direccionamiento Extendido utiliza el primer byte de datos de cada trama como un elemento adicional de la dirección, reduciendo la carga útil de la aplicación en un byte. Para mayor claridad, la descripción del protocolo que se presenta a continuación se basa en el Direccionamiento Normal con tramas CAN de ocho bytes. En total, el protocolo ISO 15765-2 permite seis tipos de direccionamiento.
ISO-TP añade uno o más bytes de metadatos a los datos de carga útil en la trama CAN de ocho bytes, reduciendo así la carga útil a siete bytes o menos por trama. Los metadatos se denominan Información de Control de Protocolo (PCI, por sus siglas en inglés). La PCI puede constar de uno, dos o tres bytes. El campo inicial consta de cuatro bits que indican el tipo de trama y describen implícitamente la longitud de la PCI.
La norma ISO 15765-2 forma parte de la norma ISO 15765 (titulada Vehículos de carretera: comunicación de diagnóstico a través de la red de área de controlador (DoCAN) ), que consta de las siguientes partes:
- ISO 15765-1 Parte 1: Información general y definición de casos de uso
- ISO 15765-2 Parte 2: Protocolo de transporte y servicios de capa de red
- ISO 15765-3 Parte 3: Implementación de servicios de diagnóstico unificados (UDS en CAN) – reemplazada por ISO 14229-3 Vehículos de carretera — Servicios de diagnóstico unificados
- ISO 15765-4 Parte 4: Requisitos para sistemas relacionados con las emisiones
Lista de tipos de campos de información de control de protocolo (PCI).
El ISO-TP define cuatro tipos de trama:
En una sola trama se envía un mensaje de siete bytes o menos, cuyo byte inicial contiene el tipo (0) y la longitud de la carga útil (de 1 a 7 bytes). Al contener un 0 en el campo de tipo, este mensaje también puede interpretarse como un protocolo más simple con un formato de longitud-datos, lo que a menudo se malinterpreta.
Un mensaje de más de 7 bytes requiere segmentar el paquete de mensajes en múltiples tramas. Una transferencia segmentada comienza con una primera trama. La trama PCI es de dos bytes en este caso, donde el primer campo de 4 bits indica el tipo (tipo 1) y los siguientes 12 bits la longitud del mensaje (sin incluir los bytes de tipo y longitud). El destinatario confirma la transferencia con una trama de control de flujo. La trama de control de flujo tiene tres bytes PCI que especifican el intervalo entre tramas subsiguientes y la cantidad de tramas consecutivas que se pueden enviar ( tamaño de bloque ).
Para CAN FD, el protocolo ISO 15765-2 se ha ampliado para tramas únicas y de primer tamaño, para permitir valores de tamaño mayores, pero sigue siendo compatible con versiones anteriores del ISO 15765 tradicional. Consulte CAN FD .
El byte inicial contiene el tipo (tipo = 3) en los primeros cuatro bits y un indicador en los siguientes cuatro bits que indica si la transferencia está permitida (0 = Continuar enviando, 1 = Esperar, 2 = Desbordamiento/abortar). El siguiente byte es el tamaño del bloque, la cantidad de tramas que se pueden enviar antes de esperar la siguiente trama de control de flujo. Un valor de cero permite que las tramas restantes se envíen sin control de flujo ni retardo. El tercer byte es el Tiempo de Separación Mínimo (STmin), el tiempo de retardo mínimo entre tramas. Los valores de STmin de hasta 127 (0x7F) especifican el número mínimo de milisegundos de retardo entre tramas, mientras que los valores en el rango de 241 (0xF1) a 249 (0xF9) especifican retardos que aumentan de 100 a 900 microsegundos. Tenga en cuenta que el Tiempo de Separación se define como el tiempo mínimo entre el final de una trama y el comienzo de la siguiente. Las implementaciones robustas deben estar preparadas para aceptar tramas de un remitente que interprete erróneamente esto como la tasa de repetición de tramas, es decir, desde el inicio de una trama hasta el inicio de otra. Incluso las implementaciones cuidadosas pueden no tener en cuenta el efecto menor del relleno de bits en la capa física.
El remitente transmite el resto del mensaje mediante tramas consecutivas. Cada trama consecutiva tiene un identificador PCI de un byte, con un tipo de cuatro bits (tipo = 2) seguido de un número de secuencia de cuatro bits. El número de secuencia comienza en 1 y se incrementa con cada trama enviada (1, 2, ..., F, 0, 1, ...), lo que permite detectar tramas perdidas o descartadas. Cada trama consecutiva comienza en 0; inicialmente, el primer conjunto de datos de la primera trama se considera como el dato 0. Por lo tanto, el primer conjunto de tramas consecutivas (CF) comienza en 0x1. Posteriormente, cuando llega a 0x2F, comienza en 0x20 (por ejemplo, 0x21, 0x22, 0x23... 0x2F, 0x20, 0x21...). El campo de longitud de 12 bits (como se indica en el primer fotograma) permite hasta 4095 bytes de datos de usuario en un mensaje segmentado, pero en la práctica el límite típico específico de la aplicación es considerablemente menor debido a las limitaciones del búfer de recepción o del hardware.
Parámetros de temporización
Es necesario mencionar parámetros de temporización, como los temporizadores P1 y P2.
Estándares
ISO 15765-2:2016 Vehículos de carretera - Comunicación de diagnóstico a través de la red de área de controlador (DoCAN) - Parte 2: Protocolo de transporte y servicios de la capa de red
Referencias
- ↑ "ISO 15765-2:2016" . ISO . Consultado el 5 de abril de 2019 .
- 1 2 "ISO 15765-2 (ISO-TP) — La documentación del núcleo de Linux" . docs.kernel.org . Consultado el 12 de septiembre de 2025 .
- Redes informáticas