ES2733332T3 - Protocolo de transmisión de datos con estado de excepción de protocolo - Google Patents
Protocolo de transmisión de datos con estado de excepción de protocolo Download PDFInfo
- Publication number
- ES2733332T3 ES2733332T3 ES13814543T ES13814543T ES2733332T3 ES 2733332 T3 ES2733332 T3 ES 2733332T3 ES 13814543 T ES13814543 T ES 13814543T ES 13814543 T ES13814543 T ES 13814543T ES 2733332 T3 ES2733332 T3 ES 2733332T3
- Authority
- ES
- Spain
- Prior art keywords
- message
- protocol
- bit
- communication protocol
- recipient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title description 13
- 238000004891 communication Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000001514 detection method Methods 0.000 claims description 7
- 238000003708 edge detection Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/4013—Management of data rate on the bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Procedimiento para intercambiar datos entre abonados (200, 250) interconectados mediante un sistema de bus (100), en donde mensajes que contienen los datos se intercambian de acuerdo con un primer protocolo de comunicación, en donde los mensajes consisten en una secuencia de bits, en donde al menos un bit de control con una posición predeterminada dentro del mensaje que se intercambia de acuerdo con el primer protocolo de comunicación debe tener un valor predeterminado, en donde, para cada mensaje, un abonado desempeña la función de remitente y al menos otro abonado recibe el mensaje como destinatario y realiza un control de errores para el mensaje, caracterizado por que en caso de presencia de al menos un bit de control con un valor distinto del valor predeterminado, al menos un destinatario adopta un estado de excepción de protocolo, en el que suspende el control de errores hasta que se cumpla una condición de reanudación para el uso del primer protocolo de comunicación, en donde la aparición de un número predeterminado de bits recesivos consecutivos se define como condición de reanudación, de modo que se garantiza que el al menos un destinatario se quede esperando en el estado de excepción de protocolo hasta que el mensaje haya sido transmitido.
Description
DESCRIPCIÓN
Protocolo de transmisión de datos con estado de excepción de protocolo
Estado de la técnica
La presente invención se basa en un procedimiento para intercambiar datos entre abonados interconectados mediante un sistema de bus, en donde los mensajes que contienen los datos se intercambian de acuerdo con un primer protocolo de comunicación, en donde los mensajes consisten en una secuencia de bits y al menos un bit de control con una posición predeterminada dentro del mensaje que se intercambia de acuerdo con el primer protocolo de comunicación debe tener un valor predeterminado, en donde, para cada mensaje, un abonado desempeña la función de remitente y al menos otro abonado recibe el mensaje como destinatario y realiza un control de errores para el mensaje.
Un procedimiento de este tipo se puede encontrar, por ejemplo, en los controladores de comunicación de la red de área del controlador (CAN, controller area network). Se describe, por ejemplo, en la especificación BOSCH CAN 2.0, que se puede descargar desde el sitio web de Robert Bosch GmbH http://www.semiconductors.bosch.de. En este caso, el sistema de bus es generalmente un par de líneas, tal como un cable de cobre retorcido. El protocolo CAN está muy generalizado, por ejemplo, en la industria automotriz, en la automatización industrial, o también en la conectividad en edificios. Los mensajes que se han de transmitir en el protocolo CAN tienen un encabezado, un campo de datos y una cola, estando los datos que se han de transmitir contenidos en el campo de datos. El encabezado del mensaje contiene un bit de inicio de trama, un campo de arbitraje, así como un campo de control. El campo de arbitraje comprende el identificador que determina la prioridad del mensaje. CAN admite longitudes de identificador de 11 bits ("formato estándar" o "formato base") y 29 bits ("formato extendido"). El campo de control comprende un código de longitud de datos, que especifica la longitud del campo de datos. La cola del mensaje tiene un campo CRC, un campo de acuse de recibo y un campo de fin de trama. Este protocolo CAN se denomina a continuación "Norma CAN". A través de la Norma CAN se alcanzan tasas de transmisión de bits de hasta 1 Mbit/s.
Las funciones de remitente y destinatario para los mensajes que se han de transmitir se asignan entre los abonados mediante un procedimiento de arbitraje basado en la información del encabezado de los mensajes. Procedimiento de arbitraje en este contexto significa que, con ayuda de un identificador contenido en el mensaje, se negocia qué abonado obtiene acceso de emisión al bus cuando varios abonados intentan al mismo tiempo emitir un mensaje, en donde, en el caso de identificadores asignados unívocamente, se le otorga exactamente a un abonado el acceso de emisión mediante el procedimiento de arbitraje. El al menos un bit de control requerido para la invención está contenido en el encabezado en el caso de CAN y es, por ejemplo, un bit reservado en el campo de arbitraje o en el campo de control, que, con un valor predeterminado, siempre se debe transmitir, por ejemplo, de forma dominante.
Muchos otros sistemas de comunicación conocen bits reservados similares, que siempre se transmiten con un valor fijo. A continuación se presenta la idea de la invención a partir de CAN. Sin embargo, la invención no se limita a los sistemas de bus CAN, sino que se puede llevar a cabo a partir de cualquier sistema de bus que cumpla con las características del preámbulo del procedimiento reivindicado.
La introducción de aplicaciones cada vez más interconectadas, por ejemplo sistemas de asistencia en vehículos, o sistemas de control en red en plantas industriales, conduce al requisito general de que debe aumentarse el ancho de banda para la comunicación en serie.
Dos factores limitan la velocidad de datos efectiva en redes de la Norma CAN, a saber, la duración de bit, por un lado, es decir la longitud temporal de un bit, que está limitada por debajo por la función del procedimiento de arbitraje del bus CAN, y, por otro lado, la relación entre el número de bits de datos y bits de control, es decir, bits que no contienen carga útil, en un mensaje CAN.
A partir del documento WO 2012/136547 A1 se conoce otro protocolo, llamado "CAN con velocidad de datos flexible" o CAN FD. Este utiliza el procedimiento de arbitraje de bus conocido por CAN, pero aumenta la tasa de transmisión de bits cambiando a una duración de bit más corta después del final del arbitraje hasta el bit delimitador de CRC. La velocidad de datos efectiva también se aumenta al permitir campos de datos más largos. CAN FD es también un procedimiento de intercambio de datos entre abonados interconectados mediante un sistema de bus, en donde los mensajes que contienen los datos son intercambiados de acuerdo con un primer protocolo de comunicación, en donde los mensajes consisten en una secuencia de bits y, dentro de cada mensaje que contiene datos, al menos un bit de control con una posición predeterminada dentro de la secuencia de bits debe tener un valor predeterminado.
CAN FD puede utilizarse para la comunicación general, pero también en determinados modos de funcionamiento, por ejemplo, para la descarga de software o la programación de fin de línea o para trabajos de mantenimiento.
CAN FD requiere dos conjuntos de registros de configuración de ciclo de bits, que definen una duración de bit para la fase de arbitraje y otra duración de bit para la fase de datos. La duración de bit de la fase de arbitraje tiene las mismas
limitaciones que en las redes de la Norma CAN, la duración de bit de la fase de datos puede elegirse más corta en cuanto al rendimiento de los transceptores seleccionados y los requisitos de la red CAN FD.
Un mensaje CAN FD consta de los mismos elementos que un mensaje de la Norma CAN, aunque difieren en algunos detalles. Así pues, en un mensaje CAN FD, el campo de datos y el campo CRC pueden ser más largos. En la figura 1 se muestran ejemplos de mensajes de la Norma CAN y CAN FD.
CAN FD admite las dos longitudes de identificador del protocolo CAN, el "formato estándar" de 11 bits de largo, también llamado "formato base", y el "formato extendido" de 29 bits de largo. Los mensajes CAN-FD tienen la misma estructura que los mensajes de la Norma CAN. La distinción entre mensajes de la Norma CAN y mensajes CAN-FD se produce mediante un bit reservado, que siempre se transmite de forma dominante en la Norma CAN, que lleva el nombre "r0" o "r1" y se encuentra en el campo de control antes del código de longitud de datos. En un mensaje CAN FD, este bit se transmite de forma recesiva y se llama EDL. En los mensajes CAN FD, en comparación con los mensajes de la Norma CAN, siguen bits de campo de control adicionales, por ejemplo el bit BRS, que indica la posición en la que, si el bit BRS tiene un valor pertinente, la duración de bit en un mensaje CAN FD se cambia a un valor más corto. Esto está representado en la Figura 1a mediante flechas que dividen los mensajes en un segmento con la denominación "fase de datos CAN FD", en la que se utiliza la tasa de transmisión de bits alta o la duración de bit corta, y en dos segmentos con los nombres "fase de arbitraje CAN FD", donde se utiliza la tasa de transmisión de bits más baja o la duración de bit más larga.
El número de bytes en el campo de datos se indica mediante el código de longitud de datos. Este código tiene 4 bits de ancho y se transmite en el campo de control. La codificación es diferente para CAN FD que para la Norma CAN. Los primeros nueve códigos (0x0000 a 0x1000) son iguales, pero los siguientes códigos (0x1001 a 0x1111) corresponden a campos de datos más grandes de los mensajes c An FD, por ejemplo 12, 16, 20, 24, 32, 48 y 64 bits.
Se pueden utilizar transceptores de la Norma CAN para CAN FD, transceptores especiales son opcionales y pueden contribuir, dado el caso, a incrementar adicionalmente la tasa de transmisión de bits en la fase de datos.
El protocolo CAN FD se describe en una especificación de protocolo titulada "Especificación CAN con velocidad de datos flexible", en lo sucesivo denominada especificación CAN FD, que se puede descargar desde el sitio web de Robert Bosch GmbH http://www.semiconductors.bosch.de.
Si se utilizan controladores de la Norma CAN sin modificar, una red mixta de abonados de la Norma CAN y abonados de CAN FD solo puede comunicarse en el formato de la Norma CAN. Es decir, todos los abonados en la red deben tener un controlador de protocolo CAN FD, para efectuar la comunicación CAN FD. Sin embargo, todos los controladores de protocolo CAN FD son capaces de participar en una comunicación de la Norma CAN.
Una de las razones por las que se recurre a una comunicación de red mixta más lenta es la supervisión de la comunicación por parte de los abonados de la comunicación, lo que por ejemplo en sistemas de bus CAN se encarga a la vez de la alta seguridad de la transmisión. Dado que los controladores de la Norma CAN sin modificar no pueden recibir correctamente los bits de datos más rápidos de los mensajes CAN FD, corromperían estos mensajes con mensajes de error (las llamadas tramas de error). Del mismo modo, los controladores CAN FD corromperían con tramas de error mensajes que intentarían transmitir después del arbitraje, por ejemplo usando una duración de bit acortada nuevamente con respecto a la especificación CAN FD o usando otra codificación de bits o un protocolo diferente. Por lo tanto, la velocidad de transmisión puede limitarse, por lo general, por uno de los abonados más lentos en la red, o a través de su mecanismo de supervisión.
En particular, cuando se va a realizar una transmisión de datos entre dos abonados determinados, que están configurados para un protocolo de comunicación distinto, por ejemplo más rápido, esta limitación no siempre es necesaria y puede ser desventajosa, en particular si en este protocolo de comunicación distinto puede prescindirse de los mecanismos de supervisión que llevarían a la corrupción de los mensajes distintos o más rápidos.
Al menos en determinados casos de aplicación pueden alcanzarse, por lo tanto, velocidades de transmisión significativamente más altas si el mecanismo de supervisión que provoca la corrupción de los mensajes debido a tramas de error se suspende en determinadas condiciones mediante mecanismos apropiados.
Divulgación de la invención
La presente invención proporciona un procedimiento que remedia esta desventaja, al permitir cambiar a una comunicación más rápida o modificada de otro modo utilizando las líneas de un sistema de bus existente, sin que los mensajes transmitidos más rápidamente sean corrompidos por otros abonados del bus.
Ventajas de la invención
Son objeto de la presente invención un procedimiento de acuerdo con la reivindicación 1 y un dispositivo de acuerdo con la reivindicación 9. Las reivindicaciones dependientes definen ejemplos de realización. En el procedimiento se intercambian datos entre abonados interconectados mediante un sistema de bus, en donde mensajes que contienen los datos se intercambian de acuerdo con un primer protocolo de comunicación, en donde los mensajes consisten en una secuencia de bits, en donde al menos un bit de control con una posición predeterminada dentro del mensaje que se intercambia de acuerdo con el primer protocolo de comunicación debe tener un valor predeterminado, en donde, para cada mensaje, un abonado desempeña la función de remitente y al menos otro abonado recibe el mensaje como destinatario y realiza un control de errores para el mensaje. El procedimiento está caracterizado por que, en caso de presencia de al menos un bit de control con un valor distinto del valor predeterminado, al menos un destinatario adopta un estado de excepción de protocolo, en el que suspende el control de errores hasta que se cumpla una condición de reanudación para el uso del primer protocolo de comunicación. Si se parte del hecho de que el bit de control con un valor distinto señala que la comunicación en la línea de bus no se está ejecutando de acuerdo con el primer protocolo de comunicación, sino que la línea de autobús se debe utilizar para una finalidad diferente, mediante el comportamiento de acuerdo con la invención puede lograrse la ventaja de que el control de errores del al menos un destinatario no interfiere ni impide el uso para otra finalidad.
En una forma de realización ventajosa, la presencia del al menos un bit de control con un valor distinto del valor predeterminado indica que el remitente emite el mensaje por él transmitido utilizando un protocolo de comunicación distinto. Debido a la adopción del estado de excepción de protocolo por el al menos un destinatario, se impide que este destinatario corrompa el mensaje transmitido de acuerdo con el protocolo de comunicación distinto debido a su control de errores o medidas derivadas de ello tales como tramas de error.
En una forma de realización particularmente ventajosa, el protocolo de comunicación distinto tiene, en una parte del mensaje transmitido, una duración de bit más corta con respecto al primer protocolo de comunicación. Este puede ser el caso, por ejemplo, si el mensaje transmitido es un mensaje transmitido de acuerdo con el protocolo CAN FD. Esta forma de realización permite la transmisión de datos por el remitente a una velocidad de datos más alta, o en menos tiempo.
También resulta ventajoso que el al menos un destinatario adopte el estado de excepción de protocolo reiniciando un controlador de protocolo o una máquina de estados de protocolo. Un mecanismo de este tipo generalmente está previsto de todos modos en las implementaciones de protocolo y, por lo tanto, el procedimiento de acuerdo con la invención se puede implantar con relativamente poco esfuerzo a partir de una implementación que domine el primer protocolo de comunicación.
Como condición de reanudación para el uso del primer protocolo de comunicación se define ventajosamente un número predefinido o predefinible de bits con valores predeterminados, o se establece en el bus una duración predefinida o predefinible de la comunicación restante. En particular, el al menos un destinatario, tras el reinicio, puede supervisar el cumplimiento de la condición de reanudación utilizando una detección de flancos y un contador para la aparición de bits con un valor predeterminado, en donde el contador se reinicia cuando aparece un flanco. Esto reduce adicionalmente el esfuerzo de implantación del procedimiento a partir de una implementación que domina el primer protocolo de comunicación, ya que los abonados generalmente se sincronizan de esta manera con la comunicación del bus después de un reinicio condicionado por un error o al comienzo de la transmisión de datos. Ventajosamente, los mensajes que se han de transmitir de acuerdo con el primer protocolo de comunicación tienen un encabezado, un campo de datos y una cola, en donde los datos que se han de transmitir están contenidos en el campo de datos y el al menos un bit de control está contenido en el encabezado. Como resultado, el estado de excepción de protocolo se puede adoptar dentro del mensaje enseguida después de leer el bit de control y, dado el caso, el remitente puede cambiar a un protocolo de comunicación distinto.
Si las funciones de remitente y destinatario se asignan entre los abonados mediante un procedimiento de arbitraje, en donde, con ayuda de un identificador contenido en el encabezado del mensaje, se establece qué abonado obtiene acceso de emisión al bus cuando varios abonados intentan al mismo tiempo emitir un mensaje, se garantiza ventajosamente que no se produzcan colisiones en la comunicación del bus. En particular, esto puede lograrse llevando a cabo el procedimiento de arbitraje de acuerdo con la norma CAN ISO 11898-1 y por que el encabezado del mensaje tiene un bit de inicio de trama, un campo de arbitraje, un campo de control y la cola del mensaje tiene un campo CRC, un campo de acuse de recibo y un campo de fin de trama.
Un dispositivo que presenta medios adecuados para llevar a cabo un procedimiento tal como el objeto de la reivindicación 1 o de una reivindicación dependiente de la misma, tiene las ventajas correspondientes. En particular, un dispositivo de este tipo se puede usar ventajosamente en redes mixtas y contribuye en las mismas a la transmisión de datos rápida y fluida, al no interferir con el uso de las líneas de bus para otra finalidad, o al no corromper ni dañar mensajes que un remitente envía utilizando un protocolo de comunicación distinto, a causa de un mecanismo de control injustificado.
Dibujos
La figura 1a representa la estructura básica común de mensajes de la Norma CAN y CAN FD. Se indican el orden y las denominaciones de los segmentos del mensaje (bit de inicio de trama, campo de arbitraje, campo de control, campo de datos, campo CRC, un campo de acuse de recibo y un campo de fin de trama). Antes y después del mensaje, el bus se encuentra en el estado de no transmisión de datos, lo que se denomina con el término "espacio entre tramas". Habitualmente se usan los términos en inglés, tal como se definen en la norma ISO 11898. El cambio de tasa de transmisión de bits, que puede tener lugar en el caso de los mensajes CAN FD, está indicada mediante segmentos con "tasa de transmisión de bits estándar" y con "tasa de transmisión de bits alta opcional".
La figura 1b representa el encabezado, que comprende bit de inicio de trama, campo de arbitraje y campo de control, de mensajes de acuerdo con el protocolo CAN y el protocolo CAN FD, en cada caso en el formato estándar o base y en el formato extendido. En la fase de DATOS, puede tener lugar un cambio de tasa de transmisión bits en los mensajes CAN FD.
La figura 2 muestra una red mixta de primeros abonados 200 y segundos abonados 250. Los abonados están conectados a través de un sistema de bus 100, que puede estar formado, por ejemplo, como una línea de cobre de dos hilos. Los extremos de la línea pueden terminar, por ejemplo, por resistencias de terminación adecuadas, para evitar reflexiones de los mensajes. También son concebibles otras topologías de línea, como por ejemplo anular, en forma de estrella, o topologías en forma de árbol. Los primeros y segundos abonados están conectados al sistema de bus por unas interfaces primera y segunda 201, 251. Las interfaces comprenden, por ejemplo, unidades de conexión de bus tales como transceptores CAN y unidades de comunicación tales como controladores CAN o controladores CAN FD. Las interfaces también pueden estar representadas integradas en su totalidad o en parte con otros componentes de los abonados. Una combinación habitual es, por ejemplo, la integración de la unidad de comunicación en un microprocesador igualmente existente del abonado.
Los primeros abonados se caracterizan por que, de acuerdo con la invención, pueden adoptar el estado de excepción de protocolo, mientras que los segundos abonados se caracterizan por que pueden usar un segundo protocolo de comunicación o cambiar a un segundo protocolo de comunicación. También se puede conectar otros abonados a la red, siempre que no interfieran con el procedimiento descrito. Algunos de los abonados representados en la figura dos también pueden ser abonados opcionales, que se conectan solo en determinados casos, por ejemplo durante trabajos de mantenimiento o de programación.
La figura 3 muestra, a modo de ejemplo, un diagrama de bloques esquemático de un primer abonado 200, con una interfaz 201. La interfaz comprende una unidad de conexión de bus 210, y un controlador de comunicación 220, que está configurado para llevar a cabo el procedimiento de acuerdo con la invención. El controlador de comunicación 220 contiene para ello un contador 221 y un detector de flancos 222.
A continuación, se describen varios ejemplos de realización, en los que los primeros abonados y los segundos abonados utilizan diferentes protocolos de comunicación.
Ejemplos de realización de la invención
Ejemplo 1: Tolerancia de implementaciones CAN frente a mensajes CAN FD
Un ejemplo de una forma de realización de la presente invención, que se basa en una red de la Norma CAN, se representa a continuación con referencia a las figuras 2 y 3. En este caso, los primeros abonados 200 de la red representada en la figura 2 son, por ejemplo, aparatos de control, que presentan un dispositivo de acuerdo con la invención, es decir, tal como se muestra en la figura 3 como parte de una interfaz 201, un controlador de comunicación 220 con una implementación de la Norma CAN modificada. La implementación de la Norma CAN se ha modificado de tal manera que lleva a cabo el procedimiento de acuerdo con la invención. Los segundos abonados 250 de la red representada en la figura 2 son en este caso, por ejemplo, aparatos de control, que presentan un controlador de comunicación con una implementación CAN FD.
Por implementaciones quiere decirse implementaciones de hardware o software del protocolo de comunicación, es decir, por ejemplo, controladores de comunicación CAN o módulos IP, que incluyen un controlador de comunicación CAN y que pueden integrarse en un bloque semiconductor más grande.
Gracias a la modificación de acuerdo con la invención, las implementaciones de la Norma CAN, que por definición no son capaces de emitir y recibir mensajes CAN FD, se vuelven capaces de tolerar una comunicación realizada según un segundo protocolo de comunicación distinto. En la forma de realización representada aquí, este segundo protocolo de comunicación distinto es CAN FD. Tolerar el protocolo de comunicación distinto significa que estas implementaciones de la Norma CAN modificada de acuerdo con la invención ignoran la comunicación que se está desarrollando según el segundo protocolo de comunicación, en este caso CAN FD, y no interfieren con la misma
generando, por ejemplo, tramas de error. Esto tiene la ventaja de que es posible un cambio del protocolo de la Norma CAN al segundo protocolo, más rápido, es decir CAN FD, concretamente utilizando los mismos hilos de bus. Una vez completada la comunicación rápida de acuerdo con el segundo protocolo de comunicación CAN FD, se regresa al protocolo de la Norma CAN original, siempre que se cumpla una condición de reanudación para el uso del primer protocolo de comunicación, es decir la Norma CAN.
Para la presente invención, en el ejemplo de realización descrito aquí, se combinan dos funciones existentes del protocolo CAN, con el fin de hacer que las implementaciones de la Norma CAN modificada toleren CAN FD. Por un lado, se utiliza un contador 221, que está previsto en implementaciones de la Norma CAN, para detectar la aparición de once bits recesivos consecutivos, cuando una implementación de la Norma CAN se sincroniza con la comunicación del bus. Esto sucede en la Norma CAN, por ejemplo, después de un reinicio o cuando se ejecuta una denominada "secuencia de recuperación de apagado del bus" (véase el Capítulo 7 "Confinamiento de errores" de la especificación CAN 2.0, regla 12). En segundo lugar, se utiliza la detección de flancos 222, que comprueba la entrada de lado del bus CAN para detectar flancos una vez por unidad de tiempo del bus CAN, para recurrir a los flancos detectados como base para la sincronización de bits. (La longitud de un bit en el bus CAN consiste en varias, por ejemplo entre 8 y 25 unidades de tiempo de bus CAN o "cuantos de tiempo", cuya longitud a su vez se deriva del reloj del oscilador interno del respectivo abonado de bus. Puede encontrarse más información en la especificación CAN 2.0.)
Una implementación de CAN modificada de acuerdo con el ejemplo de la presente invención descrito aquí utiliza el siguiente mecanismo: La implementación CAN modificada participa inicialmente de la manera habitual en la comunicación, es decir que, si hay un mensaje para enviar, trata de obtener acceso al bus emitiendo el encabezado del mensaje en el marco del arbitraje. Si no tiene nada que emitir, o si pierde en el arbitraje, se queda observando el tráfico del bus como destinatario. Inmediatamente tras detectar un bit recesivo en la posición de bit r0 en un mensaje de la Norma CAN de formato estándar recibido, o tras reconocer un bit recesivo en la posición de bit r1 en un mensaje de la Norma CAN con formato extendido recibido (correspondiente a la posición del bit EDL de un mensaje CAN f D, véanse las figuras 1a y 1b), la implementación de la Norma CAN modificada reinicia su máquina de estados (máquina de estados de protocolo) responsable de la decodificación del protocolo o el controlador de protocolo previsto para ello, por ejemplo, un controlador de protocolo implementado en hardware, sin variar su contador de errores y sin emitir una trama de error. De esta manera, adopta un estado de excepción de protocolo, en el que espera a que se cumpla una condición de reanudación. Cuando se cumpla la condición de reanudación se llevará a cabo un proceso de reanudación, tal como se describe con más detalle a continuación.
Alternativamente, en lugar del bit r0 en formato estándar o en lugar del bit r1 en formato extendido para el inicio del estado de excepción de protocolo, también se puede usar otro bit con un valor establecido dentro del mensaje de la Norma CAN, tal como, por ejemplo, el bit r0 en formato extendido.
Estado de excepción de protocolo:
En el estado de excepción de protocolo, en primer lugar se lleva a cabo un reinicio de la máquina de estados de protocolo o del controlador de protocolo. T ras el reinicio, el abonado espera, usando el contador 221 previsto para ello que cuenta los bits con un valor predeterminado, a una secuencia de, en este ejemplo, once bits recesivos consecutivos. No debe aparecer ningún flanco de recesivo a dominante dentro de esta secuencia, de lo contrario el contador 221 se reinicia. Esto es supervisado por la detección de flancos 222 existente.
Proceso de reanudación:
Cuando, por ejemplo, utilizando el contador 221 y la detección de flancos 222, se detecta la condición de reanudación, en el presente ejemplo, por tanto, una secuencia de once bits recesivos consecutivos, el abonado abandona el estado de excepción de protocolo y se sincroniza con la comunicación de bus. Esto hace que el abonado esté listo de nuevo para emitir o recibir mensajes de la Norma CAN, cuyo comienzo es señalizado por un bit de INICIO DE TRAMA dominante.
La ventaja del mecanismo expuesto es que así se garantiza que los abonados de la Norma CAN modificada esperen hasta que el mensaje CAN FD haya sido transmitido (o hasta que haya sido interrumpido por una trama de error, en caso de que un abonado CAN FD detecte un error). Esto es así porque, durante la transmisión del mensaje CAN FD, el requisito de una secuencia de once bits recesivos consecutivos nunca se cumple y los abonados de la Norma CAN modificada no llevan a cabo ningún proceso de reanudación, tal como se describió anteriormente. Por lo tanto, el procedimiento descrito hace posible que las implementaciones de la Norma CAN modificada toleren todos los mensajes CAN FD.
Resulta ventajoso que la duración de bit dentro de la fase de DATOS del mensaje CAN FD (véase la figura 2) no sea más corta que una unidad de tiempo de bus CAN de la fase de arbitraje CAN FD. De lo contrario, podría suceder que el abonado de la Norma CAN modificada leyera en algunos casos once bits recesivos consecutivos en un mensaje CAN FD.
La detección de un mensaje CAN FD no causa un incremento del contador de errores, de modo que las implementaciones de la Norma CAN modificada podrán continuar la comunicación de bus de acuerdo con el protocolo de la Norma CAN inmediatamente después del final del mensaje CAN FD, que es más rápido.
Ejemplo 2: Tolerancia de implementaciones CAN FD modificadas frente a mensajes de acuerdo con protocolos más avanzados
Otro ejemplo de una forma de realización de la presente invención, que se origina a partir de una red CAN FD, está representado a continuación, de nuevo con referencia a las figuras 2 y 3. En este caso, los primeros abonados 200 de la red representada en la figura 2 son, por ejemplo, aparatos de control, que presentan un dispositivo de acuerdo con la invención, es decir, tal como se muestra en la figura 3 como parte de una interfaz 201, un controlador de comunicación 220 con una implementación CAN FD modificada, que lleva a cabo un procedimiento de acuerdo con la invención. Los segundos abonados 250 de la red representada en la figura 2 son, en este ejemplo, aparatos de control, que presentan un controlador de comunicación, que incluye una implementación de otro protocolo de comunicación. El otro protocolo de comunicación puede ser, por ejemplo, una evolución del protocolo CAN FD, que, por ejemplo, dependiendo del contenido del código de longitud de datos, permite campos de datos aún más largos de lo previsto en CAN FD. Además, son concebibles bits de control adicionales en el campo de control, por ejemplo con vistas a la protección de datos, o para transmitir información de estado adicional entre los abonados. Alternativa o adicionalmente, el protocolo de comunicación adicional puede prever un cálculo modificado para el contenido del campo CRC y/o un tamaño distinto del campo CRC.
También el protocolo CAN FD de acuerdo con la especificación publicada tiene bits con valores predeterminados en algunas posiciones predeterminadas dentro del mensaje. Como se muestra en la figura 1b, por ejemplo, un mensaje CAN FD en formato estándar y también en formato extendido contiene en cada caso un bit reservado r1 como último bit en el campo de arbitraje y un bit reservado r0, que sigue al bit EDL, en el campo de control.
En consecuencia, el mecanismo descrito anteriormente para implementaciones de la Norma CAN modificada puede aplicarse de manera análoga a las implementaciones CAN FD modificadas. Las implementaciones CAN FD modificadas deben contener, a este respecto, los dos mecanismos que se usan para ello, a saber, por un lado, el contador 221 para, en este ejemplo, once bits recesivos consecutivos, y, por otro lado, la detección de flancos 222. Generalmente esto se da. En otros ejemplos de realización se pueden usar otros mecanismos, que sirvan para reanudar la comunicación después de un reinicio o detección de errores, y que pueda reutilizarse para llevar a cabo el procedimiento de acuerdo con la invención.
La implementación CAN FD modificada de acuerdo con el ejemplo de la presente invención descrito aquí usa ahora el siguiente mecanismo: La implementación CAN FD modificada participa inicialmente de la manera habitual en la comunicación, es decir que, si hay un mensaje para enviar, trata de obtener acceso al bus emitiendo el encabezado del mensaje en el marco del arbitraje. Si no tiene nada que emitir, o si pierde en el arbitraje, se queda observando el tráfico del bus como destinatario. Inmediatamente tras detectar un bit recesivo en la posición de bit r0 en un mensaje de CAN FD de formato estándar, o tras reconocer un bit recesivo en la posición de bit r0 en un mensaje CAN FD con formato extendido (véanse las figuras 1a y 1b), la implementación CAN FD modificada reinicia su máquina de estados (máquina de estados de protocolo) responsable de la decodificación del protocolo o el controlador de protocolo prevista para ello, por ejemplo, un controlador de protocolo implementado en hardware, sin variar su contador de errores y sin emitir una trama de error. De esta manera, adopta un estado de excepción de protocolo, en el que espera a que se cumpla una condición de reanudación. La condición de reanudación y el proceso de reanudación así iniciado parecen esencialmente iguales a como se describió anteriormente para el primer ejemplo de realización. Las implementaciones CAN FD presentan generalmente los mecanismos análogos, es decir, en particular un contador 221 para bits recesivos y una detección de flancos 222, los cuales puede ser utilizados con este fin.
Alternativamente, en lugar del bit r0 en formato estándar o en formato extendido para el inicio del estado de excepción de protocolo, también se puede usar otro bit con un valor establecido dentro del mensaje CAN FD, tal como, por ejemplo, el bit r1 al final del campo de arbitraje.
La ventaja del mecanismo representado es que así se garantiza que los abonados de CAN FD modificado esperen hasta que el mensaje haya sido transmitido de acuerdo con el protocolo de comunicación adicional (o hasta que haya sido interrumpido, dado el caso, por un mecanismo correspondiente, si se detecta un error). Es una condición previa que el protocolo de comunicación adicional esté tan marcado que, durante la transmisión, el requisito de una secuencia de once bits recesivos consecutivos nunca se cumpla y los abonados de CAN FD modificado no lleven a cabo un proceso de reanudación, tal como se describió anteriormente. Por lo tanto, el procedimiento descrito permite que las implementaciones de CAN FD modificadas toleren los mensajes que se transmiten de acuerdo con el protocolo de comunicación adicional.
Claims (12)
1. Procedimiento para intercambiar datos entre abonados (200, 250) interconectados mediante un sistema de bus (100),
en donde mensajes que contienen los datos se intercambian de acuerdo con un primer protocolo de comunicación, en donde los mensajes consisten en una secuencia de bits,
en donde al menos un bit de control con una posición predeterminada dentro del mensaje que se intercambia de acuerdo con el primer protocolo de comunicación debe tener un valor predeterminado, en donde, para cada mensaje, un abonado desempeña la función de remitente y al menos otro abonado recibe el mensaje como destinatario y realiza un control de errores para el mensaje,
caracterizado por que
en caso de presencia de al menos un bit de control con un valor distinto del valor predeterminado, al menos un destinatario adopta un estado de excepción de protocolo, en el que suspende el control de errores hasta que se cumpla una condición de reanudación para el uso del primer protocolo de comunicación,
en donde la aparición de un número predeterminado de bits recesivos consecutivos se define como condición de reanudación,
de modo que se garantiza que el al menos un destinatario se quede esperando en el estado de excepción de protocolo hasta que el mensaje haya sido transmitido.
2. Procedimiento según la reivindicación 1,
caracterizado por que
la presencia del al menos un bit de control con un valor distinto del valor predeterminado indica que el remitente emite el mensaje por él transmitido utilizando un protocolo de comunicación distinto.
3. Procedimiento según la reivindicación 2,
caracterizado por que
el protocolo de comunicación distinto tiene, en una parte del mensaje transmitido, una duración de bit más corta con respecto al primer protocolo de comunicación.
4. Procedimiento según una de las reivindicaciones 1 a 3,
caracterizado por que
el al menos un destinatario adopta el estado de excepción de protocolo reiniciando un controlador de protocolo o una máquina de estados de protocolo.
5. Procedimiento según una de las reivindicaciones 1 a 4,
caracterizado por que
el al menos un destinatario, tras el reinicio, supervisa el cumplimiento de la condición de reanudación utilizando una detección de flancos (222) y un contador (221) para la aparición de bits con un valor predeterminado, en donde el contador se reinicia cuando aparece un flanco.
6. Procedimiento según una de las reivindicaciones 1 a 5,
caracterizado por que
los mensajes que se han de transmitir de acuerdo con el primer protocolo de comunicación tienen un encabezado, un campo de datos y una cola, en donde los datos que se han de transmitir están contenidos en el campo de datos y el al menos un bit de control está contenido en el encabezado.
7. Procedimiento según la reivindicación 6,
caracterizado por que
las funciones de remitente y destinatario se asignan entre los abonados mediante un procedimiento de arbitraje, en donde, con ayuda de un identificador contenido en el encabezado del mensaje, se establece qué abonado obtiene acceso de emisión al bus cuando varios abonados intentan al mismo tiempo emitir un mensaje.
8. Procedimiento según la reivindicación 7,
caracterizado por que
el procedimiento de arbitraje se realiza de acuerdo con la norma CAN ISO 11898-1 y el encabezado del mensaje comprende un bit de inicio de trama, un campo de arbitraje, un campo de control y la cola del mensaje tiene un campo CRC, un campo de acuse de recibo y un campo de fin de trama.
9. Dispositivo para el intercambio de datos entre abonados interconectados mediante un sistema de bus, que presenta medios de modo que mensajes que contienen los datos son intercambiados de acuerdo con un primer protocolo de comunicación,
en donde los mensajes consisten en una secuencia de bits,
en donde al menos un bit de control con una posición predeterminada dentro del mensaje que se intercambia de acuerdo con el primer protocolo de comunicación debe tener un valor predeterminado, en donde el dispositivo presenta
medios para recibir el mensaje como destinatario y realizar un control de errores para el mensaje, caracterizado por que
en caso de presencia de al menos un bit de control con un valor distinto del valor predeterminado en un mensaje recibido, el dispositivo adopta un estado de excepción de protocolo, en el que suspende el control de errores hasta que se cumpla una condición de reanudación para el uso del primer protocolo de comunicación,
en donde la aparición de un número predeterminado de bits recesivos consecutivos se define como condición de reanudación,
de modo que se garantiza que el al menos un destinatario se quede esperando en el estado de excepción de protocolo hasta que el mensaje haya sido transmitido.
10. Dispositivo según la reivindicación 9,
caracterizado por que
el dispositivo adopta el estado de excepción de protocolo, reiniciando un controlador de protocolo o una máquina de estados de protocolo.
11. Dispositivo según una de las reivindicaciones 9 a 10,
caracterizado por que
para establecer la condición de reanudación están previstos medios para la detección de flancos (222) y un contador (221) para la aparición de bits con un valor predeterminado, en donde el contador se reinicia cuando aparece un flanco.
12. Dispositivo según una de las reivindicaciones 9 a 11,
caracterizado por que
están previstos medios para llevar a cabo uno de los procedimientos de acuerdo con la reivindicación 1 a 8.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012224031.4A DE102012224031A1 (de) | 2012-12-20 | 2012-12-20 | Datenübertragungsprotokoll mit Protokollausnahmezustand |
PCT/EP2013/077524 WO2014096278A1 (de) | 2012-12-20 | 2013-12-19 | Datenübertragungsprotokoll mit protokollausnahmezustand |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2733332T3 true ES2733332T3 (es) | 2019-11-28 |
Family
ID=49885259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES13814543T Active ES2733332T3 (es) | 2012-12-20 | 2013-12-19 | Protocolo de transmisión de datos con estado de excepción de protocolo |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP2936746B1 (es) |
JP (1) | JP6121563B2 (es) |
KR (1) | KR102091565B1 (es) |
CN (1) | CN104995874B (es) |
DE (1) | DE102012224031A1 (es) |
ES (1) | ES2733332T3 (es) |
RU (1) | RU2678715C2 (es) |
WO (1) | WO2014096278A1 (es) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9280501B2 (en) | 2013-01-31 | 2016-03-08 | Infineon Technologies Ag | Compatible network node, in particular, for can bus systems |
US10452504B2 (en) | 2013-10-02 | 2019-10-22 | Nxp B.V. | Controller area network (CAN) device and method for emulating classic CAN error management |
DE102013220377A1 (de) * | 2013-10-09 | 2015-04-09 | Robert Bosch Gmbh | Anpasseinrichtung für ein Bussystem und Verfahren zum Betreiben einer CAN-Teilnehmerstation und einer CAN-FD-Teilnehmerstation in einem Bussystem |
EP2985955B1 (en) * | 2014-08-15 | 2019-06-12 | Nxp B.V. | Controller area network (can) device and method for emulating classic can error management |
TR201904244T4 (tr) * | 2014-12-15 | 2019-04-22 | Schneider Electric Australia Pty Ltd | Değişken veri hızı kumanda protokolü. |
DE102017212757A1 (de) * | 2017-07-25 | 2019-01-31 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Schützen eines Feldbusses |
CN108957237B (zh) * | 2018-08-01 | 2020-12-01 | 歌尔光学科技有限公司 | 一种异常线路检测方法、装置、设备及存储介质 |
CN114465963B (zh) * | 2021-12-24 | 2022-10-25 | 北京环宇博亚科技有限公司 | 交换机异常检测方法、装置、电子设备和计算机可读介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09116988A (ja) * | 1995-10-18 | 1997-05-02 | Fujitsu Ten Ltd | 車両内通信方法 |
DE10311395A1 (de) * | 2003-03-13 | 2004-09-23 | Robert Bosch Gmbh | Kommunikationsvorrichtung mit asynchroner Datenübertragung über eine symmetrische serielle Schnittstelle |
KR101135101B1 (ko) * | 2005-10-17 | 2012-04-16 | 엘지전자 주식회사 | 캔에서의 데이터 길이 코드를 이용한 데이터 필드 패딩방법 |
JP2010258990A (ja) * | 2009-04-28 | 2010-11-11 | Autonetworks Technologies Ltd | 制御システム及び制御プログラム更新方法 |
CN102195753A (zh) * | 2010-12-09 | 2011-09-21 | 无锡乐智科技有限公司 | 基于2.4grf的多媒体传输方法 |
EP2695076B1 (de) * | 2011-04-06 | 2016-07-13 | Robert Bosch GmbH | Verfahren und vorrichtung zur erhöhung der datenübertragungskapazität in einem seriellen bussystem |
-
2012
- 2012-12-20 DE DE102012224031.4A patent/DE102012224031A1/de active Pending
-
2013
- 2013-12-19 EP EP13814543.8A patent/EP2936746B1/de active Active
- 2013-12-19 CN CN201380073346.8A patent/CN104995874B/zh active Active
- 2013-12-19 KR KR1020157019546A patent/KR102091565B1/ko active IP Right Grant
- 2013-12-19 JP JP2015548604A patent/JP6121563B2/ja active Active
- 2013-12-19 RU RU2015129337A patent/RU2678715C2/ru active
- 2013-12-19 WO PCT/EP2013/077524 patent/WO2014096278A1/de active Application Filing
- 2013-12-19 ES ES13814543T patent/ES2733332T3/es active Active
Also Published As
Publication number | Publication date |
---|---|
EP2936746A1 (de) | 2015-10-28 |
EP2936746B1 (de) | 2019-04-03 |
DE102012224031A1 (de) | 2014-06-26 |
KR20150120952A (ko) | 2015-10-28 |
JP2016500503A (ja) | 2016-01-12 |
KR102091565B1 (ko) | 2020-03-20 |
CN104995874A (zh) | 2015-10-21 |
JP6121563B2 (ja) | 2017-04-26 |
RU2015129337A (ru) | 2017-01-25 |
RU2678715C2 (ru) | 2019-01-31 |
CN104995874B (zh) | 2019-11-05 |
WO2014096278A1 (de) | 2014-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2733332T3 (es) | Protocolo de transmisión de datos con estado de excepción de protocolo | |
ES2742900T3 (es) | Transmisión de datos mediante la utilización de un estado de excepción de protocolo | |
ES2941346T3 (es) | Dispositivo de comunicación, método de comunicación, programa y sistema de comunicación | |
ES2639585T3 (es) | Método y dispositivo para la transmisión de datos en serie con una tasa de datos conmutable | |
ES2548409T3 (es) | Método y dispositivo para la transmisión en serie de datos con un tamaño flexible de mensajes y una longitud de bits variable | |
KR101573637B1 (ko) | 데이터량 증대로 통신속도 개선을 위한 can 통신 방법 및 데이터 프레임 구조 | |
KR102116930B1 (ko) | 신축적 데이터-레이트를 갖는 can | |
ES2727623T3 (es) | Procedimiento para la transmisión en serie de una trama mediante un sistema de bus, desde un emisor hacia al menos un receptor, y participantes de un sistema de bus | |
ES2549640T3 (es) | Método y dispositivo de transmisión en serie de datos adaptada a la capacidad de memoria | |
ES2538234T3 (es) | Método y dispositivo para incrementar la capacidad de transmisión de datos en un sistema de bus en serie | |
ES2548410T3 (es) | Método y dispositivo para la transmisión en serie de datos con un tamaño flexible de mensajes y una longitud de bits variable | |
ES2595155T3 (es) | Método y dispositivo para adaptar la seguridad de transmisión de datos en un sistema de bus en serie | |
KR102099789B1 (ko) | 버스 시스템용 가입자 국, 그리고 버스 시스템의 가입자 국들 간의 메시지 전송 방법 | |
US8665882B2 (en) | Serialized enforced authenticated controller area network | |
US9531750B2 (en) | Spoofing detection | |
ES2875282T3 (es) | Estación suscriptora en un sistema de bus y procedimiento para operar una estación suscriptora | |
US20150347218A1 (en) | Indicating internal transmitter errors in a controller area network (can) | |
US11516143B2 (en) | Routing and control protocol for high-performance interconnect fabrics | |
ES2957415T3 (es) | Estación de abonado para un sistema de bus serie y procedimiento de comunicación en un sistema de bus serie | |
ES2548408T3 (es) | Método y dispositivo para la transmisión en serie de datos con un tamaño flexible de mensajes y una longitud de bits variable | |
US20150301916A1 (en) | user station of a bus system and method for transmitting data between user stations of a bus system | |
CN106330357A (zh) | 一种serdes的传输校验方法、节点与系统 | |
ES2805750T3 (es) | Procedimiento para el funcionamiento de un sistema de comunicaciones con múltiples nodos y un sistema de comunicaciones asociado | |
WO2020068095A1 (en) | Master/slave communication | |
ES2668103T3 (es) | Método para operar un aparato de bus de un dispositivo de automatización de un edificio, así como aparato de configuración correspondiente y producto de programa informático correspondiente |