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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000001514 detection method Methods 0.000 title claims abstract description 27
- 230000007704 transition Effects 0.000 claims abstract description 46
- 230000006978 adaptation Effects 0.000 claims abstract description 17
- 101100519969 Arabidopsis thaliana PHS2 gene Proteins 0.000 claims description 14
- 101100524751 Arabidopsis thaliana PYRR gene Proteins 0.000 claims description 14
- 101150101545 PHS1 gene Proteins 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 13
- 230000009849 deactivation Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101100043434 Oryza sativa subsp. japonica SERR gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 239000000725 suspension Substances 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
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
- H04L12/4135—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- 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
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus 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.
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.5cmde \ \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.
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)
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)
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 |
-
2004
- 2004-01-20 FR FR0400521A patent/FR2865333B1/fr not_active Expired - Fee Related
-
2005
- 2005-01-13 EP EP05364003A patent/EP1560372B1/fr not_active Expired - Fee Related
- 2005-01-13 ES ES05364003T patent/ES2277326T3/es active Active
- 2005-01-13 DE DE602005000282T patent/DE602005000282T2/de active Active
- 2005-01-19 US US11/039,175 patent/US7411913B2/en not_active Expired - Fee Related
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. |