ES2741925T3 - Sistema de enrutamiento de datos - Google Patents
Sistema de enrutamiento de datos Download PDFInfo
- Publication number
- ES2741925T3 ES2741925T3 ES09290167T ES09290167T ES2741925T3 ES 2741925 T3 ES2741925 T3 ES 2741925T3 ES 09290167 T ES09290167 T ES 09290167T ES 09290167 T ES09290167 T ES 09290167T ES 2741925 T3 ES2741925 T3 ES 2741925T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- communication
- routing system
- router
- main
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/543—Local
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Sistema de enrutamiento de datos (I) que comporta al menos un conjunto de transmisión (I1, I2, I3) que comprende un calculador principal (2), que comporta circuitos lógicos y es capaz de pilotar un procedimiento industrial, al menos un enrutador (5) y al menos dos calculadores secundarios (3) conectados a dicho calculador principal (2) que los controla, mediante enlaces de comunicación (L2), en el que un protocolo de intercambio de datos está asociado a cada uno de dichos enlaces de comunicación (L2), caracterizado por que - dicho enrutador (5) está controlado por dicho calculador principal (2); - dicho enrutador (5) comporta puertos de comunicación (6) interconectados mediante al menos una matriz de interconexión (7) capaz de garantizar una difusión automática de los datos provenientes de un puerto de comunicación (6) hacia varios otros puertos de comunicación que tiene conectados; - dicha matriz de interconexión explota al menos una parte de los circuitos lógicos de dicho calculador principal (2); y - dichos puertos de comunicación (6) comportan medios de adaptación de los protocolos (9) que permiten la puesta en concordancia de un formato de mensajes provenientes de un enlace de comunicación (L2) con un formato de mensajes consumido por la matriz de interconexión (7), dicho enrutador es así capaz de realizar la transferencia y la adaptación en protocolos de los datos entre dicho calculador principal (2) y dichos calculadores secundarios (3), en concreto cuando dichos enlaces de comunicación (L2) son de naturaleza heterogénea.
Description
DESCRIPCIÓN
Sistema de enrutamiento de datos
La presente invención se refiere a un sistema de enrutamiento de datos que permite el intercambio de datos entre varios calculadores electrónicos mediante enlaces de comunicación.
Aunque no exclusivamente, el sistema de enrutamiento conforme a la presente invención está particularmente bien adaptado para funcionar en un entorno en tiempo real.
Se sabe que, en un tal entorno, para intercambiar datos entre los diferentes calculadores de un mismo sistema de enrutamiento que dispone de enlaces de comunicación de naturaleza heterogénea (es decir, con estándares eléctricos y protocolos de comunicación asociados diferentes), se integra en los calculadores apropiados del sistema un procesador dedicado y su aplicación asociada. Cada procesador dedicado trata entonces las entradas/salidas del calculador en el que está integrado y puede más particularmente realizar una adaptación en protocolos de los datos intercambiados.
Sin embargo, la adición de un procesador en un calculador aumenta sensiblemente el volumen de este, que puede ser limitante, por ejemplo, cuando se exigen unas dimensiones reducidas. Además, el coste de un tal procesador y de su integración en el calculador, así como el coste de desarrollo de la aplicación de software asociada, aumentan considerablemente el precio final del calculador. Además, cuando el procesador está funcionando disipa, dentro del calculador, una potencia térmica adicional que puede necesitar, en su caso, la integración de un sistema de refrigeración complementario (por ejemplo, un ventilador) en el calculador. La velocidad de transmisión de datos accesible por las entradas/salidas del calculador también está limitada por el tiempo de tratamiento de los datos no despreciable por la aplicación de software asociada al procesador.
ALEX KRASNOV ETAL «RAMP Blue: A Message-Passing Manycore System in FPGAs», FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, 2007. FPL 2007. INTERNATIONAL CONFERENCE ON, IEEE, PI, 01 agosto 2007, páginas 54-61, ISBN: 978-1-4244-1059-0 describe un sistema que permite emular una arquitectura multinúcleo en un conjunto de varias tarjetas electrónicas BEE2, cada tarjeta incluye un calculador principal «control FPGA» y cuatro calculadores secundarios «user FPGA». En D1, un calculador secundario «user FPGA» comunica con otro circuito FPGA situado bien en la misma tarjeta BEE2 bien en otra tarjeta BEE2 utilizando protocolos de comunicación diferentes, respectivamente LVCMOS y XAUI. Por último, cada circuito «user FPGA» de D1 comporta memorias tampón así como una matriz de interconexión utilizada para realizar la adaptación en protocolo de los mensajes y su transferencia hacia los otros circuitos FPGA.
La presente invención por tanto tiene por objeto remediar estos inconvenientes.
Con este fin, según la invención, el sistema de enrutamiento de datos comporta al menos un conjunto de transmisión que comprende un calculador principal, que comporta circuitos lógicos y es capaz de pilotar un procedimiento industrial, al menos un enrutador y al menos dos calculadores secundarios conectados a dicho calculador principal que los controla, mediante enlaces de comunicación, en el que un protocolo de intercambio de datos está asociado a cada uno de dichos enlaces de comunicación,
caracterizado por que:
- dicho enrutador está controlado por dicho calculador principal;
- por que dicho enrutador comporta puertos de comunicación interconectados mediante al menos una matriz de interconexión capaz de garantizar una difusión automática de los datos que provienen de un puerto de comunicación hacia varios otros puertos de comunicación que tiene conectados;
- por que dicha matriz de interconexión explota al menos una parte de los circuitos lógicos de dicho calculador principal; y
- por que dichos puertos de comunicación comportan medios de adaptación de los protocolos que permiten la puesta en concordancia de un formato de mensajes provenientes de un enlace de comunicación con un formato de mensajes consumido por la matriz de interconexión,
dicho enrutador es así capaz de realizar la transferencia y la adaptación en protocolos de los datos entre dicho calculador principal y dichos calculadores secundarios, en concreto cuando dichos enlaces de comunicación son de naturaleza heterogénea.
Así, los enrutadores de los conjuntos de transmisión, por ejemplo integrados en los calculadores principales, utilizan una parte de los recursos lógicos (es decir, puertas lógicas de circuitos lógicos) de estos calculadores para realizar la gestión de la transferencia de datos a sus entradas/salidas. El sistema de enrutamiento de la invención funciona por consiguiente sin intervención del o de los procesadores de los calculadores principales, excepto durante la inicialización del sistema (aunque se pueda plantear una inicialización puramente material), e independientemente de la aplicación del software asociada a cada uno de los procesadores de los calculadores principales y secundarios.
Por otro lado, como la transferencia y la adaptación en protocolos de los datos se realizan por funciones lógicas cableadas en los circuitos lógicos de los calculadores principales y no se necesita ninguna aplicación de software adicional asociada a un procesador, el plazo de tratamiento de los datos en los enrutadores es despreciable (como máximo unos cuantos js).
Además, como no hay ningún procesador suplementario integrado en los calculadores principales, estos últimos no sufren un aumento de volumen y no se necesita ningún dispositivo de refrigeración.
De preferencia, el sistema de enrutamiento comprende al menos dos tales conjuntos de transmisión, cuyos calculadores principales están interconectados mediante un enlace de comunicación en serie de alta velocidad, de manera que el calculador principal de uno de dichos conjuntos de transmisión es capaz de observar y controlar los calculadores principal y secundarios del otro conjunto.
Así, un calculador principal de un conjunto de transmisión puede controlar simultáneamente a distancia los calculadores principales de otros conjuntos de transmisión, así como sus calculadores secundarios asociados, cuando están conectados los unos a los otros mediante el enlace de comunicación de alta velocidad.
Además, dicho calculador principal de un tal conjunto de transmisión está asimismo conectado, mediante un enlace de comunicación en serie de alta velocidad, a medios de prueba y de análisis que permiten en concreto la puesta a punto y el control de dichos calculadores principales y secundarios de cada uno de los conjuntos de transmisión de dicho sistema.
Ventajosamente, la velocidad de dicho enlace de comunicación en serie de alta velocidad es superior a la velocidad acumulada de dichos enlaces de comunicación.
De preferencia, dicho enlace de comunicación en serie de alta velocidad es el bus ethernet que funciona con el protocolo IP (en inglés, «Internet Protocol»).
De hecho, el bus ethernet permite distancias de comunicación y velocidades de transmisión satisfactorias para la mayoría de aplicaciones embarcadas en tiempo real.
Además, el enrutador de cada uno de los conjuntos de transmisión comporta puertos de comunicación interconectados mediante una matriz de interconexión, dicha matriz es capaz de garantizar una difusión automática de los datos provenientes de un puerto de comunicación hacia varios otros puertos de comunicación que tiene conectados. Una tal difusión también se denomina multidifusión.
Así, varios calculadores destinatarios del sistema de enrutamiento pueden recibir datos similares provenientes de un mismo calculador fuente.
Además, al menos uno de dichos puertos de comunicación de dicho enrutador comprende un controlador DMA (del inglés «Direct Access Memory») de acceso directo a la memoria en emisión y un controlador DMA en recepción.
Así, gracias a los DMA de estos puertos de comunicación, la transferencia de un mensaje de datos necesita como máximo una escritura en emisión (armado del DMA de emisión) y una lectura en recepción (lectura del semáforo de recepción) de parte del procesador del calculador principal que comporta el enrutador.
Además, cada puerto de comunicación de dicho enrutador comprende tales medios de adaptación de los protocolos que permiten garantizar la coherencia de los protocolos asociados a los datos intercambiados entre dichos calculadores de cada uno de los conjuntos de transmisión.
Así, se puede poner en marcha por ejemplo un mecanismo de encapsulación/desencapsulación de datos mediante los medios de adaptación de los protocolos para efectuar una tal adaptación.
Además, como los datos se presentan en forma de mensajes de datos, cada uno de dichos puertos de comunicación de dicho enrutador comprende medios de filtrado de las direcciones asociadas a dichos mensajes de datos de manera que dicho puerto transfiere, en el enlace de comunicación que tiene conectado, únicamente los mensajes que poseen una dirección filtrada por dichos medios de filtrado.
Así, gracias a la matriz de interconexión (que garantiza una multidifusión de los mensajes) y al principio de filtrado de las direcciones de los medios de filtrado, se puede enviar un mensaje sin acción de la fuente (más que una elección adaptada de direcciones hacia uno o varios destinatarios), lo que suprime al menos una parte de la carga de software vinculada a la transferencia de datos.
Además, dichos puertos de comunicación de dicho enrutador comprenden medios de datación de los datos que atraviesan dichos puertos.
Así, la datación de los mensajes que circulan por el sistema de enrutamiento permite contribuir a la puesta a punto del sistema de enrutamiento, en concreto mediante medios de prueba y de análisis.
Ventajosamente, dichos circuitos lógicos del calculador principal de cada uno de los conjuntos de transmisión son circuitos lógicos programares de tipo FPGA (del inglés «Field Programmable Gate Arrays»).
De hecho, las funciones cableadas lógicas del enrutador son fácilmente integrables en los circuitos lógicos FPGA recientes que ofrecen todas interfaces Mac Ethernet.
De preferencia, el sistema de enrutamiento funciona en un entorno de tratamiento de datos en tiempo real.
Las figuras del dibujo adjunto permitirán comprender cómo se puede realizar la invención. En estas figuras, las referencias idénticas designan elementos similares.
La figura 1 representa esquemáticamente un ejemplo de realización particular del sistema de enrutamiento de datos conforme a la presente invención.
La figura 2 ilustra esquemáticamente la arquitectura de uno de los enrutadores de datos heterogéneos utilizada en uno de los calculadores principales del sistema de enrutamiento de la invención representado en la figura 1.
La figura 3 presenta esquemáticamente la arquitectura genérica de un puerto de comunicación utilizado por la invención e integrado en el enrutador heterogéneo de la figura 2 mencionada.
El sistema de enrutamiento de datos conforme a la presente invención permite el envío de datos de una fuente hacia uno o varios destinatarios, mediante enlaces de comunicación numéricos. Este sistema de enrutamiento funciona de preferencia en un entorno en tiempo real forzado de tratamiento de datos.
En un ejemplo de realización particular conforme a la presente invención, los datos se intercambian en el sistema de enrutamiento en forma de mensajes (es decir, de bloques de datos que disponen de un identificado de inicio y un identificador de fin). La estructura de cada mensaje es conforme al protocolo asociado al enlace de comunicación por el cual transita el mensaje desde la fuente hacia el o los destinatarios.
Como muestra la figura 1, el sistema de enrutamiento I conforme a la invención comprende:
- conjuntos de transmisión I1, I2, I3 que comportan cada uno:
• un calculador principal 2 capaz de pilotar un procedimiento (por ejemplo técnico, industrial, etc.) conectados los unos a los otros mediante un enlace de comunicación en serie de alta velocidad L1 (denominado bus principal) que reposa sobre un principio de conexión de punto-a-punto:
• un enrutador heterogéneo 5 que permite la transferencia y la adaptación en protocolos de los datos en el sistema de enrutamiento I;
• calculadores secundarios 3 (por ejemplo actuadores, sensores, grabadoras, etc.) conectados al calculador principal mediante enlaces de comunicación numéricos L2 (denominados buses secundarios) de naturaleza heterogénea, el calculador principal 2 controla dichos calculadores secundarios 3;
- medios de prueba y de análisis 4 del sistema de enrutamiento I conectados al calculador principal 2 de un conjunto de transmisión I1, I2, I3 mediante el bus principal L1. Estos medios de prueba y de análisis 4 permiten en concreto observar y configurar el sistema de enrutamiento I, así como controlar a distancia los calculadores principales 2 y secundarios 3.
Hay que señalar que cada uno de los calculadores principales 2 y secundarios 3 puede ser una fuente o un destinatario de mensajes de datos. En el sistema de enrutamiento I conforme a la invención, se pueden transmitir datos de una fuente a uno o varios destinatarios incluso si:
- los destinatarios están conectados a enlaces de comunicación de naturaleza diferente a la del enlace al que está conectada la fuente;
- los destinatarios están localizados a distancias de transmisión incompatibles con la ubicación de la fuente.
En el ejemplo de realización, el bus principal L1 es ventajosamente el bus Ethernet (por ejemplo en 100Mb/s o 1000 Mb/s) que funciona con el protocolo IP que permite el enrutamiento de datos. El bus Ethernet autoriza distancias de transmisión y velocidades de transferencia satisfactorias para la mayoría de las explicaciones embarcadas en tiempo real. El bus principal L1 posee de preferencia una velocidad de transferencia superior a la velocidad real acumulada del conjunto de los buses secundarios L2 de naturaleza heterogénea de manera que garantiza una transmisión en tiempo real sin pérdida de mensajes.
Hay que señalar que durante los intercambios de datos en los buses secundarios L2, cada grupo de mensajes de datos destinado a un mismo grupo de destinatarios posee un identificador propio. Si el bus secundario L2 es muy simple (por ejemplo el bus conocido por la técnica con la denominación RS422 sin protocolo de comunicación particular
asociado), solo hay un destinatario o grupo de destinatarios cuyo punto común es el enlace de comunicación físico mismo (es decir que todos los mensajes intercambiados en este enlace se enrutarán de manera similar). Si el bus secundario L2 es más elaborado (entonces se trata de un sistema de varios datos), el protocolo asociado dispone naturalmente como mínimo de un identificador único (o incluso de información de enrutamiento) por mensaje.
En un modo de realización preferido conforme a la invención, se integra un enrutador heterogéneo 5 en cada uno de los calculadores principales 2. Sin embargo, en una variante se puede considerar integrar varios enrutadores en un mismo calculador principal.
Como muestra la figura 2, los enrutadores 5 comprenden puertos de comunicación 6 (descritos a continuación en relación con la figura 3), que sirven de interfaz de conexión con el bus principal L1, y secundarios L2, y una matriz de interconexión 7. Hay que señalar que los puertos 6 conectados al bus principal L1 son puertos de encadenamiento que permiten garantizar la conexión punto a punto del bus principal L1.
Según la invención, cada matriz de interconexión 7 se realiza ventajosamente, al menos en parte, mediante circuitos lógicos programables (por ejemplo de tipo FPGA o ASIC (del inglés «Application Specific Integrated Circuit»)) que pertenecen al calculador principal 2 que comprende dicha matriz 7. Se determina durante la realización de la arquitectura del sistema de enrutamiento I. Para ello, se realiza primero una interconexión material de los diferentes puertos de comunicación 6, para que los puertos de comunicación susceptibles de intercambiarse datos estén interconectados físicamente los unos con los otros. Como muestra la figura 2, las flechas L3 simbolizan las interconexiones materiales por las cuales cada puerto de comunicación puede recibir mensajes provenientes de los otros puertos de comunicación que tiene conectados. La flecha L4 simboliza por su parte la interconexión material por la cual cada puerto puede transferir mensajes de datos a la matriz de interconexión 11.
Después, se realiza una configuración del software de la matriz 7 para hacer efectiva al menos una parte de las interconexiones materiales realizadas. Hay que señalar que, si la interconexión material de los puertos de comunicación no se puede modificar una vez realizada, la configuración de software de la matriz de interconexión 7 puede por su parte actualizarse según las evoluciones del sistema de enrutamiento I.
Así, cada matriz de interconexión 7 garantiza:
- una difusión automática de los mensajes provenientes de cada uno de los puertos de comunicación del enrutador 5 hacia los otros puertos de comunicación interconectados a este puerto de manera que son recibidos por varios calculadores destinatarios (multidifusión);
- una parte de la regulación del tráfico de los mensajes emitiendo hacia los puertos llamados «inteligentes» (por ejemplo los puertos procesadores, descritos a continuación) órdenes de detención de transmisión (simbolizadas por las flechas 15 con línea de puntos en la figura 3 descrita más adelante) en caso de saturación de los puertos de comunicación del enrutador 5 (los puertos procesadores emiten previamente mensajes de congestión simbolizados por las flechas 16 con línea de puntos en la figura 3).
Tal como se ilustra en la figura 3, la arquitectura simplificada de un puerto de comunicación 6 comprende en concreto:
- medios de conexión 8 que realizan una interfaz directa con el enlace de comunicación (bus principal L1 o secundario L2) conectado a dicho puerto. Esta interfaz directa está garantizada por un elemento de interfaz (conocido por la técnica con la denominación PHY o driver de línea según su complejidad). Los medios de conexión 8 permiten asimismo un control de las capas protocolarias asociadas al enlace de comunicación. Un tal control (por ejemplo el cálculo de los coeficientes CRC (del inglés «Cyclic Redundancy Check»), la gestión de los errores de bajo nivel, etc.), por consiguiente es propio de cada enlace de comunicación;
- medios de adaptación de los protocolos 9 que permiten la puesta en concordancia del formato de mensajes provenientes del enlace de comunicación con el formato de mensajes consumidos por la matriz de interconexión 7. Así, el formato de los mensajes intercambiados entre el puerto de comunicación 6 y la matriz de interconexión 7 es el mismo que el mensaje ya sea entrante o saliente. En el ejemplo de realización de la invención, el formato de los mensajes consumidos y entregados por la matriz 7 es de tipo IP/UDP (del inglés «User Datagram Protocol»). Una tal adaptación de los protocolos puede llevarse a cabo mediante un técnica de encapsulación/desencapsulación de los datos;
- medios de datación de los mensajes 10 utilizados opcionalmente;
- medios de almacenamiento temporal 11 (por ejemplo memorias tampón) de los mensajes entrantes y salientes del puerto de comunicación. Una gestión de las memorias tampón 11 permite en concreto gestionar las colisiones potenciales de los mensajes intercambiados;
- medios de gestión de la prioridad 12 de las memorias tampón 11; y
- medios de filtrado 13 de la direcciones, asociadas a los mensajes intercambiados, de manera que se gestiona la difusión de los mensajes en los enlaces de comunicación del sistema de enrutamiento I. Así, los medios de filtrado 13
combinados con la matriz de interconexión 7 permiten a una fuente enviar un mensaje destinado a varios destinatarios dados, sin más acción por parte de la fuente que una elección adaptada de las direcciones de estos destinatarios.
Como muestra la figura 3, las flechas L5 simbolizan las transferencias de datos entre los diferentes medios mencionados del puerto de comunicación 6.
Además, la arquitectura de un puerto de comunicación comprende asimismo los siguientes medios (no representados en la figura 3):
- medios de transferencia de los mensajes hacia y desde la memoria del procesador del calculador principal 2 conectado a la matriz de interconexión 7;
- medios de gestión del estado de las memorias tampón 11;
- medios de destrucción de los mensajes con errores; y
- medios de destrucción de los mensajes que no están destinados al puerto de comunicación considerado.
Hay que señalar que los puertos de comunicación 6 necesitan parámetros para funcionar (por ejemplo, la frecuencia de funcionamiento del enlace de comunicación conectado, el intervalo entre mensajes, etc.). Estos parámetros se encargan por ejemplo de la puesta en tensión del calculador principal 2, bien mediante el procesador del calculador que actúa entonces como controlador del enrutador 5 durante esta fase, bien mediante una memoria permanente (por ejemplo en el enrutador 5) mediante un bus de configuración 14 interno en el enrutador 5.
Además, se pueden distinguir dos tipos de puertos de comunicación 6: los puertos bus y los puertos procesadores. Las diferencias entre estos dos tipos de puertos consisten esencialmente en:
- el tipo de bus soportado. A modo de ejemplo, los puertos procesadores están conectados generalmente a buses de tipos conocidos por la técnica con la denominación PCI, PCI ex, Rapidio, PLB, amba, etc., mientras que los puertos bus por su parte están habitualmente conectados a todos los grandes estándares de bus de serie (por ejemplo RS422);
- la presencia de controladores DMA de acceso directo a la memoria en los puertos procesadores. Estos controladores DMA en recepción y en emisión permiten recibir y emitir mensajes sin intervención dinámica (más que la autorización para emitir o confirmar los mensajes entrantes) por parte del procesador del calculador principal 2 que comprende el enrutador 5. Asimismo un controlador DMA en recepción realiza una clasificación diferenciada de los mensajes entrantes, que debe disponer de una información adicional sobre estos mensajes (por ejemplo el procedimiento de software objetivo del procesador). Con este fin, considerando los mensajes entrantes conformes al protocolo IP, se puede elegir la sobrecapa protocolaria UDP. El principio de clasificación diferenciada entonces es el siguiente:
• una información de procedimiento conforme al protocolo UDP (también denominado socket UDP), asociada a un mensaje entrante es analizada por el DMA a la recepción y después convertida en una dirección de clasificación mediante una tabla de correspondencia proporcionada, por ejemplo por el procesador del calculador principal 2 durante su inicialización. Hay que señalar que cuando la información de procedimiento no está disponible, se asocia al mensaje entrante considerado un procedimiento de manera predeterminada, que corresponde a una zona de clasificación denominada cesta;
• la zona de clasificación correspondiente a la dirección de clasificación está protegida por un semáforo.
Cuando se desactiva este semáforo, el mensaje entrante se clasifica en la zona de clasificación y se activa el semáforo. En caso contrario (el semáforo ya está activado), el procesador no ha leído el mensaje anterior clasificado en la zona de clasificación y el mensaje considerado se dispone en la cesta, asimismo protegida por un semáforo. Una tal clasificación activa un contador de errores;
• no hay ninguna zona de clasificación libre, entonces se destruye el mensaje entrante y aumenta el contador de errores;
Hay que señalar que, en caso de no haya ninguna información sobre el procedimiento del software objetivo asociado al mensaje, se puede considerar modificar el controlador DMA en recepción utilizando técnicas de puesta en memoria tampón más complejas (por ejemplo, de tipo circular donde el mensaje que entra solo se destruye un número de mensajes determinado más tarde) de manera que sobrecarga lo menos posible el procesador del calculador. Además, gracias a los controladores DMA de los puertos procesadores, la transferencia de un mensaje necesita como máximo una escritura en emisión (armado del controlador DMA de emisión) y una lectura en recepción (la lectura del semáforo en recepción), lo que reduce notablemente la carga de software derivada de la transferencia de datos;
- el hecho de que la transferencia de datos en curso sobre los puertos procesadores siempre pueda suspenderse sin pérdidas de datos, mientras que el que está en curso sobre los puertos buses no puede interrumpirse (al menos cuando están conectados a la mayor parte de los buses de serie actuales). Se recuerda además que las órdenes de detención de transmisión (simbolizadas por las flechas 15 en la figura 3) y los mensajes de congestión (simbolizados
por las flechas 16) generalmente solo se ponen en marcha en los puertos procesadores.
Además, se puede modificar la arquitectura de un puerto de comunicación 6 para atribuirle una función esencial en el análisis del funcionamiento en tiempo real del procesador de un calculador principal 2. Un tal puerto de comunicación así modificado, denominado a continuación Puerto de Vigilancia Tiempo Real o PTSR, dispone de una conexión a la matriz de interconexión 7 del enrutador 5 y de una conexión (por ejemplo mediante un enlace de comunicación de muy alta velocidad conocido por la técnica con la denominación PCI) al procesador del calculador principal 2. Mediante medios de datación de los mensajes 10 del puerto PTSR, los mensajes provenientes del procesador están datados con una precisión apropiada (por ejemplo el microsegundo) y almacenados en una memoria de tamaño adaptado a cada aplicación gestionada por el procesador (por ejemplo 256 palabras de 32 bits). Esta memoria se vacía periódicamente en el sistema de enrutamiento I destinado a medios de pruebas y de análisis 4, y el periodo depende de la aplicación ejecutada por el procesador. El control de la emisión de los mensajes sobre el procesador es propio de cada aplicación. Se puede citar, como ejemplo de control, la circulación de un mensaje particular, la utilización de una base de tiempo, la activación de un contador de vigilancia (denominado «watch dog» en inglés), etc.
Así, el análisis de los mensajes provenientes del procesador permite, por ejemplo a los medios de prueba y de análisis 4 disponer a distancia y sin intrusión en el calculador principal 2 una imagen de las actividades en tiempo real de este procesador, de manera que contribuye en concreto directamente a la puesta a punto del sistema de enrutamiento I.
Además, uno de los puertos de comunicación del enrutador 5, denominado puerto de prueba, conectado al bus principal L1, puede dedicarse a la puesta a punto y a la validación del sistema de enrutamiento I. Los mensajes que circulan en el sistema de enrutamiento I y están datados automáticamente por los medios de datación 10, durante su entrada en el enrutador, pueden ser recibidos por este puerto de prueba sin acción de las fuentes (se realiza una multidifusión automática por las matrices de conexión 7 de los diferentes enrutadores 5 del sistema I) para realizar un análisis de las transferencias de datos en el sistema I. Sin embargo es posible elegir las direcciones de destino de los mensajes así como los filtros de direcciones de los medios de filtrado 13 del puerto de prueba de manera que se seleccionan los mensajes mejor adaptados a la validación del sistema I.
Claims (10)
1. Sistema de enrutamiento de datos (I) que comporta al menos un conjunto de transmisión (I1, I2, I3) que comprende un calculador principal (2), que comporta circuitos lógicos y es capaz de pilotar un procedimiento industrial, al menos un enrutador (5) y al menos dos calculadores secundarios (3) conectados a dicho calculador principal (2) que los controla, mediante enlaces de comunicación (L2), en el que un protocolo de intercambio de datos está asociado a cada uno de dichos enlaces de comunicación (L2),
caracterizado por que
- dicho enrutador (5) está controlado por dicho calculador principal (2);
- dicho enrutador (5) comporta puertos de comunicación (6) interconectados mediante al menos una matriz de interconexión (7) capaz de garantizar una difusión automática de los datos provenientes de un puerto de comunicación (6) hacia varios otros puertos de comunicación que tiene conectados;
- dicha matriz de interconexión explota al menos una parte de los circuitos lógicos de dicho calculador principal (2); y
- dichos puertos de comunicación (6) comportan medios de adaptación de los protocolos (9) que permiten la puesta en concordancia de un formato de mensajes provenientes de un enlace de comunicación (L2) con un formato de mensajes consumido por la matriz de interconexión (7),
dicho enrutador es así capaz de realizar la transferencia y la adaptación en protocolos de los datos entre dicho calculador principal (2) y dichos calculadores secundarios (3), en concreto cuando dichos enlaces de comunicación (L2) son de naturaleza heterogénea.
2. Sistema de enrutamiento según la reivindicación 1,
caracterizado por que comprende al menos dos tales conjuntos de transmisión (I1, I2, I3), cuyos calculadores principales (2) están interconectados mediante un enlace de comunicación en serie de alta velocidad (L1), de manera que el calculador principal (2) de uno de dichos conjuntos de transmisión (I1, I2, I3) es capaz de observar y controlar los calculadores principales y secundarios del otro conjunto.
3. Sistema de enrutamiento según cualquiera de las reivindicaciones 1 o 2, caracterizado por que dicho calculador principal (2) de un tal conjunto de transmisión (I1) está además conectado, mediante un enlace de comunicación en serie de alta velocidad (L1), a medios de prueba y de análisis (4) que permiten en concreto la puesta a punto y el control de dichos calculadores principales (2) y secundarios (3) de cada uno de los conjuntos de transmisión (I1, I2, I3) de dicho sistema (I).
4. Sistema de enrutamiento según cualquiera de las reivindicaciones 2 o 3 caracterizado por que la velocidad de dicho enlace de comunicación en serie de alta velocidad (L1) es superior a la velocidad acumulada de dichos enlaces de comunicación (L2).
5. Sistema de enrutamiento según cualquiera de las reivindicaciones 2 a 4, caracterizado por que dicho enlace de comunicación en serie de alta velocidad (L1) es el bus Ethernet que funciona con el protocolo IP.
6. Sistema de enrutamiento según cualquiera de las reivindicaciones 1 a 5, caracterizado por que al menos uno de dichos puertos de comunicación (6) de dicho enrutador (5) comprende un controlador DMA de acceso directo a la memoria en emisión y un controlador DMA en recepción.
7. Sistema de enrutamiento según cualquiera de las reivindicaciones 1 a 6, caracterizado por que los datos se presentan en forma de mensajes de datos, cada uno de dichos puertos de comunicación (6) de dicho enrutador (5) comprende medios de filtrado de las direcciones (13) asociadas a dichos mensajes de datos de manera que dicho puerto transfiere, al enlace de comunicación (L2) que tiene conectado, únicamente los mensajes que poseen una dirección filtrada por dichos medios de filtrado (13).
8. Sistema de enrutamiento según cualquiera de las reivindicaciones 1 a 7, caracterizado por que dichos puertos de comunicación (6) de dicho enrutador (5) comprenden medios de datación (10) de los datos que atraviesan dichos puertos.
9. Sistema de enrutamiento según cualquiera de las reivindicaciones 1 a 8, caracterizado por que dichos circuitos lógicos del calculador principal (2) de cada uno de los conjuntos de transmisión (I1, I2, I3) son circuitos lógicos programables de tipo FPGA.
10. Sistema de enrutamiento según cualquiera de las reivindicaciones 1 a 8, caracterizado por que funciona en un entorno de tratamiento de datos en tiempo real.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0801379A FR2928758B1 (fr) | 2008-03-13 | 2008-03-13 | Systeme de routage de donnees. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2741925T3 true ES2741925T3 (es) | 2020-02-12 |
Family
ID=40010881
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES09290167T Active ES2741925T3 (es) | 2008-03-13 | 2009-03-09 | Sistema de enrutamiento de datos |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US8560727B2 (es) |
| EP (1) | EP2101259B8 (es) |
| ES (1) | ES2741925T3 (es) |
| FR (1) | FR2928758B1 (es) |
| IL (1) | IL207863A (es) |
| PL (1) | PL2101259T3 (es) |
| WO (1) | WO2009118481A1 (es) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102014108455A1 (de) * | 2014-06-16 | 2015-12-17 | Beckhoff Automation Gmbh | Verfahren zum Betreiben eines Netzwerks |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3789743T2 (de) * | 1986-09-01 | 1994-08-18 | Nippon Electric Co | Serielles Datenübertragungssystem. |
| US5490252A (en) * | 1992-09-30 | 1996-02-06 | Bay Networks Group, Inc. | System having central processor for transmitting generic packets to another processor to be altered and transmitting altered packets back to central processor for routing |
| US5896414A (en) * | 1996-09-17 | 1999-04-20 | Sarnoff Corporation | Method and apparatus for providing control channel communications for an information distribution system |
| US6094708A (en) * | 1997-05-06 | 2000-07-25 | Cisco Technology, Inc. | Secondary cache write-through blocking mechanism |
| US6856591B1 (en) * | 2000-12-15 | 2005-02-15 | Cisco Technology, Inc. | Method and system for high reliability cluster management |
| DE60335804D1 (de) | 2002-06-19 | 2011-03-03 | Yamaha Motor Co Ltd | Lufteinlassvorrichtung für motor |
| FR2842922B1 (fr) * | 2002-07-25 | 2004-11-05 | Genod | Dispositif de bus matriciel multi-maitres, multi-esclaves, et procede mis en oeuvre dans un tel dispositif |
| US7277449B2 (en) * | 2002-07-29 | 2007-10-02 | Freescale Semiconductor, Inc. | On chip network |
| WO2005091574A1 (en) * | 2004-03-17 | 2005-09-29 | Koninklijke Philips Electronics N.V. | Integrated circuit and method of communication service mapping |
| US7382154B2 (en) * | 2005-10-03 | 2008-06-03 | Honeywell International Inc. | Reconfigurable network on a chip |
-
2008
- 2008-03-13 FR FR0801379A patent/FR2928758B1/fr not_active Expired - Fee Related
-
2009
- 2009-03-09 US US12/921,543 patent/US8560727B2/en active Active
- 2009-03-09 EP EP09290167.7A patent/EP2101259B8/fr active Active
- 2009-03-09 PL PL09290167T patent/PL2101259T3/pl unknown
- 2009-03-09 WO PCT/FR2009/000240 patent/WO2009118481A1/fr not_active Ceased
- 2009-03-09 ES ES09290167T patent/ES2741925T3/es active Active
-
2010
- 2010-08-30 IL IL207863A patent/IL207863A/en active IP Right Grant
Also Published As
| Publication number | Publication date |
|---|---|
| EP2101259B8 (fr) | 2019-07-10 |
| WO2009118481A1 (fr) | 2009-10-01 |
| US8560727B2 (en) | 2013-10-15 |
| US20110029690A1 (en) | 2011-02-03 |
| EP2101259B1 (fr) | 2019-05-15 |
| FR2928758A1 (fr) | 2009-09-18 |
| FR2928758B1 (fr) | 2012-10-12 |
| IL207863A0 (en) | 2010-12-30 |
| EP2101259A1 (fr) | 2009-09-16 |
| IL207863A (en) | 2015-09-24 |
| PL2101259T3 (pl) | 2019-11-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI578161B (zh) | 集成有管理控制器的網路控制器暨網路控制的方法 | |
| ES2752203T3 (es) | Dispositivo de almacenamiento de datos para el intercambio de datos protegido entre distintas zonas de seguridad | |
| ES2708664T3 (es) | Sistema de transmisión y recepción de datos | |
| US10263891B2 (en) | Switching device, computer system, method, and program | |
| ES2567268T3 (es) | Sistema de comunicación y procedimiento para la transmisión de datos isócrona en tiempo real | |
| CN113169926B (zh) | 用于机动车的模块化电子控制设备以及具有这种控制设备的机动车和用于控制设备的计算模块单元 | |
| JP5930355B1 (ja) | 特定パケット中継機能付きデータダイオード装置及びその設定方法 | |
| US10841132B2 (en) | Data diode device with specific packet relay function, and method for specifying same | |
| US10848419B2 (en) | Data transmission method, communication network and master participant | |
| US7962296B2 (en) | Module for data acquisition and control in a sensor/control network | |
| ES2769584T3 (es) | Inversor, sistema de comunicación del inversor, método de comunicación del mismo | |
| ES2741925T3 (es) | Sistema de enrutamiento de datos | |
| JP6083549B1 (ja) | 特定パケット中継機能付きデータダイオード装置 | |
| JP5402688B2 (ja) | パケット転送システム、パケット転送システム内におけるパケット集中回避方法 | |
| ES2673937B1 (es) | Metodo y aparatos para la gestion remota optimizada de controladores logicos programables | |
| US9755892B2 (en) | Integrated device managment over Ethernet network | |
| US20210377069A1 (en) | Automation network, network distributor and method for transmitting data | |
| US10257912B2 (en) | Ballast for luminous means having a microprocessor and a programming interface | |
| US20240134679A1 (en) | On-board device, information processing method, and computer program | |
| CN105900109B (zh) | Rfid通信系统及其控制方法 | |
| ES3036048T3 (en) | Filter, assembly, and method for operating an assembly | |
| ES2349340T3 (es) | Módulos de comunicaciones. | |
| ES2759106T3 (es) | Procedimiento de asignación de una dirección de red a un equipo terminal de la red, red, equipo de conexión, servidor de direccionamiento y equipo terminal asociados | |
| ES2340754A1 (es) | Sistema electronico programable de control de acceso con actuacion "on line" sin cables. | |
| JP6141511B2 (ja) | データ記憶装置 |