ES2270724A1 - Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red. - Google Patents

Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red. Download PDF

Info

Publication number
ES2270724A1
ES2270724A1 ES200502292A ES200502292A ES2270724A1 ES 2270724 A1 ES2270724 A1 ES 2270724A1 ES 200502292 A ES200502292 A ES 200502292A ES 200502292 A ES200502292 A ES 200502292A ES 2270724 A1 ES2270724 A1 ES 2270724A1
Authority
ES
Spain
Prior art keywords
hub
hubs
nodes
node
contributions
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.)
Granted
Application number
ES200502292A
Other languages
English (en)
Other versions
ES2270724B1 (es
Inventor
Julian Proenza
Manuel Barranco
Luis Almeida
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.)
Universitat de les Illes Balears
Original Assignee
Universitat de les Illes Balears
Universidade de Aveiro
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 Universitat de les Illes Balears, Universidade de Aveiro filed Critical Universitat de les Illes Balears
Priority to ES200502292A priority Critical patent/ES2270724B1/es
Publication of ES2270724A1 publication Critical patent/ES2270724A1/es
Application granted granted Critical
Publication of ES2270724B1 publication Critical patent/ES2270724B1/es
Expired - Fee Related 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/44Star or tree networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

Red de comunicaciones de protocolo can con topología en estrella replicada y procedimiento de acoplamiento de dicha red. La red comprende al menos dos nodos conectados a través de al menos un primer hub, y se caracteriza porque comprende al menos un segundo hub idéntico al primero, cada par de hubs está interconectado por al menos dos enlaces bidireccionales, e implementa medios de tratamiento de fallos. El procedimiento de acoplamiento de dicha red se caracteriza porque el hub acopla las contribuciones de los nodos conectados a él y acopla dicho resultado con las contribuciones que recibe de los otros hubs. Presentan la ventaja de la eliminación de cualquier punto de avería severa, y así esta red puede ser utilizada en los sistemas de control críticos más exigentes en términos de tolerancia a fallos y fiabilidad.

Description

Red de comunicaciones de protocolo CAN con topología en estrella replicada y procedimiento de acoplamiento de dicha red.
La presente invención se refiere a una red de comunicaciones de protocolo CAN con topología en estrella replicada y a un procedimiento de acoplamiento de dicha red.
Antecedentes de la invención
En el ámbito industrial, especialmente en aplicaciones tales como automoción, aviación o robótica, se utilizan diferentes redes de comunicaciones (también llamados buses de campo). Mediante la utilización de dichas redes es posible la transmisión de información entre las distintas partes de un sistema. Estas redes de comunicaciones pueden ser de diferentes tipos, dependiendo del protocolo de comunicaciones que empleen: CAN, TTP, etc.
El protocolo de comunicación CAN (Controller Area Network) está en la actualidad prácticamente estandarizado en la mayoría de vehículos. Este tipo de protocolo y por lo tanto, este tipo de red, proporciona buena fiabilidad y buen funcionamiento en tiempo real a muy bajo coste.
De todas maneras, dichas redes de comunicaciones CAN presentan varios problemas de garantía de funcionamiento que son causados por la topología bus del protocolo. La principal desventaja de dicha topología es que la estructura de la red presenta múltiples puntos donde un fallo puede impedir la comunicación entre varios nodos. Por ejemplo, un fallo en la interfaz con el bus de uno de los nodos puede generar errores que se propaguen a los nodos restantes y que puedan impedir la comunicación entre otros nodos de la red. Cualquier punto de la red de comunicaciones cuyo fallo es capaz de provocar que haya más de un nodo que no pueda comunicarse con varios de los otros nodos será denominado en el presente documento "punto de avería severa". Esta definición de "punto de avería severa" incluye el concepto comúnmente conocido como "punto único de avería". Un "punto único de avería" es aquel "punto de avería severa" cuyo fallo provoca que ningún nodo se pueda comunicar, haciendo que toda la red de comunicaciones se averíe.
Dichos fallos pueden ser, por ejemplo, fallos consistentes en que un nodo envía permanentemente el mismo valor a la red, conocidos en inglés como "stuck-at node faults". En CAN, estos fallos pueden ser de dos tipos, en función de cuál es el valor que el nodo envía permanentemente a la red. Si dicho valor es un "0" (lo que en CAN se denomina valor dominante) el fallo se conoce como "stuck-at-dominant" y si dicho valor es un "1" (lo que en CAN se denomina valor recesivo) se conoce como "stuck-at-recessive". Un fallo de tipo "stuck-at-dominant" puede producir una avería severa del subsistema de comunicaciones, ya que en una red CAN basta que un único nodo envíe el valor dominante para que todos los nodos reciban ese valor; mientras que para que todos los nodos reciban el valor recesivo es preciso que todos ellos envíen el valor recesivo. Por este motivo se dice que el nivel físico de CAN es equivalente a una función lógica AND de la contribución de cada uno de los nodos. Otro fallo que se puede dar es un fallo de medio de comunicación cortocircuitado ("shorted medium fault" en inglés), que ocurre cuando se produce un cortocircuito a tierra o a alimentación y que produce una avería generalizada de las comunicaciones. Otro tipo de fallo potencial, es el fallo de medio de comunicación partido (en inglés, "medium partition fault"), que hace que la red quede dividida en varias subredes o particiones de red (en inglés, "network partitions") y que impide que los nodos que hayan quedado en particiones de red diferentes puedan comunicarse entre sí. También se pueden dar fallos consistentes en que un nodo o medio envía continuamente valores aleatorios y erróneos a la red (en inglés, "bit-flipping faults"). En este caso, incluso si un nodo intenta enviar un flujo de datos correcto, éste flujo es destruido por los bits dominantes del flujo bit-flipping. Algunas posibles causas de este tipo de fallo son: un nodo dañado que envía valores erróneos, una soldadura estropeada en un conector del medio que genera bits incorrectos, etc.
Otra forma habitual de mejorar la fiabilidad en redes de comunicaciones es utilizar una topología en estrella en lugar de la topología de bus. Básicamente, existen dos clasificaciones de redes con topología en estrella: estrella pasiva ("passive star" en inglés) y estrella activa ("active star" en inglés). El centro de una estrella pasiva simplemente acopla directamente las señales físicas de cada brazo; mientras que en las activas, para cada bit, el centro tiene en cuenta el bit recibido de cada brazo, calcula el bit resultante de acoplar cada uno de estos bits y retransmite dicho bit hacia cada uno de los nodos. Algunas redes de comunicaciones, como TTP, ya han adoptado una topología en estrella para aumentar la fiabilidad de la red. Existen también redes de tipo CAN con topología en estrella. Las estrellas pasivas que existen para CAN presentan varias desventajas desde el punto de vista eléctrico o desde el punto de vista del desempeño, y no incorporan ningún mecanismo para impedir la propagación de los errores (mecanismos de contención de errores) causados por ninguno de los fallos descritos anteriormente. Las estrellas activas para CAN solucionan los problemas eléctricos y de desempeño de las pasivas, pero o bien no incluyen mecanismos de contención de errores, o bien éstos son insuficientes. Por lo que las soluciones descritas anteriormente son tan vulnerables a determinados fallos en los brazos de la estrella como lo es un bus.
De hecho, tan sólo existe una red de tipo CAN con topología en estrella que presente mecanismos especialmente diseñados para impedir la propagación de los errores causados por fallos. Dicha red se describe en la solicitud de patente 200402207 "red de comunicaciones de protocolo CAN con topología en estrella" propuesta, entre otros, por los mismos autores de la presente solicitud de patente. Dicha solución tiene medios de tratamiento de fallos mejorados que reducen los múltiples "puntos de avería severa" existentes en una red CAN con topología bus a un solo "punto único de avería", localizado en el hub (también llamado acoplador en estrella) incrementando de esta manera la garantía de funcionamiento de la red. Es importante notar que al ser el hub el único elemento que es un "punto único de avería" la probabilidad de avería severa en la red de comunicaciones puede reducirse fácilmente con sólo disminuir la probabilidad de fallo del hub. Esto puede hacerse, por ejemplo, colocando el hub en una zona mejor protegida y por ello menos sometida a ruido y otras agresiones. La reducción de la probabilidad de avería de la red de comunicaciones es más fácil de conseguir si hay solamente un punto único de avería, como ocurre en una topología en estrella, que si hay varios, como ocurre en un bus. Sin embargo, a pesar de que dicha red de comunicaciones puede ser adecuada para muchos sistemas tolerantes a fallos, puede no serlo para algunos sistemas críticos con demandas aún más estrictas de garantía de funcionamiento.
La eliminación de todos los "puntos de avería severa" en una red de comunicaciones se puede conseguir con redundancia temporal o espacial. De todos modos, las averías permanentes, como por ejemplo una red que queda dividida en varias subredes, sólo se pueden tolerar con redundancia espacial. Con el fin de obtener mayor "garantía de funcionamiento" existen protocolos que ofrecen arquitecturas basadas en buses replicados (FlexCAN), y en algunos casos también, basadas en estrellas replicadas (TTP, FlexRay). En el artículo de J. R. Pimentel y J. A. Fonseca, "FlexCAN: a flexible architecture for highly dependable embedded applications" se presenta una red de comunicaciones CAN basada en nodos y buses triplicados. Los nodos se coordinan a través de un software que utiliza temporizadores para controlar la transmisión y recepción en los canales. El inconveniente de esta solución es que está basada en topología bus, por lo que siguen existiendo varios "puntos de avería severa". Por ejemplo, nada impide que un nodo defectuoso envíe información errónea continuamente a todos los canales.
Hasta la fecha no existe ninguna red CAN que elimine todos los puntos de avería severa.
Descripción de la invención
Según un primer aspecto, la invención se refiere a "una red de comunicaciones de protocolo CAN con topología en estrella replicada". Con la red de comunicaciones de la invención se consigue resolver los inconvenientes antes mencionados.
La red de comunicaciones de protocolo CAN con topología en estrella de la invención es del tipo que comprende al menos dos nodos conectados a dicha red a través de al menos un primer hub (o acoplador en estrella) y se caracteriza porque comprende al menos un segundo hub idéntico al primero, porque cada par de hubs está interconectado por al menos dos enlaces bidireccionales y porque el conjunto de la red implementa medios de tratamiento de fallos.
En particular, cada enlace de un nodo a un hub, así como cada enlace que interconecta a un par de hubs es bidireccional. De ahora en adelante, en este documento se hará referencia a dichos enlaces como "links" e "intralinks" respectivamente.
En dicha red de comunicaciones, si un hub falla, los nodos pueden comunicarse a través de los hubs no averiados. Concretamente, si se utilizan N hubs (con N mayor o igual a dos), la red de comunicaciones tolerará el fallo de N-1 hubs. Por lo tanto la principal ventaja en dicha red es la eliminación de cualquier punto de avería severa (y consecuentemente cualquier punto único de avería), y así esta red puede ser utilizada en los sistemas de control críticos más exigentes en términos de tolerancia a fallos y fiabilidad.
Además, en dicha red de comunicaciones el tráfico de datos está replicado con el fin de que dicho tráfico no se pierda por el fallo de algún hub. Cada nodo envía simultáneamente los mismos datos a todos los hubs y todos y cada uno de los hubs se utilizan para transmitir simultáneamente los mismos bits a todos los nodos. Sin embargo, debido a los mecanismos de señalización de error del protocolo CAN, un simple bit erróneo en uno de los hubs, debido por ejemplo a interferencias electromagnéticas transitorias, puede hacer que el tráfico a través de ese hub evolucione de forma diferente al resto. La única forma de asegurar que el tráfico de datos sea idéntico en todos los hubs es haciendo que cada hub acople las contribuciones de los nodos conectados a él con las contribuciones de los nodos conectados a cada uno de los otros hubs. Se entiende por acoplamiento a la acción y efecto de unir un conjunto de señales o contribuciones con el fin de obtener una señal resultante cuyo valor dependa del valor de todas y cada una de dichas contribuciones.
En la presente invención cada hub recibe las contribuciones de los nodos conectados a otro hub a través del intralink que los interconecta. De ahora en adelante, a la señal que un hub calcula como acoplamiento de las contribuciones de los nodos conectados a él y que envía a cada uno los otros hubs a través de los correspondientes intralinks se denominará "contribución de ese hub". Por otro lado, cada hub envía a los nodos conectados a él la señal que calcula acoplando las contribuciones de los nodos conectados a él con las contribuciones de los nodos conectados a cada uno de los otros hubs. Esta última señal se denominará de ahora en adelante "señal resultante de ese hub".
Gracias a que cada hub acopla las contribuciones de sus nodos con las contribuciones de los otros hubs, la presente invención presenta la ventaja de que cualquier nodo puede estar conectado a todos o varios de los hubs, para poder tolerar la pérdida de conexión con uno de ellos debido, por ejemplo, a un fallo en el link (enlace entre nodo y hub), o puede estar conectado sólo a uno de ellos. Este hecho de que un nodo no necesite conectarse a todos los hubs es posible porque independientemente del número de hubs al que un nodo esté conectado, las transmisiones del nodo estarán acopladas en la señal resultante que todos los hubs envían a los nodos y, por tanto, su contribución estará incluida en el tráfico de todos los hubs. Esto permite ahorrar costes en el cableado para aquellos nodos cuya presencia en la red de comunicaciones sea menos crítica y, por tanto, no necesiten estar conectados directamente a muchos hubs.
Preferiblemente la red de comunicaciones de la presente invención se caracteriza porque cada uno de los hubs comprende dos operadores lógicos AND, un operador lógico OR por cada nodo de los que están conectados a ese hub y un operador lógico OR por cada uno de los enlaces bidireccionales que ese hub tiene con los otros hubs.
El nivel físico de CAN es equivalente a una función lógica AND de la contribución de cada uno de los nodos. Es decir, en CAN el medio físico es un bus que implementa una AND lógica de los valores de bit transmitidos por los nodos. Esta propiedad se utiliza para definir el resto de características del protocolo CAN. En la presente red de comunicaciones, el hub implementa esta función AND lógica de tal forma que la señal que reciben los nodos es la misma que recibirían en un bus CAN en el que participasen todos los nodos capaces de comunicar. De esta forma, desde el punto de vista de los nodos, la existencia del hub es transparente. Dicha transparencia hace posible que se mantengan todas las características del protocolo CAN (el formato de las tramas, el mecanismo de arbitraje, los mecanismos de detección de errores del canal y señalización de los mismos, etc). Por este motivo, como en la "red de comunicaciones de protocolo CAN con topología en estrella", la invención posee la ventaja de que no se pierden las propiedades de tolerancia a fallos de CAN y que se pueden utilizar circuitos y componentes CAN estándar (p.e. controladores CAN, transceptores, cables, etc) lo que hace que la implementación presentada sea más económica.
Preferiblemente cada hub de la red de comunicaciones de la presente invención se caracteriza porque un primer operador lógico AND tiene como entradas las contribuciones de cada uno de los nodos conectados al hub y un segundo operador lógico AND tiene como entradas la salida del primero y las contribuciones de cada uno de los enlaces bidireccionales que ese hub tiene con los otros hubs.
Por otro lado, la presente invención tiene la ventaja de que el hub puede utilizar cada uno de los operadores OR de los que dispone para habilitar o inhabilitar la contribución de un determinado nodo o de un determinado hub (según corresponda) al operador lógico AND correspondiente y, por tanto, al valor de cada bit que constituye la contribución del hub y/o al valor final de cada bit que constituye la señal resultante del hub (según corresponda).
Esto permite aislar dicha contribución cuando se haya detectado que está permanentemente averiada, así como reintegrar las contribuciones no permanentemente averiadas.
Preferiblemente la red de comunicaciones de la presente invención se caracteriza porque cada uno de dichos hubs comprende dos transceptores por cada uno de los nodos conectados a dicho hub, uno para el uplink y otro para el downlink, y dos transceptores por cada uno de los enlaces bidireccionales que ese hub tiene con los otros hubs.
Ventajosamente la red de comunicaciones de la presente invención se caracteriza porque dichos dos transceptores por cada uno de los enlaces bidireccionales con otros hubs están conectados uno por cada uno de los dos sentidos de dichos enlaces bidireccionales.
Por ejemplo, cada enlace bidireccional podría estar formado por dos subenlaces, cada uno dedicado a un sentido de la comunicación. De esta forma, cada enlace (en inglés, "link") que conecta un nodo a un hub está compuesto por un uplink y un downlink; mientras que cada intralink, es decir, cada uno de los enlaces bidireccionales entre cada par de hubs, está formado por dos subenlaces unidireccionales llamados "subintralinks".
Tal como se ha indicado, el hecho de tener dos enlaces, uno para cada sentido de la comunicación, permite separar en cada link la contribución real del nodo correspondiente, de la señal resultante del acoplamiento en el hub; así como separar en cada intralink la contribución del propio hub, de la que proviene del otro hub. De esta forma, cada hub tiene una visión de lo que realmente desea transmitir cada nodo y cada hub, pudiendo aplicar los mecanismos necesarios para detectar qué contribución o contribuciones en concreto está o están averiadas.
Estos transceptores se encargan de traducir las señales lógicas (bits) que generan los diferentes circuitos a señales físicas que puedan viajar por el medio físico (los enlaces) y viceversa, traducir las señales físicas del medio a una señal lógica que pueda ser
entendida por los circuitos.
En CAN es preciso que las operaciones lógicas AND y OR así como las operaciones de los transceptores de los uplinks, de los downlinks y de los subintralinks en el hub se realicen en el menor tiempo posible. El tiempo de bit en CAN es de 1 microsegundo a la máxima velocidad, aunque se puede agrandar para conseguir velocidades menores. Por tanto, todas las operaciones realizadas por las puertas AND y OR, así como por los transceptores se realizan en una fracción de tiempo sensiblemente inferior al tiempo que dura un bit en el protocolo CAN. Por ello, y como se precisa una respuesta rápida, tanto la función AND como la función OR se implementan mediante hardware, utilizando un operador o puerta lógica. Gracias a estas características se consigue mantener la propiedad de "in-bit response" propia de CAN y maximizar el ancho de banda.
Preferiblemente la red de comunicaciones de la presente invención se caracteriza porque los medios de tratamiento de fallos comprenden detección de errores, diagnóstico de fallos y pasivación de fallos en componentes permanentemente averiados; así como la reintegración de componentes no permanentemente averiados. Se entiende como componente a cada nodo, hub, link e intralink; puesto que entendemos que cualquier elemento que pertenece a la red de comunicaciones forma parte de alguno de
ellos.
El hub de la presente invención diagnostica fallos en los componentes a partir de la detección de errores recibidos a través de sus puertos. Así, fallos en un nodo, otro hub, un link, o en un intralink provocarán que el hub reciba errores desde el correspondiente puerto. Cuando estos errores se acumulen, le llevará a diagnosticarlo como averiado y a aislarlo.
Además, los nodos de la presente invención también son capaces de detectar errores recibidos desde los hubs y de dejar de utilizar la información que llega desde cualquiera de los hubs cuando diagnostica que dicho hub está averiado.
Los fallos ocurridos en un nodo se manifestarán como la transmisión de bits erróneos a través de uno o más de los uplinks con los que el nodo se comunica con los correspondientes hubs. Los bits erróneos enviados a través de uno cualquiera de estos uplinks pueden corresponder a una avería stuck-at o una avería bit-flipping, independientemente de lo que se transmita por los otros uplinks.
El caso de un hub afectado por uno o varios fallos es análogo al anterior. Un hub con fallos puede transmitir independientemente por cada uno de sus puertos bits erróneos; pudiendo presentar éstos una avería de tipo stuck-at o bit-flipping.
En lo que respecta a fallos en los links o en los intralinks, éstos se manifestarán siempre como la recepción de bits stuck-at o bit-flipping en los correspondientes puertos situados en los nodos o en los hubs, según el caso.
Es importante notar que un fallo shorted medium se manifiesta en el puerto de un hub como un fallo stuck-at, mientras que una medium partition se puede manifestar tanto como un stuck-at, como un fallo bit-flipping. Esto se debe a que en un fallo shorted medium el medio está cortocircuitado a masa o a alimentación, mientras que en un fallo medium partition el medio puede tanto estar cortocircuitado a un nivel de voltaje constante, como puede causar errores en el canal debido a reflexiones en los extremos abiertos del cable.
Cualquier contribución de un nodo que esté permanentemente averiada bien por fallos en el nodo, bien por fallos en el correspondiente link, será aislada por el correspondiente hub.
De forma parecida, cualquier información errónea que un hub envía de forma permanente a un nodo, debido tanto a fallos en el hub como en el correspondiente link, será detectada por el nodo, que dejará de tener en cuenta a ese hub a la hora de comunicarse. Además, cualquier contribución permanentemente averiada que un hub envía a otro hub, debido a fallos en el primer hub o en el correspondiente subintralink, será aislada por el segundo hub.
En la presente invención, cada par de hubs debe estar interconectado a través de M intralinks (con M mayor o igual a dos) con el fin de poder tolerar fallos en los enlaces entre cualquier par de hubs. Así, si uno de los intralinks entre dos hubs falla, el hub que recibe la contribución del otro hub a través de ese intralink deja de utilizarlo, y continúa recibiendo dicha contribución mediante los intralinks restantes entre ambos hubs. De esta forma, mediante la replicación de los intralinks, se consigue ventajosamente tolerar el fallo de (M-1) intralinks entre cada par de hubs; con un coste mínimo de (M * \sum^{N-1}_{i=1} i) intralinks en toda la red, donde N es el número de hubs.
Siempre que exista al menos un intralink entre cada par de hubs que les permitan intercambiar sus contribuciones, todos los nodos serán capaces de ver las contribuciones de todos los nodos, independientemente del hecho de que uno o varios nodos puedan comunicarse solamente a través de un hub o a través de varios hubs. Es pues una ventaja de la presente invención el hecho de que mientras cada par de hubs puedan intercambiarse sus contribuciones se evita la ocurrencia de un tipo especial de avería severa denominada "avería de dominio de comunicación inconsistente", en inglés "inconsistent communication domain failure". Este tipo de avería puede ocurrir al utilizar una topología en estrella replicada en general (que no tuviera las réplicas del hub conectadas entre sí con intralinks, es decir, que no las tuviera acopladas). Concretamente, una avería de este tipo aparece cuando, debido a combinaciones particulares de pérdidas de conexión de los nodos con alguno de los hubs, se crean diferentes dominios de comunicación (solapados o no). De tal forma, que los nodos tienen una visión inconsistente de los nodos que están disponibles para comunicar.
Debido a las características de la presente invención que se han expuesto hasta ahora, se obtiene la ventaja de que se evita la ocurrencia de averías severas en el subsistema de comunicaciones. Estas averías que se evitan son tanto las averías severas que pueden producirse por los tipos de fallos stuck-at fault y bit-flipping faults; como las averías severas potenciales de tipo "inconsistent communication domain failure".
Es más, como se toleran estos fallos sin importar el componente en el cuál se produzcan (nodos, hubs, links, intralinks), la presente invención ventajosamente elimina todos los puntos de avería severa de una red de protocolo CAN provocados por alguno de los fallos descritos en el párrafo anterior.
Es igualmente importante destacar que el hub de la presente invención no sólo incluye mecanismos de tratamiento de fallos para evitar averías severas, sino que también es capaz de detectar los componentes que presentan algunos fallos que no pueden provocar la avería severa del subsistema de comunicaciones, como pueden ser los stuck-at-recessive faults. Esto tiene la ventaja de que se puede informar a los administradores del subsistema de comunicaciones sobre la ocurrencia de un mal funcionamiento, aún cuando éste no pueda provocar una avería severa.
Ventajosamente la red de comunicaciones de la presente invención se caracteriza porque cada uno de dichos nodos comprende dos transceptores por cada uno de los hubs a los que ese nodo se conecta, uno de esos dos transceptores para el uplink y otro para el downlink. También se caracteriza porque comprende al menos un controlador CAN, al menos un microcontrolador, y medios para cambiar las conexiones entre dichos controladores CAN y los transceptores.
Un controlador CAN es un dispositivo electrónico que implementa el protocolo CAN y que es utilizado por otros dispositivos electrónicos para comunicarse a través de una red CAN, transmitiendo y recibiendo mensajes. Mientras que un microcontrolador es un dispositivo electrónico que dispone de varías capacidades de proceso (ejecución de programas, temporizadores, etc); de varios puertos para enviar y/o recibir señales de control y/o datos hacia otros dispositivos; y, normalmente, también de recursos de memoria que le permiten almacenar y consultar programas y/o datos.
Es pues una ventaja de la presente invención el hecho de que si un nodo dispone de N pares de transceptores, será capaz de conectarse a N hubs simultáneamente. Concretamente, uno de los transceptores de cada par se puede utilizar para conectarse al uplink de un link, mientras que el otro transceptor se utiliza para conectarse al downlink de ese mismo link.
En la presente invención los nodos se pueden construir utilizando componentes electrónicos estándar. La forma de utilizar estos componentes (controladores CAN, transceptores, etc) dependerá del nivel de tolerancia a fallos que se pretenda alcanzar.
Por ejemplo, se puede utilizar un único controlador CAN cuya señal de recepción se obtiene acoplando, mediante un operador lógico AND, los bits recibidos desde cada hub al que el nodo esté conectado. Sin embargo, este esquema tiene una desventaja importante. Cuando la señal que provenga de un hub contenga errores, estos se propagarán a la señal resultante de acoplar los bits recibidos desde todos los hubs y el nodo los detectará sin saber de qué hub provienen. A continuación el nodo señalizará los errores hacia todos los hubs; ya que en CAN cuando un nodo detecta un error en un mensaje, lo señaliza de tal forma que fuerza a que todos los otros nodos también detecten un error. Por ello, al señalizar los errores a todos los hubs, todos ellos van a detectar errores en la contribución que reciben de dicho nodo. Si la situación en la que el nodo detecta errores y los señaliza se prolonga lo suficiente, cada hub puede llegar a diagnosticar que la contribución que recibe de dicho nodo está averiada; con lo que el nodo sería aislado por todos los hubs, cuando en realidad el nodo está actuando correctamente. Así, por ejemplo, una única avería en uno de los downlinks de un nodo puede ser suficiente para que todos los hubs aíslen al nodo. Por tanto, a pesar de ser simple y práctica, esta solución no debe ser utilizada en sistemas que requieran un alto grado de tolerancia a fallos.
Sin embargo, en sistemas que requieran un alto grado de tolerancia a fallos es preferible que, si N es el número de hubs a los que se conecta un nodo, este nodo se caracteriza porque, preferiblemente, utiliza N pares de transceptores; N controladores CAN; porque cada uno de los controladores CAN se puede utilizar para recibir y transmitir bien desde/hacia un hub, o bien desde/hacia dos hubs diferentes; el hecho de que el nodo puede cambiar en pleno funcionamiento las conexiones entre los controladores CAN y los transceptores; y por el hecho de que para un mensaje dado sólo uno de los controladores CAN será el responsable de transmitirlo;
Es decir, cada controlador CAN de un nodo será el encargado de enviar y recibir información hacia (o desde) un hub en concreto. Por tanto, cada controlador CAN estará conectado al transceptor del uplink y al transceptor del downlink pertenecientes al link que lo conecta con dicho hub. Preferiblemente, todos los controladores CAN se utilizarán para recibir, simultáneamente, a través de su correspondiente hub; pero sólo uno de los controladores CAN se utilizará para transmitir en un momento dado. Obviamente, en caso de fallos, si el nodo no puede continuar utilizando un determinado controlador CAN para transmitir, utilizará otro de sus controladores CAN (el que le convenga) para ello.
Además, por razones de tolerancia a fallos el nodo también puede cambiar las conexiones entre los controladores CAN y los transceptores. De forma que un controlador CAN también puede estar conectado al transceptor del uplink de un hub y al transceptor del downlink de otro hub. De esta forma, el controlador CAN puede transmitir a través de un hub y recibir a través de otro. Por tanto, ventajosamente un nodo conectado a varios hubs puede comunicarse incluso cuando sólo es capaz de transmitir a través de un hub y recibir a través de otro. Es decir, un nodo podrá comunicarse con los otros nodos (transmitiendo y recibiendo correctamente) siempre que uno de sus uplinks y uno de sus downlinks no esté averiado. De esta forma, dicha red de comunicaciones tolera el fallo simultáneo de varios uplinks y varios downlinks pertenecientes al mismo link o a links diferentes.
Por otro lado, la presente invención tiene la ventaja de que los fallos de tipo stuck-at y bit-flipping pueden ser detectados por los nodos utilizando convenientemente los mecanismos ya incluidos en los controladores CAN estándar.
Según un segundo aspecto, la invención se refiere a "un procedimiento de acoplamiento de una red de comunicaciones de protocolo CAN con topología en estrella replicada".
El procedimiento de acoplamiento de una red de comunicaciones de protocolo CAN con topología en estrella replicada según la invención se caracteriza porque el hub acopla las contribuciones de los nodos conectados a él y acopla dicho resultado con las contribuciones que recibe de los otros hubs.
Ventajosamente el procedimiento de acoplamiento se caracteriza porque las contribuciones de los nodos conectados al hub se acoplan mediante un primer operador lógico AND y dicho resultado se acopla con las contribuciones que dicho hub recibe de los otros hubs mediante un segundo operador lógico AND. El hub envía la señal que resulta del primer operador lógico AND a cada uno de los otros hubs a través de los intralinks correspondientes, mientras que la señal resultante del segundo operador lógico AND es enviada por el hub a los nodos conectados a él.
Así, la señal que resulta del primer operador AND constituye la denominada anteriormente "contribución del hub"; mientras que la señal resultante del segundo operador AND constituye la denominada anteriormente "señal resultante del hub".
Este esquema de conexiones le permite al hub de la presente invención acoplar las contribuciones de los nodos conectados a él con las contribuciones que recibe de los otros hubs en dos fases independientes. Una primera fase en la que el hub acopla las contribuciones de los nodos conectados a él, y una segunda fase en la que acopla el resultado de la anterior fase con las contribuciones que recibe de los otros hubs.
Esta separación del acoplamiento en dos fases tiene la ventaja de que cada hub puede conocer cuál es el valor de la señal que resulta de acoplar las contribuciones de los nodos conectados a él, independientemente del valor de las contribuciones de cada uno de los otros hubs.
Es importante destacar que para realizar las dos fases de acoplamiento antes descritas, se pueden utilizar tantos operadores AND como se quiera. Sin embargo, el hecho de utilizar dos operadores lógicos AND; uno para la primera fase y otro para la segunda fase tiene la ventaja de que es sencillo y puede implicar menos retardos en el cálculo de las señales acopladas resultantes.
El hecho de que la señal que resulta del primer operador lógico AND sea enviada por el hub a cada uno de los otros hubs a través de los intralinks correspondientes, mientras que la señal resultante del segundo operador lógico AND sea enviada por el hub a los nodos conectados a él, conlleva varias ventajas. Primero, se evitan bucles infinitos en los acoplamientos que realizan los diferentes hubs. En segundo lugar, el hecho de que cada hub envíe al resto de hubs la señal que resulta de acoplar las contribuciones de sus propios nodos, permite a los otros hubs implementar mecanismos de tratamiento de fallos sobre la contribución recibida desde el hub en cuestión y de esta forma evitar la propagación de errores recibidos desde ese hub.
Breve descripción de los dibujos
Para mayor comprensión de cuanto se ha expuesto se acompañan unos dibujos en los que, esquemáticamente y sólo a título de ejemplo no limitativo, se representa un caso práctico de realización.
En dichos dibujos:
la figura 1 es una vista de una red genérica con topología en estrella replicada;
la figura 2 es una vista de la red CAN con topología en estrella replicada y acoplada de la presente invención;
la figura 3 es una vista de la conexión típica de un nodo al resto de la red;
la figura 4 es un diagrama de la estructura interna de un hub;
la figura 5 es un diagrama de la estructura interna de una unidad de habilitación e inhabilitación de las que se encuentran en el interior del hub.
Descripción de una realización preferida
Dicha red tiene una serie de nodos 1 y cada nodo 1 se conecta a todos los hubs 3, usando un link 2 distinto para conectarse a cada uno de los hubs 3.
Como puede verse en la figura 2, la principal característica arquitectural de esta realización preferida de la presente invención es que está constituida por dos hubs 3 (aunque podría estar constituida por más) interconectados mediante al menos dos enlaces bidireccionales llamados intralinks 6. Cada intralink 6 está constituido por dos subintralinks 6a 6b, y cada hub 3 utiliza uno de los subintralinks 6a 6b de cada intralink 6 (cada hub uno diferente dentro del mismo intralink) para enviar la señal que resulta de acoplar las contribuciones de los nodos 1 conectados a él hacia el otro hub 3. Cada uno de los nodos 1 (en la figura 2 pueden verse tres nodos 1 a modo de ejemplo aunque podría haber más) está conectado a cada hub 3 a través de un enlace bidireccional llamado link 2. Cada link 2 está formado por una conexión ascendente ("uplink") 5 y una conexión descendente ("downlink") 4.
Es importante tener en cuenta que cada hub envía dos tipos de señales distintas. Por un lado, la señal que cada hub 3 envía al otro hub y que resulta de acoplar las contribuciones de los nodos conectados al primer hub, denominada como "contribución de ese primer hub" 17. Por otro lado, la señal que cada hub envía a sus nodos, llamada "señal resultante del hub" 22, y que resulta de acoplar las contribuciones de sus propios nodos con la contribución recibida desde el otro hub.
En CAN un nodo 1 típicamente está formado por un microcontrolador 10 que ejecuta la aplicación; un controlador CAN 9 que implementa el protocolo CAN en sí y que es utilizado por el microcontrolador 10 para transmitir y recibir mensajes; y un transceptor 8 encargado de traducir la señal lógica (bits) que transmite el controlador CAN 9 a una señal física que pueda viajar por el medio físico (el canal) y viceversa, traducir la señal física del medio a una señal lógica que pueda ser entendida por el controlador 9. La figura 3 muestra una forma de conectar un nodo CAN 1 a ambos hubs 3. A diferencia de un bus CAN, en dicha red de comunicaciones cada nodo 1 preferiblemente utiliza N controladores CAN 9, donde N es el número de hubs 3 (con N=2 en este caso). El nodo 1 utiliza un controlador CAN 9 y dos transceptores 8 para conectarse a un determinado link 2, un transceptor 8 para el uplink 5 y otro para el downlink 4. La salida de transmisión 11a de cada controlador CAN 9 está conectada a la entrada de transmisión ("transmit data input" en inglés) del transceptor 8 correspondiente al uplink 5; mientras que la entrada de recepción 11b de cada controlador CAN está conectada a la salida de recepción ("receive data output" en inglés) del transceptor 8 correspondiente al downlink 4. Finalmente, el microcontrolador 10 se conecta a ambos controladores CAN 9 mediante los puertos de entrada y salida 9a pertinentes. Aunque también sería posible utilizar un microcontrolador con controladores CAN integrados; o bien conectar el microcontrolador con los controladores CAN mediante el bus de memoria externo del microcontrolador.
En la figura 4 se puede apreciar la estructura interna de cada hub 3 en una realización preferida de la invención. El hub 3 está constituido por tres módulos, un módulo de entrada/salida 12, un módulo acoplador 13 y un módulo de tratamiento de fallos 14.
El módulo de entrada/salida 12, está constituido por una serie de transceptores 8, dos para cada intralink 6 y dos para cada link 2. Se asigna un transceptor 8 para cada subintralink 6b que proviene del otro hub 3 para convertir las correspondientes señales físicas recibidas en valores lógicos que el hub 3 pueda procesar. De igual modo, se asigna un transceptor 8 a cada subintralink 6a que va del hub 3 hacia el otro hub 3 para convertir la contribución 17 del hub 3 desde una forma lógica a unas señales físicas que se pueda transmitir al otro hub 3. Análogamente, se asigna un transceptor 8 a cada uplink 5 para convertir la señal física recibida de cada nodo en un valor lógico; y se asigna un transceptor 8 a cada downlink 4 para convertir la señal resultante del hub 22, que dentro del hub 3 es una señal lógica, a una señal física que se pueda transmitir a cada nodo 1.
El módulo acoplador 13 está constituido por dos puertas AND 15 16, una serie de puertas OR 19, una por cada uno de los subintralinks 6b que provienen de los otros hubs 3 (en este caso, del otro hub 3) y otra serie de puertas OR 18, una por cada uno de los uplinks 5. La primera puerta AND 15 realiza el acoplamiento de las señales de los uplinks 5. El resultado de esta puerta AND 15 constituye la referida como "contribución del hub" 17, y es enviada al otro hub 3 a través de cada uno de los subintralinks 6a que van hacia él. La segunda puerta AND 16 acopla la contribución del primer hub 17 con las contribuciones de los otros hubs 3 (en este caso con la contribución del otro hub 3), obteniendo la referida como "señal resultante del hub" 22 que es enviada a través de los downlinks 4 a todos y cada uno de los nodos 1 a los que se conecta el primer hub 3. Cada puerta OR 18 19 es utilizada por el hub 3 para habilitar o inhabilitar la contribución a la correspondiente puerta AND 15 16 de uno de los uplinks 5 o de uno de los subintralinks 6b provenientes del otro hub 3, según el caso. Esta configuración junto con los transceptores 8 del módulo de entrada/salida 12 produce unos retrasos adicionales en la señal que reciben los nodos 1.
El módulo de tratamiento de fallos 14 está constituido por una serie de unidades de habilitación e inhabilitación, una por cada uno de los subintralinks 6b que provienen del otro hub 3, llamadas "Hub Ena/Dis" 21, y una por cada uno de los uplinks 5, llamadas "Node Ena/Dis" 20. Cada una de estas unidades de habilitación e inhabilitación recibe la señal de salida 22 de la segunda puerta AND 16, y la señal del transceptor 8 correspondiente a un subintralink 6b o a un uplink 5, según el caso, y genera una salida que se transmite a la puerta OR correspondiente dentro del módulo acoplador 13. Como también puede observarse, los mecanismos de diagnóstico de fallos del módulo de tratamiento de fallos 14 del hub 3 requieren la observación por separado de la contribución que llega por cada uno de los intralinks 6; así como la observación, también por separado, de la contribución que llega por cada link 2. Gracias al uso de un cable separado para cada subintralink 6a 6b y de dos cables separados, uno para el uplink 5 y otro para el downlink 4, es posible mantener separadas dichas contribuciones. Por lo tanto, es más fácil realizar el diagnóstico de fallos, es decir, localizar con rapidez y precisión dónde se ha producido un fallo.
Cuando se diagnostica un fallo en uno de los puertos del hub 3, los mecanismos de pasivación de fallos del módulo de tratamiento de fallos 14 eliminan la contribución de dicho puerto del sistema. Se entiende como fallo en un puerto a cualquier fallo, localizado en un nodo 1, un hub 3, un link 2 o un intralink 6, que provoque que se reciba un número excesivo de bits erróneos. La inhabilitación o eliminación de la contribución de un puerto en fallo se consigue transmitiendo/fijando un valor lógico "1" en la salida de la unidad de habilitación e inhabilitación 20 21 a la puerta OR 18 19 correspondiente a dicho puerto. Así la salida de dicha puerta OR 18 19 tendrá también un valor lógico "1" que hará irrelevante la contribución del puerto a la salida de la puerta AND 15 16.
Inhabilitar un puerto equivale a desconectar el correspondiente uplink 5 (o subintralink 6b) conectado a dicho puerto. Es importante notar que no es preciso inhabilitar los puertos del hub 3 conectados a un downlink 4, ni los puertos conectados a un subintralink 6a que vaya del hub 3 hacia otro hub 3. Esto es así porque el hub 3 no utiliza estos puertos para recibir, sino para transmitir y, consecuentemente estos puertos no aportan ninguna contribución al cálculo de las señales acopladas. Más aún, un fallo en el downlink 4 (camino de comunicación que va desde el hub 3 hacia un nodo 1) hará que el nodo 1 reaccione inadecuadamente teniendo en cuenta la parte del mensaje que se está transmitiendo y, consecuentemente, se manifestará en el hub 3 como la recepción de bits erróneos a través del puerto conectado al uplink 5. De forma parecida, un fallo en un subintralink 6a que va desde el hub 3 hacia el otro hub 3 hará que el otro hub 3 y los nodos 1 conectados al otro hub 3 reaccionen incorrectamente con la parte del mensaje que desde el punto de vista del primer hub 3 se está transmitiendo. Así, el fallo de un subintralink 6a que va hacia otro hub 3 puede manifestarse como la recepción de bits erróneos a través de los uplinks 5 de los nodos 1 conectados al otro hub 3 y al primer hub 3, así como a través de los subintralinks 6b que provienen del otro hub 3.
Además, el hecho de que el hub 3 continúe transmitiendo por el downlink 4 de un nodo cuyo uplink 5 ha sido inhabilitado, permite que el nodo pueda utilizar ese downlink 4 para poder recibir cuándo ya no pueda utilizar ningún otro downlink 4. Por ejemplo, se podría imaginar una situación en la que el uplink 5 de un determinado nodo 1 sufre un fallo y es inhabilitado por el hub 3 correspondiente. En este caso, el nodo 1 deja de utilizar el controlador CAN 9 por el que transmitía hacia ese hub 3 y empieza a transmitir por el controlador CAN 9 conectado al otro hub 3. Sin embargo, podría ser que un segundo fallo afectase al downlink 4 conectado a este segundo controlador CAN 9. Entonces, el nodo 1 podría utilizar cualquiera de los dos controladores CAN 9 para transmitir y recibir a través del uplink 5 y del downlink 4 no averiados respectivamente. Es decir, el nodo transmitiría a través de un hub 3 y recibiría a través del otro (utilizando un solo controlador CAN 9), tolerando de esta forma hasta dos fallos en los links 2, siempre que éstos afecten a un uplink 5 y a un downlink 4.
El hecho de que un nodo pueda utilizar un controlador CAN para transmitir hacia un hub y recibir a través del otro es posible por dos razones. Primero porque cada uno de los hubs 3 acopla las contribuciones de sus propios nodos con la contribución que recibe del otro hub; de tal forma que lo que un nodo transmite hacia un hub es enviado por los dos hubs a todos los nodos. Segundo, porque cada nodo dispone de mecanismos (por ejemplo, circuitos multiplexores) que le permiten cambiar las conexiones de los diferentes controladores CAN a los diferentes transceptores.
La unidad "Hub Ena/Dis" 21 y la unidad "Node Ena/Dis" 20 presentan básicamente la misma estructura interna. La estructura de la unidad "Node Ena/Dis" 20 se muestra en la Figura 5. Dichas unidades de habilitación e inhabilitación incluyen un contador DBC (Dominant Bit Counter en inglés) y su correspondiente unidad de control "DBC manager" 23; un contador NACK (Non acknowledgement en inglés) y su correspondiente unidad de control "NACK manager" 24; un contador BFC (Bit Flipping Counter) y su correspondiente unidad de control "BFC manager" 25; así como un módulo "Threshold control" 26 que básicamente compara los valores de la cuenta acumulada por cada contador con unos determinados valores prefijados.
Al analizar con detenimiento la estructura interna de una unidad de habilitación e inhabilitación 20 21, podemos entender mejor cómo funcionan los mecanismos de diagnóstico de fallos del módulo de tratamiento de fallos 14. Por ejemplo, para diagnosticar un fallo "stuck-at-dominant" en un puerto, la unidad de habilitación e inhabilitación correspondiente (la unidad Node Ena/Dis 20 o la unidad Hub Ena/Dis 21, según el caso) incluye un contador DBC y su correspondiente unidad de control "DBC manager" 23, que sirven para contar el número de bits dominantes recibidos de manera consecutiva en ese puerto. El contador DBC, se incrementa con cada bit dominante y se pone a cero al recibir un valor recesivo. El valor acumulado por el contador es continuamente comparado a un valor máximo permitido de bits dominantes consecutivos. Cuando el valor del contador excede el valor máximo prefijado, el módulo "Threshold control" 26 transmite un valor de salida "1" que va a la puerta OR 18 19 correspondiente a ese puerto. De esta forma se impide que un fallo "stuck-at-dominant" en un solo puerto provoque que todos los nodos 1 reciban bits dominantes indefinidamente y no puedan comunicarse entre sí.
De forma similar a lo que se acaba de describir, la unidad de habilitación e inhabilitación 20, 21 también permite diagnosticar un fallo "stuck-at-recessive" en un puerto. A pesar de que debido a las características de CAN los fallos de tipo "stuck-at-recessive" no pueden bloquear las comunicaciones de los demás nodos 1, se ha considerado importante poder detectar tales fallos. En particular, la capacidad de detectar fallos "stuck-at-recessive" podría ayudar en las tareas de mantenimiento de la red, ya que permitiría informar sobre componentes averiados que, de otra forma, tardarían más tiempo en ser detectados. Con el fin de detectar un fallo "stuck-at-recessive", el contador NACK es incrementado por su "NACK manager" 24 cada vez que éste detecta que por el puerto correspondiente se ha omitido la transmisión del bit de ACK que debería transmitirse hacia el final de cada trama para indicar que la trama se ha recibido correctamente. En CAN todo nodo que recibe correctamente una trama debe transmitir un bit de valor dominante en un campo específico situado muy cerca del final de dicha trama. Cuando el valor del contador NACK excede un valor máximo prefijado, el "Threshold control" 26 no transmite un valor de salida "1" a la puerta OR 18 19 correspondiente a ese puerto (no es necesario), sino que registra internamente (e indica en una posible interfaz de registros o a través de otros mecanismos) que alguno de los componentes conectados al puerto en cuestión, según el caso, está averiado.
El último mecanismo de diagnóstico de fallos que en esta realización preferida se ha incluido en cada una de las unidades de habilitación e inhabilitación 20, 21 del módulo de tratamiento de fallos 14 es el que permite identificar fallos de tipo "bit-flipping". Estos fallos son los que se producen cuando un componente del sistema, por ejemplo un nodo 1, envía continuamente valores aleatorios y erróneos a la red. Para diagnosticar este tipo de fallos cada unidad de habilitación e inhabilitación 20, 21 incluye el contador BFC y su correspondiente unidad de control "BFC manager" 25. Esta unidad es capaz de detectar las situaciones en las que el puerto correspondiente recibe uno o más bits erróneos de acuerdo con las especificaciones del protocolo CAN (por ejemplo, con el formato de la trama, la regla de bit complementario, etc). Cuando estas situaciones se producen, el contador BFC es incrementado y cada vez que una trama completa es transmitida sin errores, el contador BFC es decrementado. Cuando el valor del contador excede el valor máximo prefijado, el "Threshold control" 26 transmite un valor de salida "1" que va a la puerta OR 18 19 correspondiente a ese puerto. De esta forma se impide que un fallo de tipo "bit-flipping" en un solo puerto provoque que todos los nodos 1 reciban bits erróneos indefinidamente y no puedan comunicarse entre sí.
A parte de los mecanismos de diagnóstico de fallos, las unidades de habilitación e inhabilitación 20, 21 también incluyen mecanismos de reintegración mediante los cuales puertos que previamente fueron inhabilitados son habilitados tras observar que su funcionamiento es correcto nuevamente. De esta forma, se tienen en cuenta fallos transitorios, maximizando el uso de los recursos, y se permite realizar operaciones de reparación sin necesidad de que el subsistema de comunicaciones deje de dar servicio. El módulo "Threshold control" 26 es el responsable de diagnosticar que un puerto que previamente había sido inhabilitado no presenta ningún fallo y que, por tanto, puede contribuir nuevamente en la señal resultante que es enviada a todos los nodos 1. Por ejemplo, esto ocurre cuando el "Threshold control" 26 detecta que el valor de los contadores DBC y BFC ha descendido lo suficiente (indicando que ya no existe un fallo de stuck-at-dominant ni un fallo de bit-flipping respectivamente). Para rehabilitar la contribución del puerto, el módulo "Threshold control" transmite un valor de salida "0" que va a la puerta OR 18 19 correspondiente a ese puerto. De esta forma, la salida de la puerta OR 18 19 tendrá el mismo valor lógico que la contribución del puerto y, de esta forma, esta contribución será relevante a la salida de las puertas AND 15 16.
Finalmente, es importante destacar cuáles son las diferencias entre una unidad "Hub Ena/Dis" 21 y una "Node Ena/Dis" 20. La primera diferencia radica en la forma en que los módulos BFC manager 25 detectan cuándo un bit recibido por el correspondiente puerto es erróneo. Como se ha dicho anteriormente, el BFC manager 25 determina si un determinado bit es correcto o erróneo de acuerdo con las especificaciones del protocolo CAN. Para ello básicamente se tiene en cuenta si el valor del bit incumple o no las reglas CAN sobre el formato de la trama y sobre la inserción de bits complementarios. Estas reglas son diferentes dependiendo de si el nodo 1 está actuando como transmisor o como receptor. La diferencia entre el BFC manager 25 de la unidad "Hub Ena/Dis" 21 y el de la unidad "Node Ena/Dis" 20 es que el de la primera tiene en cuenta que el valor de cada bit que recibe desde el correspondiente subintralink 6b puede ser el resultado del acoplamiento de los bits enviados por un nodo transmisor 1 y varios nodos receptores 1, un solo nodo transmisor 1, o únicamente nodos receptores 1; mientras que el de la segunda únicamente considera que el bit recibido a través del uplink 5 o bien es enviado por un nodo transmisor 1 o por un nodo receptor 1.
La segunda diferencia entre una unidad "Hub Ena/Dis" 21 y una "Node Ena/Dis" 20 estriba en los valores máximos prefijados que el módulo "Threshold control" 26 tiene en cuenta para diagnosticar cada tipo de fallo. Esto se debe al hecho de que un hub 3 que tiene un puerto averiado correspondiente a un nodo 1 envía hacia el otro hub 3 los bits erróneos que recibe a través de dicho puerto mientras no lo inhabilite. En este tipo de situaciones, el otro hub 3 detecta errores en los correspondientes subintralinks 6a. Por tanto, si los valores máximos de error que tienen en cuenta los módulos "Threshold control" 26 de las correspondientes unidades "Hub Ena/Dis" 21 no son lo suficientemente mayores que los valores máximos de error que tienen en cuenta los módulos "Threshold control" 26 de las unidades "Node Ena/Dis" 20, un fallo en uno de los puertos de un hub 3 puede llevar al otro hub 3 a diagnosticar que aquel hub 3 está averiado. Con el fin de evitar que en estas situaciones un hub 3 pueda diagnosticar injustamente que el otro hub 3 está averiado, los valores máximos de error que tienen en cuenta los módulos "Threshold control" 26 de las unidades "Hub Ena/Dis" 21 son mayores que los que tienen en cuenta las unidades "Node Ena/Dis" 20.
A pesar de que se ha descrito y representado una realización concreta de la presente invención, es evidente que el experto en la materia podrá introducir variantes y modificaciones, o sustituir los detalles por otros técnicamente equivalentes, sin apartarse del ámbito de protección definido por las reivindicaciones adjuntas.

Claims (9)

1. Red de comunicaciones de protocolo CAN con topología en estrella que comprende al menos dos nodos (1) conectados a dicha red a través de al menos un primer hub (3), caracterizada por el hecho de que
comprende al menos un segundo hub (3) idéntico al primero;
cada par de hubs (3) está interconectado por al menos dos enlaces bidireccionales (6);
e implementando medios de tratamiento de fallos.
2. Red de comunicaciones según la reivindicación 1, caracterizada por el hecho de que cada uno de dichos hubs (3) comprende dos operadores lógicos AND (15 16), un operador lógico OR (18) por cada nodo de los que están conectados a ese hub (3) y un operador lógico OR (19) por cada uno de los enlaces bidireccionales que ese hub (3) tiene con los otros hubs (3).
3. Red de comunicaciones según la reivindicación 2, caracterizada por el hecho de que dicho primer operador lógico AND (15) tiene como entradas las contribuciones de cada uno de los nodos (1) conectados al hub (3) y dicho segundo operador lógico AND (16) tiene como entradas la salida del primero (17) y las contribuciones de cada uno de los enlaces bidireccionales que ese hub (3) tiene con los otros hubs (3).
4. Red de comunicaciones según las reivindicaciones 1, 2 ó 3, caracterizada por el hecho de que cada uno de dichos hubs (3) comprende dos transceptores (8) por cada uno de los nodos (1) conectados a dicho hub, uno para el uplink (5) y otro para el downlink (4), y dos transceptores (8) por cada uno de los enlaces bidireccionales (6) que ese hub (3) tiene con los otros hubs (3).
5. Red de comunicaciones según la reivindicación 4, caracterizada por el hecho de que dichos dos transceptores (8) por cada uno de los enlaces bidireccionales (6) con otros hubs (3) están conectados uno por cada uno de los dos sentidos (6a, 6b) de dichos enlaces bidireccionales (6).
6. Red de comunicaciones según cualquiera de las reivindicaciones anteriores, caracterizada por el hecho de que dichos medios de tratamiento de fallos comprenden detección de errores, diagnóstico de fallos y pasivación de fallos en componentes permanentemente averiados, y reintegración de componentes no permanentemente averiados.
7. Red de comunicaciones según cualquiera de las reivindicaciones anteriores, caracterizada por el hecho de que cada uno de dichos nodos (1) comprende dos transceptores (8) por cada uno de los hubs (3) a los que ese nodo (1) se conecta, uno de esos dos transceptores (8) para el uplink (5) y otro para el downlink (4); al menos un controlador CAN (9); al menos un microcontrolador (10); y medios para cambiar las conexiones entre dichos controladores CAN (9) y los transceptores (8).
8. Procedimiento de acoplamiento de una red de comunicaciones según cualquiera de las reivindicaciones anteriores, caracterizado por el hecho de que
el hub (3) acopla las contribuciones de los nodos (1) conectados a él;
y acopla dicho resultado con las contribuciones que recibe de los otros hubs (3).
9. Procedimiento de acoplamiento según la reivindicación 8, caracterizado por el hecho de que
las contribuciones de los nodos (1) conectados al hub (3) se acoplan mediante un primer operador lógico AND (15) y el resultado es enviado a los otros hubs (3);
dicho primer resultado se acopla con las contribuciones que dicho hub (3) recibe de los otros hubs (3) mediante un segundo operador lógico AND (16);
y dicho segundo resultado es enviado a los nodos conectados al hub.
ES200502292A 2005-09-16 2005-09-16 Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red. Expired - Fee Related ES2270724B1 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
ES200502292A ES2270724B1 (es) 2005-09-16 2005-09-16 Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES200502292A ES2270724B1 (es) 2005-09-16 2005-09-16 Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red.

Publications (2)

Publication Number Publication Date
ES2270724A1 true ES2270724A1 (es) 2007-04-01
ES2270724B1 ES2270724B1 (es) 2008-03-01

Family

ID=38319286

Family Applications (1)

Application Number Title Priority Date Filing Date
ES200502292A Expired - Fee Related ES2270724B1 (es) 2005-09-16 2005-09-16 Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red.

Country Status (1)

Country Link
ES (1) ES2270724B1 (es)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127067A (en) * 1990-09-10 1992-06-30 Westinghouse Electric Corp. Local area network with star topology and ring protocol
US5355375A (en) * 1993-03-18 1994-10-11 Network Systems Corporation Hub controller for providing deterministic access to CSMA local area network
US6044405A (en) * 1996-04-12 2000-03-28 Wam!Net Inc. Service network incorporating geographically-remote hubs linked by high speed transmission paths
US6111888A (en) * 1997-05-27 2000-08-29 Micro Motion, Inc. Deterministic serial bus communication system
US6335137B1 (en) * 1999-06-17 2002-01-01 Ricoh Company Limited Electrophotographic toner and electrophotographic image forming method and apparatus using the toner

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127067A (en) * 1990-09-10 1992-06-30 Westinghouse Electric Corp. Local area network with star topology and ring protocol
US5355375A (en) * 1993-03-18 1994-10-11 Network Systems Corporation Hub controller for providing deterministic access to CSMA local area network
US6044405A (en) * 1996-04-12 2000-03-28 Wam!Net Inc. Service network incorporating geographically-remote hubs linked by high speed transmission paths
US6111888A (en) * 1997-05-27 2000-08-29 Micro Motion, Inc. Deterministic serial bus communication system
US6335137B1 (en) * 1999-06-17 2002-01-01 Ricoh Company Limited Electrophotographic toner and electrophotographic image forming method and apparatus using the toner

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EMRICH: "CAN Application in Avionics". Omnisys Instruments AB. Final Report. 11 Julio 2001. Páginas 9,10,16,31-33; figura 10. *
EMRICH: "CAN Application in Avionics". Omnisys Instruments AB. Final Report. 11 Julio 2001. Pßginas 9,10,16,31-33; figura 10. *

Also Published As

Publication number Publication date
ES2270724B1 (es) 2008-03-01

Similar Documents

Publication Publication Date Title
ES2359650T3 (es) Unidad de interfaz y sistema de comunicaciones con una estructura maestro-esclavo.
CN111025959B (zh) 一种数据管理的方法、装置、设备及智能汽车
RU2656684C2 (ru) Система шин и способ эксплуатации такой системы шин
Barranco et al. An active star topology for improving fault confinement in CAN networks
US7783808B2 (en) Embedded self-checking asynchronous pipelined enforcement (escape)
US20110103390A1 (en) Serialized enforced authenticated controller area network
US8381059B2 (en) Error correction and recovery in chained memory architectures
US8670303B2 (en) Multiple-fault-tolerant ethernet network for industrial control
US8051338B2 (en) Inter-asic data transport using link control block manager
US20070234136A1 (en) Method and apparatus for detecting the presence of errors in data transmitted between components in a data storage system using an I2C protocol
US20060203716A1 (en) Error detection and recovery of an optical network element
CN110166354A (zh) 一种包含片上网络容错路由的数据处理系统
ES2270724B1 (es) Red de comunicaciones de protocolo can con topologia en estrella replicada y procedimiento de acoplamiento de dicha red.
Barranco et al. CANcentrate: An active star topology for CAN networks
JPH09212453A (ja) バス延長対応型制御システム
CN104778104B (zh) 一种串行数据通信总线的检错方法和串行数据通信总线
ES2215753T3 (es) Diseño de placa madre con linea comun vme virtual, tolerante a fallos.
ES2396013T3 (es) Dispositivo de conmutación de sistema Ethernet de doble puerto
US9407319B2 (en) Fault tolerant transceiver
ES2253100B1 (es) Red de comunicaciones de protocolo can con topologia en estrella.
WO2020199377A1 (zh) 一种安全通信的装置和方法
CN114884767A (zh) 一种同步双冗余can总线通信系统、方法、设备及介质
CN116506082B (zh) 一种应用于应答器传输模块的二取二系统
ES2614456B2 (es) Procedimiento de comunicaciones en redes can y concentrador de señales que ejecuta dicho procedimiento
EP4489333A1 (en) Ethernet device and method for reliable redundant communication links in safety critical applications

Legal Events

Date Code Title Description
EC2A Search report published

Date of ref document: 20070401

Kind code of ref document: A1

FG2A Definitive protection

Ref document number: 2270724B1

Country of ref document: ES

PC2A Transfer of patent

Owner name: UNIVERSITAT DE LES ILLES BALEARS

Effective date: 20131023

FD2A Announcement of lapse in spain

Effective date: 20180809