ES2286455T3 - Sistemas y metodos para sincronizacion de tramas. - Google Patents

Sistemas y metodos para sincronizacion de tramas. Download PDF

Info

Publication number
ES2286455T3
ES2286455T3 ES03749132T ES03749132T ES2286455T3 ES 2286455 T3 ES2286455 T3 ES 2286455T3 ES 03749132 T ES03749132 T ES 03749132T ES 03749132 T ES03749132 T ES 03749132T ES 2286455 T3 ES2286455 T3 ES 2286455T3
Authority
ES
Spain
Prior art keywords
state
bit
memory
frame
configuration
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
ES03749132T
Other languages
English (en)
Inventor
Sean Furuness
Lawrence Weizeorick
Steve Butz
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.)
Coriant Operations Inc
Original Assignee
Tellabs Operations Inc
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 Tellabs Operations Inc filed Critical Tellabs Operations Inc
Application granted granted Critical
Publication of ES2286455T3 publication Critical patent/ES2286455T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0605Special codes used as synchronising signal
    • H04J3/0608Detectors therefor, e.g. correlators, state machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un método para detectar un patrón de sincronización de trama en una señal de telecomunicaciones, comprendiendo el método: recibir un flujo de datos de telecomunicaciones (102); y almacenar información de estado codificada de porciones del flujo de datos de telecomunicaciones, indicando la información de estado codificada, de una porción dada, si tal porción forma parte del patrón de sincronización de trama; en el que dicha información de estado codificada representa un primer estado por una codificación de un primer tipo y un segundo estado por una codificación de un segundo tipo, siendo el primer estado el que ocurre a una frecuencia más alta que la del segundo estado, teniendo la codificación del primer tipo menos bits que la codificación del segundo tipo.

Description

Sistemas y métodos para sincronización de tramas.
Campo del invento
El presente invento se refiere generalmente a las telecomunicaciones. Más específicamente, se exponen sistemas y métodos para estructurar una señal de telecomunicaciones.
Antecedentes del invento
Muchas señales de telecomunicaciones en serie digitales tienen una estructura de trama, con algunas posiciones de bits dentro de la trama diseñadas para transportar datos útiles, y algunas posiciones de bits diseñadas para transportar generalidades. El transporte de generalidades incluye información administrativa necesaria para transportar con éxito los datos útiles, tales como datos de paridad y de sincronización de trama.
Un circuito que recibe un flujo de bits en serie normalmente contiene un sincronizador de trama que monitoriza el flujo de bits entrante, encuentra el patrón de sincronización de la trama, y proporciona una señal de sincronización de trama al resto del circuito. La señal de sincronización de trama se basa en la posición del patrón de sincronización dentro de la trama, y es usado por el resto del circuito para extraer datos útiles y datos generales del flujo de bits.
El documento US-A-4727558 describe un sincronizador de trama que funciona para encontrar el patrón de sincronización de trama contenido dentro de un flujo de bits en serie. El sincronizador de trama incluye los sitios de memoria de las tres tramas precedentes, de forma que cuatro bits en la misma posición de bit pueden ser descodificados por un circuito descodificador. El circuito descodificador determina si los cuatro bits podrían o no formar parte del patrón de configuración de bits, y si no pudieran, entonces fija un bit correspondiente dentro de otro registro de desplazamiento. Este proceso continúa hasta que sólo hay un bit que no se ha fijado dentro del registro de desplazamiento, bit remanente que identifica la posición del patrón del bit delimitador.
Resumen del invento
Se exponen sistemas y método para configurar una señal de telecomunicaciones. El presente invento puede aplicarse de numerosas formas, que incluyen como un proceso, un aparato, un sistema, o un dispositivo, un método, un medio leíble en un ordenador o como una combinación de ellos. Más adelante se describen varias realizaciones inventivas del presente invento.
De acuerdo con un aspecto, el presente invento proporciona un método para detectar un patrón de sincronización de trama en una señal de telecomunicaciones, comprendiendo el método: recibir un flujo de datos de telecomunicaciones; y almacenar información de estado codificada de porciones del flujo de datos de telecomunicaciones, indicando la información de estado codificada de una porción dada si esa porción forma parte del patrón de sincronización de trama; en el que dicha información de estado codificada representa un primer estado por una codificación de un primer tipo, y un segundo estado por una codificación de un segundo tipo, siendo el primer estado el que ocurre a una frecuencia más alta que la del segundo estado, teniendo la codificación del primer tipo menos bits que una codificación del segundo tipo.
El presente invento también proporciona un sistema para sincronizar tramas en una señal de telecomunicación, comprendiendo el sistema: una interfaz operable para recibir la señal de telecomunicaciones; una memoria operable para almacenar datos codificados del estado de la configuración de una pluralidad de posiciones de bits dentro de una trama de la señal de telecomunicaciones, indicando los datos de estado de trama codificada de una posición de bit dada si los bits recibidos en la posición de bit dada forman parte de un patrón de configuración válido; lógica de actualización del estado operable para determinar un estado de configuración actual de una posición de bit basada en un bit recibido y en un estado de estructura anterior de la posición del bit; y un codificador operable para codificar datos de estado de configuración actual para almacenaje en memoria, usando el codificador al menos una técnica de compresión de datos para codificar al menos un estado de configuración que usa menos bits para representar un primer estado de estructura que para representar un segundo estado de estructura, siendo el primer estado el que ocurre a una frecuencia más alta que el segundo estado.
Breve descripción de los dibujos
El presente invento se entenderá rápidamente haciendo referencia a la siguiente descripción detallada en conexión con los dibujos anejos, en los que números de referencia iguales designan elementos estructurales iguales, y en los que:
la Figura 1A muestra una señal de telecomunicaciones ilustrativa,
la Figura 1B muestra un método para detectar un patrón de sincronización de trama de acuerdo con una realización del presente invento,
la Figura 2 muestra un circuito de configuración ilustrativo de acuerdo con una realización del presente invento,
la Figura 3 es un diagrama de estado de una máquina de estados de configuración de acuerdo con una realización del presente invento,
la Figura 4 es un diagrama de estado que describe el funcionamiento de una función que determina cuándo se ha detectado un patrón de sincronización de trama,
la Figura 5 es un diagrama de estado de un descodificador de acuerdo con una realización del presente invento,
la Figura 6 es un diagrama de estado de un codificador de acuerdo con una realización del presente invento,
la Figura 7 es un diagrama de estado que describe el funcionamiento de la lógica de control de lectura de memoria en una realización del presente invento,
la Figura 8 es un diagrama de estado que describe el funcionamiento de la lógica de control de escritura de memoria en una realización del presente invento.
Descripción detallada
A continuación se da una descripción detallada del invento. Mientras que el invento se describe en conexión con varias realizaciones, se debería entender que el invento no está limitado a ninguna realización. Por el contrario, el alcance del invento está limitado solamente por las reivindicaciones anejas y abarca numerosas alternativas, modificaciones, y equivalentes. Por ejemplo, mientras que las realizaciones están descritas en el contexto de señales PDH tales como DS1, los expertos en la materia reconocerán que los sistemas y métodos expuestos son fácilmente adaptables a aplicaciones más amplias de señales de otros tipos. Además, mientras que en la siguiente descripción se exponen numerosos detalles específicos con el fin de proporcionar una comprensión total del presente invento, el presente invento puede ser puesto en práctica de acuerdo con las reivindicaciones sin algunos o todos los detalles. Finalmente, para hacerlo más claro, no se ha descrito con detalle cierto material técnico que es conocido en la técnica para hacer más entendible el presente invento.
Muchos flujos de telecomunicaciones tienen una estructura de trama y un patrón de sincronización que está distribuido en la misma posición de bit a lo largo de muchas tramas, normalmente un bit por trama. Por ejemplo, las señales PDH tales como las DS1 caen dentro de esta clase de señales. La Figura 1A ilustra tal flujo de datos. Como se ve en la Figura 1A, el flujo de datos 102 consta de una secuencia de bits 104, agrupados en tramas 106. Cada trama tiene un número de bits predefinido, n, e incluye un bit delimitador 108 en una posición de bit predefinida para uso en la determinación de los límites de trama. En el ejemplo mostrado en la Figura 1A, el bit delimitador 108 es el primer bit de cada trama (esto es, el bit en la posición b_{x,1}, donde x es el número de trama). Los valores de los bits delimitadores de las sucesivas tramas (es decir, b_{1,1}, b_{2,1}, b_{3,1}, etc) forman una configuración de bloque (es decir, 001011 en el ejemplo mostrado en la Figura 1A y discutido posteriormente con más detalle). Los bits delimitadores pueden así ser detectados examinando el flujo de bits de la posición de bit que muestra este patrón. Se verá que se ha provisto la Figura 1A para facilitar la explicación de las diversas realizaciones del presente invento, y que el presente invento podría ser fácilmente adaptado para uso con señales de formatos diferentes.
Un circuito sincronizador de trama de acuerdo con una realización del presente invento incluye una interfaz para recibir bits de una señal de telecomunicaciones, una función de almacenamiento que almacena el estado de configuración de cada posición de bit en una trama de datos, y una función de actualización de estado que determina el estado actual de cada posición de bit como un candidato a patrón de sincronización de trama basado en (a) el estado previo de la posición del bit, recuperado del almacén, y (b) el valor del bit de datos entrantes en la misma posición relativa en la trama. Se diseña la función de actualización de estado de forma que cada bit es rastreado como un candidato potencial hasta que se detecta una transición "ilegal" en cuyo punto se asigna a esa posición de bit un estado "de bloqueo" y no es considerada como un candidato de configuración. Si solamente hay un bit delimitador por trama, todas las posiciones de bit excepto una avanzarán eventualmente al estado de bloqueo. Los bits asignados al estado de bloqueo no pasan a un estado activo hasta que no se ha reiniciado el configurador.
El sincronizador de trama considera cada posición de bit dentro de la trama como un candidato para contener el patrón de sincronización de trama. Sin embargo, debido a la naturaleza realmente aleatoria de las señales de telecomunicaciones cuando son observadas sobre una base bit a bit puede llevar muchas tramas de datos desechar cualquier posición de bit dada, ya que es probable que algunas posiciones de bits imitarán la configuración de bloque durante algún tiempo. Por ejemplo, en la Figura 1A, la posición de bit b_{x,n} imita la configuración de bloque que muestra la verdadera posición del bit delimitador b_{x,1}.
La velocidad media con la que el sincronizador de trama encuentra la configuración de bloque depende de cuántas posiciones de bit pueden ser comprobadas en paralelo. Una aplicación básica tendría una función de almacenamiento lo suficientemente grande para guardar el estado de cada bit dentro de la trama, de forma que todas las posiciones de bit podrían ser comprobadas en paralelo. Esta aplicación es intensiva en memoria, y el tamaño de la función de almacenamiento domina normalmente el área del diseño.
Otra posibilidad es un esquema que usa menos memoria y solamente busca una porción de una trama cada vez, observa esa porción hasta que, bien encuentra una configuración de bloque o todos los candidatos son desechados, y después comprueba la siguiente porción de la trama. Un problema de este método es que, debido a la naturaleza aleatoria de las señales de telecomunicaciones, algunas posiciones de bits que no contienen los bits delimitadores reales pueden no obstante mostrar la configuración de bloque en muchas tramas, y evitar que el configurador avance (éstos se denominan patrones "de imitación"). Como cada sitio de memoria se usa para monitorizar muchas posiciones fijadas dentro de la trama, un sitio de memoria puede resultar condicionado siguiendo una imitación y no siendo capaz de avanzar para encontrar la configuración de bloque real en otra posición de bit. Esto puede dar lugar a relativamente largos tiempos de recuperación y a una eficiencia baja.
En una realización del presente invento, un sincronizador de trama se aplica con requerimientos de memoria reducidos y significativamente menor reducción de eficiencia del configurador. Los requerimientos de memoria reducidos pueden conseguirse usando compresión de datos en los estados codificados en la memoria. Los estados se codifican usando un esquema que aprovecha la naturaleza estadística de las señales de telecomunicaciones, y el hecho de que cada posición de bit excepto la que realmente contiene la configuración de bloque eventualmente mostrarán un patrón que lo desecha como candidato a configuración de bloque.
En una realización preferida, este estado de bloqueo se codifica usando el menor número de bits posible. En un ejemplo de aplicación, que se describe más adelante, la alta compresión se consigue codificando estados de bloqueo consecutivos en una palabra código que incluye un recuento de los estados de bloqueo consecutivos. La memoria puede ser dimensionada de forma que no pueda rastrear todas las posiciones de bit dentro de una trama hasta que un cierto número de bits hayan pasado al estado de bloqueo y se haya conseguido una cantidad mínima de compresión de datos. Esta aplicación tiene la ventaja de que ningún patrón único de imitación puede hacer que el configurador tenga tiempos de recuperación excesivos, ya que la naturaleza dinámica de la función de compresión de datos no condiciona ciertos lugares de memoria con ciertas posiciones de bits. También tiene la ventaja de que el configurador puede trabajar con cualquier memoria mayor de algún mínimo basado en el esquema de codificación usado. Si la alta velocidad no es una exigencia, se puede usar una memoria muy pequeña sin virtual aumento de complejidad del sincronizador de trama.
La Figura 1B ilustra un método para detectar una configuración de bloque en un flujo de bits en serie de acuerdo con una realización del presente invento. Con referencia a la Figura 1B, en cada posición de bit en un bloque de datos, se comprueba el tamaño de una trama para ver si hay un candidato de configuración (152). En particular, cuando se recibe un nuevo bit en una posición de bit dada, se comprueba el estado de configuración previo de esa posición de bit para determinar si esa posición de bit ya ha sido desechada como candidato de configuración (154). Si ha sido desechada (es decir, una salida "Yes" del bloque 154), se recibe entonces el próximo bit de la señal y se repite el proceso mostrado en la Figura 1B. Si, por otra parte, el estado de configuración previo de la posición de bit indica que no ha sido desechado como un potencial candidato de configuración (es decir, una salida "No" del bloque 154), entonces se determina el estado actual de la posición de bit basado en el estado previo y en el valor del nuevo bit (156). Si el estado actual indica que la posición del bit es todavía un candidato a configuración de bloque (es decir, una salida "Yes" del bloque 158), entonces se almacena el estado actual de la posición de bit (160), y el proceso se repite para la nueva posición de bit (164). Si, por otra parte, se ha determinado que la posición de bit ya no es un candidata a configuración (es decir, una salida "No" del bloque 158), entonces se actualiza un total móvil del número de posiciones de bit consecutivas que han sido previamente desechadas como candidatas de configuración (162), y se repite el proceso para la siguiente posición de bit (164).
A continuación se describe un ejemplo de aplicación de un detector de trama. El ejemplo está basado en una trama de telecomunicación que tiene una longitud de 772 bits, con un bit por trama reservado para una configuración de bloque. La configuración de bloque tiene una longitud de seis bits (distribuidos en seis tramas) y es "001011". Se verá que las técnicas ilustradas por este ejemplo son rápidamente aplicables a tramas de telecomunicación de diferentes tamaños y con diferentes configuraciones de bloque.
La Figura 2 es un diagrama de bloques de un circuito configurador 200 de acuerdo con una realización del presente invento. Como se muestra en la Figura 2, el circuito configurador 200 incluye una interfaz de datos 202 para recibir la señal de telecomunicaciones y hacerla disponible, normalmente un bit cada vez al resto del circuito configurador 200. El circuito configurador 200 también incluye una máquina de estados configuradora 204 para detectar la configuración de bloque, un codificador 212 y descodificador 206 para codificar y descodificar datos de estado, memoria 216 para almacenar los datos de estado, control de lectura de memoria 210 y control de escritura de memoria 214 para hacer de interfaz con la memoria 216, y un contador 218 que proporciona una señal de sincronización para uso por el resto del circuito configurador 220.
Máquina de estados Configuradora
La máquina de estados configuradora 204 comprueba las transiciones ilegales dentro de cada posición de bit en la trama de telecomunicaciones recibida. Una transición ilegal es una secuencia de bits que no forma parte del patrón de sincronización de trama definido. Para determinar el NEXT_STATE 228 de una posición de bit dada, la máquina de estados configuradora 204 usa el PREVIOUS_STATE 226 de tal posición de bit, recuperado del descodificador 206, junto con los nuevos bits de datos recibidos de la interfaz de datos 202. Cuando se detecta una transición ilegal en una posición de bit dada, ese estado de posición de bit se fija en el estado LOCKOUT y ya no es considerado más como un poseedor potencial del patrón de sincronización de trama. Cuando se detecta una transición legal, ese estado de posición de bit se fija en un estado legal y esa posición de bit sigue siendo considerada como una poseedora potencial del patrón de sincronización de trama. Si solamente por cada trama hay un único bit válido de sincronización de trama, todas las posiciones de bit excepto una eventualmente pasarán al estado LOCKOUT. La máquina de estados configuradora 204 declara un estado en-trama cuando solamente se ha dejado un candidato.
La Figura 3 muestra un ejemplo de aplicación de una máquina de estados para determinar la señal NEXT_STATE 228 de una configuración de bloque de "001011". Con referencia a la Figura 3, cada estado se representa por un círculo, y, cuando se recibe un nuevo bit en una posición de bit dada, el estado actual de esa posición de bit pasa a otro estado, como está indicado por las flechas en la Figura 3. Por ejemplo, cuando se recibe el primer bit en una posición dada, el estado de esa posición de bit pasa del estado inicial 306 al estado SR1 302a si el bit es un 1, y al estado SRO 302b si el bit es un 0. Igualmente, del estado SR1 302a, si el próximo bit que se recibe en esa posición de bit es un 1, entonces el estado actual de esa posición de bit pasa al estado SR11 302c, y así sucesivamente. Una vez que se detecta una secuencia "ilegal", se introduce el estado LOCKOUT 304. Por ejemplo, si se recibe un 1 mientras está en el estado SR11, entonces ese estado de posición de bit se fija en el estado LOCKOUT 304, ya que la secuencia "111" no aparece en la configuración de bloque "001011". Adviértase que los candidatos activos permanecen en los estados activos (cualquier estado diferente del estado LOCKOUT 304), mientras que los candidatos han alcanzado el estado LOCKOUT 304 permanecen allí hasta que el configurador se reinicia.
La tabla 1 muestra un esquema ilustrativo de codificación de los estados mostrados en la Figura 3. El esquema de codificación mostrado en la Tabla 1 está diseñado para aprovechar el hecho de que todas las posiciones de bits excepto la única que contiene la configuración de bloque real se moverán al LOCKOUT_STATE. El estado de bloqueo se codifica con el menor número posible de bits para proporcionar compresión de datos y usar menos memoria.
TABLA 1
100
Cada estado utiliza 8 bits de memoria para almacenamiento y está delimitado por un "1" en primer lugar, excepto en el estado LOCKOUT que está delimitado por un "0" en primer lugar. La codificación del estado LOCKOUT incluye 7 bits reservados como un "recuento LOCKOUT" ("NNNNNNN" en la Tabla 1) que describe el número de bits de trama en una fila que han avanzado hasta el estado LOCKOUT. En este ejemplo, el recuento de bloqueos puede ir de 1 a 128. Adviértase que en una realización preferida un valor de recuento de bloqueo de "0000000" se usa para representar un recuento de bloqueo de uno, ya que no se necesita un recuento de bloqueo de cero.
A medida que los sitios de bits que no son patrones de sincronización de trama reales avanzan hacia el estado LOCKOUT, el recuento LOCKOUT proporciona una mayor compresión de datos. Por ejemplo, es posible aplicar un sincronizador de trama utilizando el esquema de codificación mostrado en la Tabla 1 con una memoria de 72 bits, en la que 72 bits representan el almacenamiento requerido para un estado de patrón de trama de 8 bits, y 8 estados LOCKOUT de 8 bits cada uno. Adviértase que el tiempo de configuración (eficiencia del configurador) está directamente relacionado con el tamaño de la memoria. Una memoria menor generalmente significa un tiempo de configuración más lento.
Se verá que mientras que el esquema de codificación mostrado en la Tabla 1 está proporcionado con fines ilustrativos, en su lugar se podrían utilizar otros esquemas de codificación sin apartarse de los principios del presente invento. Por ejemplo, si se hubiera determinado que uno o más de otros estados ocurrían con relativa alta frecuencia, esos estados podrían ser codificados de forma similar a la utilizada para codificar el estado LOCKOUT en la Tabla 1. Alternativamente, o además, en algunas realizaciones se podría utilizar una longitud de codificación variable para el estado LOCKOUT. Por ejemplo, las secuencias LOCKOUT de menos de, por ejemplo cuatro bits podrían representarse por una codificación tal como, por ejemplo, "00NN" (que representa secuencias de 1-4 bits), mientras que secuencias LOCKOUT mayores podrían ser representadas por una codificación tal como, por ejemplo, "01NNNNNN" (que representa secuencias de 5-68 bits). Tal codificación podría reducir la cantidad de memoria requerida en el comienzo del proceso de configuración, cuando a menudo esté presente un número relativamente grande de imitaciones, y un número relativamente grande de secuencias cortas LOCKOUT. Sin embargo, tal aplicación puede añadir alguna complejidad a la lógica utilizada para interpretar las codificaciones de estado. En otras realizaciones, la codificación del estado LOCKOUT podría simplemente constar de un único bit (por ejemplo "0"), y se podría prescindir totalmente de una indicación adicional del número de estados de bloqueo consecutivos. Éstos son solamente unos pocos ejemplos de esquemas de codificación alternativos que podrían utilizarse de acuerdo con los principios del presente invento.
Con referencia nuevamente a la Figura 2, el sincronizador de trama 200 reivindica la señal IN_FRAME 220 cuando todos menos uno de los candidatos de configuración han pasado al estado de bloqueo. La señal FRAM_SYNCH 222 está activa para cada bit que tiene un candidato de configuración activo. Así, cuando el circuito configurador 200 reivindica la señal IN_FRAME 220, solamente hay un impulso FRAME_SYNCH por trama.
La Figura 4 muestra una aplicación ilustrativa de una máquina de estados para determinar cuándo reivindicar la señal IN_FRAME 220. En términos generales, la máquina de estados es operable para detectar si una trama de datos dada contiene más de una posición de bit que no ha sido asignada al estado LOCKOUT. En particular, a la recepción de una señal de comienzo-de-trama (SOF) 410, se realiza una transición al estado 402. A medida que se reciben bits adicionales, se comprueban los estados de sus respectivas posiciones de bits, y la máquina de estados permanece en el estado 402 (412) hasta que se detecta una posición con un estado de no-bloqueo. Cuando se ha detectado el primer estado de no bloqueo, el circuito pasa al estado 406 y reivindica la señal IN_FRAME si es también reivindicada la señal SOF, ya que esto indica que solamente había un estado de no-bloqueo en la trama anterior (414). Si la señal SOF no es reivindicada, sin embargo, el circuito pasa en cambio al estado 404 (416). A medida que se reciben bits adicionales, y que se comprueban los estados de sus respectivas posiciones de bit, la máquina de estados permanece en el estado 404 (418) hasta que se detecta una posición de bit con un estado de no bloqueo o que la señal SOF es reivindicada. Si la señal SOF es reivindicada mientras el circuito está en el estado 404, entonces el circuito pasa al estado 406 y reivindica la señal IN_FRAME (420), ya que esto indica que solamente había un estado de no bloqueo en la trama previa (y, por lo tanto, que el circuito de configuración ha determinado qué posición de bit contiene la configuración de bloque). Si, por otra parte, se ha detectado una posición de bit con un estado de no bloqueo mientras el circuito está en el estado 404, entonces el circuito pasa al estado 400 (422), ya que esto indica que hay al menos dos estados de no bloqueo en la trama (y, por lo tanto, que el configurador todavía no ha determinado qué posición de bit contiene la configuración de bloque real). Una vez que el circuito ha pasado al estado 400, permanece ahí hasta la próxima vez que la señal SOF sea reivindicada, en cuyo momento pasa al estado 412 y repite el proceso anteriormente descrito.
Adviértase que si la señal SOF 410 es reivindicada antes de que un estado de no bloqueo sea recibido en el estado 402, esto indica que todas las posiciones de bit han pasado al estado LOCKOUT, y, por lo tanto, ese circuito de configuración 200 no ha conseguido detectar la configuración de bloque. Cuando esto sucede, el circuito de configuración 200 puede iniciar un procedimiento de recuperación de errores, tal como su reiniciación. Adviértase también que durante la aplicación del sincronizador de trama descrita anteriormente declara un estado en-trama una vez que se han retirado todas las imitaciones y solamente permanece un candidato de configuración, son posibles otras aplicaciones. Por ejemplo, una alternativa es usar un contador de umbral que declara un estado en-trama tan pronto como cualquier candidato único muestra la configuración de bloque de un número predefinido de tramas.
Descodificador
Como se ha indicado anteriormente, a la recepción de un nuevo bit de datos en una posición de bit dada, la máquina de estados configuradora 204 usa el nuevo bit, en combinación con datos de estado previos de esa posición de bit en la trama, para determinar si esa posición de bit es un poseedor potencial del patrón de sincronización de trama. En el ejemplo mostrado en la Figura 2, la máquina de estados configuradora recibe el nuevo bit de la interfaz de datos 202 y recibe datos PREVIOUS_STATE 226 del descodificador 206. Como se describe más adelante con más detalle, para proporcionar datos PREVIOUS_STATE 226, el descodificador 206 solicita datos según se necesitan al control de lectura FIFO 210 y los descodifica en los datos de estado usados por la máquina de estados configuradora 204. Para algunas posiciones de bit, el descodificador 206 recupera los datos de estado previos directamente de la memoria 216. Sin embargo, para otras posiciones de bit, el descodificador no necesita leer nada directamente de FIFO 216, ya que algunas posiciones de bit habrán sido previamente desechadas como candidatas de sincronización de trama, y habrán sido codificadas en la forma comprimida mostrada en la Tabla 1 - esto es, como parte de una secuencia de estados de bloqueo. Para las posiciones de bit que forman parte de tal secuencia de estados de bloqueo, el descodificador puede simplemente mantener un recuento del número de estados de bloqueo consecutivos (esto es, LC_CNT), y no necesita memoria FIFO de acceso 216 hasta que se ha recibido toda la secuencia de bits de bloqueo (esto es, cuando LC_CNT ha sido disminuida a cero).
La Figura 5 es un diagrama de estado de una aplicación ilustrativa del descodificador 206 que hace uso del esquema de descodificación mostrado en la Tabla 1. Como se muestra en la Figura 5, el descodificador espera que un nuevo bit esté disponible (500). Cuando un nuevo bit está disponible para ser comprobado por el configurador, el descodificador determina si el recuento de bloqueos es mayor de cero (502). Si el recuento de bloqueos es mayor de cero (es decir, un "LC_COUNT>0" salida del estado 502), esto indica que el nuevo bit es una posición de bit que previamente entró en el estado de bloqueo. El descodificador fija el PREVIOUS_STATE para reflejar este hecho (504), disminuye el recuento de bloqueos (506), y vuelve al estado 500 para esperar el próximo bit de datos. Si, por una parte, el recuento de bloqueos es igual acero (es decir, un "LC_COUNT=0" salida del estado 502), el descodificador 206 recupera la información del estado previo de tal posición de bit de la memoria FIFO 216 (508), y la descodifica. Para el esquema de codificación mostrado en la Tabla 1, esto implica mirar al primer bit de los datos del estado previo para determinar si es un estado válido (es decir, si es el bit más significativo (MSB) es un 1), o si es un estado de bloqueo (es decir, si su MSB es 0). Si el MSB es un 0, el descodificador 206 recupera los próximos siete bits de la memoria FIFO 216, fija el recuento de bloqueos en el valor especificado por esos bits (es decir, el recuento de bloqueos "NNNNNNN" mostrado en la Tabla 1) (510), y fija PREVIOUS_STATE en el estado de bloqueo (512). Si el MSB es un 1, el descodificador 206 recupera los próximos 7 bits y fija PREVIOUS_STATE en ese valor
(514).
Codificador
Con referencia nuevamente a la Figura 2, el codificador 212 recibe los datos NEXT_STATE de la máquina de estados configuradora 204 y los codifica para almacenaje de acuerdo con el esquema de codificación que se está utilizando (por ejemplo, el sistema de codificación mostrado en la Tabla 1).
La Figura 6 es un diagrama de estado de un codificador a modo ilustrativo. Cuando nuevos datos de estado-próximo están disponibles para almacenamiento (es decir, una transición del estado 600 al 602), el codificador 212 comprueba para ver si los nuevos datos de estado son de un estado de bloqueo (602). Si el nuevo estado es un estado de bloqueo, se incrementa el recuento de bloqueo del codificador (LC_CNT) (604). Cuando LC_CNT alcanza algún valor máximo permitido, LC_CNT_MAX (por ejemplo, "1111111" en el ejemplo de esquema de codificación mostrado en la Tabla 1), la palabra código de recuento de bloqueo es enviada al Control de Escritura FIFO 214 para almacenamiento (606), y LC_CNT se vuelve a fijar a cero (608). Con referencia de nuevo al estado 602, si los nuevos datos de estado-próximo no son de un estado de bloqueo, entonces el recuento de bloqueo actual se guarda en la memoria, si es necesario (es decir, si es una cantidad distinta de cero) (610), y los nuevos datos de estado-próximo también se guardan (612) (donde, en la Figura 6, la notación "1+NEXT_STATE" representa la concatenación de un 1 en primer lugar con los datos NEXT_STATE, como están dictados por el esquema de codificación mostrado en la Tabla 1).
Memoria FIFO
La función de almacenamiento en el ejemplo de aplicación mostrado en la Figura 2 es realizada por una memoria FIFO (Primero En Memoria Primero Fuera) 216. Los datos de estado se escriben en FIFO 216 partiendo de cuando la señal SOF es reivindicada hasta que la señal SOF es reivindicada de nuevo o FIFO se llena. El indicador de escritura FIFO no alcanza el indicador de lectura FIFO debido a que el esquema de codificación de datos es tal que la información de estado de la trama de datos siguiente es del mismo tamaño o menor que la información de estado de la trama actual. El tamaño de la memoria y la naturaleza estadística de los datos determina cuánto tiempo emplea antes de que la compresión permita a la información de estado de valor de trama completa de posiciones de bit ser almacenada dentro de la memoria. Una vez que se ha alcanzado esta condición, la velocidad del configurador estará de acuerdo con un configurador básico intensivo en memoria que proporciona un sitio de memoria especial de cada sitio de bit en la trama. Se pueden conseguir tiempos de configuración aceptables con tamaños de memoria significativamente reducidos frente a un diseño de sincronizador de trama tradicional. Esto es especialmente ventajoso en sistemas diseñados para manejar muchos canales de flujos de telecomunicaciones, cada uno con su propio sincronizador de trama, ya que el coste de añadir incluso una relativamente pequeña cantidad de memoria a la aplicación de cada sincronizador de trama puede rápidamente multiplicar los costes de memoria del sistema en conjunto.
Control de Lectura FIFO
El Control de Lectura FIFO 210 recupera datos de la memoria FIFO 216 basado en la petición del descodificador 206. Si la memoria FIFO 216 no está llena, lo que significa que hay espacio en FIFO 216 para datos de estado adicionales, se vuelve a un estado INIT.
La Figura 7 ilustra el funcionamiento del Control de Lectura FIFO 210 en una realización del presente invento. Con referencia a la Figura 7, el Control de Lectura FIFO 210 espera una petición de datos (D_REQ) (700). A la recepción de una petición de datos, el Control de Lectura FIFO 210 determina si FIFO 216 está llena (702). Si FIFO 216 no está llena, el Control de Lectura FIFO 210 devuelve un INIT_STATE a peticiones posteriores hasta que la señal comienzo-de-trama es reivindicada nuevamente (704). Si FIFO 216 está llena (es decir, FIFO 216 está casi totalmente llena de datos de estados previos), entonces el Control de Lectura FIFO 210 reivindica la señal FIFO_RD y lee datos de FIFO (706). El Control de Lectura FIFO 210 devuelve entonces los datos de FIFO 216 al descodificador 206 (708).
Control de Escritura FIFO
El Control de Escritura FIFO 214 escribe datos en FIFO 216 a petición del codificador 212. Si FIFO 216 está llena cuando se recibe una petición para escribir datos (como sería el caso si todos los estados de bits no ajustasen todavía en la memoria), el Control de Escritura FIFO 214 no hace nada hasta el siguiente comienzo de la señal de trama.
La Figura 8 ilustra el funcionamiento del Control de Escritura FIFO 214 en una realización del presente invento. Como se muestra en la Figura 8, el Control de Escritura FIFO 214 espera una petición para escribir datos en FIFO 216 (800). A la recepción de tal petición, el Control de Escritura FIFO 214 comprueba para ver si FIFO 216 está llena (802). Si FIFO 216 está llena, el Control de Escritura FIFO 214 no hace nada (804), y espera a la siguiente señal de comienzo-de-trama antes de volver al estado 800. Si FIFO 216 no está llena, entonces el Control de Escritura FIFO 214 escribe los datos en FIFO 216 (806, 808).
Contador de Bits de Delimitación
Como se ha indicado previamente, el contador de bits de delimitación 218 proporciona una señal arbitraria de comienzo de trama (SOF) 224 para uso de los otros bloques funcionales del configurador 200 cuando busca el patrón de sincronización de trama. En una realización, el contador 218 cuenta simplemente los bits del flujo de telecomunicaciones a medida que se reciben, y reivindica la señal SOF cuando ha contado un valor entero de bits de trama. Por ejemplo, si hay n bits en una trama, el contador 218 genera una señal SOF cada n^{-ésimo} bit. Adviértase que en la realización ilustrativa descrita antes, el contador de bits de trama 218 no necesita comenzar a contar al comienzo de una trama real, ya que el contador de bits de trama 218 genera una señal SOF por trama, el configurador 200 funcionará correctamente, independientemente de dónde esté reivindicada la señal SOF en la trama real.
A pesar de que el invento precedente ha sido descrito con algún detalle con fines de claridad, será evidente que ciertos cambios y modificaciones pueden realizarse dentro del alcance de las reivindicaciones anejas. Por ejemplo, se verá que mientras las aplicaciones ejemplo descritas antes hacen uso de una memoria FIFO para almacenar información de estado, se podría utilizar cualquier forma apropiada de memoria. Cualquier experto en la materia también verá que se podría usar cualquier forma adecuada de leer de, o escribir en, la unidad de memoria, y que las aplicaciones específicas descritas anteriormente están dadas con fines ilustrativos y no limitativos. Igualmente, se verá que se podrían usar codificaciones diferentes para la información de estado. Por lo tanto, se debería entender que hay muchas formas alternativas de aplicar los procesos y aparatos del presente invento. En consecuencia, las presentes realizaciones deben ser consideradas como ilustrativas y no restrictivas, y el invento no está limitado a los detalles dados en él, sino que puede ser modificado dentro del alcance de las reivindicaciones anejas.

Claims (13)

1. Un método para detectar un patrón de sincronización de trama en una señal de telecomunicaciones, comprendiendo el método:
recibir un flujo de datos de telecomunicaciones (102); y
almacenar información de estado codificada de porciones del flujo de datos de telecomunicaciones, indicando la información de estado codificada, de una porción dada, si tal porción forma parte del patrón de sincronización de trama;
en el que dicha información de estado codificada representa un primer estado por una codificación de un primer tipo y un segundo estado por una codificación de un segundo tipo, siendo el primer estado el que ocurre a una frecuencia más alta que la del segundo estado, teniendo la codificación del primer tipo menos bits que la codificación del segundo tipo.
2. Un método como el de la reivindicación 1, en el que la codificación del primer tipo comprende un único bit que distingue el primer estado del segundo estado.
3. Un método como el de la reivindicación 2, en el que la codificación del primer tipo comprende una indicación de un número de porciones consecutivas del flujo de datos de telecomunicaciones que han entrado en el primer estado.
4. Un método como el de la reivindicación 3, en el que el primer estado indica que una parte de la señal no forma parte del patrón de sincronización de trama, y en el que el segundo estado indica que una porción de la señal puede formar parte del patrón de sincronización de trama.
5. Un sistema para sincronizar tramas en una señal de telecomunicaciones, comprendiendo el sistema:
una interfaz (202) operable para recibir la señal de telecomunicaciones;
una memoria (216) operable para almacenar datos de estado de configuración de una pluralidad de posiciones de bits dentro de una trama de la señal de telecomunicaciones, indicando los datos de estado de configuración codificados de una posición de bit dada si los bits recibidos en la posición de bit dada forman parte de una configuración de bloque válida;
lógica de actualización de estado (204) operable para determinar un estado de configuración actual de una posición de bit basada en un bit recibido y en un estado de configuración previo de la posición del bit; y
un codificador (212) operable para codificar los datos de estado de configuración actual para almacenaje en memoria, usando el codificador (212) al menos una técnica de compresión de datos para codificar al menos un estado de configuración, que usa menos bits, para representar un primer estado de configuración que para representar un segundo estado de configuración, siendo el primer estado el que ocurre a una frecuencia más alta que la del segundo estado.
6. Un sistema como el de la reivindicación 5, en el que el codificador (212) es operable para usar menos bits para representar un estado de configuración que indique que una posición de bit dada no contiene una configuración de bloque válida que se usa para representar un estado de configuración que indica que una posición de bit dada puede contener una configuración de bloque válida.
7. Un sistema como el de la reivindicación 5, en el que el codificador (212) es operable para usar una única palabra código para representar el estado de configuración actual de una secuencia de posiciones de bits en una trama de la señal de telecomunicaciones, teniendo cada posición de bit en la secuencia el mismo estado de configuración actual, comprendiendo la única palabra código al menos un bit para identificar el estado de configuración actual, y una pluralidad de bits para representar el número de posiciones de bits en la secuencia.
8. Un sistema como el de la reivindicación 7, en el que la memoria (216) está dimensionada de tal forma que es capaz de almacenar no más de un número predefinido de palabras código distintas de estado de configuración en un momento dado, siendo el número predefinido menor que el número de posiciones de bits en una trama de la señal de telecomunicaciones.
9. Un sistema como el de la reivindicación 7, en el que la memoria (216) es capaz de almacenar al menos nueve palabras código.
10. Un sistema como el de la reivindicación 5, que además comprende:
lógica de control de escritura en memoria (214) operable para determinar si la memoria está llena, y para permitir información de estado adicional para ser escrita en la memoria si la memoria no está llena.
11. Un sistema como el de la reivindicación 5, en el que la memoria (216) comprende una memoria FIFO.
12. Un sistema como el de la reivindicación 5, en el que la señal de telecomunicaciones (102) comprende una señal DS1.
13. Un producto de programa de ordenador que comprende instrucciones de ordenador aplicables para hacer que el dispositivo de ordenador programable realice el método de cualquiera de las reivindicaciones 1 a 4.
ES03749132T 2002-09-04 2003-08-21 Sistemas y metodos para sincronizacion de tramas. Expired - Lifetime ES2286455T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US234821 1981-02-17
US10/234,821 US7729386B2 (en) 2002-09-04 2002-09-04 Systems and methods for frame synchronization

Publications (1)

Publication Number Publication Date
ES2286455T3 true ES2286455T3 (es) 2007-12-01

Family

ID=31977470

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03749132T Expired - Lifetime ES2286455T3 (es) 2002-09-04 2003-08-21 Sistemas y metodos para sincronizacion de tramas.

Country Status (9)

Country Link
US (1) US7729386B2 (es)
EP (2) EP1814250A1 (es)
AT (1) ATE360297T1 (es)
AU (1) AU2003268183A1 (es)
CA (1) CA2498101A1 (es)
DE (1) DE60313333T2 (es)
DK (1) DK1537690T3 (es)
ES (1) ES2286455T3 (es)
WO (1) WO2004023689A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160109B2 (en) * 2002-11-01 2012-04-17 Broadcom Corporation Method and system for synchronizing a transceiver and a downstream device in an optical transmission network
US8156343B2 (en) * 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
US8010091B2 (en) * 2005-09-30 2011-08-30 Abtin Keshavarzian System, method and apparatus employing tone and/or tone patterns to indicate the message type in wireless sensor networks
US7536194B2 (en) * 2005-09-30 2009-05-19 Robert Bosch Gmbh Method and system for providing an energy efficient exchange of information in wireless networks
US7539314B2 (en) * 2006-08-14 2009-05-26 Magiq Technologies, Inc. Frame synchronization method for QKD systems
KR101479117B1 (ko) * 2013-10-30 2015-01-07 에스케이 텔레콤주식회사 양자 키 분배 프로토콜을 구현함에 있어 더블 버퍼링 방식을 이용한 원시 키 생성 방법 및 장치
US20190065431A1 (en) * 2017-08-31 2019-02-28 Qualcomm Incorporated Providing zero-overhead frame synchronization using synchronization strobe polarity for soundwire extension buses
CN111277864B (zh) * 2020-02-18 2021-09-10 北京达佳互联信息技术有限公司 直播数据的编码方法、装置、流转系统及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727558A (en) 1987-02-12 1988-02-23 Dallas Semiconductor Corporation Method and apparatus for extracting a predetermined bit pattern from a serial bit stream
US5790599A (en) * 1989-01-19 1998-08-04 Redband Technologies, Inc. Data compression system using source representation
US5049880A (en) * 1990-04-02 1991-09-17 Tektronix, Inc. Bit-wise run-length encoding for data compression
US5280532A (en) * 1990-04-09 1994-01-18 Dsc Communications Corporation N:1 bit compression apparatus and method
US5426756A (en) * 1992-08-11 1995-06-20 S3, Incorporated Memory controller and method determining empty/full status of a FIFO memory using gray code counters
US5615237A (en) * 1994-09-16 1997-03-25 Transwitch Corp. Telecommunications framer utilizing state machine
US6246736B1 (en) * 1998-08-19 2001-06-12 Nortel Networks Limited Digital signal framing systems and methods
US6859460B1 (en) * 1999-10-22 2005-02-22 Cisco Technology, Inc. System and method for providing multimedia jitter buffer adjustment for packet-switched networks
US6546241B2 (en) * 1999-11-02 2003-04-08 Agere Systems Inc. Handset access of message in digital cordless telephone
US9019899B2 (en) * 2001-09-27 2015-04-28 Alcatel Lucent Method and apparatus for synchronous communication of frames of digital information

Also Published As

Publication number Publication date
EP1537690B1 (en) 2007-04-18
DE60313333T2 (de) 2008-01-03
AU2003268183A1 (en) 2004-03-29
US7729386B2 (en) 2010-06-01
DE60313333D1 (de) 2007-05-31
WO2004023689A1 (en) 2004-03-18
CA2498101A1 (en) 2004-03-18
US20040042498A1 (en) 2004-03-04
EP1537690A1 (en) 2005-06-08
EP1814250A1 (en) 2007-08-01
DK1537690T3 (da) 2007-08-06
ATE360297T1 (de) 2007-05-15

Similar Documents

Publication Publication Date Title
US9760304B2 (en) High performance system for selective merging of dataframe segments
JP2014502071A (ja) 不完全な誤り特性を持つチャネルおよびメモリのための誤り検出および訂正符号
AU2014328501A1 (en) High performance system providing selective merging of dataframe segments in hardware
US8495470B2 (en) Efficient rewrite technique for tape drives
WO2005043530A3 (en) Method of recovering data
JP2003051813A5 (es)
US10379756B2 (en) Logical format utilizing lateral encoding of data for storage on magnetic tape
US20080195913A1 (en) Decoder for Low-Density Parity-Check Convolutional Codes
EP0854482B1 (en) System for decoding the EFM and EFM-PLUS format in optical disc (CD and DVD) read units and corresponding method of decoding
EP1537690B1 (en) Systems and methods for frame synchronization
KR101320684B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
EP1382125A1 (en) Method and device for encoding information words, method and device for decoding information words, storage medium and signal
CN109889209A (zh) 一种适用于宇航通信的速率自适应型ldpc译码器
KR101355988B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
ES2319726T3 (es) Dispositivo para explorar un soporte de informacion, procedimiento de fabricacion y soporte de informacion.
US5748649A (en) System enabling a magnetic code recorded on a magnetic track to be properly decoded in the form of a binary message
CN117555474A (zh) 用于存储设备的数据处理方法和相关设备、存储介质
CN103562995B (zh) 减轻虚假vfo检测的轨道相关数据随机化
US8055973B2 (en) Channel constrained code aware interleaver
KR101355986B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
CN108170554A (zh) 一种nand的数据编码方法和装置
KR101355982B1 (ko) 연접 비씨에이치 부호, 복호 및 다계층 복호 회로 및 방법, 이를 이용한 플래쉬 메모리 장치의 오류 정정 회로 및 플래쉬 메모리 장치
Hogan et al. Nested input-constrained codes
TH105566A (th) ตัวแทรกสลับแบบกลับทิศทางบิตที่มีการตัดทอน
BR112018010187B1 (pt) Proteção de um local de ecc ao transmitir dados de correção através de um link de memória