ES2294366T3 - Aparato de procesamiento de datos que identifica una frecuencia de reloj de comunicacion. - Google Patents

Aparato de procesamiento de datos que identifica una frecuencia de reloj de comunicacion. Download PDF

Info

Publication number
ES2294366T3
ES2294366T3 ES03808779T ES03808779T ES2294366T3 ES 2294366 T3 ES2294366 T3 ES 2294366T3 ES 03808779 T ES03808779 T ES 03808779T ES 03808779 T ES03808779 T ES 03808779T ES 2294366 T3 ES2294366 T3 ES 2294366T3
Authority
ES
Spain
Prior art keywords
interval
synchronization
circuit
clock
interruption
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.)
Expired - Lifetime
Application number
ES03808779T
Other languages
English (en)
Inventor
Franciscus J. Klosters
Patrick W. H. Heuts
Joris R. Beverloo
Hendrik B. Heule
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Application granted granted Critical
Publication of ES2294366T3 publication Critical patent/ES2294366T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0262Arrangements for detecting the data rate of an incoming signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/044Speed or phase control by synchronisation signals using special codes as synchronising signal using a single bit, e.g. start stop bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/046Speed or phase control by synchronisation signals using special codes as synchronising signal using a dotting sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Un aparato de procesamiento de datos para recibir una señal de comunicación que comprende un mensaje que contiene un intervalo (50) de interrupción de sincronización con un modelo único de bits, conteniendo el mensaje un intervalo (52) de campo de sincronización identificado por el intervalo (50) de interrupción de sincronización, con una propiedad de temporización del intervalo (52) de campo de sincronización especificando una longitud de períodos de bits de mensaje, comprendiendo el aparato - un puerto (14) de entrada para recibir la señal de comunicación, - un circuito (100) de recepción para muestrear y procesar bits del mensaje, - un circuito (106) de temporizador para suministrar una señal de reloj de muestreo al circuito (100) de recepción para definir instantes para dicho muestreo, caracterizado porque: - el circuito (106) de temporizador está dispuesto para funcionar en paralelo con el circuito (100) de recepción, procediendo con una búsqueda del intervalo potencial de interrupción de sincronización mientras dicho circuito (100) de recepción está muestreando bits de la señal de comunicación, - el circuito (106) de temporizador comprende un contador (60) de interrupciones de sincronización dispuesto para contar un primer número de impulsos de reloj provistos por el circuito (104) de reloj cuando la señal de comunicación adopta un mismo valor de bit, indicando que un intervalo tal podría ser un intervalo (50) potencial de interrupción de sincronización, - el circuito (106) de temporizador comprende además un contador/controlador (30) dispuesto para contar un segundo número de impulsos de reloj provistos por el circuito (104) de reloj durante el intervalo (52) de campo de sincronización identificado por el intervalo (50) potencial de interrupción de sincronización, - el circuito (106) de temporizador comprende además un circuito (62) de comparación de relaciones para comparar cada vez una combinación del primero y del segundo número de uno respectivo de los intervalos potenciales de interrupción de sincronización y el intervalo de campo de sincronización identificado con él, - el circuito (62) de comparación extrae una señal habilitadora para permitir el suministro de la señal de reloj a una frecuencia adaptada a la propiedad de temporización del intervalo (52) de campo de sincronización identificado por el intervalo (50) potencial de interrupción de sincronización cuando una relación entre el primero y el segundo número en una combinación está dentro de un intervalo predeterminado.

Description

Aparato de procesamiento de datos que identifica una frecuencia de reloj de comunicación.
La invención se refiere a un aparato de procesamiento de datos con un puerto de entrada para recibir una señal de comunicación.
En equipo de procesamiento de datos, flujos de bits en serie de datos son usados frecuentemente para comunicar datos entre aparatos diferentes. Los bits recibidos sucesivamente son formados en palabras de datos de, por ejemplo, 8 bits. Durante la recepción, el muestreo de los diferentes bits procedentes de flujo es realizado habitualmente bajo el control de una señal de reloj. Una señal de reloj con una frecuencia fija predeterminada es usada frecuentemente con este fin, pero también es conocida la selección entre frecuencias alternativas. Por la solicitud de patente PCT (Patent Cooperation Treaty) nº WO9960760, por ejemplo, es conocido un circuito de reloj que adapta el divisor, con el que la señal de reloj de muestreo es obtenida de un reloj maestro, a características medidas de la señal de comunicación.
El documento US 2002/101884 describe un método y un aparato para hacer funcionar un bus según la especificación de Red de Interconexión Local (LIN: Local Interconnect Network), en la que los dispositivos esclavos (subordinada) no necesitan conocimiento previo sobre la velocidad en baudios antes de recibir transmisiones. El método prevé la sincronización de los dispositivos esclavos, donde una búsqueda de interrupción es iniciada después de que el bus de comunicación ha estado inactivo. Además, una nueva búsqueda de interrupción es iniciada en la reinicialización del bus, el encendido o la activación desde un modo en reposo (durmiente).
Otro ejemplo de equipo de procesamiento que usa periodos adaptables de bits es el equipo que usa el denominado protocolo de bus de red de interconexión local (LIN). El protocolo de red de interconexión local (LIN) proporciona lo necesario para la transmisión de una señal de comunicación que contiene mensajes, sin transmisión de una señal de reloj separada. Las señales de reloj son producidas localmente en un receptor de la señal de comunicación. Cada mensaje contiene un campo de sincronización que define un intervalo de tiempo en el que es transmitido un modelo de bits de basculación electrónica. Este modelo de bits tiene el período de bits que será usado durante el mensaje. El campo de sincronización permite que un circuito receptor genere un reloj local con un período correcto de bits, usualmente seleccionando una de un número de frecuencias binarias disponibles.
Según el protocolo de red de interconexión local (LIN), el campo de sincronización es precedido por una denominada interrupción de sincronización que permite que el receptor identifique el comienzo de un mensaje y el campo de sincronización, que sigue inmediatamente a la interrupción de sincronización. La interrupción de sincronización contiene un modelo único de bits que no puede ocurrir en otra parte en los mensajes: una señal continua de nivel bajo que dura más que la separación entre bytes sucesivos en el resto del mensaje. Así, la interrupción de sincronización funciona como un intervalo de detección para determinar si ha de seguir o no un campo de sincronización, y el campo de sincronización funciona como un intervalo de medida para medir un período de bits.
Tal equipo funciona bien cuando se usan frecuencias previsibles de señal de reloj, con frecuencias dentro de un intervalo limitado predeterminado o dentro de un número pequeño de intervalos de frecuencias, como en receptores convencionales de red de interconexión local (LIN). Surgen problemas cuando se permite que la frecuencia de señal de reloj varíe de modo sustancialmente continuo en un intervalo amplio. En este caso, la duración de un intervalo de interrupción de sincronización a una frecuencia alta de reloj puede ser igual a la duración de un nivel bajo de la señal de comunicación a una frecuencia baja de reloj. Cuando la frecuencia de reloj no es conocida previamente con precisión suficiente, los intervalos de interrupción de sincronización no pueden ser distinguidos fiablemente de los datos normales de mensaje. Por consiguiente, ha sido necesario utilizar la detección del final de un mensaje antes de buscar un intervalo siguiente de interrupción de sincronización, o sea, integrar el procesamiento de mensaje y la selección de frecuencia. Esto hace más caros los circuitos de receptor.
Entre otros, un objeto de la invención es proporcionar un aparato de procesamiento de datos que soporte la detección de los campos de sincronización cuando una frecuencia de reloj de comunicación puede variar en un intervalo amplio, sin necesitar información sobre el final de mensajes.
Entre otros, un objeto más de la invención es proporcionar monitorización continua para el comienzo de un mensaje, en paralelo con la recepción de mensaje.
La invención proporcionar un aparato de procesamiento de datos según la reivindicación 1. Según la invención, el aparato busca combinaciones de interrupciones potenciales de sincronización y campos de sincronización identificados por esas interrupciones potenciales de sincronización, y verifica subsiguientemente si la interrupción potencial de sincronización, que precede típicamente a su campo identificado de sincronización, ha tenido una duración que es apropiada para el período de bits que es especificado por su campo identificado de sincronización. Una señal de reloj de muestreo, con un período de bits adaptado al campo de sincronización, es aplicada para muestrear bits del mensaje solo si se ha hallado que la duración de la interrupción potencial de sincronización es apropiada para el período de bits que es especificado por su campo de sincronización identificado. Así, cualquier período de bits puede ser usado.
En el protocolo de red de interconexión local (LIN), el intervalo de interrupción de sincronización identifica al intervalo de campo de sincronización en el sentido de que el intervalo de campo de sincronización sigue inmediatamente al intervalo de interrupción de sincronización en la señal de comunicación, de modo que la posición del intervalo de campo de sincronización es clara una vez que se ha hallado la interrupción de sincronización. Sin embargo, sin desviarse de la invención, pueden proporcionarse otros modos de identificar el intervalo de campo de sincronización con el intervalo de interrupción de sincronización, tal como transmitir el intervalo de campo de sincronización inmediatamente antes que el intervalo de interrupción de sincronización, o transmitir el intervalo de campo de sincronización después de un número predeterminado de impulsos antes o después del intervalo de interrupción de sincronización en la señal de comunicación, siempre que el intervalo de campo de sincronización pueda ser localizado sobre la base de la posición del intervalo de interrupción de sincronización.
En una realización, una verificación adicional es realizada comprobando si la temporización interna del campo de sincronización corresponde al período adaptado de bits. Así, se asegura la detección aún más fiable del comienzo de un mensaje.
Preferiblemente, el circuito fuente de reloj funciona en paralelo con el circuito de recepción, prosiguiendo con dicha búsqueda mientras dicho circuito de recepción está muestreando bits de la señal de comunicación. Así, se reduce el riesgo de perder interrupciones de sincronización. Preferiblemente, la recepción se termina cuando una nueva interrupción de sincronización es detectada durante la recepción de un mensaje.
Estos y otros objetos y aspectos ventajosos de la invención descritos usando las figuras siguientes.
La Figura 1 muestra un aparato de procesamiento de datos.
La Figura 2 muestra ráfagas de ejecución de instrucciones.
La Figura 3 muestra un circuito de temporizador.
La Figura 4 muestra una parte de sincronización de una señal de entrada.
La Figura 5 muestra un circuito de temporizador adicional.
La Figura 6 muestra un circuito de procesador.
La Figura 1 muestra un aparato de procesamiento de datos con un procesador 10 de entrada y un procesador adicional 12. El procesador 10 de entrada contiene un procesador 100 de instrucciones, una memoria 102 de instrucciones, un circuito 104 de reloj, un circuito 106 de temporizador y un circuito 108 de establecimiento de comunicación (saludo). Una entrada 14 de comunicación del aparato de procesamiento de datos está acoplada al procesador 100 de instrucciones y al circuito 106 de temporizador. El circuito 104 de reloj está acoplado al circuito 106 de temporizador que, a su vez, está acoplado al procesador 100 de instrucciones por vía del circuito 108 de establecimiento de comunicación. El procesador 100 de instrucciones está acoplado a la memoria 102 de instrucciones, al circuito 108 de establecimiento de comunicación y al procesador adicional 12.
La Figura 2 muestra una señal 26 de disparo con impulsos 28, ráfagas 22 de ciclos de instrucciones y períodos 21 de bits y un ciclo 20 de palabra de datos en función del tiempo. Aunque la Figura 2 solo muestra un grupo de períodos 21 de bits para los bits en una sola palabra de datos, debería comprenderse que los mensajes pueden contener una sucesión de tales grupos, cada uno para una palabra de datos sucesiva y cada uno con su propio ciclo 20 de palabra de datos.
En funcionamiento, una señal que representa temporalmente bits sucesivos en períodos 21 diferentes de bits es aplicada a la entrada 14. El circuito 106 de temporizador genera impulsos 28 de disparo cada vez en instantes de tiempo cuando los bits están disponibles en el entrada 14. La temporización de los impulsos 28 de disparo es crítica solo en tanto que cada uno de los impulsos 28 de disparo es generado en alguna parte dentro del período en el que se conoce que el bit correspondiente es estable en la entrada 14. Además, los impulsos deberían tener distancia suficiente entre sí para permitir completar cada ráfaga 22 antes del siguiente impulso 28 de disparo. Un circuito de retención de recepción puede ser provisto para retener los bits de entrada; en este caso, los impulsos de disparo incluso pueden ser generados fuera de los períodos en los que los bits son estables.
En respuesta a los impulsos 28 de disparo, el procesador 100 de instrucciones trae una serie de instrucciones desde la memoria 102 de instrucciones y ejecuta cada serie de instrucciones en una ráfaga 22 respectiva de ciclos de instrucciones. Después de un número de tales ráfagas 22, todos los bits de una palabra de datos han llegado a la entrada 14 y han sido procesados por el procesador 100 de instrucciones. En la última de dichas ráfagas 22, el procesador 100 de instrucciones extrae la palabra de datos al procesador adicional 12 en el ciclo 20 de palabra de datos. Esto puede ser efectuado extrayendo todos los bits recibidos en paralelo, o en serie de bits, en los que cualquier señal de reloj puede ser usada para sincronizar bits sucesivos de los bits.
Dependiendo de las exigencias del contexto, diversos tipos de procesamiento pueden ser realizados durante las ráfagas 22. En un ejemplo, una pluralidad de bits de paridad son actualizados potencialmente en cada ráfaga 22 ejecutando sucesivamente instrucciones respectivas para actualizar diversos valores de paridad en cada ráfaga 22, dependiendo del valor de un bit recibido y las fórmulas para los bits de paridad diferentes (las fórmulas determinan como, si de alguna manera, un bit en una cierta posición en una palabra de datos contribuye a bits de paridad respectivos; típicamente, funciones O exclusiva de valor anterior de bits de paridad respectivos y el bit recibido son calculadas si la fórmula para el bit de paridad particular indica que el bit recibido particular contribuye al bit de paridad particular). Una serie típica de instrucciones es
f = inp RXD
Leer el bit de entrada dentro del registro f
m1 = f
Almacenar el bit de entrada en la posición m1
m2 = f + m2
Actualizar el primer bit de paridad en la posición m2
m3 = f + m3
Actualizar el segundo bit de paridad en la posición m3
wait(esperar)
Suspender el funcionamiento hasta el bit siguiente
(dependiendo del número de secuencia del bit en la palabra de datos, bits de paridad diferentes pueden ser actualizados o los bits de paridad en las posiciones m2, m3 pueden no ser actualizados). Cuando todas las instrucciones de una ráfaga 22 han sido procesadas, el procesamiento de instrucciones es suspendido hasta que la ráfaga 22 siguiente es disparada. Preferiblemente, ninguna o sustancialmente ninguna transición interna de señal ocurre en el procesador 100 de instrucciones durante la suspensión a fin de minimizar el consumo de energía. Cuando todos los bits de entrada han sido procesados, los bits de paridad pueden ser extraídos al procesador adicional 12 o pueden ser usados por el procesador 100 de instrucciones para corregir los errores de señal.
El establecimiento de comunicación (saludo) es usado para controlar el funcionamiento del procesador 100 de instrucciones. Inicialmente, el circuito 106 de temporizador genera una señal de solicitud (típicamente, elevando la señal 26 de disparo). En respuesta a la señal de solicitud, el procesador 100 de instrucciones empieza a procesar una primera de una serie de instrucciones en una ráfaga 22. El procesador 100 de instrucciones devuelve una señal de acuse de recibo al circuito 106 de temporizador que niega la señal de solicitud en respuesta a ella (típicamente, reduciendo la señal 26 de disparo). Una vez que el procesador 100 de instrucciones ha indicado que está dispuesto a recibir una señal siguiente de solicitud, el circuito 106 de temporizador puede generar una nueva señal de solicitud pero lo hará así generalmente con un retardo en un momento cuando un bit de entrada nuevo está disponible. Después de la señal de disparo procedente del circuito 106 de temporizador, el procesador 100 de instrucciones genera una serie de señales de solicitud para disparar por sí mismo la ejecución de instrucciones subsiguientes de la serie en la ráfaga 22. Esto se repite hasta que la serie de instrucciones ha terminado (como es indicado por la instrucción "wait" ("esperar") en el ejemplo de programación), después de lo cual no son generadas más señales de solicitud por el procesador 100 de instrucciones.
Internamente en el procesador 100 de instrucciones, en principio, los establecimientos de comunicación (saludos) pueden ser pasados de modo que cualquier subcircuito que resulta implicado en la ejecución de instrucciones es activado por establecimientos de comunicación y, a su vez, activa más subcircuitos implicados con establecimientos de comunicación (saludos). Así, el consumo de energía es reducido puesto que ningún subcircuito necesita producir transiciones de señal a no ser que esto sea necesario para ejecución de una instrucción particular. Por supuesto, la invención no está limitada a establecer comunicación (saludar) para asegurar la suspensión del funcionamiento. Por ejemplo, un procesador de instrucciones sincronizado puede ser usado en combinación con alguna forma de control de reloj por puerta electrónica, lo que asegura que no son aplicadas señales de reloj al procesador 100 de instrucciones fuera de la ráfagas 22. Esto también reduce el consumo de energía, para ser menor que con establecimiento de comunicación (saludo).
Aunque la invención ha sido descrita en términos de la recepción de bits por el procesador 100 de instrucciones, se comprenderá que, sin desviarse de la invención, el procesador 100 de instrucciones también puede ser dispuesto para transmitir datos de vuelta por la entrada 14 de comunicación en cualquiera o todos de los períodos 21 de bits. Por ejemplo, el procesador 100 de instrucciones puede devolver un acuse de recibo en un período 21 de bits, o puede transmitir datos en una pluralidad de períodos 21 de bits una vez que ha identificado, a partir de la información en períodos precedentes 21 de bits, que es necesario hacerlo así.
La Figura 3 muestra un ejemplo de circuito 106 de temporizador. Este ejemplo contiene un contador/controlador 30, un divisor 32 de frecuencia, un detector 34 de comienzo de campo de sincronización y un detector 36 de parada de campo de sincronización. El detector 34 de comienzo de campo de sincronización y el detector 36 de parada de campo de sincronización están acoplados a la entrada 14 y tienen salidas acopladas al contador/controlador 30. El contador/controlador 30 tiene una entrada acoplada al circuito 104 de reloj y una salida acoplada al divisor 32. El divisor 32 tiene entradas acopladas al circuito 104 de reloj y al contador/controlador 30 y una salida acoplada al circuito 108 de establecimiento de comunicación.
La Figura 4 muestra un ejemplo de una parte de sincronización de una señal de entrada procedente de la entrada 14. Esta parte de sincronización corresponde a la parte de sincronización del protocolo de red de interconexión local (LIN) que es conocido públicamente de por sí. Esta parte de sincronización precede a los períodos 21 de bits de la Figura 2. La parte de sincronización contiene un intervalo 50 de interrupción de sincronización y un intervalo 52 de campo de sincronización. En el intervalo 50 de interrupción de sincronización, la señal de entrada adopta un nivel bajo 53 durante un primer intervalo de tiempo, después de lo cual la señal aumenta a un nivel alto. La longitud del intervalo 50 de interrupción de sincronización ha sido elegida de modo que es mayor que la longitud de niveles bajos que pueden ser causados por cualquier modelo de bits en otra parte en el mensaje (mayor que un byte lleno de ceros). En el intervalo 52 de campo de sincronización, la señal de entrada contiene cuatro impulsos 54 en los que la señal de entrada adopta primero un nivel bajo y después un nivel alto. El campo 52 de sincronización es seguido por un intervalo de mensaje subsiguiente en el que ocurren los períodos 21 de bits (no mostrados). La duración de los períodos de bits tiene una relación predeterminada respecto a la duración del intervalo 52 de campo de sincronización.
En funcionamiento, la señal de entrada es generada por un transmisor (no mostrado) y procesada por el circuito 106 de temporizador. El detector 34 de comienzo de campo de sincronización detecta el comienzo del intervalo 52 de campo de sincronización en la señal de entrada procedente de la entrada 14. El detector 34 de comienzo de campo de sincronización envía una señal al contador/controlador 30 para reinicializar una cuenta y empezar a contar impulsos de reloj procedentes del circuito 104 de reloj en respuesta a la detección. El detector 36 de parada de campo de sincronización detecta el final del intervalo 52 de campo de sincronización y envía una señal al contador/controlador 30 para detectar la cuenta. Acto seguido, el contador/controlador 30 aplica un valor de divisor determinado a partir del número contado de impulsos de reloj al divisor 32 que divide la frecuencia de reloj con la frecuencia dividida al circuito 108 de establecimiento del comunicación (saludo) para iniciar las ráfagas 22.
En el divisor 32, puede usarse un circuito de contador (no mostrado) que genera un impulso cada vez que ha contador un número establecido de impulsos de reloj procedentes del circuito 104 de reloj. En este caso, el número establecido corresponde al número de impulsos contados por el contador/controlador 30 dividido por un factor predeterminado que representa el número de períodos de bits del campo de sincronización. Pero la invención no está limitada a este tipo de divisor 32.
Cuando el campo de sincronización contiene más de un período de bits, es posible determinar el número de impulsos de reloj del circuito 106 de reloj con un error fraccionario menor que más o menos un impulso de reloj. Por ejemplo, cuando ocho períodos de bits ocurren en un campo de sincronización, la longitud del período de bits puede ser determinada dentro de 1/8 de un período de reloj. Cuando el divisor 30 usa un contador sencillo, la precisión fraccionaria es desechada. En un ejemplo más, la precisión fraccionaria es aprovechada usando un oscilador digital que permite variar el número de períodos de reloj del circuito 106 de reloj por período de bits de modo que, como media, la duración del período de bits corresponde más aproximadamente al período de bits que ha sido medido con precisión fraccionaria.
Por ejemplo, un oscilador digital tal puede ser implementado como un circuito sumador que suma un incremento a un valor de cuenta en cada período de reloj del circuito 104 de reloj y genera un impulso que indica un período de bits cada vez que el valor de cuenta supera un umbral, mientras reduce simultáneamente la cuenta en el umbral. En este caso, el umbral y/o el incremento puede ser establecido correspondiente a una cuanta procedente del contador/controlador 30, de modo que el número medio de períodos de reloj del circuito 104 de reloj por período de bits es igual a la duración fraccionariamente precisa del período de bits determinado a partir del campo de sincronización por el contador/controlador 30. Como un resultado, el número de impulsos de reloj por período de bits puede variar de modo que, como media, la longitud del período de bits es igual al período de bits fraccionariamente preciso necesario.
El circuito 106 de reloj es diseñado preferiblemente de modo que la frecuencia de los impulsos de reloj procedentes del circuito 106 de reloj sea suficientemente alta, de modo que los errores en la frecuencia de los impulsos 28 de señal de disparo sean tan pequeños que no se produce error durante el muestreo de bits procedentes de la señal de entrada. Típicamente, los errores incluyen errores de temporización debidos a una temporización relativa imprevisible de transiciones en la señal de reloj procedente del circuito 106 de reloj y transiciones en la señal de entrada. El efecto acumulativo máximo de estos errores es un error que es un número predeterminado de veces (por ejemplo 10) la duración del período de reloj de la señal de reloj procedente del circuito 106 de reloj. Dada una precisión deseada (por ejemplo, no mayor que 1,5% de error al final de una palabra de datos de 9 bits transmitida con 20 kilobits por segundo), puede ser obtenida una frecuencia admitida mínima del circuito 104 de reloj (por ejemplo, 1,4 MHz en este caso).
Así, el circuito 104 de temporizador adapta la frecuencia de los impulsos 28 de disparo a una característica medida de la señal de entrada en la entrada 14, para permitir que el procesador 100 de instrucciones procese los bits entrantes con una ráfaga corta 22 de ejecuciones de instrucciones.
Además, otras características de la señal de entrada pueden ser usadas para detectar si una palabra de datos es suministrada, o sea para determinar si impulsos de disparo deberían ser generados. Con este fin, puede usarse la detección del intervalo 50 de interrupción de sincronización y/o la detección del número correcto de impulsos 54 con duración apropiada en el intervalo 52 de campo de sincronización. El nivel bajo 53 de señal en el intervalo 50 de interrupción de sincronización persiste durante una cierta duración mínima. Esta duración mínima permanece en una relación predeterminada respecto a la duración del intervalo 52 de campo de sincronización. Así como para establecer el valor de divisor, por tanto el circuito 106 de temporizador puede ser dispuesto para generar impulsos 28 de disparo sucesivos, como es controlado por el intervalo de sincronización, solo después de que una interrupción correspondiente de sincronización ha sido detectada.
\newpage
El circuito 106 de temporizador es capaz de realizar la monitorización de interrupciones de sincronización en paralelo con el procesamiento normal del mensaje por el procesador 10 de entrada. Así, es posible la monitorización continua de interrupciones de sincronización. No se echarán de menos interrupciones de sincronización porque el procesador 10 de entrada está ocupado procesando un mensaje.
La Figura 5 muestra una realización de un circuito de temporizador que comprueba la duración de uno o más de los intervalos e impulsos 54. Además de los componentes de la Figura 3, la realización de la Figura 5 contiene un contador 60 de interrupciones de sincronización, un detector 64 de final de interrupción de sincronización y un circuito 62 de comparación de relaciones. El contador 60 de interrupciones de sincronización tiene una entrada de reloj acoplada al circuito 104 de reloj, una entrada de comienzo acoplada al detector 34 de comienzo y una entrada de parada acoplada a una salida del detector 64 de final de interrupción de sincronización. Las salidas del contador/controlador 30 y del contador 60 de interrupciones de sincronización están acopladas al circuito 62 de comparación de relaciones que tiene una salida de control acoplada al divisor 32.
Esta realización aborda el problema de que la duración mínima del intervalo 50 de interrupción de sincronización no puede ser comprobada cuando la frecuencia de reloj no es conocida con precisión suficiente por adelantado. Cuando solo se permiten variaciones pequeñas en la velocidad binaria, es posible establecer una duración de umbral para el intervalo 50 de interrupción de sincronización que sea mayor que la duración de un nivel bajo como un resultado de cualquier modelo normal de datos incluso a la frecuencia de reloj posible mínima, pero menor que la duración mínima de la interrupción de sincronización para la frecuencia de reloj posible máxima. Sin embargo, tal duración de umbral no puede ser hallada cuando puede ocurrir demasiada variación en la frecuencia de reloj.
En la realización de la Figura 5, el circuito 106 de temporizador detecta la presencia de una interrupción 50 de sincronización posteriormente en combinación con una medida de frecuencia de reloj. El contador 60 de interrupciones de sincronización cuenta el número de impulsos de reloj procedentes del circuito 104 de reloj en intervalos de tiempo cuando la señal adopta el nivel bajo 53, indicando que tal intervalo podría ser un intervalo 50 de interrupción de sincronización. El contador/controlador 30 cuenta el número de impulsos de reloj durante el intervalo 52 de campo de sincronización. Las cuentas procedentes del contador 60 de interrupciones de sincronización y del contador/controlador 30 son aplicadas al circuito 62 de comparación de relaciones que comprueba si las relaciones entre cuentas determinadas sucesivamente procedentes del contador 60 de interrupciones de sincronización y del contador/controlador 30 están dentro de un intervalo predeterminado que corresponde a una duración mínima especificada del intervalo 50 de interrupción de sincronización, teniendo en cuenta los errores de muestreo y las fluctuaciones de frecuencia de reloj. Solo si el circuito 62 de comparación de relaciones detecta una combinación tal, envía una señal al divisor 32 para asumir el valor de divisor determinado por el contador/controlador 30.
El circuito 62 de comparación de relaciones puede implementar la comparación, por ejemplo, multiplicando ambas cuentas a partir de una combinación por factores apropiados, seguida por una comparación de los productos. Preferiblemente, el circuito 62 de comparación de relaciones utiliza la canalización, o sea, tiene elementos de almacenamiento para almacenar un número de cuentas determinadas sucesivamente procedentes del contador 60 de interrupciones de sincronización y compara la cuanta más antigua (correspondiente a un intervalo de señal baja que precede al final del campo 52 de sincronización en un número predeterminado de intervalos de señal baja como se muestra en la Figura 4) con la cuenta procedente del contador/controlador 30. Así, una interrupción de sincronización puede ser detectada usando cuentas más recientes procedentes del contador 60 de interrupciones de sincronización si falla la detección. Sin embargo, tal almacenamiento canalizado no es necesario, por ejemplo, cuando los intervalos muy cortos (tales como los intervalos entre los impulsos 54) pueden ser eliminados previamente como intervalos 50 de interrupciones de sincronización sobre la base de un umbral de duración mínima, de modo que las cuentas para estos intervalos no necesitan ser almacenadas.
Así como para establecer el valor divisor, el circuito 106 de temporizador en esta realización puede ser dispuesto para generar impulsos 28 de disparo sucesivos, como es controlado por el intervalo de sincronización, solo después de que se ha detectado una interrupción correspondiente de sincronización.
Aunque se han mostrado un contador 60 de interrupciones de sincronización y un contador/controlador 30 separados, se comprenderá que el mismo contador podría ser usado para ambas formas de contar, siempre que se proporcione almacenamiento para almacenar cuentas de impulsos de reloj de los intervalos de tiempo diferentes interesados y para combinar estas cuentas para detectar la relación entre el intervalo 50 de interrupción de sincronización y el intervalo 52 de campo de sincronización.
También, el circuito 106 de temporizador puede ser construido para llevar a cabo más comprobaciones en la señal de entrada y hacer la generación de los impulsos 28 de disparo dependiente de un resultado positivo de tal prueba. Así, por ejemplo, el circuito 106 de temporizador puede comprobar la presencia de cambios suficientes de nivel de señal debidos a impulsos 54 con la temporización relativa apropiada en el intervalo 52 de campo de sincronización. Si tales cambios de nivel están ausentes, la detección de la interrupción de sincronización es suprimida, el valor de divisor no es actualizado y no es recibido ningún mensaje.
Por supuesto, existen muchas realizaciones alternativas del circuito 106 de temporizador. Por ejemplo, cuando la longitud de los períodos 21 de bits es muy previsible, puede usarse temporización fija de los impulsos de disparo. También pueden usarse otras características de la señal entrante para ajustar la temporización, por ejemplo un bucle de enganche de fase podría ser usado para sincronizar la señal de reloj con la señal de comunicación. Permitiendo la adaptación de la frecuencia de los impulsos de disparo a la señal entrante, se hace posible adaptar la velocidad de transmisión a la cantidad de datos que necesita ser comunicada, de modo que puede ser minimizado el consumo de energía por el procesador 100 de instrucciones.
La Figura 6 muestra un ejemplo de un procesador de operandos de un bit de anchura que puede ser usado como procesador 100 de instrucciones. El procesador 100 de instrucciones contiene una unidad lógica 42, un registro 40 de un bit, una memoria 44 de datos, un contador 48 de programa y una memoria 46 de palabras de datos. La unidad lógica 42 está acoplada a la entrada 14, al registro 40 de un bit, a la memoria 44 de datos, al contador 48 de programa y a la memoria 46 de palabras de datos. Sin desviarse de la invención, puede proporcionarse más de un registro 40 de un bit. El contador 48 de programa tiene una salida acoplada a una entrada de direcciones de la memoria 102 de instrucciones que, a su vez, tiene una salida de instrucciones acoplada a la unidad lógica 42. La memoria 46 de palabras de datos está acoplada al procesador adicional 12 (no mostrado). La memoria 44 de datos puede ser de cualquier tipo. En un ejemplo, un registro de desplazamiento cíclico puede ser usado como una memoria de datos, que desplaza las direcciones de bits almacenados en un paso cada vez que un bit de datos es almacenado o en cada ciclo de reloj. En este caso, puede no ser necesario direccionar la memoria 44 de datos; en cambio, pueden usarse datos procedentes de una dirección predeterminada. Puede accederse a los datos apropiados usando el ciclo apropiado en el que el dato necesario es situado en la dirección predeterminada.
En funcionamiento, el procesador 100 de instrucciones ejecuta una serie de instrucciones que usan operandos de un bit procedentes del registro 40, procedentes de la entrada 14 y/o procedentes de la memoria 44 de datos y extrae bits a la memoria 46 de palabras de datos (desde la que palabras de datos son suministradas al procesador adicional 12). El contenido del contador 48 de programa direcciona las instrucciones que deben ser ejecutadas y es incrementado normalmente después de cada instrucción para direccionar una instrucción siguiente. La memoria 102 de instrucciones suministra la instrucción direccionada a la unidad lógica 42. Las instrucciones que la unidad lógica 42 es capaz de ejecutar incluyen instrucciones para cargar datos de un bit en el registro 40 desde varias fuentes, instrucciones de almacenamiento para datos de almacenamiento de un bit, instrucciones lógicas tales como instrucciones Y, O y O Exclusiva con operandos de un bit procedentes de diversas fuentes, e instrucciones de bifurcación, que pueden ser condicionales, para cambiar el contenido del contador 48 de programa en una cantidad especificada en la instrucción de bifurcación.
Las instrucciones que son suministradas desde la memoria 102 de instrucciones durante el funcionamiento en una ráfaga 22 incluyen una instrucción para leer un bit de entrada procedente de la entrada 14 y una instrucción para extraer un bit a la memoria 46 de palabras de datos. Una vez que todos los bits de entrada para una palabra de datos han llegado y han sido extraídos a la memoria 46 de palabras de datos, la memoria 46 de palabras de datos suministra la palabra de datos al procesador adicional 12 (no mostrado). Bits de paridad computados pueden ser añadidos a la palabra de datos. En principio, todos los bits de la palabra de datos pueden ser suministrados desde la memoria 46 de palabras de datos al procesador adicional 12 en paralelo pero, por supuesto, el transporte en serie puede ser usado como una alternativa.
Un procesador de operandos de un bit de anchura tiene la ventaja de que proporciona la flexibilidad de programar a costa de circuito relativamente pequeño. Esto viene a costa de potencia baja de procesamiento, haciendo necesario ejecutar un número relativamente grande de instrucciones para ejecutar operaciones específicas en comparación con el número de instrucciones precisadas por procesadores de operandos multibit. Sin embargo, como el procesamiento es extendido sobre las ráfagas 22, para cada bit entrante solo es necesario ejecutar un número relativamente pequeño de instrucciones a la vez en cada ráfaga 22. Así, es posible procesar los datos entrantes de modo programable con un procesador de operandos de un bit.
Por supuesto, la invención no está limitada al uso del procesador programable de operandos de un bit de la Figura 6. Otros tipos de procesadores programables de operandos de un bit pueden ser usados o incluso procesadores de operandos multibit, aunque los últimos aumentarán la complejidad del circuito.

Claims (5)

1. Un aparato de procesamiento de datos para recibir una señal de comunicación que comprende un mensaje que contiene un intervalo (50) de interrupción de sincronización con un modelo único de bits, conteniendo el mensaje un intervalo (52) de campo de sincronización identificado por el intervalo (50) de interrupción de sincronización, con una propiedad de temporización del intervalo (52) de campo de sincronización especificando una longitud de períodos de bits de mensaje, comprendiendo el aparato
-
un puerto (14) de entrada para recibir la señal de comunicación,
-
un circuito (100) de recepción para muestrear y procesar bits del mensaje,
-
un circuito (106) de temporizador para suministrar una señal de reloj de muestreo al circuito (100) de recepción para definir instantes para dicho muestreo,
caracterizado porque:
-
el circuito (106) de temporizador está dispuesto para funcionar en paralelo con el circuito (100) de recepción, procediendo con una búsqueda del intervalo potencial de interrupción de sincronización mientras dicho circuito (100) de recepción está muestreando bits de la señal de comunicación,
-
el circuito (106) de temporizador comprende un contador (60) de interrupciones de sincronización dispuesto para contar un primer número de impulsos de reloj provistos por el circuito (104) de reloj cuando la señal de comunicación adopta un mismo valor de bit, indicando que un intervalo tal podría ser un intervalo (50) potencial de interrupción de sincronización,
-
el circuito (106) de temporizador comprende además un contador/controlador (30) dispuesto para contar un segundo número de impulsos de reloj provistos por el circuito (104) de reloj durante el intervalo (52) de campo de sincronización identificado por el intervalo (50) potencial de interrupción de sincroniza-ción,
-
el circuito (106) de temporizador comprende además un circuito (62) de comparación de relaciones para comparar cada vez una combinación del primero y del segundo número de uno respectivo de los intervalos potenciales de interrupción de sincronización y el intervalo de campo de sincronización identificado con él,
-
el circuito (62) de comparación extrae una señal habilitadora para permitir el suministro de la señal de reloj a una frecuencia adaptada a la propiedad de temporización del intervalo (52) de campo de sincronización identificado por el intervalo (50) potencial de interrupción de sincronización cuando una relación entre el primero y el segundo número en una combinación está dentro de un intervalo predetermina-do.
2. Un aparato de procesamiento de datos según la reivindicación 1, en el que el circuito (106) de temporizador comprende un detector (34) de comienzo de campo de sincronización, dispuesto para detectar un comienzo del intervalo (52) de campo de sincronización, y un detector (36) de parada de campo de sincronización dispuesto para detectar un final del intervalo (52) de campo de sincronización, estando el contador/controlador (30) dispuesto para contar impulsos de reloj procedentes del circuito (104) de reloj en respuesta a la detección por el detector (34) de comienzo de campo de sincronización y el detector (36) de parada de campo de sincronización, comprendiendo además el circuito de temporizador un divisor (32) dispuesto para dividir la frecuencia de reloj aplicando un valor de divisor determinado a partir de un número contado por el contador/controlador (30), estando además el divisor (32) dispuesto para aplicar impulsos de reloj a una frecuencia dividida al circuito (100) de recepción.
3. Un aparato de procesamiento de datos según la reivindicación 2, en el que el circuito (106) de temporizador está dispuesto además para actualizar el valor de divisor y procesar bits del mensaje dependiendo de una comprobación de la presencia de cambios de nivel de señal con una temporización relativa apropiada en el intervalo (52) de campo de sincronización.
4. Un aparato de procesamiento de datos según la reivindicación 1, en el que el circuito (62) de comparación de relaciones comprende además una pluralidad de elementos de almacenamiento dispuestos para almacenar un número de cuentas determinadas sucesivamente procedentes del contador (60) de interrupciones de sincronización y está dispuesto además para comparar una de las cuentas determinadas sucesivamente con una cuenta procedente del contador/controlador (30).
5. Un método para muestrear datos procedentes de una señal de comunicación que comprende un mensaje que contiene un intervalo (50) de interrupción de sincronización con un modelo único de bits, conteniendo el mensaje un intervalo (52) de campo de sincronización identificado por el intervalo (50) de interrupción de sincronización, con una propiedad de temporización del intervalo (52) de campo de sincronización especificando una longitud de períodos de bits del mensaje, comprendiendo el método suministrar una señal de reloj de muestreo para definir instantes para muestrear bits del mensaje, estando dicho suministro caracterizado por:
-
contar un primer número de impulsos de reloj provistos por un circuito (104) de reloj cuando la señal de comunicación adopta un mismo valor de bit, indicando que un intervalo tal podría ser un intervalo (50) potencial de interrupción de sincronización,
-
contar un segundo número de impulsos de reloj provistos por el circuito (104) de reloj durante el intervalo (52) de campo de sincronización identificado por el intervalo (50) potencial de interrupción de sincronización,
-
comparar cada vez una combinación del primero y del segundo número de uno respectivo de los intervalos (50) potenciales de interrupción de sincronización y del intervalo (52) de campo de sincronización identificado con él,
-
suministrar la señal de reloj de muestreo a una frecuencia adaptada a la propiedad de temporización del intervalo (52) de campo de sincronización identificado por el intervalo (50) potencial de interrupción cuando una relación entre el primero y el segundo número en una combinación está dentro de un intervalo predeterminado.
ES03808779T 2002-10-18 2003-08-13 Aparato de procesamiento de datos que identifica una frecuencia de reloj de comunicacion. Expired - Lifetime ES2294366T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02079341 2002-10-18
EP02079341 2002-10-18

Publications (1)

Publication Number Publication Date
ES2294366T3 true ES2294366T3 (es) 2008-04-01

Family

ID=32103965

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03808779T Expired - Lifetime ES2294366T3 (es) 2002-10-18 2003-08-13 Aparato de procesamiento de datos que identifica una frecuencia de reloj de comunicacion.

Country Status (8)

Country Link
US (1) US7620135B2 (es)
EP (1) EP1556987B1 (es)
JP (1) JP2006503466A (es)
CN (1) CN100459486C (es)
AU (1) AU2003255918A1 (es)
DE (1) DE60317701T2 (es)
ES (1) ES2294366T3 (es)
WO (1) WO2004036821A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4501602B2 (ja) * 2004-09-08 2010-07-14 日本電気株式会社 通信端末装置、セルサーチ方法及びプログラム
WO2006043186A1 (en) * 2004-10-21 2006-04-27 Philips Intellectual Property & Standards Gmbh Slave bus subscriber for a serial data bus
JP4327764B2 (ja) * 2005-04-28 2009-09-09 Necエレクトロニクス株式会社 データ受信装置および同期信号検出方法ならびにプログラム
FR2890507B1 (fr) * 2005-09-02 2007-10-12 Valeo Systemes Thermiques Procede de commande de la vitesse de communication sur un bus lin.
EP1971069A1 (en) * 2007-03-14 2008-09-17 Nec Electronics (Europe) GmbH Data communication system with frequency generation in a slave unit
JP5238369B2 (ja) * 2008-06-17 2013-07-17 ルネサスエレクトロニクス株式会社 データ受信装置、データ受信方法及びデータ受信プログラム
JP5093261B2 (ja) 2010-02-22 2012-12-12 株式会社デンソー 同期信号検出装置
DE102010029349A1 (de) * 2010-05-27 2011-12-01 Robert Bosch Gmbh Steuereinheit zum Austausch von Daten mit einer Peripherieeinheit, Peripherieeinheit, und Verfahren zum Datenaustausch
US9264215B2 (en) * 2013-10-25 2016-02-16 Shenshen Sumoon Microeelectronida,Ltd. Transmission protocol decoding method, device, and transmission protocol decoding chip
CN103561008B (zh) * 2013-10-25 2016-11-02 深圳市明微电子股份有限公司 一种传输协议解码方法、装置及传输协议解码芯片
DE102014223838A1 (de) * 2014-11-21 2016-05-25 Robert Bosch Gmbh Teilnehmerstation für ein Bussystem und ein Verfahren zum Regeln eines Timings eines Sendesignals für ein Bussystem
US10361838B2 (en) * 2017-07-27 2019-07-23 Texas Instruments Incorporated Two-wire communication interface system
CN108322298B (zh) * 2018-01-05 2020-12-08 浙江大华技术股份有限公司 一种uart失同步恢复的方法、设备及系统
DE102018208118A1 (de) * 2018-05-23 2019-11-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Authentifizieren einer über einen Bus übertragenen Nachricht
CN109075742B (zh) * 2018-08-06 2022-04-12 深圳市汇顶科技股份有限公司 波特率校准电路及串口芯片
CN116866108B (zh) * 2023-07-31 2024-03-12 苏州纳芯微电子股份有限公司 总线通信方法、通信系统控制方法和通信系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2731722B2 (ja) * 1994-05-26 1998-03-25 日本電気株式会社 クロック周波数自動制御方式及びそれに用いる送信装置と受信装置
FR2723807B1 (fr) * 1994-08-18 1996-11-08 Rockwell Body & Chassis Syst Systeme de communication d'informations sous forme de trames d'impulsions entre une unite centrale et differents organes fonctionnels d'un vehicule automobile.
EP1890417A1 (en) * 1997-10-08 2008-02-20 Matsushita Electric Industrial Co., Ltd. Digital phase discrimination based on frequency sampling
US6097754A (en) * 1998-02-25 2000-08-01 Lucent Technologies, Inc. Method of automatically detecting the baud rate of an input signal and an apparatus using the method
US6366610B1 (en) * 1998-05-15 2002-04-02 Advanced Micro Devices, Inc. Autobauding with adjustment to a programmable baud rate
EP1746782B1 (en) * 1999-05-05 2009-10-14 Freescale Semiconductors, Inc. Method and system for communicating data on a serial bus
US6959014B2 (en) * 2001-02-01 2005-10-25 Freescale Semiconductor, Inc. Method and apparatus for operating a communication bus
DE10208650A1 (de) * 2001-03-15 2002-09-19 Bosch Gmbh Robert Verfahren und Vorrichtung zur Synchronisation wenigstens eines Teilnehmers eines Bussystems und Bussystem

Also Published As

Publication number Publication date
WO2004036821A1 (en) 2004-04-29
DE60317701D1 (de) 2008-01-03
JP2006503466A (ja) 2006-01-26
EP1556987B1 (en) 2007-11-21
CN1689266A (zh) 2005-10-26
EP1556987A1 (en) 2005-07-27
US20060013348A1 (en) 2006-01-19
AU2003255918A1 (en) 2004-05-04
CN100459486C (zh) 2009-02-04
DE60317701T2 (de) 2008-10-30
US7620135B2 (en) 2009-11-17

Similar Documents

Publication Publication Date Title
ES2294366T3 (es) Aparato de procesamiento de datos que identifica una frecuencia de reloj de comunicacion.
CN110932815B (zh) 一种时间同步方法、装置、网络设备及存储介质
TWI602046B (zh) 用於串列資料傳輸的顫動電路
CN108965082A (zh) 低功率数据总线接收器
US8386828B1 (en) Circuit for estimating latency through a FIFO buffer
CN104461972B (zh) 一种数据信号采样的方法和设备
US20080123790A1 (en) Serial digital data communication interface
KR20180008748A (ko) 센서 동기화를 위한 방법 및 장치
KR20140008260A (ko) Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법
TW201702894A (zh) 獨立式通用非同步接收器/傳輸器brk偵測
CN100547933C (zh) 用于时钟信号同步的系统和方法
US9479310B2 (en) Method, apparatus and system to communicate with a device
KR20150037900A (ko) 클록 도메인 사이의 데이터 전송
US9111042B1 (en) 1588 deterministic latency with gearbox
JP2003134098A (ja) シリアル受信装置
US5778201A (en) Clock and counter for bit cell determination and timeout timing for serial data signaling on an apple desktop bus
US8266346B2 (en) Data processing apparatus that processes incoming bits
JP3412927B2 (ja) フレーム同期回路
KR0137059B1 (ko) 고속 전송 시스템의 경보발생장치
KR100622943B1 (ko) 자동적으로 타이밍 스펙 제어가 가능한 컨트롤러 및 그타이밍 스펙 제어방법
JP2001273199A (ja) シリアルインターフェイス
KR20120041283A (ko) 제어 데이터 생성 장치
JPS6248826A (ja) フレ−ム同期方式
JPH0211049A (ja) シリアル・データ伝送速度検出回路
JP2004336357A (ja) 通信方法及びこれを用いた通信装置