ES2387100T3 - Método de intercambio de información entre unidades digitales en un sistema distribuido - Google Patents
Método de intercambio de información entre unidades digitales en un sistema distribuido Download PDFInfo
- Publication number
- ES2387100T3 ES2387100T3 ES06762811T ES06762811T ES2387100T3 ES 2387100 T3 ES2387100 T3 ES 2387100T3 ES 06762811 T ES06762811 T ES 06762811T ES 06762811 T ES06762811 T ES 06762811T ES 2387100 T3 ES2387100 T3 ES 2387100T3
- Authority
- ES
- Spain
- Prior art keywords
- slave
- master
- time
- unit
- samples
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0331—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Método de intercambio de información entre unidades digitales en un sistema distribuido, comprendiendo dicho sistema distribuido una unidad maestra que tiene un tiempo de ciclo de reloj maestro nominal y al menos una unidad esclava que tiene un tiempo de ciclo de reloj esclavo nominal, comprendiendo dicho método: - transferir desde dicha unidad maestra una trayectoria determinada a dicha unidad esclava, comprendiendo 5 dicha transferencia: - muestrear en dicha unidad maestra dicha trayectoria determinada cada paso de tiempo maestro para obtener muestras maestras; - transmitir dichas muestras maestras desde dicha unidad maestra a dicha unidad esclava; - recibir dichas muestras maestras en dicha unidad esclava en instantes de tiempo inciertos; en el que dicho método comprende además: - reconstruir dicha trayectoria en dicha unidad esclava basándose en dichas muestras maestras recibidas; - almacenar dichas muestras maestras en dicha unidad esclava en un búfer de memoria; - asociar el valor de cada muestra maestra recibida en dicha unidad esclava con un instante de tiempo esclavo calculado; - obteniéndose dicho instante de tiempo esclavo calculado en dicha unidad esclava usando dicho tiempo de ciclo esclavo nominal y un tiempo de ciclo maestro variable; - calculándose periódicamente dicho tiempo de ciclo maestro variable en una ventana de tiempo esclavo contando cuántas muestras han llegado a dicha unidad esclava durante la última ventana de tiempo esclavo, caracterizado por el hecho de que dicho sistema distribuido controla el movimiento de las partes funcionales de una máquina automática y dicha trayectoria es una trayectoria de movimiento determinada, comprendiendo además dicho método: - controlar con dicha unidad maestra un eje principal de dicha máquina automática y controlar con cada una de dichas unidades esclavas al menos un eje esclavo respectivo de dicha máquina automática, coordinando dicho eje principal con dicho eje esclavo transfiriendo de dicha unidad maestra a dicha unidad esclava dicha trayectoria de movimiento determinada; - y en el que dicha reconstrucción de dicha trayectoria comprende usar en su totalidad y exclusivamente dichas muestras esclavas en dicha trayectoria reconstruida para no tener pérdida de datos o predicción.
Description
Método de intercambio de información entre unidades digitales en un sistema distribuido
Campo técnico de la invención
La presente invención se refiere a un método de intercambio de información entre unidades digitales en un sistema distribuido.
Especialmente, la presente invención puede aplicarse de forma ventajosa en la resolución de problemas de comunicación en un control digital distribuido usado para controlar el movimiento de partes funcionales de una máquina automática, de forma específica, una máquina de envasado automática, a la que se hace referencia de forma específica en la presente descripción técnica, aunque sin que ello implique ninguna limitación del alcance.
Técnica anterior
Una máquina automática es un mecanismo complejo de múltiples usos que consiste en numerosos cabezales funcionales que actúan directamente en los productos.
Para obtener un buen comportamiento de la máquina, es muy importante una coordinación correcta entre todas las partes de la misma.
En los comienzos del automatismo, los primeros mecanismos se coordinaban de forma mecánica, es decir, a través de una leva principal conectada al eje principal y que creaba una trayectoria que constituía la referencia física para los otros elementos del mecanismo.
En la actualidad, gracias al desarrollo de los motores eléctricos, a la electrónica y al control y comunicaciones digitales, la manera en la que son controlados estos elementos ha cambiado profundamente.
En la Figura 1 adjunta se muestra la arquitectura fundamental.
Tal como puede observarse, el sistema de control de movimiento de una máquina automática es un sistema distribuido.
El mismo está compuesto por unidades digitales, denominadas nodos, que intercambian información con otras unidades a través de un bus de comunicación compartido.
De forma específica, se dispone un nodo maestro M, es decir, la unidad central, y muchos otros nodos esclavos Si, asociados a los ejes electromecánicos que deben ser controlados.
Todos los nodos digitales del sistema ejecutan un algoritmo controlado por tiempo activado repetidamente por su
propio reloj interno, caracterizado por un intervalo de tiempo nominal (el denominado “tiempo de ciclo”).
US 2004/0062332 describe un método de seguimiento de fase mejorado que permite que ordenadores personales u otros dispositivos informáticos individuales, dotados cada uno de una fuente de reloj respectiva, se comuniquen entre sí a través de líneas de transmisión relativamente sencillas. El aparato de US 2004/0062332 comprende un receptor y un seguidor de fase incluido en el receptor para adaptarse a desviaciones de fase de diferentes fuentes de reloj. El seguidor de fase realiza un cálculo de desviación de fase que empieza a partir de los valores reales del reloj A y el reloj B del chip A y el chip B, respectivamente, enviando el chip A y el chip B datos entre sí en ambos sentidos. La desviación de fase genera un reloj de muestreo local y el receptor muestrea los datos entrantes usando dicho reloj de muestreo local, que se calcula empezando por el reloj de datos remoto y local. Por lo tanto, el método de US 2004/0062332 no puede aplicarse en redes no deterministas, en las que el reloj de datos remoto no es conocido.
US 6424687 se refiere a un protocolo de comunicación digital para la sincronización de datos digitales, formado por señales analógicas de muestreo creadas por un micrófono y transmitidas a un dispositivo de recepción. La señal analógica es muestreada en una señal de tiempo CLKin antes de la transmisión, en su lugar, el receptor se sincroniza con una señal de tiempo CLKout y el periodo de CLKin y CLKout puede diferir. En el receptor es posible aproximarse a la magnitud de una muestra mediante una interpolación de un valor entre una muestra de datos precedente recibida y una muestra de datos actual recibida. Debido a que un exceso y escasez en los datos digitales recibidos puede provocar una distorsión extrema en la señal analógica de salida, siendo necesario evitarlos, la señal analógica de salida se obtiene mediante un número predeterminado de muestras, que se corresponde con el recuento previsto CNTexpected de datos muestreados en un periodo. De forma específica, las muestras de datos perdidos se añaden y las muestras de datos extra se descartan para obtener una señal analógica de salida que tiene dicho número CNTexpected de muestras en un periodo. Esto supone que el método de US 6424687 no puede aplicarse en redes distribuidas en las que es necesario conservar la posición correcta de los datos de las muestras a lo largo del tiempo.
En general, en sistemas complejos modernos, cada nodo digital puede ejecutar diferentes algoritmos, “tareas”, al mismo tiempo (sistemas multitarea), caracterizados cada uno por su propio tiempo de ciclo. En este tipo de sistemas, la generalización del problema de comunicación y sincronización considerado a continuación resulta evidente. Debería considerarse la comunicación entre una tarea específica en el maestro y una tarea específica en el esclavo, en vez de la comunicación entre los nodos maestro y esclavo.
Se supone que ΔT y Δti son los tiempos de ciclo del maestro y del esclavo i, respectivamente. Normalmente, los mismos están diseñados para ser iguales o estar sincronizados con una relación entera fija. De hecho, si el sistema de red no usa una sincronización activa, esta “hipótesis de diseño” no es realista, ya que el reloj de cada nodo se ve afectado por imprecisiones, desviaciones y fluctuaciones.
El objetivo principal del maestro es la coordinación de todos los ejes, obtenida normalmente suministrando a los nodos esclavos referencias de velocidad o posición a seguir para los accionadores.
Durante la ejecución, cada referencia es muestreada con un tiempo de muestreo igual al periodo del tiempo de ciclo del maestro.
A continuación, cada muestra se envía al esclavo a través de un bus digital y es recogida por el esclavo con un tiempo de muestreo igual al tiempo de ciclo esclavo.
Es importante observar que no solamente el valor de la muestra es relevante, sino también el instante de tiempo correspondiente, incluso aunque esta información no sea suministrada directamente con el elemento de datos.
Además, el modo de intercambio de tal información depende de la implementación del sistema de comunicación, es decir, del protocolo de bus.
De todos modos, cualquiera que sea el protocolo adoptado, si el maestro emite unos datos, el esclavo lo recibirá con un retraso de tiempo variable. Por lo tanto, es posible definir la diferencia entre el retraso más largo y más corto como la fluctuación del sistema. Finalmente, el retraso en la transmisión puede aumentar debido a problemas como la colisión de datos o congestión de tráfico en la red.
Por lo tanto, el objetivo de la presente invención consiste en dar a conocer un método de intercambio de información para superar los inconvenientes mencionados anteriormente.
Especialmente, el alcance de la presente invención se basa en resolver los problemas de transmisión de comunicación y sincronización en un sistema distribuido como el descrito anteriormente.
Resumen de la invención
Según la invención, se describe un método de intercambio de información entre unidades digitales en un sistema distribuido, con unidades digitales definidas al menos por un nodo maestro y nodos esclavos, que comprende la etapa de transferir referencias de información desde dicho nodo maestro a dichos nodos esclavos, siendo muestreadas dichas referencias de información con un tiempo de muestreo que se corresponde con un periodo de tiempo de ciclo definido por el valor del reloj de dicho nodo maestro; caracterizándose el método por el hecho de que comprende etapas adicionales de estimación del número de dichas referencias de información muestreadas que han llegado a dicho nodo esclavo desde dicho nodo maestro durante un intervalo de tiempo de referencia periódico y de uso de dicho número para recalcular el valor de reloj maestro, de modo que dichos nodos esclavos son capaces de reconstruir referencia de información del nodo maestro durante un intervalo de tiempo de referencia siguiente.
Breve descripción de los dibujos
La presente invención se describirá a título de ejemplo, haciendo referencia a los dibujos adjuntos, que muestran vistas esquemáticas y sintéticas de una realización preferida, aunque no limitativa, de un aparato de intercambio de información, en los que:
- -
- la Fig. 1 muestra una arquitectura típica de un sistema distribuido;
- -
- la Fig. 2 es una vista esquemática que muestra un muestreo del maestro (a), transmisión de datos (b) y un nuevo muestreo del esclavo (c);
- -
- la Fig. 3 muestra el índice de desviación de un reloj real;
- -
- la Fig. 4 muestra la relación entre los relojes durante ventanas de tiempo de un intervalo;
- -
- la Fig. 5 muestra una implementación de un algoritmo;
- -
- las Figs. 6a y 6b muestran un diagrama de flujo de la implementación del algoritmo de la Fig. 5, del procedimiento de manipulación de muestras maestras y del procedimiento de manipulación de muestras esclavas, respectivamente.
Descripción de las realizaciones preferidas
El alcance principal de la presente invención se basa en transferir las muestras, con respecto a su posición temporal implícita, de una trayectoria determinada desde el maestro M al esclavo Si. Si los relojes internos de ambos nodos estuviesen perfectamente sincronizados, sin ninguna desviación o error de digitalización, sería posible obtener una comunicación sencilla y eficaz, a pesar de la presencia de un retraso y fluctuación de la transmisión, tal como se muestra en la figura 2 (donde ΔT/Δt es 2 y se asume que los pasos de reloj están perfectamente alineados).
La forma de onda sería muestreada con el tiempo ΔT de muestra conocido del maestro (fig. 2-a), sería transmitida a continuación al esclavo con un retraso y una fluctuación, cuyos límites son conocidos (fig. 2-b), y sería muestreada nuevamente y reconstruida mediante interpolación por el esclavo con su propia temporización Δt (fig. 2-c), siendo necesario solamente introducir un retraso fijo, múltiplo de Δt, para tolerar la no idealidad del canal de transmisión.
Todas estas etapas pueden realizarse suponiendo que el esclavo conoce perfectamente el valor de ΔT/Δt, la alineación entre los pasos de reloj maestro y esclavo y el retraso de transmisión máximo. Con estas hipótesis, el esclavo siempre conoce cuándo unos datos válidos transmitidos por el maestro están disponibles y su temporización; por lo tanto, no es necesario un control de datos consistente.
De hecho, el valor nominal de un reloj no es perfectamente igual a su valor efectivo.
Por ejemplo, si 4 mseg es el valor nominal, el valor efectivo podría ser de 3,9999 mseg o 4,001 mseg, es decir, con una ligera desviación y un índice de desviación correspondiente (el área sombreada mostrada en la Fig. 3). Por lo tanto, la relación real entre los relojes maestro y esclavo no se conoce exactamente.
Un sistema de sincronización de bajo nivel adecuado puede estar dotado de varios buses de comunicación digital para evitar el problema mencionado anteriormente y garantizar una sincronización casi perfecta entre los relojes de los diferentes nodos. A continuación, se considera un caso sin sincronización directa entre los relojes de los nodos, es decir, el reloj de cada nodo funciona independientemente de los otros.
En general, la relación entre los tiempos de ciclo maestro y esclavo puede escribirse tal como sigue:
donde n, m son valores enteros y Δn es el número en el intervalo [0 1/m].
En la etapa de diseño del sistema de control, la relación nominal entre los tiempos de ciclo maestro y esclavo se define tal como sigue:
donde, nuevamente, nNom, y mNom son valores enteros y ΔnNom es un número en el intervalo [01/m]; normalmente, nNom es sensiblemente más grande que mNom, imponiéndose un valor igual a cero a efectos de simplicidad.
Según las no idealidades de los relojes de los nodos mencionadas anteriormente, es posible derivar las siguientes consideraciones:
- -
- los valores reales n, m, Δn no son exactamente iguales a nNom, respectivamente, debido a la imprecisión de los relojes de los nodos;
- -
- los valores n, m, Δn no son constantes, ya que:
- -
- la frecuencia a largo plazo de los relojes de los nodos no es perfectamente constante:
- -
- la fluctuación afecta a los relojes de los nodos.
La fluctuación entre los relojes maestro y esclavo determina el mismo efecto que la fluctuación en el retraso de transmisión, de modo que el mismo puede ser compensado fácilmente, según el procedimiento mostrado en la figura 2, asumiendo un retraso adecuado en la reconstrucción de referencia en el nodo esclavo.
De forma diferente, la falta de concordancia de ΔT/Δt real con respecto al nominal y su desviación a largo plazo no pueden ser compensadas con un retraso fijo, tal como se propone en la figura 2, ya que el error de desviación se acumula con el paso del tiempo.
Las posibles consecuencias de este problema consisten en que es posible sobrescribir los datos antes de haberlos usado o sería posible usar los mismos datos dos veces, provocando en ambos casos puntas en la trayectoria de la velocidad y pérdida de sincronización con otros ejes.
Algoritmo propuesto para resolver el problema de sincronización
El objetivo del siguiente algoritmo consiste en reconstruir con un tiempo Δt de muestreo la trayectoria de referencia muestreada previamente por el nodo maestro con un tiempo ΔT de muestreo, sabiendo que existen incertidumbres sobre la transmisión de datos (fluctuación) y, tal como se ha mencionado anteriormente, que la relación entre los dos relojes no se conoce exactamente a priori.
Además, también deben satisfacerse las siguientes limitaciones:
- -
- una reconstrucción con un retraso mínimo y constante en la medida de lo posible;
- -
- no tener pérdida de datos o predicción.
En primer lugar, debido a que la reconstrucción se realiza usando el tiempo Δt de ciclo esclavo, se asumirá que el reloj esclavo es el tiempo global del sistema (es decir, los otros relojes estarán caracterizados y representados con respecto al reloj esclavo).
Por lo tanto, la base temporal tendrá una granularidad Δt y en cada paso de dicho reloj deberá generarse una muestra de trayectoria reconstruida.
Para gestionar el retraso de transmisión y las fluctuaciones (debidos al canal de transmisión y a la imprecisión de los relojes maestro y esclavo) es posible usar un retraso adecuado, tal como se muestra en la figura 2.
Por otro lado, para tolerar los efectos de la desviación de ΔT con respecto a Δt (debidos al hecho de que ΔT/Δt real no es igual a (ΔT/Δt)Nom), es necesario definir una resincronización periódica de los datos procedentes del maestro (con respecto al tiempo global definido por el esclavo), introduciendo de este modo un control de flujo de datos.
La idea básica consiste en estimar cuántas muestras de datos llegan del maestro al esclavo durante una ventana de tiempo de referencia periódica; el esclavo puede usar posteriormente esta información para recalcular el valor del reloj maestro.
Usando este nuevo conocimiento local del reloj maestro, el esclavo será capaz de reconstruir la trayectoria de referencia maestra durante la siguiente ventana de tiempo de referencia.
Se considera un número fijo n de muestras esclavas y se define una longitud para la ventana de tiempo de referencia de n* Δt.
Suponiendo a efectos de simplicidad que el maestro y el esclavo están en relación perfecta, es decir, que se satisface la ecuación n*Δt=m*ΔT, es posible definir un reloj maestro que tiene una granularidad igual a (n*Δt)/m, de forma similar a lo hecho con el esclavo.
Además, se supone que el instante de inicio de las dos bases temporales es el mismo.
La Fig. 4 muestra la relación entre los dos relojes dentro de una ventana de tiempo de referencia en el caso simple de n=4, m=3.
De esta manera, es posible definir:
- -
- m, el número de muestras suministradas por el maestro y usadas en una ventana de tiempo;
- -
- n, el número de muestras creadas por el esclavo en una ventana de tiempo;
- -
- i, la muestra número i suministrada por el maestro y usada en una ventana de tiempo, siendo i=0, ..., m;
- -
- s, la muestra número s creada mediante interpolación por el esclavo en una ventana de tiempo, siendo s=0, ..., n;
- -
- Ti, el instante de tiempo de la muestra número i, que será igual a i*ΔT;
- -
- ts, el instante de tiempo de la muestra número s, que será igual a s*Δt.
Para la inicialización del algoritmo, es necesario seleccionar los valores de n y m. Esta selección puede basarse en el valor nominal de ΔT y Δt y debe satisfacer la ecuación n*Δt=m*ΔT.
n será igual para cada ventana de tiempo de referencia, mientras que m cambiará según su estimación (aunque se considerará constante dentro de una ventana de tiempo determinada).
Las muestras de trayectoria de referencia esclavas se calcularán empezando por las muestras originales maestras mediante una fórmula de interpolación lineal.
Debido a que son necesarias dos muestras originales para obtener uno o más valores interpolados, debe existir un búfer para almacenar las muestras maestras (ver Fig. 5).
Este búfer será gestionado usando una política FIFO (primero en entrar, primero en salir): tan pronto una nueva muestra maestra es recibida, la misma es almacenada al final del búfer; cuando es necesaria una nueva muestra para el cálculo de muestras esclavas, la misma es extraída de la parte anterior del búfer.
Los dos últimos datos extraídos del búfer son siempre los dos valores a interpolar; en adelante, se denominarán xprevious (p. ej., la muestra en el instante T1) y xnext (p. ej., la muestra en el instante T2).
El número de muestras en el búfer será siempre “suficientemente grande” para garantizar que el búfer nunca está
vacío cuando es necesaria una nueva muestra para el cálculo de las muestras esclavas (escasez de búfer), pero no
“demasiado grande” para evitar retrasos extremos en la reconstrucción de la trayectoria de referencia. De este
modo, es posible establecer un nivel de referencia de búfer a mantener.
La condición que es necesario satisfacer para seguir usando los valores actuales xprevious y xnext para el cálculo de las muestras esclavas es la siguiente:
Tan pronto esta condición no es válida, debe extraerse una nueva muestra del búfer y xprevious y xnext deben ser redefinidos en consecuencia.
Considerando que ts=s*Δt, Ti=iΔT y n*Δt=m*ΔT, es posible reescribir la condición anterior como:
Definiendo en este caso
y
dondes = 0, ..., n y i = 0, ..., m,
la condición previa puede reescribirse como:
Tal como se ha mencionado anteriormente, si esta condición se satisface, el valor interpolado xs número s puede obtenerse mediante interpolación lineal entre las muestras maestras xnext y xprevious.
Una vez se ha alcanzado el final de una ventana de tiempo de referencia, se obtiene la estimación de cuántas muestras se usan en la siguiente ventana de tiempo (el nuevo valor m), es decir, se define la granularidad de la siguiente ventana de tiempo.
La estimación puede realizarse controlando el nivel del búfer y usando un regulador estándar (p. ej., un regulador pasivo).
De forma específica, el proceso de estimación puede dividirse en dos etapas diferentes:
a) el cálculo de un valor mediante la simple evaluación de cuántos datos se han recibido durante la última ventana de tiempo;
b) el cálculo del valor m real empezando por el valor anterior y aplicando un factor de corrección para garantizar que el nivel del búfer se mantiene cerca de un nivel de referencia de búfer definido por el usuario.
Haciendo referencia a la etapa a) mencionada anteriormente, el cálculo puede considerar simplemente cuántos valores originales se han usado y cuál es la variación en el nivel del búfer.
Si el nivel del búfer al final de una ventana de tiempo de referencia es más grande que el nivel del búfer al inicio de la ventana de tiempo, el número de datos recibidos es más grande que los datos que se han usado.
Haciendo referencia a la etapa b), el factor de corrección puede ser proporcional a la diferencia entre el nivel de búfer real y el nivel de búfer de referencia.
En caso necesario, puede considerarse la introducción de una zona muerta (es decir, es posible activar el factor de corrección solamente si la diferencia entre el nivel de búfer real y el nivel de búfer de referencia es superior a un valor determinado).
Una vez el nuevo valor m está disponible, i y s pueden reiniciarse a 0 y el algoritmo puede iniciar el cálculo de muestras esclavas en la siguiente ventana de tiempo de referencia.
Si los dos relojes estuviesen en perfecta relación, después de la primera estimación del valor m, el valor m sería el mismo para todas las ventanas de tiempo.
La presencia de fluctuación y de Δn produce un valor m variable de una ventana de tiempo a otra.
El efecto de estas variaciones consiste en que la trayectoria de la velocidad presenta pendientes ascendentes o descendentes pequeñas, dependiendo de lo que m aumenta o disminuye con respecto a su valor. Para reducir el
efecto de estas variaciones, debería seleccionarse un valor n “suficientemente grande”.
De hecho, el error acumulado durante una ventana de tiempo se extenderá en la siguiente ventana de tiempo.
Evidentemente, cuanto mayor es m, menor es la incidencia del error.
Implementación del algoritmo
El objetivo de esta sección consiste en mostrar una implementación del anterior algoritmo de sincronización (ver Fig.
5).
La implementación del algoritmo puede dividirse en dos procedimientos diferentes:
- -
- el procedimiento de manipulación de muestras maestras
- -
- el procedimiento de manipulación de muestras esclavas
El procedimiento de manipulación de muestras maestras debe ejecutarse tan pronto como una nueva muestra de trayectoria de referencia es recibida por el esclavo desde el maestro (por lo tanto, con un periodo nominal de ΔT). Básicamente, este procedimiento es responsable de la introducción de las muestras maestras en el búfer FIFO.
El procedimiento de manipulación de muestras esclavas debe ejecutarse (periódicamente) con el tiempo Δt de
muestreo esclavo.
Este procedimiento es el más importante, ya que el mismo es responsable de la extracción de muestras maestras
del búfer, del cálculo de las muestras esclavas y de la estimación del valor m.
El procedimiento también es responsable del control del nivel del búfer.
Según la Fig. 6, se muestra un diagrama de flujo simple para cada uno de los procedimientos anteriores.
Inicialización del algoritmo
Para inicializar de forma adecuada el algoritmo, es necesario satisfacer las siguientes condiciones:
Nivel de búfer = nivel de referencia de búfer + delta, siendo delta > 0, donde n y el nivel de referencia de búfer son parámetros definidos por el usuario.
Claims (11)
- REIVINDICACIONES1. Método de intercambio de información entre unidades digitales en un sistema distribuido, comprendiendo dicho sistema distribuido una unidad maestra que tiene un tiempo de ciclo de reloj maestro nominal y al menos una unidad esclava que tiene un tiempo de ciclo de reloj esclavo nominal, comprendiendo dicho método:
- -
- transferir desde dicha unidad maestra una trayectoria determinada a dicha unidad esclava, comprendiendo dicha transferencia:
- -
- muestrear en dicha unidad maestra dicha trayectoria determinada cada paso de tiempo maestro para obtener muestras maestras;
- -
- transmitir dichas muestras maestras desde dicha unidad maestra a dicha unidad esclava;
- -
- recibir dichas muestras maestras en dicha unidad esclava en instantes de tiempo inciertos; en el que dicho método comprende además:
- -
- reconstruir dicha trayectoria en dicha unidad esclava basándose en dichas muestras maestras recibidas;
- -
- almacenar dichas muestras maestras en dicha unidad esclava en un búfer de memoria;
- -
- asociar el valor de cada muestra maestra recibida en dicha unidad esclava con un instante de tiempo esclavo calculado;
- -
- obteniéndose dicho instante de tiempo esclavo calculado en dicha unidad esclava usando dicho tiempo de ciclo esclavo nominal y un tiempo de ciclo maestro variable;
- -
- calculándose periódicamente dicho tiempo de ciclo maestro variable en una ventana de tiempo esclavo contando cuántas muestras han llegado a dicha unidad esclava durante la última ventana de tiempo esclavo,
caracterizado por el hecho de quedicho sistema distribuido controla el movimiento de las partes funcionales de una máquina automática y dicha trayectoria es una trayectoria de movimiento determinada, comprendiendo además dicho método:- -
- controlar con dicha unidad maestra un eje principal de dicha máquina automática y controlar con cada una de dichas unidades esclavas al menos un eje esclavo respectivo de dicha máquina automática, coordinando dicho eje principal con dicho eje esclavo transfiriendo de dicha unidad maestra a dicha unidad esclava dicha trayectoria de movimiento determinada;
- -
- y en el que dicha reconstrucción de dicha trayectoria comprende usar en su totalidad y exclusivamente dichas muestras esclavas en dicha trayectoria reconstruida para no tener pérdida de datos o predicción.
- 2. Método según la reivindicación 1, en el que dicha reconstrucción comprende:
- -
- comprobar cada paso de tiempo esclavo si dicho paso de tiempo esclavo está dentro de un intervalo de tiempo definido por un instante de tiempo calculado precedente asociado a una muestra maestra precedente y un instante de tiempo calculado siguiente asociado a una muestra maestra siguiente;
- -
- generar cada paso de tiempo esclavo una muestra esclava.
- 3. Método según la reivindicación 2, en el que si dicho paso de tiempo esclavo es más grande que dicho instante de tiempo calculado siguiente, dicha reconstrucción comprende además:
- -
- redefinir el valor de dicha muestra maestra precedente copiando en la misma el valor de dicha muestra maestra siguiente;
- -
- extraer de dicho búfer una nueva muestra maestra;
- -
- redefinir el valor de dicha muestra maestra siguiente copiando en la misma el valor de dicha muestra maestra extraída.
-
- 4.
- Método según la reivindicación 2 o la reivindicación 3, en el que dicha reconstrucción comprende además interpolar dicha muestra maestra precedente y dicha muestra maestra siguiente para obtener una trayectoria reconstruida, estando los valores de dichas muestras esclavas en dicha trayectoria reconstruida.
-
- 5.
- Método según la reivindicación 4, en el que dicha interpolación es una interpolación lineal.
-
- 6.
- Método según cualquiera de las reivindicaciones 1 a 4, en el que dicho método comprende además:
- -
- comprobar si cada instante de tiempo esclavo calculado está dentro de una ventana de tiempo esclavo actual;
- -
- calcular dicho tiempo de ciclo maestro variable si dicho instante de tiempo esclavo calculado está dentro de una ventana de tiempo esclavo siguiente.
- 7. Método según cualquiera de las reivindicaciones 1 a 6, en el que dicha ventana de tiempo esclavo es un múltiplo 5 de dicho tiempo de ciclo de reloj esclavo.
-
- 8.
- Método según cualquiera de las reivindicaciones 1 a 6, en el que dicha ventana de tiempo esclavo es un múltiplo de dicho tiempo de ciclo maestro nominal.
-
- 9.
- Método según cualquiera de las reivindicaciones 1 a 8, en el que dicho tiempo de ciclo maestro variable se calcula
aplicando un factor de corrección al tiempo de ciclo maestro variable calculado en una ventana de tiempo esclavo 10 precedente. -
- 10.
- Método según la reivindicación 9, en el que dicha corrección es proporcional a la diferencia entre el número de muestras recibidas en la ventana de tiempo esclavo y un número de nivel de referencia de búfer predefinido.
-
- 11.
- Método según cualquiera de las reivindicaciones 2 a 10, en el que dicho búfer de memoria es un búfer primero
en entrar, primero en salir, siendo extraída dicha muestra maestra precedente de dicho búfer antes de dicha muestra 15 maestra siguiente.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05425557 | 2005-07-28 | ||
EP05425557 | 2005-07-28 | ||
PCT/EP2006/007326 WO2007017099A1 (en) | 2005-07-28 | 2006-07-25 | Method for exchanging information among digital units in a distributed system |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2387100T3 true ES2387100T3 (es) | 2012-09-13 |
Family
ID=36969180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES06762811T Active ES2387100T3 (es) | 2005-07-28 | 2006-07-25 | Método de intercambio de información entre unidades digitales en un sistema distribuido |
Country Status (6)
Country | Link |
---|---|
US (1) | US8462796B2 (es) |
EP (1) | EP1908206B1 (es) |
JP (1) | JP5435614B2 (es) |
CN (1) | CN101288258B (es) |
ES (1) | ES2387100T3 (es) |
WO (1) | WO2007017099A1 (es) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2150062B1 (en) * | 2008-07-28 | 2022-10-26 | Imagine Communications Corp. | Improved method, system and apparatus for synchronizing signals |
CN101753609B (zh) * | 2008-12-15 | 2012-09-19 | ***通信集团公司 | 分布式***版本控制方法、节点及*** |
JP5895162B2 (ja) | 2010-10-28 | 2016-03-30 | パナソニックIpマネジメント株式会社 | 交通事故検出装置及び交通事故検出方法 |
US8731891B2 (en) * | 2011-07-28 | 2014-05-20 | Saudi Arabian Oil Company | Cluster 3D petrophysical uncertainty modeling |
CN102622196B (zh) * | 2012-02-10 | 2015-02-18 | 江苏清投视讯科技有限公司 | 基于网络传输的多屏幕显示***画面同步技术 |
DE102014105211A1 (de) * | 2014-04-11 | 2015-10-15 | Beckhoff Automation Gmbh | Verfahren zum Betreiben eines Teilnehmers eines Kommunikationsnetzwerks |
CN104811658B (zh) * | 2014-12-26 | 2017-12-26 | 山东巨洋神州信息技术有限公司 | 基于光纤分布式显示***的影像智能同步方法 |
CN111602349B (zh) * | 2017-12-29 | 2021-10-01 | 华为技术有限公司 | 用于时间同步的方法、装置和*** |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821203A (en) * | 1987-05-12 | 1989-04-11 | Marq Packaging Systems, Inc. | Computer adjustable case handling machine |
DE3783915T2 (de) | 1987-10-19 | 1993-08-19 | Ibm | Praediktive taktwiedergewinnungsschaltung. |
JPH0348305A (ja) * | 1989-07-14 | 1991-03-01 | Oki Electric Ind Co Ltd | ロボット制御装置 |
US5418932A (en) * | 1990-02-01 | 1995-05-23 | Hitachi, Ltd. | Generation of width modulated pulses by relatively adjusting rising and falling edges upon comparison of counter with programmably stored values |
US5796221A (en) * | 1994-07-14 | 1998-08-18 | Paper Converting Machine Company | Overload detector for servo driven machines |
US5530323A (en) * | 1994-09-14 | 1996-06-25 | Reliance Electric Industrial Company | Drive synchronization system for plural motor systems |
US5812618A (en) * | 1995-12-15 | 1998-09-22 | Cisco Technology, Inc. | SRTS clock recovery system implementing adaptive clock recovery techniques |
KR100190032B1 (ko) | 1996-03-30 | 1999-06-01 | 윤종용 | Efm 데이타 복원용 클럭 발생방법 및 그 방법을 수행하는 위상동기 루프 |
US6134285A (en) | 1997-05-28 | 2000-10-17 | Integrated Memory Logic, Inc. | Asynchronous data receiving circuit and method |
US6909728B1 (en) * | 1998-06-15 | 2005-06-21 | Yamaha Corporation | Synchronous communication |
US6424687B1 (en) * | 1999-03-15 | 2002-07-23 | Cirrus Logic, Inc. | Method and device for alignment of audio data frames using interpolation and decimation |
JP3451973B2 (ja) | 1999-03-23 | 2003-09-29 | ヤマハ株式会社 | パケット転送装置 |
US6944188B2 (en) * | 2001-02-21 | 2005-09-13 | Wi-Lan, Inc. | Synchronizing clocks across a communication link |
DE10113261C2 (de) * | 2001-03-16 | 2003-07-10 | Siemens Ag | Synchrones, getaktetes Kommunikationssystem mit dezentralen Ein-/Ausgabe-Baugruppen und Verfahren zur Einbindung dezentraler Ein-/Ausgabe-Baugruppen in ein solches System |
EP1430627B1 (de) * | 2001-09-26 | 2005-02-09 | Siemens Aktiengesellschaft | Verfahren zur synchronisation von knoten eines kommunikationssystems |
US6990109B2 (en) * | 2001-10-31 | 2006-01-24 | Adtran, Inc. | Method and apparatus for providing reliable voice and voice-band data transmission over asynchronous transfer mode (ATM) network |
DE10248690B4 (de) * | 2001-11-15 | 2019-10-31 | Heidelberger Druckmaschinen Ag | Verfahren zur Synchronisation mehrerer elektrischer Antriebseinheiten |
DE10312379B4 (de) * | 2002-04-04 | 2018-06-28 | Heidelberger Druckmaschinen Ag | Verfahren und Vorrichtung zur Synchronisation von Antriebskombinationen |
US7126986B2 (en) | 2002-09-30 | 2006-10-24 | Intel Corporation | Method and system for improved phase tracking |
JP4487522B2 (ja) * | 2003-09-18 | 2010-06-23 | 富士電機システムズ株式会社 | モータ駆動装置 |
JP4573540B2 (ja) * | 2004-02-26 | 2010-11-04 | 東洋電機製造株式会社 | 同期制御用通信装置 |
US7904182B2 (en) * | 2005-06-08 | 2011-03-08 | Brooks Automation, Inc. | Scalable motion control system |
TW200814536A (en) * | 2006-07-10 | 2008-03-16 | Asterion Inc | Apparatus for and method of generating a time reference |
US7773606B2 (en) * | 2008-09-22 | 2010-08-10 | Telefonaktiebolaget L M Ericsson (Publ) | Timing distribution within a network element while supporting multiple timing domains |
-
2006
- 2006-07-25 ES ES06762811T patent/ES2387100T3/es active Active
- 2006-07-25 JP JP2008523222A patent/JP5435614B2/ja not_active Expired - Fee Related
- 2006-07-25 WO PCT/EP2006/007326 patent/WO2007017099A1/en active Application Filing
- 2006-07-25 US US11/989,491 patent/US8462796B2/en not_active Expired - Fee Related
- 2006-07-25 EP EP06762811A patent/EP1908206B1/en not_active Expired - Fee Related
- 2006-07-25 CN CN2006800346111A patent/CN101288258B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP5435614B2 (ja) | 2014-03-05 |
JP2009506402A (ja) | 2009-02-12 |
EP1908206A1 (en) | 2008-04-09 |
CN101288258B (zh) | 2012-01-25 |
CN101288258A (zh) | 2008-10-15 |
EP1908206B1 (en) | 2012-05-02 |
US20090097504A1 (en) | 2009-04-16 |
US8462796B2 (en) | 2013-06-11 |
WO2007017099A1 (en) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2387100T3 (es) | Método de intercambio de información entre unidades digitales en un sistema distribuido | |
CN106095706B (zh) | 具有主设备和从设备的pll*** | |
US10863469B2 (en) | System and method for accurate timestamping of virtual reality controller data | |
JP5184597B2 (ja) | 通信制御装置及び通信・制御システム | |
JP6753262B2 (ja) | 制御装置および通信装置 | |
ES2236585T3 (es) | Procedimiento para la sincronizacion de nodos de un sistema de comunicacion. | |
ES2229142T3 (es) | Sincronizacion de al menos un nudo de un sistema de bus. | |
CN106131947A (zh) | 一种无线网络设备间时钟同步的方法 | |
KR101340752B1 (ko) | 고정밀도 클럭 동기화 방법 및 시스템 | |
KR101290643B1 (ko) | 광 전송 네트워크에서 시간 동기화 프로토콜을 베어링하는 방법 및 시스템 | |
CN102859941A (zh) | 对分组在分组交换通信网络中的累计驻留时间的更新 | |
CN102577194A (zh) | 不访问实时时间而根据网络设备中驻留时间的实时数值的测量和调整 | |
ES2387092T3 (es) | Procedimiento y dispositivo para el control de un sistema de bus así como sistema de bus correspondiente | |
ES2301029T3 (es) | Procedimiento para el almacenamiento de mensajes en una memoria de mensajes y la memoria de mensajes. | |
CN113424466B (zh) | 时钟同步的方法和装置 | |
JP2006527938A (ja) | バスシステムを介してデータを交換する方法,装置およびシステム | |
ES2525422T3 (es) | Arquitectura genérica de radar | |
ES2807376T3 (es) | Arquitectura de interfaz entre subconjuntos digitales y de radio | |
CN105794130A (zh) | 使用线性规划用于同步的方法和设备 | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
Beck et al. | RTS-MAC: a relative time synchronization MAC protocol for low duty cycle body sensor networks | |
ES2268455T3 (es) | Sincronizador de elementos de procesamiento semisincronos. | |
CN109347591A (zh) | 一种分布式同步采集传感器网络*** | |
EP2747316A2 (en) | A system and a method for synchronization and transmission of information in a distributed measurement and control system | |
ES2950737T3 (es) | Sistema y procedimiento de sincronización temporal entre vías de un sistema multivías de recepción de señales radioeléctricas |