ES2277326T3 - Procedimiento y dispositivo de deteccion automatica de la velocidad de una red de tipo de bus can. - Google Patents

Procedimiento y dispositivo de deteccion automatica de la velocidad de una red de tipo de bus can. Download PDF

Info

Publication number
ES2277326T3
ES2277326T3 ES05364003T ES05364003T ES2277326T3 ES 2277326 T3 ES2277326 T3 ES 2277326T3 ES 05364003 T ES05364003 T ES 05364003T ES 05364003 T ES05364003 T ES 05364003T ES 2277326 T3 ES2277326 T3 ES 2277326T3
Authority
ES
Spain
Prior art keywords
signal
network
speed
bit
microcontroller
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
Application number
ES05364003T
Other languages
English (en)
Inventor
Laurentiu Birsan
Marc Laurent
Thierry Delalande
Jean-Sebastien Berthy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Nantes
Original Assignee
Atmel Nantes SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Atmel Nantes SA filed Critical Atmel Nantes SA
Application granted granted Critical
Publication of ES2277326T3 publication Critical patent/ES2277326T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Procedimiento de detección automática de la velocidad de una red y de configuración según la velocidad detectada por un dispositivo conectado a la red, transmitiendo la red una señal en la que se transmiten mensajes que comprenden bits de longitud LBIT y de tipo dominante o recesivo, caracterizado porque comprende las etapas sucesivas siguientes: (a) el dispositivo pasa a un modo de escucha, en el que puede recibir mensajes procedentes de la red, pero no puede emitir mensajes hacia la red; (b) el dispositivo obtiene un triplete de transiciones sucesivas de la señal transmitida por la red, delimitando dicho triplete un primero y un segundo niveles de la señal, uno dominante y el otro recesivo; (c) el dispositivo mide la duración, expresada en número de periodos TH de un reloj del dispositivo, de cada uno de los niveles primero y segundo; (d) en función de las duraciones medidas de los niveles de la señal, el dispositivo obtiene una nueva configuración de velocidad determinando valores para los parámetros que definen la longitud de bit LBIT; (e) el dispositivo valida la nueva configuración de velocidad; (g) si el dispositivo detecta que se verifica al menos una condición de adaptación de velocidad, pasa a un modo normal, en caso contrario obtiene una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, mide la duración del nuevo nivel, expresada en número de periodos TH del reloj del dispositivo, y reitera las etapas (d) a (g) teniendo en cuenta el nuevo nivel de la señal.

Description

Procedimiento y dispositivo de detección automática de la velocidad de una red de tipo de bus CAN.
El ámbito de la invención es el de las redes de comunicación.
Más precisamente, la invención concierne a un procedimiento de detección automática, por un dispositivo conectado a una red, de la velocidad de esta red y de configuración del dispositivo según la velocidad detectada. La invención concierne igualmente al dispositivo que pone en práctica este procedimiento.
La invención se aplica especialmente, pero no exclusivamente, en el caso en que la red es de tipo bus CAN.
A título ilustrativo y con deseo de simplificar, ahora se presenta la técnica anterior y sus inconvenientes en el caso antes citado en el que la red es de tipo bus CAN.
Se recuerda que un bus CAN ("Controller Area Network") es un bus serie que permite conectar una pluralidad de dispositivos, llamados "unidades de control" y que comprenden un microcontrolador CAN cada uno. Este tipo de bus se utiliza hoy día principalmente en el ámbito industrial y en el sector del automóvil.
Típicamente, en un coche se utilizan dos buses CAN. Uno, llamado bus CAN de alta velocidad (hasta 1 Mb/s), permite interconectar unidades de control relativas a los elementos o funcionalidades siguientes: tablero de instrumentos, motor, frenado (antibloqueo), suspensión activa, transmisión, etc. Y el otro, llamado bus CAN de baja velocidad (hasta 125 kb/s), permite interconectar unidades de control relativas a los elementos o funcionalidades siguientes: tablero de instrumentos, iluminación, climatización, airbags o cojines inflables de seguridad, bloqueo de las puertas, ventanillas eléctricas, etc.
Cada bus CAN pone en práctica un protocolo de igual nombre (protocolo CAN) que es un protocolo de comunicación serie que soporta sistemas en tiempo real, con alto nivel de fiabilidad en un entorno limitado y severo, como una fábrica, un taller, un coche... El protocolo CAN cubre dos de las siete capas del modelo de interconexión de los sistemas abiertos OSI de ISO, a saber: la capa física (capa 1) y la capa de enlace de datos (capa 2). Para más información sobre el bus CAN podrá remitirse a la norma ISO 11898, insertada aquí por referencia.
La capa de enlace de datos del protocolo CAN es tal que cada unidad de control puede emitir y recibir datos. Los datos se transmiten por el bus en forma de paquetes (también llamados tramas o mensajes) asíncronos de formato definido, pero de longitud variable y limitada. Tan pronto como el bus está libre, cualquier unidad de control conectada al bus puede emitir un nuevo paquete. Está previsto un mecanismo de interrupción para los paquetes más prioritarios, así como un mecanismo de arbitraje de los conflictos resultantes de la emisión simultánea de varios paquetes por el bus cuando está libre.
Tradicionalmente, cuando se desea conectar en un bus CAN una nueva unidad de control (es decir, un nuevo dispositivo que comprenda un microcontrolador CAN que ejecute una aplicación [capa 7 del modelo OSI]) se procede de la manera siguiente. El desarrollador de la aplicación ejecutada por el microcontrolador CAN debe conocer la frecuencia de reloj del microcontrolador CAN (por ejemplo 12 MHz). Supone, por otra parte, que la velocidad de la red toma un número limitado de valores (tres valores generalmente). Por ejemplo, supone que la velocidad de la red es igual a 100, 250 ó 500 kb/s. Para cada uno de los tres valores supuestos de la velocidad de la red, determina a priori, y a partir del conocimiento de la frecuencia de reloj del microcontrolador CAN, una configuración de velocidad para el microcontrolador CAN. A continuación desarrolla la aplicación de modo que, en el funcionamiento, la aplicación cargue una primera configuración de velocidad, asociada a un primer valor supuesto de la velocidad de la red; si la aplicación recibe mensajes de error, carga una segunda configuración de velocidad, asociada a un segundo valor supuesto de la velocidad de la red; y así sucesivamente, de modo que se prueben (si es necesario) las diferentes configuraciones de velocidad predeterminadas.
El documento US 6438462 B1 divulga un método según el preámbulo de la reivindicación 1.
Un inconveniente de la técnica conocida, antes citada, es que no puede ponerse en práctica en las situaciones en que no se conoce la frecuencia de reloj del microcontrolador CAN.
Otro inconveniente de la técnica conocida, antes citada, es que no funciona si no es correcta ninguna de las hipótesis sobre la velocidad de la red.
Un inconveniente más de la técnica conocida, antes citada, es que, cuando se prueban sucesivamente varias configuraciones posibles de velocidad, el microcontrolador CAN perturba realmente al bus CAN. Esto también puede provocar la expulsión del microcontrolador CAN fuera del bus CAN.
La invención tiene especialmente como objetivo paliar estos diferentes inconvenientes del estado de la téc-
nica.
Más precisamente, uno de los objetivos de la presente invención es proporcionar un procedimiento y un dispositivo de detección automática de la velocidad de una red y de configuración según la velocidad detectada, sin necesitar el conocimiento de la frecuencia de reloj del dispositivo, ni hipótesis sobre la velocidad de la red.
La invención también tiene como objetivo proporcionar tal procedimiento y tal dispositivo sin que se perturbe a la red.
Otro objetivo de la invención es proporcionar tal procedimiento y tal dispositivo de modo que sean simples de poner en práctica y baratos.
Estos diferentes objetivos, así como otros que serán evidentes a continuación, se consiguen según la invención por medio de un procedimiento de detección automática de la velocidad de una red y de configuración según la velocidad detectada por un dispositivo conectado a la red, transmitiendo la red una señal en la que se transmiten mensajes que comprenden bits de longitud L_{BIT} y de tipo dominante o recesivo. Este procedimiento comprende las etapas sucesivas siguientes:
(a)
el dispositivo pasa a un modo de escucha, en el que puede recibir mensajes procedentes de la red, pero no puede emitir mensajes hacia la red;
(b)
el dispositivo obtiene un triplete de transiciones sucesivas de la señal transmitida por la red, delimitando dicho triplete un primero y un segundo niveles de la señal, uno dominante y el otro recesivo;
(c)
el dispositivo mide la duración, expresada en número de periodos T_{H} de un reloj del dispositivo, de cada uno de los niveles primero y segundo;
(d)
en función de las duraciones medidas de los niveles de la señal, el dispositivo obtiene una nueva configuración de velocidad determinando valores para los parámetros que definen la longitud de bit L_{BIT};
(e)
el dispositivo valida la nueva configuración de velocidad;
(g)
si el dispositivo detecta que se verifica al menos una condición de adaptación de velocidad, pasa a un modo normal, en caso contrario obtiene una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, mide la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo, y reitera las etapas (d) a (g) teniendo en cuenta el nuevo nivel de la señal.
El principio general de la invención consiste pues en pasar a un modo de escucha, que permite no perturbar a la red, para efectuar un cálculo de la longitud de bit L_{BIT} (a veces también llamada "TimeBit" en el transcurso de la descripción) basado en un análisis de las transiciones que presenta la señal transmitida por la red. Por tanto, la invención no necesita ni el conocimiento de la frecuencia de reloj del dispositivo, ni hipótesis sobre la velocidad de la red.
En un modo de realización ventajoso de la invención, la red es un bus CAN y el dispositivo comprende un microcontrolador CAN completado, respecto a un microcontrolador CAN clásico, de modo que ponga en práctica el procedimiento, según la invención, de detección automática de la velocidad de la red y de configuración según la velocidad detectada.
Se supone, por ejemplo, que la longitud de bit L_{BIT} está definida por:
-
un escalar BRP, tal que: TQ = BRP * T_{H}, siendo TQ una unidad de tiempo y T_{H} el periodo del reloj del dispositivo;
-
longitudes expresadas en número de unidades de tiempo TQ: longitud L_{SYNC} de un segmento de sincronización, longitud L_{PRS} de un segmento de propagación que intenta compensar un retraso físico en el bus CAN, longitudes L_{PHS1} y L_{PHS2} de primero y segundo segmentos de fase que permiten posicionar un punto de muestreo.
Ventajosamente, en este contexto, la propia etapa (d) comprende las etapas siguientes:
(d0)
el dispositivo actualiza dos registros de histórico, de modo que:
-
después de la primera iteración de la etapa (d) los registros contienen respectivamente el mínimo P y el máximo G de las duraciones de los niveles primero y segundo;
-
después de cada iteración siguiente de la etapa (d) los registros son actualizados según la ecuación siguiente: si G < X entonces G toma el valor X, en caso contrario P toma el valor X, siendo X la duración de dicho nuevo nivel de la señal;
\newpage
(d1)
en función del contenido P y G de dichos registros de histórico, el dispositivo obtiene un número m que permite expresar la longitud de bit L_{BIT} en función del periodo T_{H} del reloj del dispositivo: L_{BIT} = m * T_{H};
(d2)
en función del número m obtenido previamente, el dispositivo obtiene un valor máximo BRP_{MÁX} del escalar BRP sabiendo que:
(i)
L_{BIT} = m * TH = n * BRP * TH, de donde: m = n * BRP
(ii)
n = L_{BIT}/TQ
(iii)
n \leq n_{MÁX}, siendo n_{MÁX} un número máximo predeterminado de unidades de tiempo TQ que puede comprender la longitud de bit L_{BIT};
(d3)
en función del número m y del valor máximo BRP_{MÁx} obtenidos previamente, el dispositivo obtiene un valor del número n tal que: n = m/BRP_{MÁX};
(d4)
en función del número n obtenido previamente, el dispositivo obtiene valores para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo.
De manera ventajosa, en la etapa (d1) el valor del número m está dado por las ecuaciones siguientes:
- m = mín (2P - G, G - P), si P < G < 2P,
- m = mín (G - 2P, P), si 2P < G < 6P,
- m = P/2, si G = 2P,
- m no se calcula en los demás casos.
Según una variante preferente, en la etapa (d1) las condiciones de aplicación de las ecuaciones que dan el valor del número m se modifican como sigue:
- m = mín (2P - G, G - P), si P + P/k < G \leq 2(P - P/k),
- m = mín (G - 2P, P), si 2(P + P/k) < G < 6(P - P/k),
- m = P/2, si 2(P - P/k) < G \leq 2(P + P/k),
- m no se calcula en los demás casos,
siendo k un número entero predeterminado superior o igual a 4, y preferentemente igual a 8.
Ventajosamente, en la etapa (d4) se utiliza una tabla predeterminada de correspondencia que asocia a cada valor del número n un juego de valores para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo.
En un modo de realización ventajoso de la invención, dicha al menos una condición de adaptación de velocidad de la etapa (g) es la recepción de modo correcto (Rx OK) de un mensaje procedente de la red.
De modo preferente, la etapa (g) está precedida por la etapa siguiente:
(f)
si el dispositivo detecta la recepción correcta de la parte útil de un mensaje procedente de la red, pasa temporalmente al modo normal para enviar un campo de acuse de recibo (ACK) hacia la red y después pasa de nuevo al modo de escucha, en caso contrario obtiene una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, mide la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo, y reitera las etapas (d) a (g) teniendo en cuenta el nuevo nivel de la señal.
El envío del campo de acuse de recibo (ACK) permite que el otro dispositivo que ha emitido el mensaje esté informado de que su mensaje ha sido transmitido por la red correctamente y que por tanto no emita ningún mensaje de error. Esta característica de la invención es particularmente interesante en el caso en que sólo el dispositivo de la invención está en condiciones de enviar un campo de acuse de recibo (ACK) al otro dispositivo.
La invención concierne igualmente a un dispositivo que comprende medios que permiten la puesta en práctica de uno cualquiera de los modos de realización del procedimiento antes citado. Así pues, la invención concierne a un dispositivo que comprende:
-
medios de basculación de un modo normal a un modo de escucha, en el que se activan medios de bloqueo de mensajes emitidos por el dispositivo hacia la red y el dispositivo sigue recibiendo mensajes procedentes de la red;
-
medios de obtención de un triplete de transiciones sucesivas de la señal transmitida por la red, delimitando dicho triplete un primero y un segundo niveles de la señal, uno dominante y el otro recesivo;
-
medios de medición de la duración, expresada en número de periodos T_{H} de un reloj del dispositivo, de cada uno de los niveles primero y segundo de la señal;
-
medios de obtención, en función de las duraciones medidas de los niveles de la señal, de una nueva configuración de velocidad por determinación de valores para los parámetros que definen la longitud de bit L_{BIT};
-
medios de validación de la nueva configuración de velocidad;
-
medios de detección de que se verifica al menos una condición de adaptación de velocidad;
-
medios de basculación del modo de escucha al modo normal, activados en caso de detección positiva por los medios de detección;
-
medios de obtención de una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, y medios de medición de la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo, activados con dichos medios de obtención y de validación de una nueva configuración de velocidad y dichos medios de detección de que se verifica al menos una condición de adaptación de velocidad, en caso de detección negativa por los medios de detección, de modo que se tenga en cuenta dicho nuevo nivel de la señal.
En un modo de realización ventajoso de la invención, la red es un bus CAN y el dispositivo comprende un microcontrolador CAN completado, respecto a un microcontrolador CAN clásico, y que comprende dichos medios de detección automática de la velocidad de la red y de configuración según la velocidad detectada.
De modo ventajoso, los medios de basculación del modo normal al modo de escucha comprenden medios de generación de una señal de selección de modo (Autobaud), que toma el valor "0" ó "1" según que el dispositivo deba funcionar en el modo normal o de escucha, respectivamente. Además, el microcontrolador CAN completado comprende un microcontrolador CAN clásico modificado para que comprenda dichos medios de detección automática de la velocidad de la red y de configuración según la velocidad detectada, excepto dichos medios de bloqueo de mensajes emitidos. Por último, los medios de bloqueo de mensajes emitidos comprenden medios de realización de la función lógica "O" entre la señal de selección de modo y la señal de emisión (TxDC') del microcontrolador CAN clásico modificado, constituyendo la señal de salida de los medios de realización de la función lógica "O" la señal de emisión (TxDC) del microcontrolador CAN completado.
Ventajosamente, el microcontrolador CAN completado comprende, además, medios de bucle de la salida hacia la entrada del microcontrolador CAN clásico modificado, que comprenden:
-
medios de realización de la función lógica "Y" entre la señal de emisión (TxDC') del microcontrolador CAN clásico modificado y la señal de recepción (RxDC) del microcontrolador CAN completado;
-
medios de multiplexación que reciben por una primera entrada la señal de salida de los medios de realización de la función lógica "Y" y por una segunda entrada la señal de recepción (RxDC) del microcontrolador CAN completado, constituyendo la señal de salida de los medios de multiplexación la señal de recepción (RxDC') del microcontrolador CAN clásico modificado, estando los medios de multiplexación gobernados por la señal de selección de modo, de manera que sea seleccionada la primera o la segunda entrada según que la señal de selección de modo tome el valor "1" ó "0", respectivamente.
Según una característica ventajosa, el microcontrolador CAN completado comprende, además, medios de basculación temporal del modo de escucha al modo normal, de modo que se envíe un campo de acuse de recibo (ACK) hacia la red.
De modo ventajoso, los medios de basculación temporal del modo de escucha al modo normal comprenden medios de generación de una señal (EnAckB) de desactivación temporal de la señal de selección de modo, que toma el valor "0" ó "1" según que la señal de selección de modo (Autobaud) deba ser desactivada temporalmente o no.
Otras características y ventajas de la invención resultarán evidentes tras la lectura de la descripción siguiente de un modo de realización preferente de la invención, dada a título de ejemplo indicativo y no limitativo, y de los dibujos anejos, en los que:
\newpage
- la figura 1 presenta un esquema sinóptico de un sistema conocido de interconexión de una pluralidad de dispositivos mediante un bus CAN, en cuyo sistema puede ponerse en práctica el procedimiento, según la invención, de detección y configuración automática de velocidad;
- la figura 2 ilustra la estructura conocida de cada bit comprendido en un mensaje transmitido por un bus CAN;
- la figura 3 presenta un esquema funcional de bloques de un ejemplo de realización de un dispositivo mostrado en la figura 1 y que permite la puesta en práctica del procedimiento según la invención;
- la figura 4 presenta un modo de realización particular del bloque de adaptación electrónica mostrado en la figura 3;
- la figura 5 representa un organigrama de un modo de realización particular del procedimiento según la invención;
- la figura 6 ilustra la obtención de transiciones de la señal y la medición de la duración de los niveles delimitados por esas transiciones, cuyas operaciones son puestas en práctica en ciertas etapas ([b], [c] y [f3/g3]) mostradas en el organigrama de la figura 5;
- la figura 7 representa un algoritmo de puesta en práctica de la etapa (d0) de actualización de dos registros de histórico que contienen unos números P y G utilizados en la etapa (d1) de obtención del número m, mostradas en el organigrama de la figura 5;
- la figura 8 ilustra un ejemplo de señal transmitida por la red, con sus transiciones, y los valores de los números P y G obtenidos con el algoritmo de la figura 7;
- la figura 9 representa un algoritmo de puesta en práctica de la etapa (d1) de obtención del número m, mostrada en el organigrama de la figura 5;
- la figura 10 presenta un esquema de bloques de un ejemplo de circuito que pone en práctica la etapa (d2) de obtención del valor máximo BRP_{MÁX} del escalar BRP, mostrada en el organigrama de la figura 5;
- la figura 11 presenta un esquema de bloques de un ejemplo de circuito que pone en práctica la etapa de obtención (d3) de un número n, mostrada en el organigrama de la figura 5;
- la figura 12 ilustra un ejemplo de tabla de correspondencia utilizada durante la etapa (d4), mostrada en el organigrama de la figura 5, de obtención de valores para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo;
- la figura 13 es un esquema de bloques de un modo de realización particular del microcontrolador CAN clásico modificado, según la invención, mostrado en la figura 3;
- la figura 14 ilustra un ejemplo de realización del cambio de valor del registro de señal de selección de modo ("Autobaud"), mostrado en la figura 13;
- la figura 15 ilustra una variante de realización del cambio de valor del registro de señal de selección de modo ("Autobaud");
- la figura 16 presenta una vista dinámica que ilustra el funcionamiento del procedimiento según la invención.
La invención concierne pues a un procedimiento y un dispositivo de detección automática de la velocidad de una red y de configuración según la velocidad detectada.
En el desarrollo de la descripción se considera únicamente el caso en el que la red es un bus CAN. Sin embargo está claro que la invención se aplica igualmente a otros tipos de red.
Como ya se ha indicado más arriba y se ilustra en el esquema sinóptico de la figura 1, un bus CAN 1 es un bus serie que permite conectar una pluralidad de dispositivos 2_{1}, 2_{2}... 2_{n}, llamados "unidades de control" y que comprenden un microcontrolador CAN cada uno.
Ahora se recuerdan brevemente algunas características esenciales del protocolo CAN, que es un protocolo de comunicación serie puesto en práctica por un bus CAN. Para más información sobre este protocolo CAN y sobre el bus CAN podrá remitirse a la norma ISO 11898, insertada aquí por referencia.
El protocolo CAN distingue cuatro tipos de mensajes CAN:
-
los mensajes de datos (Data Frame), de formato estándar (identificador de 11 bits) o amplio (identificador de 29 bits);
-
los mensajes de petición de datos (Remote Frame);
-
los mensajes de error (Error Frame);
-
los mensajes de temporización de la red (Overload Frame).
Un mensaje CAN estándar comprende:
-
un campo de comienzo de trama;
-
un campo de arbitraje, que está constituido por un identificador y por un bit de "Petición de datos" utilizado para distinguir un mensaje de datos (Data Frame), de un mensaje de petición (Remote Frame);
-
un campo de control, que contiene un bit "Identificador amplio" (IDE) y un número de datos (DLC) que indica el número de octetos de datos que siguen en el campo de datos. En un mensaje de petición, el número DLC es el número de octetos de datos solicitado;
-
un campo de datos, que puede constar de hasta ocho octetos de datos;
-
un campo de verificación (CRC), que garantiza la integridad del mensaje;
-
un campo de acuse de recibo (ACK), compuesto por una almena y por un delimitador de acuse de recibo. El bit de la almena de acuse de recibo se emite a un nivel recesivo y es sobreescrito a un nivel dominante por los dispositivos receptores que en ese momento hayan recibido los datos correctamente;
-
un campo de fin de mensaje (EOF);
-
un campo de intermensajes (IFS), que es un número mínimo de bits que separan dos mensajes consecutivos.
El protocolo CAN distingue cinco tipos de errores, que no se excluyen mutuamente:
-
un error de bit ("bit error"), cuando el propio bit está afectado por el error;
-
un error de inserción ("stuff bit error");
-
un error de acuse de recibo ("ACK error");
-
un error de verificación ("CRC error");
-
un error de estructura.
Un dispositivo conectado al bus CAN y que detecte una condición de error tiene la misión de advertirlo transmitiendo un mensaje de error. Esas particularidades hacen que un dispositivo que se conecte en un bus CAN deba tener una configuración correcta de velocidad, a riesgo de poner en peligro al bus CAN existente o de verse excluido de ese bus CAN.
Ahora se presenta, en relación con la figura 2, la estructura conocida ("CAN Bit Timing"), y definida en el protocolo CAN, de cada bit comprendido en un mensaje transmitido por un bus CAN.
Cada bit posee una longitud L_{BIT} (también llamada "tiempo nominal t_{BIT}") y está definido por una estructura que consta de cuatro segmentos distintos 21 a 24.
Cada uno de esos cuatro segmentos está compuesto por un número entero de unidades de tiempo (o TQ, de "Time Quanta" en inglés). La longitud de esta unidad de tiempo TQ se define a partir de la frecuencia f_{H} o del periodo T_{H} del reloj del dispositivo y de un escalar BRP propio del dispositivo: TQ = BRP/f_{H} = BRP * T_{H}
De modo general, la longitud L_{BIT} de un bit puede expresarse en número de unidades de tiempo TQ o en número de periodos T_{H} del reloj del dispositivo:
L_{BIT} \ = \ n \ \text{*} \ TQ \ = \ n \ \text{*} \ (BRP \ \text{*} \ T_{H}) \ = \ m \ \text{*} \ T_{H}
El número n es tal que: 8 \leq n \leq 25.
El primer segmento es un segmento de sincronización 21 ("synchronization segment"), cuya la longitud L_{SYNC} está fijada en una unidad de tiempo TQ.
\newpage
El segundo segmento 22 es un segmento de propagación ("propagation segment"). Tiene el cometido de compensar el retraso físico inducido por el bus CAN. Su longitud L_{PRS} es programable entre una y ocho unidades de tiempo TQ.
Los tercero y cuarto segmentos 23, 24 ("phase segment 1" y "phase segment 2") son segmentos de fase, utilizados para posicionar un punto de muestreo. Sus longitudes L_{PHS1} y L_{PHS2} también son programables.
En adelante se presenta, en relación con la figura 3, un ejemplo de realización de un dispositivo mostrado en la figura 1 (por ejemplo el referenciado con 2_{1}) y que permite la puesta en práctica del procedimiento según la invención.
De modo habitual, el dispositivo 2_{1} comprende un microcontrolador CAN clásico 31 y un circuito emisor/receptor CAN 33 ("CAN transceiver"). Este último 33 es específico de la capa física del protocolo CAN y está destinado a asegurar la interfaz entre el microcontrolador CAN clásico 31 (que trabaja en el nivel lógico) y el bus CAN 1 (que trabaja en el nivel físico). El microcontrolador CAN clásico 31 emite una señal 35 (llamada a continuación señal de emisión TxDC') y recibe otra 36 (llamada a continuación señal de recepción RxDC').
Según la presente invención, el microcontrolador CAN clásico 31 está modificado en cuanto que:
-
ejecuta un algoritmo de detección y configuración automática de velocidad (procedimiento según la invención, descrito con detalle más adelante en relación con las figuras 5 a 16);
-
genera dos señales de gobierno: una señal (Autobaud) 37 de selección de modo y una señal 38 (EnAckB) de desactivación temporal de la señal de selección de modo.
Por otra parte, el dispositivo 2_{1} está modificado en cuanto que, además, comprende un bloque de adaptación electrónica 32 que sirve de interfaz entre el microcontrolador CAN clásico modificado 31 y el circuito emisor/receptor CAN 33.
El microcontrolador CAN clásico modificado 31 y el bloque de adaptación electrónica 32 forman en conjunto un microcontrolador CAN completado 34, propio de la presente invención.
Así pues, por una parte, el bloque de adaptación electrónica 32 recibe la señal de emisión TxDC' y las dos señales de gobierno 37 (Autobaud) y 38 (EnAckB) emitidas por el microcontrolador CAN clásico modificado 31, y emite la señal de recepción RxDC' recibida por el microcontrolador CAN clásico modificado 31. Por otra parte, el bloque de adaptación electrónica 32 emite la señal de emisión TxDC del microcontrolador CAN completado 34 y recibe la señal de recepción RxDC del microcontrolador CAN completado 34.
El bloque de adaptación electrónica 32 está gobernado por la señal de selección de modo 37 (Autobaud) de modo que, durante la ejecución del algoritmo antes citado, el dispositivo 2_{1} bascula de uno a otro de los modos siguientes:
-
un modo normal, en el que el microcontrolador CAN clásico modificado 31 puede emitir o recibir mensajes hacia o desde el bus CAN;
-
un modo de escucha, en el que el microcontrolador CAN clásico modificado 31 puede recibir mensajes procedentes del bus CAN, pero no puede emitirlos hacia ese bus CAN, y en el que el microcontrolador CAN clásico modificado 31 puede recibir los mensajes eventuales que emite hacia el bus CAN (y que como se ha indicado anteriormente son bloqueados antes de llegar allí).
El bloque de adaptación electrónica 32 también está gobernado por la señal 38 (EnAckB) de desactivación temporal de la señal de selección de modo. Actuando sobre el valor de esta última, se autoriza, a pesar de que la señal de selección de modo implique un funcionamiento en modo de escucha (Autobaud = 1), un paso al modo normal durante el tiempo del envío de un campo de acuse de recibo (ACK) de un mensaje recibido y después un retorno al modo de escucha.
Ahora se presenta, en relación con la figura 4, un modo de realización particular del bloque de adaptación electrónica 32 mostrado en la figura 3.
Este bloque comprende medios de bloqueo de mensajes emitidos por el microcontrolador CAN clásico modificado 31 y medios de bucle de la salida hacia la entrada del microcontrolador CAN clásico modificado 31.
La señal de selección de modo 37 (Autobaud) toma el valor "0" si el dispositivo 2_{1} debe funcionar en el modo normal, ó "1" para un funcionamiento en el modo de escucha.
Una primera puerta Y 44 realiza la función lógica "Y" entre la señal de selección de modo 37 (Autobaud) y la señal de desactivación temporal 38 (EnAckB). Esta última está activa en el estado "0". Así pues, cuando la señal de desactivación temporal 38 (EnAckB) es igual a "1", la salida de la primera puerta Y 44 es igual a la señal de selección de modo 37 (Autobaud). En cambio, cuando la señal de desactivación temporal 38 (EnAckB) es igual a "0", la salida de la primera puerta Y 44 se obliga a "0", lo que equivale a desactivar la señal de selección de modo 37 (Autobaud).
Los medios de bloqueo de mensajes emitidos comprenden una puerta O 41 que realiza la función lógica "O" entre la señal de salida de la primera puerta Y 44 (es decir, la señal de selección de modo 37 [Autobaud], salvo si está desactivada) y la señal de emisión (TxDC') del microcontrolador CAN clásico modificado 31. La señal de salida de la puerta O 41 constituye la señal de emisión (TxDC) del microcontrolador CAN completado 34.
Por consiguiente, cuando la señal de selección de modo 37 (Autobaud) toma el valor "0" (modo normal), la señal de emisión (TxDC') del microcontrolador CAN clásico modificado 31 se confunde con la señal de emisión (TxDC) del microcontrolador CAN completado 34, y por lo tanto el dispositivo 2_{1} puede emitir mensajes hacia el bus CAN.
En cambio, cuando la señal de selección de modo 37 (Autobaud) toma el valor "1" (modo de escucha) y no está desactivada por la señal de desactivación temporal 38 (EnAckB), la señal de emisión (TxDC) del microcontrolador CAN completado 34 siempre vale "1", lo que corresponde a un estado de reposo del dispositivo (ya que "1" es el estado recesivo del bus CAN) y por tanto el dispositivo 2 no emite ningún mensaje hacia el bus CAN.
Los medios de bucle de la salida hacia la entrada del microcontrolador CAN clásico modificado 31 comprenden:
-
una segunda puerta Y 42, que realiza la función lógica "Y" entre la señal de emisión (TxDC') del microcontrolador CAN clásico modificado 31 y la señal de recepción (RxDC) del microcontrolador CAN completado 34;
-
un multiplexor 43 que recibe por una primera entrada la señal de salida de la segunda puerta Y 42 y por una segunda entrada la señal de recepción (RxDC) del microcontrolador CAN completado 34. La señal de salida del multiplexor constituye la señal de recepción (RxDC') del microcontrolador CAN clásico modificado 31. El multiplexor está gobernado por la señal de salida de la primera puerta Y 44 (es decir, la señal de selección de modo 37 [Autobaud], salvo si está desactivada), de modo que sea seleccionada la primera o la segunda entrada según que la señal de selección de modo tome el valor "1" ó "0", respectivamente.
Así pues, cuando la señal de selección de modo 37 (Autobaud) toma el valor "0" (modo normal), la señal de recepción (RxDC') del microcontrolador CAN clásico modificado 31 se confunde con la señal de recepción (RxDC) del microcontrolador CAN completado 34 y por consiguiente el dispositivo 2_{1} sólo recibe mensajes procedentes del bus CAN.
En cambio, cuando la señal de selección de modo 37 (Autobaud) toma el valor "1" (modo de escucha) y no está desactivada por la señal de desactivación temporal 38 (EnAckB), la señal de recepción (RxDC') del microcontrolador CAN clásico modificado 31 es una combinación (función de la segunda puerta Y 42) de la señal de emisión (TxDC') del microcontrolador CAN clásico modificado 31 y de la señal de recepción (RxDC) del microcontrolador CAN completado 34. Por el hecho de que "1" es el estado recesivo del bus CAN, esto permite recibir tanto mensajes procedentes del bus CAN, como mensajes emitidos por el microcontrolador CAN clásico modificado 31.
Ahora se presenta, en relación con el organigrama de la figura 5, un modo de realización particular del procedimiento, según la invención, de detección y configuración automática de velocidad.
Comprende las etapas siguientes:
(a)
el dispositivo pasa al modo de escucha (véase la descripción anterior);
(b)
el dispositivo obtiene un triplete de transiciones sucesivas de la señal transmitida por la red, es decir, la señal de recepción RxDC del microcontrolador CAN completado 34 (fig. 4). Este triplete de transiciones delimita un primero y un segundo niveles de la señal, uno de tipo dominante (señal a "0") y el otro de tipo recesivo (señal a "1");
(c)
el dispositivo mide la duración, expresada en número de periodos T_{H} del reloj del dispositivo, de cada uno de los niveles primero y segundo de la señal;
(d0)
el dispositivo actualiza dos registros de histórico, de modo que (cf. descripción de la figura 7 a continuación):
-
después de la primera iteración de la etapa (d0) los registros contienen respectivamente el mínimo P y el máximo G de las duraciones de los niveles primero y segundo;
-
después de cada iteración siguiente de la etapa (d0) los registros son actualizados según la ecuación siguiente: si G < X entonces G toma el valor X, en caso contrario P toma el valor X, siendo X la duración del nuevo nivel de la señal (cf. etapa [f3/g3] descrita a continuación);
(d1)
en función del contenido P y G de los dos registros de histórico, el dispositivo obtiene el número m de periodos T_{H} de reloj comprendidos en la longitud de bit L_{BIT}: L_{BIT} = M * T_{H};
\newpage
(d2)
en función del número m obtenido en la etapa (d1), el dispositivo obtiene un valor máximo BRP_{MÁX} del escalar BRP (véase la descripción anterior) sabiendo que:
(i)
L_{BIT} = m * T_{H} = n * BRP * T_{H}, de donde: m = n * BRP
(ii)
n = L_{BIT}/TQ
(iii)
n \leq n_{MÁX}, siendo n_{MÁX} (igual a 25) un número máximo predeterminado de unidades de tiempo TQ que puede comprender la longitud de bit L_{BIT};
(d3)
en función del número m y del valor máximo BRP_{MÁx} obtenidos en la etapa (d2), el dispositivo obtiene un valor del número n de unidades de tiempo TQ comprendidas en la longitud de bit L_{BIT}: n = m/BRP_{MÁX};
(d4)
en función del número n obtenido en la etapa (d3), el dispositivo obtiene valores para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo;
(e)
el dispositivo valida la nueva configuración de velocidad;
(f)
si el dispositivo detecta la recepción correcta de la parte útil de un mensaje procedente de la red (respuesta positiva a la etapa f1) (por ejemplo, por comparación de un campo CRC recibido y de un campo CRC recalculado a partir de bits recibidos) pasa temporalmente al modo normal para enviar un campo de acuse de recibo (ACK) hacia la red y después pasa de nuevo al modo de escucha (etapa f2), en caso contrario (respuesta negativa a la etapa f1) obtiene una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, y mide la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo (etapa [f3/g3]), y después reitera las etapas (d0) a (g) teniendo en cuenta el nuevo nivel de la señal;
(g)
si el dispositivo detecta la recepción de modo correcto (Rx OK) de un mensaje procedente de la red (respuesta positiva a la etapa g1), pasa al modo normal (etapa g2), en caso contrario (respuesta negativa a la etapa g1) efectúa la etapa referenciada (f3/g3) detallada más arriba, y después reitera las etapas (d0) a (g) teniendo en cuenta el nuevo nivel de la señal.
Como se explica luego en detalle, la invención está basada en un cálculo de la longitud de bit L_{BIT} (o "TimeBit") que aprovecha intensamente cierto número de particularidades del protocolo CAN, a saber:
-
un mensaje de error (Error Frame) o un mensaje de temporización de la red (Overload Frame) comprende al menos 6 bits dominantes y al menos 6 bits recesivos;
-
en un mensaje de datos (Data Frame) o un mensaje de petición de datos (Remote Frame) no se puede encontrar un nivel dominante, recesivo respectivamente, de una duración superior a 5 * L_{BIT};
-
un mensaje de datos (Data Frame) o un mensaje de petición de datos (Remote Frame) sólo puede comprender niveles de una misma duración (1 * L_{BIT}, 2 * L_{BIT}, 3 * L_{BIT}, 4 * L_{BIT} ó 5 * L_{BIT});
-
un mensaje de datos (Data Frame) o un mensaje de petición de datos (Remote Frame) no puede comprender únicamente niveles de duración 1 * L_{BIT} y 2 * L_{BIT}.
Ahora se describe más en detalle, en relación con la figura 6, la obtención de transiciones de la señal y la medición de la duración de los niveles delimitados por esas transiciones, cuyas operaciones son puestas en práctica en ciertas etapas ([b], [c] y [f3/g3]) mostradas en el organigrama de la figura 5. Una primera y una segunda transiciones 61, 62 de la señal de recepción RxDC delimitan un primer nivel 66 (dominante en el ejemplo ilustrado). La segunda transición 62 y una tercera transición 63 de la señal de recepción RxDC delimitan un segundo nivel 67 (recesivo en el ejemplo ilustrado). La tercera transición 63 y una cuarta transición 64 de la señal de recepción RxDC delimitan un tercer nivel 68 (dominante en el ejemplo ilustrado). Y así sucesivamente, con alternancia de niveles dominantes y recesivos.
La señal de recepción RxDC es muestreada por el reloj del dispositivo, de periodo T_{H}. La evaluación de la duración de cada uno de los niveles dominantes y recesivos se hace mediante la utilización de dos contadores. El número de muestras dominantes comprendidas en cada nivel dominante es salvado por un primer contador, llamado contador dominante C1. El número de muestras recesivas comprendidas en cada nivel recesivo es salvado por un segundo contador, llamado contador recesivo C2. El orden de arranque/detención de los contadores C1 y C2 siempre está determinado por las transiciones. De este modo, una transición descendente ("falling edge" en inglés) (caso de las primera y tercera transiciones referenciadas con 61 y 63) arranca el contador dominante C1 y detiene el contador recesivo C2. Una transición ascendente ("rising edge" en inglés) (caso de las segunda y cuarta transiciones referenciadas con 62 y 64) arranca el contador recesivo C2 y detiene el contador dominante C1. Un contador C1 ó C2 detenido se pone de nuevo a cero un periodo de reloj después de su detención.
Por otra parte, se sabe que cada uno de los niveles, dominante o recesivo, comprende un número entero de bits.
Pueden deducirse las ecuaciones siguientes (C1 indica aquí el valor tomado por el contador dominante y C2 el tomado por el contador recesivo):
C1 \ \text{*} \ T_{H} \ = \ a \ \text{*} \ L_{BIT} \ = \ a \ \text{*} \ (m \ \text{*} \ T_{H}) \rightarrow \ C1 \ = \ a \ \text{*} \ m
C2 \ \text{*} \ T_{H} \ = \ b \ \text{*} \ L_{BIT} \ = \ b \ \text{*} \ (m \ \text{*} \ T_{H}) \rightarrow C2 \ = \ b \ \text{*} \ m
Se recuerda que m es el número de periodos de reloj T_{H} comprendidos en la longitud de un bit L_{BIT}.
Por lo tanto, en estas dos ecuaciones hay tres incógnitas: a, b y m. Sin embargo, utilizando las particularidades del protocolo CAN (véase más arriba), se sabe que los parámetros a y b no pueden rebasar el valor 5 en el caso de mensajes de datos (Data Frame) o de mensajes de petición de datos (Remote Frame).
En la siguiente primera matriz 5x5 se han representado todos los casos posibles, en función de a y b, así como la manera de determinar m en función de C1 y C2.
a\b 1 2 3 4 5
1 sin conclusión m = C1/2 m = C1 m = C1 m = C1
2 m = C2/2 sin conclusión m = C2 – C1 m = C1/2 m = C2 – 2 C1
3 m = C2 m = C1 – C2 sin conclusión m = C2 – C1 m = 2 C1 – C2
4 m = C2 m = C2/2 m = C1 – C2 sin conclusión m = C2 – C1
5 m = C2 m = C1 – 2 C2 m = 2 C2 – C1 m = C1 – C2 sin conclusión
Esta primera matriz tiene en cuenta particularidades del protocolo CAN:
-
para todos los pares de valores de a y b correspondientes a la diagonal de la matriz (a = b) es imposible sacar una conclusión sobre el valor de m y se espera al nivel siguiente. En efecto, esto no representa ninguna molestia dado que se efectúa un tratamiento iterativo y se sabe que, en el transcurso del mensaje recibido por la línea de recepción RxDC, es seguro que, durante al menos una iteración con otro nivel, se va a tratar un caso en el que a es diferente de b, lo que permitirá sacar una conclusión sobre el valor de m;
-
el caso a = 2b ó b = 2a es crítico. En efecto, no se sabe si se trata de dos niveles cuya duración es, respectivamente, 1* L_{BIT} y 2 * L_{BIT}, o bien 2 * L_{BIT} y 4 * L_{BIT}. Voluntariamente, se hace la división por dos del valor más pequeño entre C1 y C2. Esta elección está justificada por el hecho de que un mensaje recibido por la línea de recepción RxDC no puede encontrase más que en niveles de duración 1* L_{BIT} y 2 * L_{BIT}. Por tanto, posteriormente, durante al menos una iteración con otro nivel, se va a tratar un caso con un nivel de al menos 3 * L_{BIT} que permite encontrar el valor de m (es decir, la longitud de un bit L_{BIT}).
La primera matriz anterior es completamente simétrica, por consiguiente se pueden reducir a la mitad los casos del análisis procediendo a una ordenación de los coeficientes a y b. De este modo, se llaman P = mín (C1, C2) y G = máx (C1, C2), siendo P y G el contenido de los dos registros de histórico ya discutidos más arriba (véase la etapa [d0] en la figura 5). Entonces se obtiene la siguiente segunda matriz:
mín (a, b)\máx (a, b) 1 2 3 4 5
1 sin conclusión m = P/2 m = P m = P m = P
2 sin conclusión m = G – P m = P/2 m = G – 2P
3 sin conclusión m = G – P m = 2P – G
4 sin conclusión m = G – P
5 sin conclusión
\newpage
Durante la etapa (d1) el valor del número m está dado por las ecuaciones siguientes, que se derivan de la segunda matriz anterior:
- m = mín (2P - G, G - P), si P < G < 2P
(1)
- m = mín (G - 2P, P), si 2P < G < 6P
(2)
- m = P/2, si G = 2P
(3)
- m no se calcula en los demás casos
(4)
En la práctica, la tolerancia del oscilador que genera el reloj del dispositivo puede tener una consecuencia nefasta en el algoritmo de decisión del valor de m según las ecuaciones (1) a (4) anteriores. En efecto, si G está cerca de 2P existe el riesgo principal de utilizar una ecuación mala para el cálculo de m. Por esta razón se tiene en cuenta una tolerancia del oscilador que no supere el valor de P/k, siendo k un número entero predeterminado superior o igual a 4, y preferentemente igual a 8. Por consiguiente, se acepta una tolerancia que es mucho mayor que la especificada en el protocolo CAN.
Las ecuaciones (1) a (4) anteriores se sustituyen pues por las ecuaciones siguientes:
- m \ = \ m \text{í}n \ (2P \ - \ G, \ G \ - \ P), \ si \ P \ + \ P/8 \ < \ G \leq \ 2(P - P/8)
(1')
- m = mín (G - 2P, P), si 2(P + P/8) < G < 6(P – P/8)
(2')
- m \ = \ P/2, \ si \ 2(P \ - \ P/8) \ < \ G \leq \ 2(P + P/8)
(3')
- m no se calcula en los demás casos
(4')
En adelante se presenta, en relación con la figura 7, un algoritmo de puesta en práctica de la etapa (d0) de actualización de dos registros de histórico que contienen los números P y G antes citados. Se recuerda que estos números P y G se utilizan en la etapa (d1) de obtención del número m (fig. 5).
Al principio (etapa 71) se espera que la señal de selección de modo esté activa (Autobaud = 1). Los números P y G toman el valor FFFF por defecto.
Si el dispositivo es activado (paso a "0" de una señal CanEnableB) y la señal de selección de modo se pone activa (Autobaud = 1), se pasa a la etapa 72 en la que se espera al primer frente descendente (primera transición) de la señal recibida RxDC.
Si se ha detectado el primer frente descendente se pasa a la etapa 73 en la que se espera al primer frente ascendente (segunda transición) de la señal recibida RxDC.
Si se detecta una condición que indique un mensaje de error (Error Frame) o un mensaje de temporización de la red (Overload frame) (G > 6(P - P/8)), se vuelve a la etapa 71.
Si se ha detectado el primer frente ascendente se da a P y a G el valor C1 del contador dominante. Después se pasa a la etapa 74 en la que se espera al siguiente frente descendente (tercera transición) de la señal recibida RxDC y en la cual se desactiva (poniéndola a "0") una variable "EnCompare" que pone en marcha el cálculo del número m (véase el algoritmo descrito a continuación en relación con la figura 9).
Si se ha detectado el siguiente frente descendente, se da a G el valor C2 del contador recesivo si C2 es superior a G, en caso contrario se da a P el valor C2. Además se activa (poniéndola a 1) la variable "EnCompare" que pone en marcha el cálculo del número m. Después se pasa a la etapa 75 en la que se espera al siguiente frente ascendente (cuarta transición) de la señal recibida RxDC y en la cual se desactiva (poniéndola a "0") la variable "EnCompare" que pone en marcha el cálculo del número m.
Si se ha detectado el siguiente frente ascendente, se da a G el valor C1 del contador dominante si C1 es superior a G, en caso contrario se da a P el valor C1. Además se activa (poniéndola a 1) la variable "EnCompare" que pone en marcha el cálculo del número m. Después se vuelve a la etapa 74 en la que se espera al siguiente frente descendente (quinta transición) de la señal recibida RxDC y en la cual se desactiva (poniéndola a "0") la variable "EnCompare" que pone en marcha el cálculo del número m.
A medida que se detecten transiciones sucesivas se efectúan en bucle las etapas 74 y 75 antes citadas y por tanto se recalculan los valores de P y G mientras la señal de selección de modo no se ponga inactiva (Autobaud = 0) (véase la etapa [g], fig. 5).
\newpage
La figura 8 ilustra un ejemplo de señal recibida RxDC (señal transmitida por la red), con sus transiciones, y los valores de los números P y G obtenidos al ejecutar el algoritmo de la figura 7, descrito con detalle más arriba.
Ahora se presenta, en relación con la figura 9, un algoritmo de puesta en práctica de la etapa (d1) de obtención del número m (fig. 5) a partir de las ecuaciones (1') a (4') explicadas anteriormente.
Al principio (etapa 91) se espera la activación (por su puesta a 1) de la variable "EnCompare" que pone en marcha el cálculo del número m (véase el algoritmo descrito anteriormente en relación con la figura 7). Por otra parte, en esta etapa inicial 91 se desactiva (poniéndola a "0") una variable "ConfigureCan" que pone en marcha el cálculo del escalar BRP (véase el algoritmo descrito a continuación en relación con la figura 10).
Si la variable "EnCompare" es activada (EnCompare = 1) se pasa a la etapa 92 de lanzamiento del cálculo del número m. La variable "ConfigureCan" continúa desactivada.
Si se verifica la condición "G > 2(P + P/8)" se pasa a la etapa 93 correspondiente a un primer estado intermedio (comparación 1). Entonces se está en la situación en que se aplica la ecuación (2') antes citada. Por consiguiente, m = mín (G - 2P, P). Además se activa (poniéndola a 1) la variable "ConfigureCan" que pone en marcha el cálculo del escalar BRP. Después se vuelve a la etapa inicial 91.
Si se verifica la condición "G \leq 2(P + P/8)" se pasa a la etapa 94 correspondiente a un segundo estado intermedio (comparación 2). Conviene efectuar otras comparaciones a fin de determinar cuál de las ecuaciones (1'), (3') y (4') antes citadas se aplica.
Si se verifica la condición "G > 2(P - P/8)" se está en la situación en que se aplica la ecuación (3') antes citada. Por consiguiente, m = P/2. Además se activa (poniéndola a 1) la variable "ConfigureCan" que pone en marcha el cálculo del escalar BRP. Después se vuelve a la etapa inicial 91.
Si se verifica la condición "G \leq 2(P - P/8)" se pasa a la etapa 95 correspondiente a un tercer estado intermedio (comparación 3). Conviene efectuar otras comparaciones a fin de determinar cuál de las ecuaciones (1') y (4') antes citadas se aplica.
Si se verifica la condición "G > P + P/8" se pasa a la etapa 96 correspondiente a un cuarto estado intermedio (comparación 4). Entonces se está en la situación en que se aplica la ecuación (1') antes citada. Por consiguiente, m = mín (2P - G, G-P). Además se activa (poniéndola a 1) la variable "ConfigureCan" que pone en marcha el cálculo del escalar BRP. Después se vuelve a la etapa inicial 91.
Si se verifica la condición "G \leq P + P/8" se pasa a la etapa 97 correspondiente a un quinto estado intermedio (comparación 5). Entonces se está en la situación en que se aplica la ecuación (4') antes citada. Por consiguiente no se recalcula m (m = m). Además, la variable "ConfigureCan" continúa desactivada. Después se vuelve a la etapa inicial 91.
Ahora se presenta, en relación con la figura 10, un esquema de bloques de un ejemplo de circuito que pone en práctica la etapa (d2) de obtención del valor máximo BRP_{MÁX} del escalar BRP (fig. 5). Este circuito está activado cuando la variable "ConfigureCan" está activada (ConfigureCan = 1) (véase el algoritmo descrito anteriormente en relación con la figura 9).
Se sabe que: m = n * BRP y n \leq 25.
El circuito comprende un multiplicador 101, un contador 102, un comparador 103 y un registro de almacenamiento 104. El multiplicador 101 recibe en sus dos entradas, respectivamente, el número 25 (es decir, n_{MÁX}) y la salida del contador 102. El comparador 103 recibe por su primera entrada (A) la salida del multiplicador 101 y por su segunda entrada (B) el número m calculado previamente (mediante la ejecución del algoritmo descrito anteriormente en relación con la figura 9). La salida del comparador está a "0" si su primera entrada es inferior a su segunda entrada (A < B), y a "1" en caso contrario (A \geq B). El registro de almacenamiento 104 está conectado a la salida del contador 102. El contador 102 está gobernado por un valor "0" de la salida del comparador 103, mientras que el registro de almacenamiento 104 está gobernado por un valor "1" de esta misma salida del comparador 103.
El funcionamiento de este circuito es el siguiente: el contador comienza a incrementarse a partir de 0. Mientras se verifique la condición "25 x contador < m" (A < B) se incrementa en 1 la salida del comparador 103. Tan pronto como se verifique la condición "25 x contador \geq m" (A \geq B) se transfiere al registro de almacenamiento 104 el valor en curso del contador. Este valor es el valor máximo BRP_{MÁX} del escalar BRP.
Ahora se presenta, en relación con la figura 11, un esquema de bloques de un ejemplo de circuito que pone en práctica la etapa (d3) de obtención del número n (fig. 5). Este circuito está activado cuando el valor máximo BRP_{MÁX} del escalar BRP ha sido obtenido (véase el algoritmo y el circuito descritos arriba en relación con la figura 10).
Se sabe que: m = n * BRP y 8 \leq n \leq 25. Además se ha obtenido el valor máximo BRP_{MÁX} del escalar BRP.
El circuito de la figura 11 es muy parecido al de la figura 10. Comprende un multiplicador 111, un contador 112, un comparador 113 y un registro de almacenamiento 114. El multiplicador 111 recibe en sus dos entradas, respectivamente, el número BRP_{MÁX} y la salida del contador 112. El comparador 113 recibe por su primera entrada (A) la salida del multiplicador 111 y por su segunda entrada (B) el número m calculado previamente (mediante la ejecución del algoritmo descrito anteriormente en relación con la figura 9). La salida del comparador está a "0" si su primera entrada es inferior a su segunda entrada (A < B), y a "1" en caso contrario (A \geq B). El registro de almacenamiento 114 está conectado a la salida del contador 112. El contador 112 está gobernado por un valor "0" de la salida del comparador 113, mientras que el registro de almacenamiento 114 está gobernado por un valor "1" de esta misma salida del comparador 113.
El funcionamiento de este circuito es el siguiente: el contador comienza a incrementarse a partir de 7 (porque n no puede ser inferior a 8). Mientras se verifique la condición "BRP_{MÁX} x contador < m" (A < B) se incrementa en 1 la salida del comparador 113. Tan pronto como se verifique la condición "BRP_{MÁX} x contador \geq m" (A \geq B) se transfiere al registro de almacenamiento 114 el valor en curso del contador. Este valor es el valor del número n.
La figura 12 ilustra un ejemplo de tabla de correspondencia utilizada durante la etapa (d4) (fig. 5) de obtención, en función del número n obtenido en la etapa (d3), de valores (expresados en número de unidades de tiempo TQ) para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo.
Para cada valor del número n se calculan los valores de las longitudes de los segmentos que constituyen el bit a partir de la ecuación siguiente:
n \ = \ L_{SYNC} \ + \ L_{PRS} \ + \ L_{PHS1} \ + \ L_{PHS2}
Los valores se eligen de modo que se tenga un punto de muestreo en torno al 75%. Está claro que pueden preverse otras tablas de correspondencia sin salirse del ámbito de la presente invención.
Ahora se presenta, en relación con la figura 13, un modo de realización particular del microcontrolador CAN clásico modificado, según la invención, referenciado con 31 en la figura 3.
El microcontrolador CAN clásico modificado 31 comprende una CPU (unidad central de tratamiento) 131 que se comunica con un controlador CAN 133 mediante un conjunto de registros 132.
La aplicación ejecutada por la CPU 131 puede escribir en ciertos registros (registros de configuración, registro que define la estructura de un bit [TimeBit] 137, registro para la señal de selección de modo [Autobaud] 138, etc.).
El controlador CAN también puede escribir en ciertos registros, llamados registros de estado (Status). Estos registros de estado informan a la aplicación ejecutada por la CPU del estado de un mensaje (trama) recibido. Un mensaje correctamente recibido se expresa por medio de la escritura de un bit RxOK. Un mensaje erróneo se expresa por medio de la escritura de un bit que describe el tipo de error (error de inserción SERR, error de bit BERR, error de acuse de recibo AERR...).
En el modo de realización particular de la invención ilustrado mediante la figura 13, el controlador CAN 133 comprende un módulo clásico (llamado a continuación módulo CanBasic) 134, de codificación/descodificación de la señal recibida del bus CAN, y un módulo 135 (llamado a continuación módulo Autobaud) específico de la presente invención y que pone en práctica los algoritmos descritos anteriormente. En otros términos, en este modo de realización particular, el procedimiento, según la invención, de detección y configuración automática de velocidad es puesto en práctica de modo material (hardware).
No obstante, está claro que pueden considerarse otros modos de realización de la invención en los que una parte o la totalidad de la invención pueden ponerse en práctica de modo lógico (software), por medio de la aplicación ejecutada por la CPU 131.
Los registros de control 136 específicos del módulo CanBasic 134 no se describen aquí porque no son el objeto de la presente invención.
El registro que define la estructura de un bit (llamado a continuación registro TimeBit) 137 es absolutamente necesario para poder comunicarse en el bus CAN. En efecto, es el que salva la configuración de un bit, es decir, los valores de la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo. En el caso de una solución material (hardware) en la que el módulo Autobaud 135 (específico de la presente invención) es el que permite obtener estos valores, la aplicación ejecutada por la CPU 131 sólo tiene el derecho de leer el contenido del registro TimeBit 137. El módulo Autobaud 135 envía señales de control para escribir en el registro TimeBit 137. De este modo, cuando se encuentra una configuración de bit, se genera la señal WrTimeBit de modo que los valores de las longitudes L_{SYNC}, L_{PRS}, L_{PHS1} y L_{PHS2} sean escritos en el registro TimeBit 137. El módulo CanBasic 134 utilizará estos valores para comunicarse por el bus CAN y si estos valores son correctos el módulo CanBasic 134 generará el indicador de estado (status flag) RxOK para confirmar que la recepción del mensaje ha transcurrido bien.
Para la señal de selección de modo (Autobaud) es necesario un registro (llamado a continuación registro Autobaud) 138. Al principio, la aplicación ejecutada por la CPU 131 debe escribir "1" en este registro (generación de una señal de control WrCPU y de una señal de datos DATA igual a "1", cf. fig. 14) para arrancar el módulo Autobaud 135 y por tanto los diferentes algoritmos específicos de la invención (véase la descripción anterior). Después, en el caso de la solución material (hardware) antes citada, la aplicación ya no actúa sobre el registro Autobaud 138 ni sobre el módulo Autobaud 135 que se hace cargo de su gestión. Más precisamente, cuando el módulo Autobaud 135 encuentra una configuración de velocidad (escritura de los valores de las longitudes L_{SYNC}, L_{PRS}, L_{PHS1} y L_{PHS2} en el registro TimeBit 137), el módulo CanBasic 134 tiene en cuenta esta configuración y descodifica la señal recibida RxDC. Cuando un mensaje ha sido correctamente recibido el módulo CanBasic 134 genera el indicador de estado (status flag) RxOK.
Como se detalla en la figura 14, este indicador de estado RxOK vuelve a poner a "0" (reset) el registro Autobaud 138, lo que provoca la detención instantánea del módulo Autobaud 135 y el retorno a un funcionamiento del dispositivo en modo normal (Autobaud = 0).
Se observará que el registro Autobaud 138 también puede volverse a poner a "0" mediante un indicador de estado "SystemReset" que indique un arranque del dispositivo. Se acomete pues el borne de puesta a "0" (Rst) del registro Autobaud 138 con la señal de salida de una puerta O 141 cuyas entradas reciben el indicador de estado RxOK y el indicador de estado SystemReset. El indicador de estado SystemReset no se ha representado en la figura 13 sólo por deseo de simplificar.
La figura 15 ilustra una variante de realización del cambio de valor del registro Autobaud 138, en el caso en que una parte o la totalidad de la invención se ponen en práctica de modo lógico (software) mediante la aplicación ejecutada por la CPU 131.
En este caso, cuando la aplicación ejecutada por la CPU 131 queda informada de la generación del indicador de estado RxOK, escribe "1" en el registro Autobaud 138. Para efectuarlo genera una señal de control WrCPU y una señal de datos DATA igual a "1".
Así pues, sólo el indicador de estado "SystemReset" antes citado permite la puesta a "0" del registro Autobaud 138.
Ahora se presenta, en relación con la vista dinámica de la figura 16, el funcionamiento del procedimiento según la invención.
Durante la recepción de un primer mensaje (primera trama) 161 el dispositivo obtiene y valida una nueva configuración de velocidad (determinación de los valores para los parámetros que definen la longitud de bit L_{BIT}).
Durante la recepción de un segundo mensaje (segunda trama) 162 el dispositivo confirma que la nueva configuración de velocidad es correcta. El módulo CanBasic 134 (fig. 13) calcula un valor del campo de verificación CRC (según reglas conocidas por un experto en la técnica) y lo compara con el valor del campo CRC recibido por el dispositivo. En caso de igualdad, activa la señal de desactivación temporal EnAckB (poniéndola a "0") de modo que el dispositivo envíe un campo de acuse de recibo (ACK) del segundo mensaje 162. A continuación, si la señal del bus permanece en el estado recesivo ("1") durante 7 bits (7 * L_{BIT}) el módulo CanBasic 134 genera el indicador de estado RxOK, lo que va a provocar la desactivación de la señal de selección de modo Autobaud (paso a "0"), es decir, el fin de la ejecución del procedimiento según la invención.
Es importante señalar que la ejecución del procedimiento según la invención (paso a "1" de la señal de selección de modo Autobaud) puede arrancar en cualquier momento de la recepción del primer mensaje 161 o bien durante la recepción de un mensaje 160 que precede al primer mensaje 161.
Si la ejecución del procedimiento según la invención arranca durante la recepción del primer mensaje 161 y si realmente puede obtenerse una nueva configuración de velocidad, el tiempo total de ejecución es inferior a la duración de dos mensajes (suma de la duración restante del primer mensaje 161 y de la duración total del segundo mensaje 162).
En el peor de los casos, si la ejecución del procedimiento según la invención arranca durante la recepción del mensaje 160 que precede al primer mensaje 161 (pero sin que pueda obtenerse una nueva configuración de velocidad durante la recepción de este mensaje precedente 160), el tiempo total de ejecución es igual como máximo a la duración de tres mensajes (suma de la duración del mensaje precedente 160, del primer mensaje 161 y del segundo mensaje 162).

Claims (14)

1. Procedimiento de detección automática de la velocidad de una red y de configuración según la velocidad detectada por un dispositivo conectado a la red, transmitiendo la red una señal en la que se transmiten mensajes que comprenden bits de longitud L_{BIT} y de tipo dominante o recesivo, caracterizado porque comprende las etapas sucesivas siguientes:
(a)
el dispositivo pasa a un modo de escucha, en el que puede recibir mensajes procedentes de la red, pero no puede emitir mensajes hacia la red;
(b)
el dispositivo obtiene un triplete de transiciones sucesivas de la señal transmitida por la red, delimitando dicho triplete un primero y un segundo niveles de la señal, uno dominante y el otro recesivo;
(c)
el dispositivo mide la duración, expresada en número de periodos T_{H} de un reloj del dispositivo, de cada uno de los niveles primero y segundo;
(d)
en función de las duraciones medidas de los niveles de la señal, el dispositivo obtiene una nueva configuración de velocidad determinando valores para los parámetros que definen la longitud de bit L_{BIT};
(e)
el dispositivo valida la nueva configuración de velocidad;
(g)
si el dispositivo detecta que se verifica al menos una condición de adaptación de velocidad, pasa a un modo normal, en caso contrario obtiene una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, mide la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo, y reitera las etapas (d) a (g) teniendo en cuenta el nuevo nivel de la señal.
2. Procedimiento según la reivindicación 1, caracterizado porque la red es un bus CAN y porque el dispositivo comprende un microcontrolador CAN completado, respecto a un microcontrolador CAN clásico, de modo que ponga en práctica el procedimiento, según la invención, de detección automática de la velocidad de la red y de configuración según la velocidad detectada.
3. Procedimiento según la reivindicación 2, estando definida la longitud de bit L_{BIT} por:
-
un escalar BRP, tal que: TQ = BRP * TH, siendo TQ una unidad de tiempo y T_{H} el periodo del reloj del dispositivo;
-
longitudes expresadas en número de unidades de tiempo TQ: longitud L_{SYNC} de un segmento de sincronización, longitud L_{PRS} de un segmento de propagación que intenta compensar un retraso físico en el bus CAN, longitudes L_{PHS1} y L_{PHS2} de primero y segundo segmentos de fase que permiten posicionar un punto de muestreo,
caracterizado porque la propia etapa (d) comprende las etapas siguientes:
(d0) el dispositivo actualiza dos registros de histórico, de modo que:
-
después de la primera iteración de la etapa (d) los registros contienen respectivamente el mínimo P y el máximo G de las duraciones de los niveles primero y segundo;
-
después de cada iteración siguiente de la etapa (d) los registros son actualizados según la ecuación siguiente: si G < X entonces G toma el valor X, en caso contrario P toma el valor X, siendo X la duración de dicho nuevo nivel de la señal;
(d1)
en función del contenido P y G de dichos registros de histórico, el dispositivo obtiene un número m que permite expresar la longitud de bit L_{BIT} en función del periodo T_{H} del reloj del dispositivo: L_{BIT} = m * T_{H};
(d2)
en función del número m obtenido previamente, el dispositivo obtiene un valor máximo BRP_{MÁX} del escalar BRP sabiendo que:
(i)
L_{BIT} \ = \ m \ \text{*} \ TH \ = \ n \ \text{*} \ BRP \ \text{*} \ TH, \
\hskip0.5cm
de \ \text{donde:} \ m \ = \ n \ \text{*} \ BRP
(ii)
n \ = \ L_{BIT}/TQ
(iii)
n \leq n_{MÁX}, siendo n_{MÁX} un número máximo predeterminado de unidades de tiempo TQ que puede comprender la longitud de bit LBIT;
(d3)
en función del número m y del valor máximo BRP_{MÁX} obtenidos previamente, el dispositivo obtiene un valor del número n tal que: n = m/BRP_{MÁX};
(d4)
en función del número n obtenido previamente, el dispositivo obtiene valores para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo.
4. Procedimiento según la reivindicación 3, caracterizado porque en la etapa (d1) el valor del número m está dado por las ecuaciones siguientes:
- m = mín (2P - G, G - P), si P < G < 2P,
- m = mín (G - 2P, P), si 2P < G < 6P,
- m = P/2, si G = 2P,
- m no se calcula en los demás casos.
5. Procedimiento según la reivindicación 4, caracterizado porque en la etapa (d1) las condiciones de aplicación de las ecuaciones que dan el valor del número m se modifican como sigue:
- m = mín (2P - G, G - P), si P + P/k < G \leq 2(P - P/k),
- m = mín (G - 2P, P), si 2(P + P/k) < G < 6(P - P/k),
- m = P/2, si 2(P - P/k) < G \leq 2(P + P/k),
- m no se calcula en los demás casos,
siendo k un número entero predeterminado superior o igual a 4, y preferentemente igual a 8.
6. Procedimiento según una cualquiera de las reivindicaciones 3 a 5, caracterizado porque en la etapa (d4) se utiliza una tabla predeterminada de correspondencia que asocia a cada valor del número n un juego de valores para la longitud L_{SYNC} del segmento de sincronización, la longitud L_{PRS} del segmento de propagación y las longitudes L_{PHS1} y L_{PHS2} de los segmentos de fase primero y segundo.
7. Procedimiento según una cualquiera de las reivindicaciones 1 a 6, caracterizado porque dicha al menos una condición de adaptación de velocidad de la etapa (g) es la recepción de modo correcto (Rx OK) de un mensaje procedente de la red.
8. Procedimiento según una cualquiera de las reivindicaciones 1 a 7, caracterizado porque la etapa (g) está precedida por la etapa siguiente:
(f)
si el dispositivo detecta la recepción correcta de la parte útil de un mensaje procedente de la red, pasa temporalmente al modo normal para enviar un campo de acuse de recibo (ACK) hacia la red y después pasa de nuevo al modo de escucha, en caso contrario obtiene una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, mide la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo, y reitera las etapas (d) a (g) teniendo en cuenta el nuevo nivel de la señal.
9. Dispositivo destinado a ser conectado a una red, caracterizado porque comprende medios de detección automática de la velocidad de la red y de configuración según la velocidad detectada, transmitiendo la red una señal en la que se transmiten mensajes que comprenden bits de longitud L_{BIT} y de tipo dominante o recesivo, caracterizado porque comprende:
-
medios de basculación de un modo normal a un modo de escucha, en el que se activan medios de bloqueo de mensajes emitidos por el dispositivo hacia la red y el dispositivo sigue recibiendo mensajes procedentes de la red;
-
medios de obtención de un triplete de transiciones sucesivas de la señal transmitida por la red, delimitando dicho triplete un primero y un segundo niveles de la señal, uno dominante y el otro recesivo;
-
medios de medición de la duración, expresada en número de periodos T_{H} de un reloj del dispositivo, de cada uno de los niveles primero y segundo de la señal;
-
medios de obtención, en función de las duraciones medidas, de una nueva configuración de velocidad por determinación de valores para los parámetros que definen la longitud de bit L_{BIT};
-
medios de validación de la nueva configuración de velocidad;
-
medios de detección de que se verifica al menos una condición de adaptación de velocidad;
-
medios de basculación del modo de escucha al modo normal, activados en caso de detección positiva por los medios de detección;
-
medios de obtención de una transición siguiente de la señal, que delimita con la última transición precedente un nuevo nivel de la señal, y medios de medición de la duración del nuevo nivel, expresada en número de periodos T_{H} del reloj del dispositivo, activados con dichos medios de obtención y de validación de una nueva configuración de velocidad y dichos medios de detección de que se verifica al menos una condición de adaptación de velocidad, en caso de detección negativa por los medios de detección, de modo que se tenga en cuenta dicho nuevo nivel de la señal.
10. Dispositivo según la reivindicación 9, caracterizado porque la red es un bus CAN y porque el dispositivo comprende un microcontrolador CAN completado, respecto a un microcontrolador CAN clásico, y que comprende dichos medios de detección automática de la velocidad de la red y de configuración según la velocidad detectada.
11. Dispositivo según la reivindicación 10, caracterizado porque los medios de basculación del modo normal al modo de escucha comprenden medios de generación de una señal de selección de modo (Autobaud), que toma el valor "0" ó "1" según que el dispositivo deba funcionar en el modo normal o de escucha, respectivamente, porque el microcontrolador CAN completado comprende un microcontrolador CAN clásico modificado para que comprenda dichos medios de detección automática de la velocidad de la red y de configuración según la velocidad detectada, excepto dichos medios de bloqueo de mensajes emitidos,
y porque los medios de bloqueo de mensajes emitidos comprenden medios de realización de la función lógica "O" entre la señal de selección de modo y la señal de emisión (TxDC') del microcontrolador CAN clásico modificado, constituyendo la señal de salida de los medios de realización de la función lógica "O" la señal de emisión (TxDC) del microcontrolador CAN completado.
12. Dispositivo según la reivindicación 11, caracterizado porque el microcontrolador CAN completado comprende, además, medios de bucle de la salida hacia la entrada del microcontrolador CAN clásico modificado, que comprenden:
-
medios de realización de la función lógica "Y" entre la señal de emisión (TxDC') del microcontrolador CAN clásico modificado y la señal de recepción (RxDC) del microcontrolador CAN completado;
-
medios de multiplexación que reciben por una primera entrada la señal de salida de los medios de realización de la función lógica "Y" y por una segunda entrada la señal de recepción (RxDC) del microcontrolador CAN completado, constituyendo la señal de salida de los medios de multiplexación la señal de recepción (RxDC') del microcontrolador CAN clásico modificado, estando los medios de multiplexación gobernados por la señal de selección de modo, de manera que sea seleccionada la primera o la segunda entrada según que la señal de selección de modo tome el valor "1" ó "0", respectivamente.
13. Dispositivo según una cualquiera de las reivindicaciones 9 a 12, caracterizado porque el microcontrolador CAN completado comprende, además, medios de basculación temporal del modo de escucha al modo normal, de modo que se envíe un campo de acuse de recibo (ACK) hacia la red.
14. Dispositivo según la reivindicación 13 y una cualquiera de las reivindicaciones 11 y 12, caracterizado porque los medios de basculación temporal del modo de escucha al modo normal comprenden medios de generación de una señal (EnAckB) de desactivación temporal de la señal de selección de modo, que toma el valor "0" ó "1" según que la señal de selección de modo (Autobaud) deba ser desactivada temporalmente o no.
ES05364003T 2004-01-20 2005-01-13 Procedimiento y dispositivo de deteccion automatica de la velocidad de una red de tipo de bus can. Active ES2277326T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0400521A FR2865333B1 (fr) 2004-01-20 2004-01-20 Procede de detection automatique du debit d'un reseau, notamment de type bus can, et de configuration au debit detecte par analyse de transitions, dispositif correspondant
FR0400521 2004-01-20

Publications (1)

Publication Number Publication Date
ES2277326T3 true ES2277326T3 (es) 2007-07-01

Family

ID=34639782

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05364003T Active ES2277326T3 (es) 2004-01-20 2005-01-13 Procedimiento y dispositivo de deteccion automatica de la velocidad de una red de tipo de bus can.

Country Status (5)

Country Link
US (1) US7411913B2 (es)
EP (1) EP1560372B1 (es)
DE (1) DE602005000282T2 (es)
ES (1) ES2277326T3 (es)
FR (1) FR2865333B1 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE533636C2 (sv) * 2004-10-25 2010-11-16 Xinshu Man L L C Anordning vid bussförbindelse i CAN-system
EP2339790A1 (en) * 2009-12-28 2011-06-29 Nxp B.V. Definition of wakeup bus messages for partial networking
DE102012009480A1 (de) * 2012-05-12 2013-11-14 Wabco Gmbh Verfahren und Steuereinheit zur automatischen Erkennung einer Baudrate
EP2901400A4 (en) 2013-09-23 2015-12-02 Farmobile Llc SYSTEM FOR COLLECTION AND EXCHANGE OF AGRICULTURAL DATA
US10838906B1 (en) * 2019-07-11 2020-11-17 Nxp B.V. Communication between transceiver and microcontroller
EP4080832A1 (en) * 2021-04-23 2022-10-26 Nxp B.V. Additional communication in standardized pinout of a bidirectional interface between a first and second communication device
CN113259216B (zh) * 2021-06-29 2021-09-10 微企(天津)信息技术有限公司 一种can总线信号解析方法及***
CN114422293B (zh) * 2022-02-21 2023-03-31 重庆长安汽车股份有限公司 一种can总线通信质量优化方法和存储介质
CN117335570B (zh) * 2023-10-09 2024-06-21 国网河南省电力公司濮阳供电公司 一种弹性配电网全景信息可视化监测***及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574848A (en) * 1993-08-24 1996-11-12 National Semiconductor Corporation Can interface selecting one of two distinct fault recovery method after counting a predetermined number of recessive bits or good can frames
CA2244724A1 (en) * 1996-01-29 1997-07-31 Lecroy Corporation Packet network monitoring device
DE19611944C2 (de) * 1996-03-26 2003-03-27 Daimler Chrysler Ag Integrierter Schaltkreis zur Kopplung eines mikrokontrollierten Steuergerätes an einen Zweidraht-Bus
DE19611942C2 (de) * 1996-03-26 2003-02-20 Daimler Chrysler Ag Halbleiterschaltkreis für ein elektronisches Steuergerät
FR2859853B1 (fr) * 2003-09-17 2005-12-16 Atmel Nantes Sa Procede de detection automatique du debit d'un reseau, notamment de type bus can, et de configuration au debit detecte, dispositif correspondant

Also Published As

Publication number Publication date
EP1560372B1 (fr) 2006-11-29
FR2865333A1 (fr) 2005-07-22
EP1560372A1 (fr) 2005-08-03
FR2865333B1 (fr) 2006-04-28
DE602005000282D1 (de) 2007-01-11
US7411913B2 (en) 2008-08-12
DE602005000282T2 (de) 2007-06-21
US20050180442A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
ES2277326T3 (es) Procedimiento y dispositivo de deteccion automatica de la velocidad de una red de tipo de bus can.
US7478234B2 (en) Distributed control and monitoring system
US9531750B2 (en) Spoofing detection
US8665882B2 (en) Serialized enforced authenticated controller area network
JP4953861B2 (ja) 車載ゲートウェイ装置及びデータ転送方法
ES2353810T3 (es) Método para la transmisión de datos en mensajes a través de un enlace de comunicaciones de un sistema de comunicaciones, así como un chip de comunicaciones, un participante de un sistema de comunicaciones y un sistema de comunicaciones para la realización de dicho método.
US20160264071A1 (en) In-vehicle network system, electronic control unit, and update processing method
ES2527312T3 (es) Procedimiento y dispositivo para la activación de dispositivos participantes en un sistema de bus y dispositivo participante correspondiente
US9298529B2 (en) Indicating internal transmitter errors in a controller area network (CAN)
JP7280082B2 (ja) 不正検知方法、不正検知装置及びプログラム
JP2016134913A (ja) 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム
CN110011870B (zh) 用于对多主访问总线进行测量和信号分析的节点和方法
JP2013516135A (ja) パーシャルネットワーキング用ウェイクアップ・バスメッセージの決定のための方法及び装置
JP5071151B2 (ja) 通信システム、その異常推定方法、及び情報読出装置
JP2014520418A (ja) メモリの大きさに対して調整される直列データ伝送のための方法及び装置
US20200336504A1 (en) Log generation method, log generation device, and recording medium
US10491418B2 (en) Can controller and data transmission method using the same
US11843477B2 (en) Anomaly determination method, anomaly determination device, and recording medium
EP3249855B1 (en) Invalid frame handling method, invalidity detection electronic-control unit and vehicle-mounted network system
ES2301029T3 (es) Procedimiento para el almacenamiento de mensajes en una memoria de mensajes y la memoria de mensajes.
US11218501B2 (en) Detector, detection method, and detection program
JP2873514B2 (ja) 多重伝送方法
US20240053459A1 (en) Modified uart interface and uart data transmission for real-time data transmission of echo data to a higher-level computer system
US9491110B2 (en) Method and device for securing data packets to be transmitted via an interface
ES2229697T3 (es) Telegramas de datos cortos de un sistema de automatizacion.