ES2777373T3 - Recuperación de datos de reloj multifásico para una interfaz trifásica - Google Patents

Recuperación de datos de reloj multifásico para una interfaz trifásica Download PDF

Info

Publication number
ES2777373T3
ES2777373T3 ES16753549T ES16753549T ES2777373T3 ES 2777373 T3 ES2777373 T3 ES 2777373T3 ES 16753549 T ES16753549 T ES 16753549T ES 16753549 T ES16753549 T ES 16753549T ES 2777373 T3 ES2777373 T3 ES 2777373T3
Authority
ES
Spain
Prior art keywords
clock signal
frequency
symbols
signal
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16753549T
Other languages
English (en)
Inventor
Ying Duan
Chulkyu Lee
Shih-Wei Chou
Harry Dang
Ohjoon Kwon
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2777373T3 publication Critical patent/ES2777373T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/0807Details of the phase-locked loop concerning mainly a recovery circuit for the reference signal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0087Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Un procedimiento de comunicaciones de datos, que comprende: configurar (2002) un circuito de recuperación de reloj (2104) para proporcionar una primera señal de reloj que incluye pulsos correspondientes a símbolos transmitidos en una interfaz trifásica de 3 hilos, donde los símbolos se transmiten en la interfaz trifásica de 3 hilos a una primera frecuencia; ajustar (2004) un retardo de bucle del circuito de recuperación de reloj para modificar la primera señal de reloj para que tenga una segunda frecuencia que no sea más de la mitad de la primera frecuencia, donde el circuito de recuperación de reloj genera un pulso en la primera señal de reloj para un primer símbolo de un número entero de símbolos y suprime la generación de pulsos para otros símbolos en el número entero de símbolos; configurar (2006) un circuito de generación de reloj (2106) para proporcionar una segunda señal de reloj, donde la segunda señal de reloj incluye pulsos para cada uno de los otros símbolos del número entero de símbolos; y capturar (2008) los símbolos de la interfaz trifásica de 3 hilos usando la primera señal de reloj y la segunda señal de reloj.

Description

DESCRIPCIÓN
Recuperación de datos de reloj multifásico para una interfaz trifásica
REFERENCIA CRUZADA A SOLICITUD RELACIONADA
[0001] Esta solicitud reivindica la prioridad y el beneficio de la solicitud no provisional n.° 14/842.644 presentada en la Oficina de Patentes y Marcas de los Estados Unidos el 1 de septiembre de 2015.
CAMPO TÉCNICO
[0002] La presente divulgación se refiere, en general, a interfaces de comunicaciones de datos de alta velocidad y, más en particular, a la generación de reloj en un receptor acoplado a un enlace de comunicación de datos multihilo y multifásico.
ANTECEDENTES
[0003] Los fabricantes de dispositivos móviles, tales como teléfonos celulares, pueden obtener componentes de los dispositivos móviles de diversas fuentes, incluidos diferentes fabricantes. Por ejemplo, un procesador de aplicaciones en un teléfono celular puede obtenerse de un primer fabricante, mientras que un dispositivo de formación de imágenes o una cámara pueden obtenerse de un segundo fabricante, y una pantalla puede obtenerse de un tercer fabricante. El procesador de aplicaciones, el dispositivo de formación de imágenes, el controlador de pantalla u otros tipos de dispositivos pueden interconectarse usando una interfaz física patentada o basada en normas. En un ejemplo, se puede conectar un dispositivo de formación de imágenes usando la interfaz serie de cámara (CSI) definida por la Alianza de la Interfaz de Procesador de la Industria Móvil (MIPI). En otro ejemplo, una pantalla puede incluir una interfaz que cumpla con la norma de interfaz serie de pantalla (DSI) especificada por la Alianza de la Interfaz de Procesador de la Industria Móvil (MIPI).
[0004] Una interfaz multifásica de tres hilos (C-PHY) definida por la Alianza MIPI usa un trío de conductores para transmitir información entre dispositivos. Cada uno de los tres hilos puede estar en uno de tres estados de señalización durante la transmisión de un símbolo a través de la interfaz C-PHY. La información de reloj se codifica en una secuencia de símbolos transmitidos en la interfaz C-PHY y un receptor genera una señal de reloj a partir de transiciones entre símbolos consecutivos. La velocidad máxima de la interfaz C-PHY y la capacidad de un circuito de recuperación de datos y de reloj (CDR) para recuperar la información de reloj pueden estar limitadas por la variación máxima de tiempo relacionada con las transiciones de señales transmitidas en los diferentes hilos del enlace de comunicación. Un receptor puede emplear circuitos de retardo para garantizar que todos los conductores del trío hayan adoptado un estado de señalización estable antes de proporcionar un flanco de muestreo. La velocidad de transmisión del enlace puede estar limitada por los valores de retardo usados, y existe una necesidad continua de circuitos de generación de reloj que puedan funcionar de manera fiable a medida que aumentan las frecuencias de señalización de las interfaces multihilo. El documento US2010/0215118 A1 divulga técnicas de codificación con un reloj incorporado.
SUMARIO
[0005] Los modos de realización desvelados en el presente documento proporcionan sistemas, procedimientos y aparatos que permiten comunicaciones mejoradas en un enlace de comunicaciones multihilo y/o multifásico. El enlace de comunicaciones puede implantarse en aparatos tales como un terminal móvil que tiene múltiples dispositivos de circuito integrado (CI).
[0006] En un aspecto de la divulgación, se proporciona un procedimiento de comunicación de datos de acuerdo con la reivindicación 1 adjunta.
[0007] En un aspecto de la divulgación, se proporciona un aparato para descodificar datos transmitidos en una interfaz trifásica de 3 hilos de acuerdo con la reivindicación 9 adjunta.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0008]
La FIG. 1 representa un aparato que emplea un enlace de datos entre dispositivos de CI, que funciona selectivamente de acuerdo con una entre una pluralidad de normas disponibles.
La FIG. 2 ilustra una arquitectura de sistema para un aparato que emplea un enlace de datos entre dispositivos de CI, que funciona selectivamente de acuerdo con una entre una pluralidad de normas disponibles.
La FIG. 3 ilustra un codificador de datos trifásico C-PHY.
La FIG. 4 ilustra la señalización en una interfaz codificada trifásica C-PHY.
La FIG. 5 es un diagrama de estados que ilustra posibles transiciones de estado en una interfaz codificada trifásica C-PHY.
La FIG. 6 ilustra un descodificador C-PHY.
La FIG. 7 es un ejemplo de los efectos de los tiempos de subida de señal en la detección de transiciones en un descodificador C-PHY.
La FIG. 8 ilustra una detección de transiciones en un descodificador C-PHY.
La FIG. 9 ilustra un ejemplo de transiciones de señal que se producen entre pares de símbolos consecutivos transmitidos en una interfaz C-PHY.
La FIG. 10 ilustra regiones de transición y regiones de ojo en un patrón de ojo.
La FIG. 11 ilustra un ejemplo de un patrón de ojo generado para una interfaz trifásica C-PHY.
La FIG. 12 ilustra un ejemplo de un circuito de CDR para una interfaz trifásica C-PHY.
La FIG. 13 ilustra una temporización asociada al circuito de CDR de la FIG. 12.
La FIG. 14 ilustra una temporización asociada a un circuito de CDR que tiene un tiempo de bucle que es más corto que el sesgo entre las señales transmitidas en la señal trifásica C-PHY.
La FIG. 15 ilustra una temporización asociada a un circuito de CDR que tiene un tiempo de bucle que es más largo que un intervalo de símbolo de la señal trifásica C-PHY.
La FIG. 16 es un cronograma que ilustra el funcionamiento de una CDR adaptada de acuerdo con determinados aspectos divulgados en el presente documento.
La FIG. 17 ilustra un ejemplo de un circuito de generación de reloj de acuerdo con ciertos aspectos divulgados en el presente documento.
La FIG. 18 ilustra un ejemplo de un circuito que puede usarse para calibrar un circuito de generación de reloj proporcionado de acuerdo con determinados aspectos divulgados en el presente documento.
La FIG. 19 es un diagrama de bloques que ilustra un ejemplo de un aparato que emplea un circuito de procesamiento que puede adaptarse de acuerdo con determinados aspectos divulgados en el presente documento.
La FIG. 20 es un diagrama de flujo de un procedimiento de generación de reloj de acuerdo con determinados aspectos divulgados en el presente documento.
La FIG. 21 es un diagrama que ilustra un ejemplo de una implementación de hardware para un aparato que emplea un circuito de procesamiento adaptado de acuerdo con determinados aspectos divulgados en el presente documento. DESCRIPCIÓN DETALLADA
[0009] La descripción detallada expuesta a continuación, en relación con los dibujos adjuntos, pretende ser una descripción de diversas configuraciones y no está destinada a representar las únicas configuraciones en las que se pueden llevar a la práctica los conceptos descritos en el presente documento. La descripción detallada incluye detalles específicos para el propósito de proporcionar un entendimiento exhaustivo de diversos conceptos. Sin embargo, resultará evidente a los expertos en la técnica que estos conceptos se pueden llevar a la práctica sin estos detalles específicos. En algunos ejemplos, se muestran estructuras y componentes bien conocidos en forma de diagrama de bloques para evitar oscurecer dichos conceptos.
[0010] Como se usa en la presente solicitud, los términos "componente", "módulo", "sistema" y similares hacen referencia a una entidad relacionada con la informática tal como, pero sin limitarse a, hardware, firmware, una combinación de hardware y software, software, o software en ejecución. Por ejemplo, un componente puede ser, pero no se limita a ser, un proceso que se ejecuta en un procesador, un procesador, un objeto, un ejecutable, un hilo de ejecución, un programa y/o un ordenador. A modo de ilustración, tanto una aplicación que se ejecute en un dispositivo informático como el dispositivo informático pueden ser un componente. Uno o más componentes pueden residir dentro de un proceso y/o hilo de ejecución, y un componente puede estar ubicado en un ordenador y/o estar distribuido entre dos o más ordenadores. Además, estos componentes se pueden ejecutar desde diversos medios legibles por ordenador que tengan diversas estructuras de datos almacenadas en los mismos. Los componentes se pueden comunicar por medio de procesos locales y/o remotos, tales como de acuerdo con una señal que tiene uno o más paquetes de datos, tales como datos de un componente que interactúa con otro componente en un sistema local, un sistema distribuido y/o a través de una red, tal como Internet, con otros sistemas por medio de la señal.
[0011] Además, el término "o" pretende significar una "o" inclusiva en lugar de una "o" exclusiva. Es decir, a no ser que se indique de otro modo, o se deduzca por el contexto, la expresión "X emplea A o B" pretende significar cualquiera de las permutaciones inclusivas naturales. Es decir, la expresión "X emplea A o B" se satisface con cualquiera de los siguientes casos: X emplea A; X emplea B; o X emplea tanto A como B. Además, debería interpretarse en general que los artículos "un" y "una", como se usa en la presente solicitud y en las reivindicaciones adjuntas, significan "uno o más" a no ser que se indique de otro modo o que se deduzca por el contexto que se refieren a una forma singular.
Visión general
[0012] Determinados aspectos de la invención se pueden aplicar a una interfaz C-PHY especificada por la Alianza MIPI, que puede implantarse para conectar dispositivos electrónicos que son subcomponentes de un aparato móvil tal como un teléfono, un dispositivo informático móvil, un electrodoméstico, componentes electrónicos de un automóvil, sistemas de aviónica, etc. Ejemplos de un aparato móvil incluyen un teléfono celular, un teléfono inteligente, un teléfono con protocolo de inicio de sesión (SIP), un ordenador portátil, un notebook, un netbook, un smartbook, un asistente digital personal (PDA), un radio vía satélite, un dispositivo de sistema de posicionamiento global (GPS), un dispositivo multimedia, un dispositivo de vídeo, un reproductor de audio digital (por ejemplo, un reproductor de MP3), una cámara, una consola de juegos, un dispositivo informático ponible (por ejemplo, un reloj inteligente, un dispositivo de salud o rastreador de actividad física, etc.), un electrodoméstico, un sensor, una máquina expendedora o cualquier otro dispositivo que funcione de manera similar.
[0013] La interfaz C-PHY es una interfaz serie de alta velocidad que puede proporcionar un alto rendimiento a través de canales con ancho de banda limitado. La interfaz C-PHY se puede implantar para conectar procesadores de aplicaciones a periféricos, incluidas pantallas y cámaras. La interfaz C-PHY codifica los datos en símbolos que se transmiten en una señal trifásica a través de un conjunto de tres hilos, que puede denominarse trío o trío de hilos. La señal trifásica se transmite en cada hilo del trío en diferentes fases. Cada trío de tres hilos proporciona una línea en un enlace de comunicaciones. Un intervalo de símbolo puede definirse como el intervalo de tiempo en el que un solo símbolo controla el estado de señalización de un trío. En cada intervalo de símbolo, un hilo está "no excitado" mientras que los dos hilos restantes de los tres hilos se excitan de forma diferencial de manera que uno de los dos hilos excitados de forma diferencial adopta un primer nivel de tensión y el otro hilo excitado de forma diferencial adopta un segundo nivel de tensión diferente al primer nivel de tensión. El hilo no excitado puede estar en un modo flotante, excitarse y/o terminarse de modo que adopte un tercer nivel de tensión que esté en o cerca de la tensión de nivel medio entre el primer y el segundo nivel de tensión. En un ejemplo, los niveles de tensión excitada pueden ser V y -V , siendo la tensión no excitada de 0 V. En otro ejemplo, los niveles de tensión excitada pueden ser V y 0 V, siendo la tensión no excitada de V/2. Se transmiten diferentes símbolos en cada par de símbolos transmitidos consecutivamente, y diferentes pares de hilos pueden ser excitados de forma diferencial en diferentes intervalos de símbolo.
[0014] La FIG. 1 representa un ejemplo de un aparato 100 que puede emplear un enlace de comunicación trifásico C-PHY. El aparato 100 puede incluir un dispositivo de comunicación inalámbrica que se comunica a través de un transceptor de comunicaciones de radiofrecuencia (RF) 106 con una red de acceso radioeléctrico (RAN), una red de acceso central, Internet y/u otra red. El transceptor de comunicaciones 106 puede estar acoplado de forma operativa a un circuito de procesamiento 102. El circuito de procesamiento 102 puede incluir uno o más dispositivos de CI, tales como un CI específico de la aplicación (ASIC) 108. El ASIC 108 puede incluir uno o más dispositivos de procesamiento, circuitos lógicos, etc. El circuito de procesamiento 102 puede incluir y/o estar acoplado al almacenamiento legible por procesador, tal como dispositivos de memoria 112 que pueden incluir dispositivos legibles por procesador que almacenan y mantienen datos e instrucciones para su ejecución o para otro uso por el circuito de procesamiento 102 y dispositivos, y/o tarjetas de memoria que admiten una pantalla 124. El circuito de procesamiento 102 puede ser controlado por uno o más entre un sistema operativo y una capa de interfaz de programación de aplicaciones (API) 110 que da soporte y permite la ejecución de módulos de software que residen en medios de almacenamiento, tales como el dispositivo de memoria 112 del dispositivo inalámbrico. Los dispositivos de memoria 112 pueden incluir memoria de sólo lectura (ROM), memoria dinámica de acceso aleatorio (DRAM), uno o más tipos de memoria de solo lectura programable (PROM), tarjetas de memoria flash o cualquier tipo de memoria que pueda usarse en sistemas de procesamiento y plataformas informáticas. El circuito de procesamiento 102 puede incluir o acceder a una base de datos local 114 que puede mantener parámetros operativos y otra información usada para configurar y hacer funcionar el aparato 100. La base de datos local 114 puede implementarse usando uno o más entre un módulo de base de datos, memoria flash, medios magnéticos, PROM eléctricamente borrable (EEPROM), medios ópticos, cinta, disco flexible o duro, o similares. El circuito de procesamiento también puede estar acoplado de forma operativa a dispositivos externos tales como una antena 122, una pantalla 124, controles de operador, tales como un botón 128 y/o un teclado numérico 126, entre otros componentes.
[0015] La FIG. 2 es un esquema de bloques que ilustra determinados aspectos de un aparato 200 que incluye una pluralidad de dispositivos de CI 202 y 230, que pueden intercambiar datos e información de control a través de un enlace de comunicación 220. El enlace de comunicación 220 puede usarse para conectar un par de dispositivos de CI 202 y 230 que están ubicados muy cerca uno del otro, o que están ubicados físicamente en diferentes partes del aparato 200. En un ejemplo, el enlace de comunicación 220 puede proporcionarse en un portador de chips, sustrato o placa de circuito que lleva los dispositivos de CI 202 y 230. En otro ejemplo, un primer dispositivo de CI 202 puede estar ubicado en una sección de teclado numérico de un teléfono plegable, mientras que un segundo dispositivo de CI 230 puede estar ubicado en una sección de pantalla del teléfono plegable. En otro ejemplo, una parte del enlace de comunicación 220 puede incluir un cable o una conexión óptica.
[0016] El enlace de comunicación 220 puede incluir múltiples canales 222, 224 y 226. Uno o más canales 226 pueden ser bidireccionales y pueden funcionar en modos semidúplex y/o dúplex completo. Uno o más canales 222 y 224 pueden ser unidireccionales. El enlace de comunicación 220 puede ser asimétrico, proporcionando un mayor ancho de banda en una dirección. En un ejemplo descrito en el presente documento, un primer canal de comunicaciones 222 puede denominarse canal directo 222, mientras que un segundo canal de comunicaciones 224 puede denominarse canal inverso 224. El primer dispositivo de CI 202 puede designarse sistema principal o transmisor, mientras que el segundo dispositivo de CI 230 puede designarse como un sistema cliente o receptor, incluso si ambos dispositivos de CI 202 y 230 están configurados para transmitir y recibir en el canal de comunicaciones 222. En un ejemplo, el canal directo 222 puede funcionar a una velocidad de transferencia de datos más alta cuando se comunican datos desde un primer dispositivo de CI 202 a un segundo dispositivo de CI 230, mientras que el canal inverso 224 puede funcionar a una velocidad de transferencia de datos más baja cuando se comunican datos desde el segundo dispositivo de CI 230 al primer dispositivo de CI 202.
[0017] Los dispositivos de CI 202 y 230 pueden incluir cada uno un procesador u otro circuito o dispositivo de procesamiento y/o informático 206, 236. En un ejemplo, el primer dispositivo de CI 202 puede realizar funciones principales del aparato 200, incluido el establecimiento y mantenimiento de comunicaciones inalámbricas a través de un transceptor inalámbrico 204 y una antena 214, mientras que el segundo dispositivo de CI 230 puede admitir una interfaz de usuario que gestiona o hace funcionar un controlador de pantalla 232, y puede controlar las operaciones de una cámara o dispositivo de entrada de vídeo usando un controlador de cámara 234. Otras características admitidas por uno o más de los dispositivos de CI 202 y 230 pueden incluir un teclado numérico, un componente de reconocimiento de voz y otros dispositivos de entrada o salida. El controlador de pantalla 232 puede incluir circuitos y controladores de software que admiten pantallas tales como un panel de pantalla de cristal líquido (LCD), una pantalla táctil, indicadores, etc. Los medios de almacenamiento 208 y 238 pueden incluir dispositivos de almacenamiento transitorios y/o no transitorios adaptados para mantener instrucciones y datos usados por los respectivos procesadores 206 y 236, y/u otros componentes de los dispositivos de CI 202 y 230. La comunicación entre cada procesador 206, 236 y sus correspondientes medios de almacenamiento 208 y 238 y otros módulos y circuitos puede ser facilitada por uno o más buses internos 212 y 242 y/o un canal 222, 224 y/o 226 del enlace de comunicación 220.
[0018] El canal inverso 224 puede funcionar de la misma manera que el canal directo 222, y el canal directo 222 y el canal inverso 224 pueden ser capaces de transmitir a velocidades comparables o a velocidades diferentes, donde la velocidad puede expresarse como velocidad de transferencia de datos y/o velocidades de reloj. Las velocidades de transferencia de datos directa e inversa pueden ser sustancialmente iguales o diferentes en orden de magnitud, dependiendo de la aplicación. En algunas aplicaciones, un solo canal bidireccional 226 puede admitir comunicaciones entre el primer dispositivo de CI 202 y el segundo dispositivo de CI 230. El canal directo 222 y/o el canal inverso 224 pueden configurarse para funcionar en un modo bidireccional cuando, por ejemplo, los canales directo e inverso 222 y 224 comparten las mismas conexiones físicas y funcionan de manera semidúplex. En un ejemplo, el enlace de comunicación 220 puede hacerse funcionar para comunicar control, comandos y otra información entre el primer dispositivo de CI 202 y el segundo dispositivo de CI 230 de acuerdo con una industria u otra norma.
[0019] El enlace de comunicación 220 de la FIG. 2 puede implementarse de acuerdo con especificaciones de la Alianza MIPI para C-PHY y puede proporcionar un bus cableado que incluye una pluralidad de hilos de señales (indicados como M hilos). Los M hilos pueden configurarse para transportar datos codificados de N fases en una interfaz digital de alta velocidad, tal como una interfaz digital de pantalla móvil (MDDI). Los M hilos pueden facilitar una codificación de polaridad de N fases en uno o más de los canales 222, 224 y 226. Los controladores de capa física 210 y 240 pueden configurarse o adaptarse para generar datos codificados con polaridad de N fases para su transmisión en el enlace de comunicación 220. El uso de la codificación de polaridad de N fases proporciona una transferencia de datos de alta velocidad y puede consumir la mitad o menos de la potencia de otras interfaces ya que hay menos excitadores activos en los enlaces de datos codificados con polaridad de N fases.
[0020] Los dispositivos de codificación de polaridad de N fases 210 y/o 240 pueden codificar típicamente múltiples bits por transición en el enlace de comunicación 220. En un ejemplo, se puede usar una combinación de codificación trifásica y de codificación de polaridad para admitir un CI de controlador LCD de 80 tramas por segundo de amplia gama de gráficos de vídeo (WVGA) sin una memoria intermedia de tramas, suministrando datos de píxel a 810 Mbps para actualizar la pantalla.
[0021] La FIG. 3 es un diagrama esquemático 300 que ilustra un codificador de polaridad trifásico de 3 hilos que se puede usar para implementar determinados aspectos del enlace de comunicación 220 representado en la FIG. 2. El ejemplo de codificación trifásica de 3 hilos se selecciona únicamente con el fin de simplificar las descripciones de determinados aspectos de la invención. Los principios y técnicas divulgados para codificadores trifásicos de tres hilos se pueden aplicar en otras configuraciones de codificadores de polaridad de N fases y M hilos.
[0022] Los estados de señalización definidos para cada uno de los 3 hilos en un esquema de codificación de polaridad trifásica de 3 hilos pueden incluir un estado no excitado, un estado excitado de manera positiva y un estado excitado de forma negativa. El estado excitado de forma positiva y el estado excitado de forma negativa pueden obtenerse proporcionando un diferencial de tensión entre dos de los hilos de señales 310a, 310b y/o 310c, y/o conduciendo una corriente a través de dos de los hilos de señales 310a, 310b y/o 310c conectados en serie de modo que la corriente fluya en diferentes direcciones en los dos hilos de señales 310a, 310b y/o 310c. El estado no excitado puede realizarse haciendo que una salida de un excitador de un hilo de señales 310a, 310b o 310c esté un modo de alta impedancia. De forma alternativa o adicional, se puede obtener un estado no excitado en un hilo de señales 310a, 310b o 310c haciendo de forma pasiva o activa que un hilo de señales "no excitado" 310a, 310b o 310c obtenga un nivel de tensión que se encuentre sustancialmente a medio camino entre niveles de tensión positivo y negativo proporcionados en los hilos de señales excitados 310a, 310b y/o 310c. Típicamente, no hay ningún flujo de corriente significativo a través de un hilo de señales no excitado 310a, 310b o 310c. Los estados de señalización definidos para un esquema de codificación de polaridad trifásica de 3 hilos se pueden denotar usando los tres estados de tensión o corriente (+1, -1 y 0).
[0023] Un codificador de polaridad trifásico de 3 hilos puede emplear excitadores de línea 308 para controlar el estado de señalización de los hilos de señales 310a, 310b y 310c. Los excitadores 308 pueden implementarse como excitadores de modo de corriente a nivel de unidad o de modo de tensión. En un ejemplo, cada excitador 308 puede recibir conjuntos de dos o más de las señales 316a, 316b y 316c que determinan el estado de salida de los hilos de señales correspondientes 310a, 310b y 310c. En un ejemplo, los conjuntos de dos señales 316a, 316b y 316c pueden incluir una señal pull-up (señal PU) y una señal pull-down (señal PD) que, cuando son altas, activan circuitos pull-up y pull-down que excitan los hilos de señales 310a, 310b y 310c hacia una tensión de nivel más alto o más bajo, respectivamente. En este ejemplo, cuando tanto la señal PU como la señal PD son bajas, los hilos de señales 310a, 310b y 310c pueden terminarse en una tensión de nivel medio.
[0024] Para cada intervalo de símbolo transmitido en un esquema de codificación de polaridad de N fases y M hilos, al menos un hilo de señales 310a, 310b o 310c se encuentra en el estado de tensión o corriente de nivel medio/no excitado (0), mientras que el número de hilos de señales excitados de forma positiva (estado de corriente o de tensión 1) 310a, 310b o 310c es igual al número de hilos de señales excitados de forma negativa (estado de corriente o de tensión -1) 310a, 310b o 310c, de modo que la suma de la corriente que fluye hacia el receptor es siempre cero. Para cada símbolo, el estado de al menos un hilo de señales 310a, 310b o 310c se cambia a partir del símbolo transmitido en el intervalo de transmisión anterior.
[0025] En funcionamiento, un correlacionador 302 puede recibir y correlacionar datos de 16 bits 310 con 7 símbolos 312. En el ejemplo de 3 hilos, cada uno de los 7 símbolos define los estados de los hilos de señales 310a, 310b y 310c para un intervalo de símbolo. Los 7 símbolos 312 se pueden serializar usando convertidores de paralelo a serie 304 que proporcionan una secuencia temporizada de símbolos 314 para cada hilo de señales 310a, 310b y 310c. La secuencia de símbolos 314 se temporiza típicamente usando un reloj de transmisión. Un codificador trifásico de 3 hilos 306 recibe la secuencia de 7 símbolos 314 producidos por el correlacionador un símbolo a la vez y calcula el estado de cada hilo de señales 310a, 310b y 310c para cada intervalo de símbolo. El codificador de 3 hilos 306 selecciona los estados de los hilos de señales 310a, 310b y 310c basándose en el símbolo de entrada de corriente 314 y los estados anteriores de los hilos de señales 310a, 310b y 310c.
[0026] El uso de la codificación N fases y M hilos permite que se codifique una pluralidad de bits en una pluralidad de símbolos, donde los bits por símbolo no son un número entero. En el ejemplo de un enlace de comunicaciones de 3 hilos, hay 3 combinaciones disponibles de 2 hilos, que pueden excitarse simultáneamente, y 2 posibles combinaciones de polaridad en el par de hilos que se excitan, produciendo 6 posibles estados. Puesto que cada transición se produce a partir de un estado de corriente, 5 de los 6 estados están disponibles en cada transición. Se requiere que cambie el estado de al menos un hilo en cada transición. Con 5 estados, pueden codificarse log2(5) @ 2,32 bits por símbolo. En consecuencia, un correlacionador puede aceptar una palabra de 16 bits y convertirla en 7 símbolos ya que 7 símbolos que transportan 2,32 bits por símbolo pueden codificar 16,24 bits. En otras palabras, una combinación de siete símbolos que codifican cinco estados tiene 57 (78.125) permutaciones. En consecuencia, los 7 símbolos se pueden usar para codificar las 216 (65.536) permutaciones de 16 bits.
[0027] La FIG. 4 incluye un ejemplo de un cronograma 400 para señales codificadas usando un esquema de codificación de datos de modulación trifásica, que se basa en el diagrama de estados circular 450. La información puede codificarse en una secuencia de estados de señalización donde, por ejemplo, un hilo o conector está en uno de tres estados de fase S1, S2 y S3 definidos por el diagrama de estados circular 450. Cada estado puede estar separado de los otros estados por desfase de 120°. En un ejemplo, los datos pueden codificarse en la dirección de rotación de los estados de fase en el hilo o conector. Los estados de fase en una señal pueden girar en el sentido de las agujas del reloj 452 y 452' o en el sentido contrario a las agujas del reloj 454 y 454'. En el sentido de las agujas del reloj 452 y 454', por ejemplo, los estados de fase pueden avanzar en una secuencia que incluye una o más de las transiciones de S1 a S2, de S2 a S3 y de S3 a S1. En el sentido contrario a las agujas del reloj 454 y 454', los estados de fase pueden avanzar en una secuencia que incluye una o más de las transiciones de S1 a S3, de S3 a S2 y de S2 a S1. Los tres hilos de señales 310a, 310b y 310c llevan diferentes versiones de la misma señal, donde las versiones pueden estar desfasadas 120° entre sí. Cada estado de señalización puede representarse como un nivel de tensión diferente en un hilo o conector y/o una dirección de flujo de corriente a través del hilo o conector. Durante cada una de las secuencias de estados de señalización en un sistema de 3 hilos, cada hilo de señales 310a, 310b y 310c está en un estado de señalización diferente al de los otros hilos. Cuando se usan más de 3 hilos de señales 310a, 310b y 310c en un sistema de codificación trifásico, dos o más hilos de señales 310a, 310b y/o 310c pueden estar en el mismo estado de señalización en cada intervalo de señalización, aunque cada estado está presente en al menos un hilo de señales 310a, 310b y/o 310c en cada intervalo de señalización.
[0028] La información puede codificarse en la dirección de rotación en cada transición de fase 410, y la señal trifásica puede cambiar de dirección para cada estado de señalización. La dirección de rotación puede determinarse considerando qué hilos de señales 310a, 310b y/o 310c están en el estado '0' antes y después de una transición de fase, ya que el hilo de señales no excitado 310a, 310b y/o 310c cambia en cada estado de señalización en una señal trifásica giratoria, independientemente de la dirección de rotación.
[0029] El esquema de codificación también puede codificar información en la polaridad 408 de los dos conductores 310a, 310b y/o 310c que se excitan de forma activa. En cualquier momento, en una implementación de 3 hilos, exactamente dos de los conductores 310a, 310b, 310c se excitan con corrientes en direcciones opuestas y/o con un diferencial de tensión. En una implementación, los datos se pueden codificar usando dos valores de bit 412, donde un bit se codifica en la dirección de las transiciones de fase 410 y el segundo bit se codifica en la polaridad 408 para el estado actual.
[0030] El cronograma 400 ilustra la codificación de datos usando tanto la dirección de rotación de fase como la polaridad. Las curvas 402, 404 y 406 se refieren a señales transportadas en tres hilos de señales 310a, 310b y 310c, respectivamente para múltiples estados de fase. Inicialmente, las transiciones de fase 410 están en el sentido de las agujas del reloj y el bit más significativo se establece en un '1' binario hasta que la rotación de las transiciones de fase 410 cambie en el tiempo 414 al sentido contrario a las agujas del reloj, como se representa mediante un '0' binario del bit más significativo. El bit menos significativo refleja la polaridad 408 de la señal en cada estado.
[0031] De acuerdo con determinados aspectos divulgados en el presente documento, un bit de datos puede codificarse en la rotación, o cambio de fase en un sistema de codificación trifásico de 3 hilos, y un bit adicional puede codificarse en la polaridad de los dos hilos excitados. Se puede codificar información adicional en cada transición de un sistema de codificación trifásico de 3 hilos permitiendo la transición a cualquiera de los estados posibles desde un estado actual. Dadas 3 fases rotacionales y dos polaridades para cada fase, hay 6 estados disponibles en un sistema de codificación trifásico de 3 hilos. En consecuencia, hay 5 estados disponibles desde cualquier estado actual, y puede haber log2(5) @ 2,32 bits codificados por símbolo (transición), lo que permite que el correlacionador 302 acepte una palabra de 16 bits y la codifique en 7 símbolos.
[0032] La transferencia de datos de N fases puede usar más de tres hilos proporcionados en un medio de comunicación, tal como un bus. El uso de hilos de señales adicionales que pueden excitarse simultáneamente proporciona más combinaciones de estados y polaridades y permite que se codifiquen más bits de datos en cada transición entre estados. Esto puede mejorar significativamente el rendimiento del sistema y reducir el consumo de energía en los enfoques que usan múltiples pares diferenciales para transmitir bits de datos, al tiempo que proporciona un mayor ancho de banda.
[0033] En un ejemplo, un codificador puede transmitir símbolos usando 6 hilos con 2 pares de hilos excitados para cada estado. Los 6 hilos pueden estar etiquetados de A a F, de modo que en un estado, los hilos A y F se excitan de forma positiva, los hilos B y E de forma negativa, y C y D no están excitados (o no llevan corriente). Para seis hilos, puede haber:
Figure imgf000007_0001
posibles combinaciones de hilos excitados de forma activa, con:
Figure imgf000007_0002
combinaciones diferentes de polaridad para cada estado de fase.
[0034] Las 15 combinaciones diferentes de hilos excitados de forma activa pueden incluir:
A B C D A B C E A B C F A B D E A B D F
A B E F A C D E A C D F A C E F A D E F
B C D E B C D F B C E F B D E F C D E F
De los 4 hilos excitados, las posibles combinaciones de dos hilos excitados de forma positiva (y los otros dos deben estar excitados de forma negativa). Las combinaciones de polaridad pueden incluir:
+-- --+ -+- -+-+ -++- --++
[0035] En consecuencia, el número total de estados diferentes se puede calcular como 15 x 6 = 90. Para garantizar una transición entre símbolos, hay 89 estados disponibles desde cualquier estado actual, y el número de bits que pueden codificarse en cada símbolo puede calcularse como: log2(89) @ 6,47 bits por símbolo. En este ejemplo, el correlacionador puede codificar una palabra de 32 bits en 5 símbolos, dado que 5 x 6,47 = 32,35 bits.
[0036] La ecuación general para el número de combinaciones de hilos que pueden excitarse para un bus de cualquier tamaño, en función del número de hilos en el bus y el número de hilos excitados simultáneamente:
Figure imgf000008_0001
una ecuación para calcular el número de combinaciones de polaridad para los hilos que se excitan es:
Figure imgf000008_0002
El número equivalente de bits por símbolo puede establecerse como:
Figure imgf000008_0003
[0037] La FIG. 5 es un diagrama de estados 500 que ilustra 6 estados y 30 transiciones de estado posibles en un ejemplo de un enlace de comunicación trifásico de 3 hilos. Los estados posibles 502, 504, 506, 512, 514 y 516 en el diagrama de estados 500 incluyen y expanden los estados mostrados en el diagrama de estados circular 450 de la FIG. 4. Como se muestra en el ejemplo de un elemento de estado 520, cada estado 502, 504, 506, 512, 514 y 516 en el diagrama de estados 500 incluye un campo 522 que muestra el estado de tensión de las señales A, B y C (transmitidas en los hilos de señales 310a, 310b y 310c respectivamente), un campo 524 que muestra el resultado de una sustracción de las tensiones de hilo por receptores diferenciales (véanse los receptores diferenciales 602 de la FIG. 6, por ejemplo), respectivamente, y un campo 526 que indica la dirección de rotación. Por ejemplo, en el estado 502 (+x) hilo A = 1, hilo B = -1 e hilo C = 0, produciendo la salida del receptor diferencial 702a (A-B) = 2, del receptor diferencial 702b (B-C) = -1 y del receptor diferencial 702c (C-A) = 1. Como se ilustra en el diagrama de estados, las decisiones de transición tomadas por los circuitos de detección de cambio de fase en un receptor se basan en 5 niveles posibles producidos por receptores diferenciales, que incluyen estados de tensión -2, -1,0, 1 y 2.
[0038] La FIG. 6 es un diagrama que ilustra determinados aspectos de un descodificador trifásico de 3 hilos 600. Receptores diferenciales 602 y un descodificador de estado de hilo 604 están configurados para proporcionar una representación digital del estado de las tres líneas de transmisión (por ejemplo, los hilos de señales 310a, 310b y 310c ilustrados en la figura 3), una con respecto a la otra, y para detectar cambios en el estado de las tres líneas de transmisión en comparación con el estado transmitido en el período de símbolo anterior. Convertidores de serie a paralelo 606 ensamblan siete estados consecutivos para obtener un conjunto de 7 símbolos para ser procesados por el descorrelacionador 608. El descorrelacionador 608 produce 16 bits de datos que pueden almacenarse en un registro de tipo 'primero en entrar, primero en salir' (FIFO) 610.
[0039] El descodificador de estado de hilo 604 puede extraer una secuencia de símbolos 614 de las señales codificadas en fase recibidas en los hilos de señales 310a, 310b y 310c. Los símbolos 614 están codificados como una combinación de rotación de fase y polaridad como se divulga en el presente documento. El descodificador de estado de hilo puede incluir un circuito de CDR 624 que extrae un reloj 626 que se puede usar para capturar de manera fiable símbolos de los hilos de señales 310a, 310b y 310c. Se produce una transición en al menos uno de los hilos de señales 310a, 310b y 310c en cada límite de símbolo y el circuito de CDR 624 puede configurarse para generar el reloj 626 en base a que se produzca una transición o múltiples transiciones. Un borde del reloj puede retardarse para dar tiempo a que todos los hilos de señales 310a, 310b y 310c se hayan estabilizado y para asegurar de ese modo que el símbolo de corriente se capture con fines de descodificación.
Fluctuación en interfaces trifásicas
[0040] Un transmisor trifásico incluye excitadores que proporcionan tensiones de nivel alto, bajo y medio en el canal de transmisión. Esto da como resultado algunas transiciones variables entre intervalos de símbolo consecutivos. Las transiciones de tensión de baja a alta y de alta a baja pueden denominarse transiciones de oscilación completa, mientras que las transiciones de tensión de baja a media y de alta a media pueden denominarse transiciones de media oscilación. Los diferentes tipos de transiciones pueden tener diferentes tiempos de subida o bajada, y pueden dar como resultado diferentes cruces por cero en el receptor. Estas diferencias pueden dar lugar a una "fluctuación de codificación", que puede afectar el rendimiento de integridad de las señales de enlace.
[0041] La FIG. 7 es un cronograma 700 que ilustra determinados aspectos de la variabilidad de transición a la salida de un transmisor trifásico C-PHY. La variabilidad en los tiempos de transición de señal puede atribuirse a la existencia de los diferentes niveles de tensión y/o corriente usados en la señalización trifásica. El cronograma 700 ilustra los tiempos de transición en una señal recibida desde un único hilo de señales 310a, 310b o 310c. Un primer símbolo Symn 702 se transmite en un primer intervalo de símbolos que termina en un tiempo 722 cuando un segundo símbolo Symn+1724 se transmite en un segundo intervalo de símbolos. El segundo intervalo de símbolos puede terminar en el tiempo 726 cuando se transmite un tercer símbolo Symn+2706 en el tercer intervalo de símbolo, que termina cuando se transmite un cuarto símbolo Symn+3708 en un cuarto intervalo de símbolos. La transición desde un estado determinado por el primer símbolo 702 al estado correspondiente al segundo símbolo 704 puede ser detectable después de un retardo 712 atribuible al tiempo necesario para que la tensión en el hilo de señales 310a, 310b o 310c alcance una tensión umbral 718 y/o 720. Las tensiones umbral se pueden usar para determinar el estado del hilo de señales 310a, 310b o 310c. La transición desde un estado determinado por el segundo símbolo 704 al estado del tercer símbolo 706 puede ser detectable después de un retardo 714 atribuible al tiempo necesario para que el tensión en el hilo de señales 310a, 310b o 310c alcance una de los tensiones umbral 718 y/o 720. La transición desde un estado determinado por el tercer símbolo 706 al estado del cuarto símbolo 708 puede ser detectable después de un retardo 716 atribuible al tiempo necesario para que la tensión en el hilo de señales 310a, 310b o 310c alcance una tensión umbral 718 y/o 720. Los retardos 712, 714 y 716 pueden tener diferentes duraciones, lo que puede atribuirse, en parte, a variaciones en los procesos de fabricación de dispositivo y las condiciones operativas, lo que puede producir efectos desiguales en las transiciones entre diferentes niveles de tensión o corriente asociados a los 3 estados y/o diferentes magnitudes de transición. Estas diferencias pueden contribuir a la fluctuación y otros problemas en el receptor trifásico C-PHY.
[0042] La FIG. 8 incluye un esquema de bloques 800 que ilustra determinados aspectos de los circuitos CDR que pueden proporcionarse en un receptor en una interfaz trifásica C-PHY. Un conjunto de receptores diferenciales 802a, 802b y 802c está configurado para generar un conjunto de señales de diferencia 810 comparando cada uno de los tres hilos de señales 310a, 310b y 310c de un trío con el otro de los tres hilos de señales 310a, 310b y 310c del trío. En el ejemplo representado, un primer receptor diferencial 802a compara los estados de los hilos de señales 310a y 310b, un segundo receptor diferencial 802b compara los estados de los hilos de señales 310b y 310c y un tercer receptor diferencial 802c compara los estados de los hilos de señales 310a y 310c. En consecuencia, un circuito de detección de transiciones 804 puede configurarse para detectar la aparición de un cambio de fase debido a que la salida de al menos uno de los receptores diferenciales 802a, 802b y 802c cambia al final de cada intervalo de símbolos.
[0043] Determinadas transiciones entre símbolos transmitidos pueden ser detectables por un único receptor diferencial 802a, 802b o 802c, mientras que otras transiciones pueden ser detectadas por dos o más receptores diferenciales 802a, 802b y 802c. En un ejemplo, los estados o estados relativos de dos hilos pueden permanecer sin cambios después de una transición, y la salida de un receptor diferencial correspondiente 802a, 802b o 802c también puede permanecer sin cambios después de la transición de fase. En otro ejemplo, ambos hilos de un par de hilos de señales 310a, 310b y/o 310c pueden estar en el mismo estado en un primer intervalo de tiempo y ambos hilos pueden estar en el mismo segundo estado en un segundo intervalo de tiempo, y el receptor diferencial correspondiente 802a, 802b u 802c pueden permanecer sin cambios después de la transición de fase. En consecuencia, un circuito de generación de reloj 806 puede incluir un circuito de detección de transiciones 804 y/u otra lógica para supervisar las salidas de todos los receptores diferenciales 802a, 802b y 802c para determinar cuándo se ha producido una transición de fase. El circuito de generación de reloj puede generar una señal de reloj de recepción 808 en base a las transiciones de fase detectadas.
[0044] Se pueden detectar cambios en los estados de señalización de los 3 hilos en diferentes momentos para diferentes combinaciones de los hilos de señales 310a, 310b y/o 310c. La temporización de detección de los cambios de estado de señalización puede variar de acuerdo con el tipo de cambio de estado de señalización que se haya producido. El resultado de dicha variabilidad se ilustra en el cronograma 850 de la FIG. 8. Los marcadores 822, 824 y 826 representan la aparición de transiciones en las señales de diferencia 810 proporcionadas al circuito de detección de transiciones 804. A los marcadores 822, 824 y 826 se les asignan diferentes alturas en el cronograma 850 solo por claridad de ilustración, y las alturas relativas de los marcadores 822, 824 y 826 no pretenden mostrar una relación específica con los niveles de tensión o corriente, polaridad o valores de ponderación usados para la generación de reloj o la descodificación de datos. El cronograma 850 ilustra el efecto de la temporización de las transiciones asociadas a símbolos transmitidos en fase y la polaridad en los tres hilos de señales 310a, 310b y 310c. En el cronograma 850, las transiciones entre algunos símbolos pueden dar como resultado ventanas de captura variables 830a, 830b, 830c, 830d, 830e, 830f y/o 830g (de manera conjunta, ventanas de captura de símbolos 830) durante las cuales los símbolos pueden capturarse de manera fiable. El número de cambios de estado detectados y su temporización relativa pueden dar como resultado fluctuaciones en la señal de reloj 808.
[0045] El rendimiento de un enlace de comunicaciones C-PHY puede verse afectado por la duración y la variabilidad en los tiempos de transición de señal. Por ejemplo, la variabilidad en los circuitos de detección puede ser causada por las tolerancias del proceso de fabricación, las variaciones y la estabilidad de las fuentes de tensión y corriente y la temperatura de funcionamiento, así como por las características eléctricas de los hilos de señales 310a, 310b y 310c. La variabilidad en los circuitos de detección puede limitar el ancho de banda de canal.
[0046] La FIG. 9 incluye cronogramas 900 y 920 representativos de determinados ejemplos de transiciones desde un primer estado de señalización a un segundo estado de señalización entre determinados símbolos consecutivos. Las transiciones de estado de señalización ilustradas en los cronogramas 900 y 920 se seleccionan con fines ilustrativos, y pueden producirse otras transiciones y combinaciones de transiciones en una interfaz C-PHY de la Alianza MIPI. Los cronogramas 900 y 920 se refieren a un ejemplo de un enlace de comunicaciones trifásico de 3 hilos, en el que pueden producirse múltiples transiciones de salida de receptor en cada límite de intervalo de símbolos debido a diferencias en el tiempo de subida y de bajada entre los niveles de señal en el trío de hilos. Con referencia también a la FIG. 8, los primeros cronogramas 900 ilustran los estados de señalización del trío de hilos de señales 310a, 310b y 310c (A, B y C) antes y después de una transición, y segundos gráficos de temporización 920 ilustran las salidas de los receptores diferenciales 802a, 802b y 802c, que proporcionan señales de diferencia 810 representativas de las diferencias entre los hilos de señales 310a, 310b y 310c. En muchos casos, un conjunto de receptores diferenciales 802a, 802b y 802c puede configurarse para capturar transiciones comparando diferentes combinaciones para dos hilos de señales 310a, 310b y 310c. En un ejemplo, estos receptores diferenciales 802a, 802b y 802c pueden configurarse para producir salidas determinando la diferencia (por ejemplo, por sustracción) de sus respectivas tensiones de entrada.
[0047] En cada uno de los ejemplos mostrados en los cronogramas 900 y 920, el símbolo inicial (-z) 516 (véase la figura 8) pasa a un símbolo diferente. Como se muestra en los cronogramas 902, 904 y 906, la señal A está inicialmente en un estado 1, la señal B está en un estado 0 y la señal C está en el estado -1. En consecuencia, los receptores diferenciales 802a, 802b miden inicialmente una diferencia de 1,924, y el receptor diferencial 802c mide una diferencia de -2, 926, como se muestra en los cronogramas 922, 932, 938 para las salidas de receptor diferencial.
[0048] En un primer ejemplo correspondiente a los cronogramas 902, 922, se produce una transición del símbolo (-z) 516 al símbolo (-x) 512 (véase la FIG. 8) en el que una señal A pasa a un estado -1, una señal B pasa a un estado 1 y una señal C pasa a un estado 0, donde el receptor diferencial 802a pasa de una diferencia de 1, 924, a una diferencia de -2, 930, donde el receptor diferencial 802b permanece en una diferencia 1, 924, 928, y el receptor diferencial 802c pasa de una diferencia de -2, 926, a una diferencia de 1,928.
[0049] En un segundo ejemplo correspondiente a los cronogramas 904, 932, se produce una transición del símbolo (-z) 516 al símbolo (+z) 506 en la que la señal A pasa a un estado -1, la señal B permanece en el estado 0 y la señal C pasa a un estado 1, donde dos receptores diferenciales 802a y 802b pasan de una diferencia de 1, 924, a diferencia de -1,936, y el receptor diferencial 802c pasa de una diferencia de -2, 926, a una diferencia de 2, 934.
[0050] En un tercer ejemplo correspondiente a los cronogramas 906, 938, se produce una transición del símbolo (-z) 516 al símbolo (+x) 502 en la que la señal A permanece en el estado 1, la señal B pasa al estado -1 y la señal C pasa a un estado 0, donde el receptor diferencial 802a pasa de una diferencia de 1,924, a una diferencia de 2, 940, donde el receptor diferencial 802b pasa de una diferencia de 1, 924, a una diferencia de -1, 942, y el receptor diferencial 802c pasa de una diferencia de -2, 926, a una diferencia de -1,942.
[0051] Estos ejemplos ilustran transiciones en valores de diferencia que abarcan 0, 1, 2, 3, 4 y 5 niveles. Técnicas de preacentuación usadas en transmisores serie típicos diferenciales o de un solo extremo se desarrollaron para transiciones de dos niveles y pueden introducir determinados efectos adversos si se usan en una señal trifásica C-PHY de la Alianza MIPI. En particular, un circuito de preacentuación que sobreexcita una señal durante las transiciones puede causar una sobretensión durante las transiciones que abarcan 1 o 2 niveles y puede generar disparadores falsos en circuitos sensibles a los flancos.
[0052] La FIG. 10 ilustra un patrón de ojo 1000 generado como una superposición de múltiples intervalos de símbolos, incluido un único intervalo de símbolos 1002. Una región de transición de señal 1004 representa un período de tiempo de incertidumbre en el límite entre dos símbolos donde los tiempos de subida de señal variables impiden la descodificación fiable. La información de estado puede determinarse de manera fiable en una región definida por una máscara de ojo 1006 dentro de una "apertura de ojo" que representa el período de tiempo en el que el símbolo es estable y puede recibirse y descodificarse de manera fiable. La máscara de ojo 1006 enmascara una región en la que no se producen cruces por cero, y el descodificador usa la máscara de ojo para evitar una sincronización múltiple debido al efecto de cruces por cero posteriores en el límite del intervalo de símbolos que sigue al primer cruce por cero de la señal.
[0053] El concepto de muestreo periódico y visualización de la señal es útil durante el diseño, la adaptación y la configuración de sistemas que usan un circuito de recuperación de datos de reloj que recrea la señal de temporización de datos recibida usando transiciones frecuentes que aparecen en los datos recibidos. Un sistema de comunicación basado en la tecnología de serializador/deserializador (SERDES) es un ejemplo de un sistema en el que se puede utilizar un patrón de ojo 1000 como base para determinar la capacidad de recuperar datos de manera fiable en base a la apertura de ojo del patrón de ojo 1000.
[0054] Un sistema de codificación de N fases y M hilos, tal como un codificador trifásico de 3 hilos puede codificar una señal que tiene al menos una transición en cada límite de símbolo, y el receptor puede recuperar un reloj usando esas transiciones garantizadas. El receptor puede requerir datos fiables inmediatamente antes de la primera transición de señal en un límite de símbolo, y también debe ser capaz de enmascarar de manera fiable cualquier aparición de múltiples transiciones que estén correlacionadas con el mismo límite de símbolo. Se pueden producir múltiples transiciones de receptor debido a ligeras diferencias en el tiempo de subida y de bajada entre las señales transportadas en los M hilos (por ejemplo, un trío de hilos) y debido a ligeras diferencias en los tiempos de propagación de señal entre las combinaciones de pares de señales recibidos (por ejemplo, salidas A-B, B-C y C-A de receptores diferenciales 802a, 802b y 802c de la FIG. 6).
[0055] La FIG. 11 ilustra un ejemplo de un patrón de ojo 1100 generado para una señal trifásica C-PHY. El patrón de ojo 1100 puede generarse a partir de una superposición de múltiples intervalos de símbolos 1102. El patrón de ojo 1100 puede producirse usando un disparador fijo y/o independiente de símbolo 1130. El patrón de ojo 1100 incluye un mayor número de niveles de tensión 1120, 1122, 1124, 1126, 1128 que pueden atribuirse a los múltiples niveles de tensión medidos por los receptores diferenciales 802a, 802b, 802c y un circuito receptor de N fases (véase la FIG.
8). En el ejemplo, el patrón de ojo 1100 puede corresponder a posibles transiciones en señales codificadas trifásicas de 3 hilos proporcionadas a los receptores diferenciales 802a, 802b y 802c. Los tres niveles de tensión pueden hacer que los receptores diferenciales 802a, 802b y 802c generen niveles de tensión fuertes 1126, 1128 y niveles de tensión débiles 1122, 1124 para polaridades tanto positivas como negativas. Típicamente, solo un hilo de señales 310a, 310b y 310c no está excitado en ningún símbolo, y los receptores diferenciales 802a, 802b y 802c no producen una salida de estado 0 (en este caso, 0 voltios). Las tensiones asociadas a niveles fuertes y débiles no necesitan estar espaciadas uniformemente con respecto a un nivel de 0 voltios. Por ejemplo, los niveles de tensión débiles 1122, 1124 representan una comparación de tensiones que pueden incluir el nivel de tensión alcanzado por un hilo de señales no excitado 310a, 310b y 310c. El patrón de ojo 1100 puede superponerse a las formas de onda producidas por los receptores diferenciales 802a, 802b y 802c ya que los tres pares de señales se consideran simultáneamente cuando se capturan datos en el dispositivo receptor. Las formas de onda producidas por los receptores diferenciales 802a, 802b y 802c son representativas de las señales de diferencia 810 que representan comparaciones de tres pares de señales (A-B, B-C y C-A).
[0056] Los excitadores, receptores y otros dispositivos usados en un descodificador trifásico C-PHY pueden presentar diferentes características de conmutación que pueden introducir retardos relativos entre las señales recibidas desde los tres hilos. Se pueden observar múltiples transiciones de salida de receptor en cada límite de intervalo de símbolos 1108 y/o 1114 debido a ligeras diferencias en el tiempo de subida y de bajada entre las tres señales del trío de hilos de señales 310a, 310b, 310c y debido a ligeras diferencias en los tiempos de propagación de señales entre las combinaciones de pares de señales recibidas desde los hilos de señales 310a, 310b, 310c. El patrón de ojo 1100 puede capturar variaciones en los tiempos de subida y bajada como un retardo relativo en las transiciones cerca de cada límite de intervalo de símbolo 1108 y 1114. Las variaciones en los tiempos de subida y bajada pueden deberse a las diferentes características de los excitadores trifásicos. Las diferencias en los tiempos de subida y bajada también pueden dar como resultado un acortamiento o alargamiento efectivo de la duración del intervalo de símbolo 1102 para cualquier símbolo dado.
[0057] Una región de transición de señal 1104 representa un tiempo, o período de incertidumbre, donde los tiempos de subida de señal variables impiden una descodificación fiable. La información de estado puede determinarse de manera fiable en una "apertura de ojo" 1106 que representa el período de tiempo en el que el símbolo es estable y puede recibirse y descodificarse de manera fiable. En un ejemplo, se puede determinar que la abertura de ojo 1106 comienza en el extremo 1112 de la región de transición de señal 1104, y termina en el límite de intervalo de símbolo 1114 del intervalo de símbolos 1102. En el ejemplo representado en la FIG. 11, se puede determinar que la abertura de ojo 1106 comienza al final 1112 de la región de transición de señal 1104, y termina en un tiempo 1116 cuando el estado de señalización de los hilos de señales 310a, 310b, 310c y/o las salidas de los tres receptores diferenciales 802a, 802b y 802c han comenzado a cambiar para reflejar el siguiente símbolo.
[0058] La velocidad máxima de un enlace de comunicación 220 configurado para la codificación de N fases puede estar limitada por la duración de la región de transición de señal 1104 en comparación con la abertura de ojo 1106 correspondiente a la señal recibida. El período mínimo para el intervalo de símbolos 1102 puede estar limitado por márgenes de diseño más ajustados asociados al circuito de CDR 624 en el descodificador 600 ilustrado en la FIG. 6, por ejemplo. Diferentes transiciones de estado de señalización pueden estar asociadas a diferentes variaciones en los tiempos de transición de señal correspondientes a dos o más hilos de señales 310a, 310b y/o 310c, causando así que las salidas de los receptores diferenciales 802a, 802b y 802c en el dispositivo receptor cambien en momentos y/o velocidades diferentes con respecto al límite de intervalo de símbolos 1108, donde las entradas de los receptores diferenciales 802a, 802b y 802c comienzan a cambiar. Las diferencias entre los tiempos de transición de señal pueden dar como resultado sesgos de temporización entre transiciones de señalización en dos o más señales de diferencia 810. Los circuitos CDR pueden incluir elementos de retardo y otros circuitos para incluir sesgos de temporización entre las señales de diferencia 810.
[0059] La FIG. 12 proporciona un ejemplo de un circuito de CDR 1200 para una interfaz trifásica de 3 hilos. El circuito de CDR 1200 ilustrado incluye determinadas características y elementos funcionales que son comunes a muchos tipos diferentes de circuitos de recuperación de reloj. El circuito de CDR 1200 recibe señales de diferencia 1202, 1204, 1206, que pueden deducirse de las señales de diferencia 810 producidas por los receptores diferenciales 802a, 802b y 802c de la FIG. 8, por ejemplo. En el circuito de CDR 1200, cada señal de diferencia 1202, 1204, 1206 sincroniza un par de biestables D 1210a, 1210b, 1210c para producir señales de salida 1230a-1230f. Las señales de salida 1230a-1230f transportan un pulso cuando se detecta una transición en la señal de diferencia correspondiente 1202, 1204, 1206. Un flanco de subida proporcionado a una entrada de reloj en un biestable D marca un uno lógico a través del biestable D. Se pueden usar inversores 1208a, 1208b, 1208c para proporcionar versiones invertidas de las señales de diferencia 1202, 1204, 1206 a uno de los biestables D en cada par correspondiente de biestables D 1210a, 1210b, 1210c. En consecuencia, cada par de biestables D 1210a, 1210b, 1210c produce pulsos sensibles al flanco de subida y a los flancos de bajada detectados en la señal de diferencia correspondiente 1202, 1204, 1206.
[0060] Por ejemplo, la señal de diferencia AB 1202 se proporciona a un primer biestable D 1232 de un primer par de biestables D 1210a, y el inversor 1208a proporciona una versión invertida de la señal de diferencia AB 1202 a un segundo biestable D 1234 del primer par de biestables D 1210a. Los biestables D están inicialmente en un estado de reajuste. Un flanco de subida en la señal de diferencia AB 1202 registra un uno lógico a través del primer biestable D 1232 haciendo que la salida del primer biestable (r_AB) 1230a pase a un estado de un uno lógico. Un flanco de bajada en la señal de diferencia AB 1202 marca un uno lógico a través del segundo biestable D 1234 provocando que la salida del segundo biestable (f_AB) 1230b pase a un estado de un uno lógico.
[0061] Las señales de salida 1230a-1230f se proporcionan a la lógica, tal como la puerta OR 1212, que produce una señal de salida que puede servir como la señal de reloj de receptor (RxCLK) 1222. La señal RxCLK 1222 pasa a un estado de un uno lógico cuando se produce una transición en el estado de señalización de cualquiera de las señales de diferencia 1202, 1204, 1206. La señal RxCLK 1222 se proporciona a un elemento de retardo programable 1214, que excita una señal de reajuste (rb) 1228 que reajusta los biestables D en los pares de biestables D 1210a, 1210b, 1210c. En el ejemplo ilustrado, se puede incluir un inversor 1216 cuando los biestables D se reajustan mediante una señal baja. Cuando los biestables D se reajustan, la salida de la puerta OR 1212 vuelve al estado de cero lógico y el pulso en la señal RxCLK 1222 finaliza. Cuando este estado de cero lógico se propaga a través del elemento de retardo programable 1214 y el inversor 1216, se libera la condición de reajuste en los biestables D. Mientras los biestables D están en la condición de reajuste, las transiciones en las señales de diferencia 1202, 1204, 1206 se ignoran.
[0062] El elemento de retardo programable 1214 está configurado típicamente para producir un retardo que tiene una duración que excede la diferencia en el sesgo de tiempo entre la aparición de la primera y la última transición en las señales de diferencia 1202, 1204, 1206. El elemento de retardo programable 1214 configura la duración de los pulsos (es decir, el ancho del pulso) en la señal RxCLK 1222. El elemento de retardo programable 1214 puede configurarse cuando un procesador u otra lógica de control y/o configuración establece una señal Fijar 1226.
[0063] La señal RxCLK 1222 también puede proporcionarse a un conjunto de tres biestables 1220 que capturan el estado de señalización de las señales de diferencia 1202, 1204, 1206, proporcionando un símbolo de salida estable 1224 para cada impulso que se produce en la señal RxCLK 1222. La lógica de retardo o alineación 1218 puede ajustar la temporización del conjunto de señales de diferencia 1202, 1204, 1206. Por ejemplo, la lógica de retardo o de alineación 1218 se puede usar para ajustar la temporización de las señales de diferencia 1202, 1204, 1206 con respecto a los pulsos en la señal RxCLK 1222 para garantizar que los biestables 1220 capturen el estado de señalización de las señales de diferencia 1202, 1204, 1206 cuando las señales de diferencia 1202, 1204, 1206 son estables. La lógica de retardo o de alineación 1218 puede retardar los flancos en las señales de diferencia 1202, 1204, 1206 en base al retardo configurado para el elemento de retardo programable 1214.
[0064] El elemento de retardo programable 1214 puede configurarse en el circuito de CDR 1200 para incluir posibles grandes variaciones en los tiempos de transición en las señales de diferencia 1202, 1204, 1206. En un ejemplo, el elemento de retardo programable 1214 puede introducir un período de retardo mínimo que excede la duración del sesgo de tiempo entre la aparición de la primera y la última transición en las señales de diferencia 1202, 1204, 1206. Para un funcionamiento fiable del circuito de CDR 1200, el tiempo de retardo máximo proporcionado por el elemento de retardo programable 1214 no puede ser mayor que el intervalo de símbolos. A velocidades de transferencia de datos más rápidas, el sesgo de tiempo aumenta como una proporción del intervalo de símbolos 1102, y la abertura de ojo 1106 puede volverse pequeña en comparación con el intervalo de símbolos 1102. La velocidad máxima de transmisión de símbolos puede estar limitada cuando el sesgo de tiempo reduce el porcentaje del intervalo de símbolos 1102 ocupado por la abertura de ojo 1106 por debajo de un tamaño de umbral que puede admitir una captura fiable de símbolos.
[0065] La FIG. 13 es un cronograma que ilustra determinados aspectos del funcionamiento del circuito de CDR 1200. El diagrama se refiere a operaciones después de que el elemento de retardo programable 1214 se haya configurado y la señal Fijar 1226 esté inactiva. El circuito de CDR 1200 funciona como un detector de flancos. La codificación trifásica C-PHy proporciona una sola transición de estado de señalización por intervalo unitario (UI) 1302. Las diferencias en el estado de cada hilo del trío y/o las características de transmisión del trío pueden provocar que aparezca una transición en diferentes momentos en dos o más hilos. La diferencia máxima en el tiempo de ocurrencia de transiciones en las señales de diferencia 1202, 1204, 1206 puede denominarse tiempo de sesgo (tsesgo) 1304. Otros retardos asociados al circuito de CDR 1200 incluyen el retardo de propagación (tck2q) 1314 a través de los pares de biestables D 1210a, 1210b, 1210c, el retardo de propagación (tOR_ü) 1316 asociado a un flanco de subida que ha pasado a través de la puerta OR 1212, el retardo de propagación (tOR_1) 1318 asociado a un flanco de bajada que ha pasado a través de la puerta OR 1212, el retardo programable (tpgm) 1310 combinando el retardo introducido por el elemento de retardo programable 1214 y el excitador/inversor 1216, y el retardo de reajuste (trst) 1312 correspondiente al retardo entre el tiempo de recepción de la señal rb 1228 por los pares de biestables D 1210a, 1210b, 1210C y el tiempo en que se borran las salidas de los biestables.
[0066] Un tiempo de bucle (tbucle) 1320 puede definirse como:
Figure imgf000013_0001
La relación entre tbucle 1320 y el UI 1302 puede determinar la fiabilidad del funcionamiento del circuito de CDR 1200. Esta relación se ve afectada por la frecuencia de reloj usada para la transmisión, que tiene un efecto directo en el UI 1302 y la variabilidad en el funcionamiento del elemento de retardo programable 1214.
[0067] En algunos dispositivos, el funcionamiento del elemento de retardo programable 1214 puede verse afectado por variaciones en el proceso de fabricación, la tensión de suministro del circuito y la temperatura de chip (PVT). El tiempo de retardo proporcionado por el elemento de retardo programable 1214 para un valor configurado puede variar significativamente de un dispositivo a otro y/o de un circuito a otro dentro de un dispositivo. En los sistemas convencionales, la condición de funcionamiento nominal del circuito de CDR 1200 se establece, en general, por diseño para generar un flanco de reloj en algún lugar en el medio de la abertura de ojo 1106 en todas las condiciones de PVT, para garantizar que se produzca un flanco de reloj después del final 1112 de la región de transición de señal 1104 y antes del comienzo de la región de transición al siguiente símbolo, incluso bajo los peores efectos de PVT. Puede surgir dificultad al diseñar un circuito de CDR 1200 que garantice un flanco de reloj dentro de la abertura de ojo 1106 cuando la frecuencia de transmisión aumenta y el sesgo de tiempo de las señales de diferencia 1202, 1204, 1206 es grande en comparación con el UI 1302. Por ejemplo, un elemento de retardo típico puede producir un valor de retardo que cambia en un factor de 2 en todas las condiciones de PVT.
[0068] La FIG. 14 es un cronograma 1400 que ilustra el efecto de un elemento de retardo programable 1214 que proporciona un retardo insuficiente. En este ejemplo, tbucle 1406 es demasiado corto para el tsesgo observado 1404, y se generan múltiples pulsos de reloj 1408, 1410 en un UI 1402. Es decir, el retardo de bucle tbucle 1406 no es lo suficientemente grande en relación con tsesgo 1404, y las transiciones que se producen posteriormente en las señales de diferencia 1202, 1204, 1206 no están enmascaradas. En el ejemplo representado, se puede detectar una segunda transición 1414 en una de las señales de diferencia 1206 después de que se haya generado un pulso 1408 en respuesta a una transición 1412 que se produce en primer lugar en otra de las señales de diferencia 1202. En este ejemplo, la frecuencia de reloj recuperada puede ser el doble de la frecuencia de reloj usada para transmitir símbolos en la interfaz trifásica.
[0069] La FIG. 15 es un cronograma 1500 que ilustra el efecto de un elemento de retardo programable 1214 que proporciona un retardo que es demasiado largo. En este ejemplo, tbucle 1506 es mayor que el UI 1502. El circuito de CDR 1200 puede generar un pulso de reloj 1508 en respuesta a una transición 1514 que se produce en primer lugar en un primer UI 1502, pero la señal rb 1228 puede estar activa cuando las transiciones 1516, 1518 se producen en un segundo UI 1512. En el ejemplo representado, las transiciones 1516, 1518 en el segundo UI 1512 están enmascaradas, y se suprime el pulso esperado 1510 correspondiente al segundo UI 1512. En este ejemplo, la frecuencia de reloj recuperada puede ser la mitad de la frecuencia de reloj usada para transmitir símbolos en la interfaz trifásica.
[0070] Como se ilustra mediante los ejemplos de las FIG. 14 y 15, el circuito de CDR 1200 puede estar sujeto a la restricción:
tsesgo < tbucle < U I .
La evidencia empírica sugiere que W ie 1320, 1406, 1506 es muy sensible a PVT. En algunos casos, el retardo proporcionado por el elemento de retardo programable 1214 puede aumentarse para permitir el intervalo de posibles variaciones de PVT. A medida que aumentan las velocidades de datos, disminuye y tsesgo aumenta proporcionalmente con respecto al UI, reduciendo el posible intervalo de retardos disponibles para configurar el elemento de retardo programable 1214.
Generación de reloj mejorada para interfaces trifásicas C-PHY
[0071] De acuerdo con determinados aspectos divulgados en el presente documento, un circuito de recuperación de reloj usado en un receptor multifásico C-PHY puede evitar problemas asociados a variaciones en PVT. Un circuito de recuperación de reloj puede adaptarse para detectar transiciones en algunos UI y para suprimir la detección de transiciones en otros UI. El circuito de recuperación del reloj puede generar pulsos interpolados para UI en los que se suprime la detección de transiciones. En un primer modo de operación, se puede configurar un retardo programado para hacer que un circuito de CDR suprima la detección de transiciones en un UI que se produce en segundo lugar después de detectar una transición en un UI que se produce en primer lugar. En este primer modo de funcionamiento, el circuito de CDR genera una señal de reloj con una frecuencia que es la mitad de la frecuencia de la frecuencia de transmisión de símbolo. En un segundo modo de funcionamiento, el retardo programado puede configurarse para hacer que el circuito de CDR suprima la detección de transiciones en dos UI posteriores después de detectar una transición en el UI que se produce en primer lugar. En el segundo modo de funcionamiento, el circuito de CDR genera una señal de reloj con una frecuencia que es un tercio de la frecuencia de la frecuencia de transmisión de símbolo. Otros modos de funcionamiento pueden producir frecuencias que son un cuarto o menos de la frecuencia de símbolo, etc. Se puede usar un bucle sincronizado por retardo (DLL) para generar pulsos de reloj correspondientes a los UI en los que se suprime la detección de transiciones. Los pulsos de reloj generados por el DLL pueden insertarse entre pulsos de la señal de reloj producida por el circuito de CDR.
[0072] La FIG. 16 es un cronograma 1600 que ilustra la generación de reloj de acuerdo con determinados aspectos divulgados en el presente documento. Uno o más elementos de retardo programables en un circuito de recuperación de reloj pueden adaptarse y/o configurarse con retardos de modo que la detección de flancos y la generación de pulsos se supriman en una proporción de los UI 1618, 1620. En el ejemplo ilustrado, un circuito o bucle generador de pulsos proporciona un pulso de reloj en una señal RxCLK 1602 para un primer UI 1618, pero no detecta las transiciones en un segundo UI posterior 1620. El circuito de recuperación de reloj puede incluir o actuar conjuntamente con un circuito DLL que suministra un pulso 1642 correspondiente al segundo UI 1620 en una señal de reloj intermedia (RxCLK_MID) 1604. El circuito o bucle generador de pulsos puede configurarse para omitir o ignorar transiciones en dos o más UI 1620 después de generar el pulso 1640 en el primer UI 1616, donde uno o más circuitos DLL suministran pulsos para los UI 1620 durante os cuales se suprime la generación de pulsos cuando, por ejemplo, se ignoran las transiciones. Los pulsos generados por el uno o más DLL se pueden colocar entre, y con respecto a, los flancos de subida de la señal RxCLK 1602. La FIG. 16 ilustra un ejemplo a media velocidad en el que la señal RxCLK_MID 1604 se genera con un desfase de 180 grados con respecto a la señal RxCLK 1602.
[0073] La señal RxCLK 1602 y la señal RXCLK_MID 1604 se pueden usar para muestrear versiones retardadas de las señales de diferencia 1202, 1204, 1206 que incluyen, por ejemplo, la señal AB_retardo 1606, que es una versión retardada de la señal AB 1202, y la señal CA_retardo 1608, que es una versión retardada de la señal CA 1206. La señal RxCLK 1602 captura los símbolos pares 1622/1628, 1626/1632 para proporcionar los símbolos 1634 y 1638 en la señal Capturar_par 1610, mientras que la señal RXCLK_MID 1604 captura símbolos impares 1624/1630 para proporcionar símbolos 1636 en la señal Capturar_impar 1612.
[0074] En algunos casos, la señal Capturar_par 1610 y la señal Capturar_impar 1612 se pueden realinear con la señal RxCLK 1602, por ejemplo, de modo que dos o más de los símbolos 1634, 1636, 1638, se puedan leer en paralelo.
[0075] La FIG. 17 ilustra un circuito 1700 que se puede usar de acuerdo con la temporización de la FIG. 16 para capturar de manera fiable los símbolos transmitidos en una interfaz trifásica cuando la restricción de tiempo tsesgo <tbucle <UI indica que la fiabilidad de la recuperación de reloj se vería comprometida de otro modo. El circuito 1700 incluye dos circuitos CDR 1702, 1704 y un circuito DLL 1706 que actúan conjuntamente para producir una primera señal de reloj (ref_clk) 1714 y una segunda señal de reloj (rclk) 1716 que se pueden usar para capturar símbolos de una entrada 1712 que puede incluir las señales de diferencia 1202, 1204, 1206 y las versiones invertidas de las señales de diferencia 1202, 1204, 1206. La señal ref_clk 1714 se genera usando un primer circuito de CDR trifásico 1702. La señal ref_clk 1714 puede proporcionarse como un reloj de referencia que tiene una frecuencia de Fref correspondiente a la frecuencia de transmisión de símbolos de la interfaz trifásica. La señal rclk 1716 se genera usando un segundo circuito de CDR 1704. En diversos modos de funcionamiento, la frecuencia de la señal rclk 1716 puede ser un múltiplo de la frecuencia de la señal ref_clk 1714 (es decir, 2Fref, 1 Fref, 0,5Fref, ^ F ref, 0,25Fref, etc.). El primer circuito de CDR 1702 y el segundo circuito de CDR 1704 pueden tener arquitecturas similares.
[0076] La lógica de calibración de CDR 1708 puede proporcionarse para detectar diferencias en la frecuencia de la señal rclk 1716 con respecto a la frecuencia de la señal ref_clk 1714. Uno o más elementos de retardo programables en el segundo circuito de CDR 1704 pueden calibrarse en base a la diferencia en frecuencias de la señal rclk 1716 y la señal ref_clk 1714. En un ejemplo, la lógica de calibración de CDR 1708 puede proporcionar una señal de control de múltiples bits. La señal de control de múltiples bits puede definir un parámetro de retardo 1720 que controla la duración de los retardos producidos por el elemento de retardo programable en el segundo circuito de CDR 1704. El elemento de retardo programable puede configurarse usando un parámetro que se selecciona para hacer que el segundo circuito de CDR 1704 suprima la generación de pulsos en alguna proporción de los UI 1618, 1620. La señal rclk 1716 se proporciona al circuito DLL 1706, que produce pulsos adicionales en forma de una señal desfasada 1722 que, cuando se combina con pulsos en la señal rclk 1716, puede ser usada por el segundo circuito de CDR 1704 para generar los datos de salida paralelos (ab_o[1:0], bc_o[1:0], ca_o[1:0]).
[0077] El retardo programado en el segundo circuito de CDR 1704 puede configurarse ajustando el retardo programado mientras se supervisa la frecuencia de la señal rclk 1716. Inicialmente, el retardo programado puede establecerse para producir un retardo que persista durante un tiempo menor que el tiempo de UI (el tiempo requerido para transmitir un símbolo). En un ejemplo, el circuito de recuperación de reloj puede configurarse para producir la señal rclk 1716 con una frecuencia igual a la frecuencia de transmisión de símbolo cuando se recibe inicialmente una señal trifásica. El valor del retardo programado puede entonces incrementarse gradualmente hasta que la frecuencia de la señal rclk 1716 se divida por 2, por 3 o por cualquier factor deseado.
[0078] La FIG. 18 ilustra un ejemplo de un circuito de calibración de CDR 1800 usado para configurar el elemento de retardo del segundo circuito de CDR 1704. El circuito de calibración CDR 1800 puede habilitarse mediante una señal 1812, que puede proporcionarse por un circuito de procesamiento. El circuito de calibración de CDR 1800 puede incluir la lógica de acondicionamiento 1802 que se usa para excitar y/o ajustar la temporización de la señal ref_clk 1714 y una señal de reloj de calibración (cal_clk) 1816. En un ejemplo, la señal ref_clk 1714 puede obtenerse de un circuito de CDR de referencia (por ejemplo, el circuito de CDR 1702), un oscilador de funcionamiento libre, un bucle sincronizado en fase u otro circuito de generación de reloj. El circuito de calibración de CDR 1800 puede incluir contadores 1804 y 1806 que están sincronizados por versiones acondicionadas de la señal ref_clk 1714 y de la señal cal_clk 1816. La salida de los contadores 1804 y 1806 puede supervisarse mediante una lógica de comparación 1808, que puede determinar la frecuencia de la señal ref_clk 1714 en relación con la señal cal_clk 1816. Se puede ajustar un contador de calibración 1810 durante ciclos de calibración sucesivos para controlar uno o más elementos de retardo programables en un circuito de CDR (por ejemplo, el segundo circuito de CDR 1704). El contador de calibración 1810 puede, por ejemplo, incrementarse o disminuirse después de cada ciclo de calibración, dependiendo de una determinación tomada por la lógica de comparación 1808. La lógica de comparación 1808 puede controlar el contador de calibración 1810 usando una o más de una señal ascendente/descendente 1818, una señal de contador de habilitación 1820 y una señal de reloj de ciclo de calibración 1822.
[0079] Las frecuencias de reloj pueden medirse usando los contadores 1804, 1806. Los contadores 1804, 1806 pueden incrementarse mediante la señal ref_clk 1714 y la señal cal_clk 1816 durante un período de tiempo predeterminado, que puede determinarse, por ejemplo, mediante la señal de reloj de ciclo de calibración 1824. Un primer contador 1804 puede capturar el número de ciclos de reloj (ref_val) 1814 correspondiente a la señal ref_clk 1714. En algunos casos, el primer contador puede hacerse funcionar inmediatamente después de la inicialización para capturar un ref_val 1814 que es una medida del reloj de transmisión de símbolos a velocidad completa, y en algunos casos este ref_val 1814 obtenido inicialmente puede registrarse o capturarse de otro modo para usarse en ciclos de calibración posteriores. Un segundo contador 1804 cuenta el número de ciclos de reloj (cal_val) 1818 que se producen durante un ciclo de calibración. El ciclo de calibración puede configurarse como un período de tiempo predeterminado o puede ser un período de tiempo ajustable. Para cada ciclo de calibración, se proporciona un parámetro de retardo 1720 al CDR 1704 bajo calibración, y la frecuencia de la señal cal_clk resultante 1814 se puede medir como el cal_val 1818 acumulado por el segundo contador 1806 durante el ciclo de calibración. Cuando cal_val 1818 refleja un valor que es una división de la frecuencia de reloj por el factor deseado, la configuración se completa y el valor final del parámetro de retardo 1720 se puede usar para hacer funcionar el circuito de recuperación de reloj.
[0080] El segundo circuito de CDR 1704 puede calibrarse incrementando o disminuyendo el parámetro de retardo 1720 hasta una frecuencia deseada para la señal cal_clk 1814. Los cambios en la frecuencia pueden provocar cambios en cal_val 1818 y la lógica de comparación 1808 puede continuar la calibración hasta que se obtenga una diferencia predefinida entre cal_val 1818 y ref_val 1816. La calibración puede comenzar con un valor bajo para el parámetro de retardo 1720 y el parámetro de retardo 1720 puede entonces incrementarse para cada ciclo de calibración. La calibración puede comenzar con un valor alto para el parámetro de retardo 1720 y el parámetro de retardo 1720 puede entonces disminuirse para cada ciclo de calibración.
[0081] De acuerdo con determinados aspectos, un receptor puede determinar la frecuencia de transmisión de símbolos nominal de la interfaz C-PHY ajustando los elementos de retardo de un circuito de CDR hasta que se reciba con exactitud una secuencia de acondicionamiento. Un transmisor puede enviar la secuencia de acondicionamiento durante la inicialización de enlaces, antes de transmitir paquetes individuales de datos, después de la detección de un error en el receptor y/o bajo el control de aplicaciones o del sistema. El receptor puede supervisar la actividad de la interfaz C-PHY y puede realizar la calibración al detectar transiciones. En algunos casos, el receptor puede determinar que el circuito de CDR ya ha sido calibrado y puede realizar la calibración si la secuencia de acondicionamiento no se recibe correctamente.
[0082] En el ejemplo ilustrado en la FIG. 12, la calibración comienza cuando el retardo programable 1214 se inicializa a un valor predeterminado que permite que el circuito de CDR 1200 detecte la secuencia de acondicionamiento. El circuito de CDR 1200 puede adaptarse de acuerdo con determinados aspectos divulgados en el presente documento, de modo que el retardo programable 1214 puede ajustarse para aumentar la duración de tbucle 1604 hasta que se detecten errores en la secuencia de acondicionamiento. El circuito de CDR 1200 puede configurarse para un funcionamiento normal con un retardo programable 1214 con un valor que es uno o más incrementos más bajos que el valor que provocó la detección de errores en la secuencia de acondicionamiento.
[0083] La FIG. 19 es un diagrama conceptual 1900 que ilustra un ejemplo de una implementación de hardware para un aparato que emplea un circuito de procesamiento 1902 que puede estar configurado para llevar a cabo una o más funciones divulgadas en el presente documento. De acuerdo con diversos aspectos de la divulgación, se puede implementar un elemento, o cualquier parte de un elemento, o cualquier combinación de elementos según lo divulgado en el presente documento usando el circuito de procesamiento 1902. El circuito de procesamiento 1902 puede incluir uno o más procesadores 1904 que están controlados por alguna combinación de módulos de hardware y software. Ejemplos de procesadores 1904 incluyen microprocesadores, microcontroladores, procesadores de señales digitales (DSP), formaciones de puertas programables en el terreno (FPGA), dispositivos de lógica programable (PLD), máquinas de estados, secuenciadores, lógica de puertas, circuitos de hardware discretos y otro hardware adecuado configurado para llevar a cabo la diversa funcionalidad descrita a lo largo de esta divulgación. Uno o más procesadores 1904 pueden incluir procesadores especializados que realizan funciones específicas, y que pueden ser configurados, aumentados o controlados por uno de los módulos de software 1916. Los uno o más procesadores 1904 pueden configurarse mediante una combinación de módulos de software 1916 cargados durante la inicialización, y pueden configurarse adicionalmente cargando o descargando uno o más módulos de software 1916 durante el funcionamiento.
[0084] En el ejemplo ilustrado, el circuito de procesamiento 1902 puede implementarse con una arquitectura de bus, representada de manera genérica mediante el bus 1910. El bus 1910 puede incluir cualquier número de buses y puentes de interconexión, dependiendo de la aplicación específica del circuito de procesamiento 1902 y de las limitaciones de diseño globales. El bus 1910 enlaza entre sí diversos circuitos, incluyendo los uno o más procesadores 1904, y el almacenamiento 1906. El almacenamiento 1906 puede incluir dispositivos de memoria y dispositivos de almacenamiento masivo, y pueden denominarse en el presente documento medios legibles por ordenador y/o medios legibles por procesador. El bus 1910 también puede enlazar otros diversos circuitos, tales como fuentes de temporización, temporizadores, periféricos, reguladores de tensión y circuitos de gestión de potencia. Una interfaz de bus 1908 puede proporcionar una interfaz entre el bus 1910 y uno o más transceptores 1912. Puede proporcionarse un transceptor 1912 para cada tecnología de red admitida por el circuito de procesamiento. En algunos casos, múltiples tecnologías de red pueden compartir algunos o todos los circuitos o módulos de procesamiento que se encuentran en un transceptor 1912. Cada transceptor 1912 proporciona un medio de comunicación con otros diversos aparatos a través de un medio de transmisión. Dependiendo de la naturaleza del aparato, también se puede proporcionar una interfaz de usuario 1918 (por ejemplo, teclado numérico, pantalla, altavoz, micrófono, palanca de mando) y se puede acoplar de forma comunicativa al bus 1910 directamente o a través de la interfaz de bus 1908.
[0085] Un procesador 1904 puede ser responsable de gestionar el bus 1910 y/o del procesamiento general que puede incluir la ejecución de software almacenado en un medio legible por ordenador que puede incluir el almacenamiento 1906. A este respecto, el circuito de procesamiento 1902, incluido el procesador 1904, se puede usar para implementar cualquiera de los procedimientos, funciones y técnicas divulgados en el presente documento. El almacenamiento 1906 se puede usar para almacenar datos que son manipulados por el procesador 1904 al ejecutar software, y el software se puede configurar para implementar uno cualquiera de los procedimientos divulgados en el presente documento.
[0086] Uno o más procesadores 1904 en el circuito de procesamiento 1902 pueden ejecutar software. Deberá interpretarse que el término “software” significa, en un sentido general, instrucciones, conjuntos de instrucciones, código, segmentos de código, código de programa, programas, subprogramas, módulos de software, aplicaciones, aplicaciones de software, paquetes de software, rutinas, subrutinas, objetos, módulos ejecutables, hilos de ejecución, procedimientos, funciones, algoritmos, etc., independientemente de que se denomine software, firmware, middleware, microcódigo, lenguaje de descripción de hardware o de otra manera. El software puede residir en forma legible por ordenador en el almacenamiento 1906 o en un medio externo legible por ordenador. El medio y/o almacenamiento legible por ordenador externo 1906 pueden incluir un medio no transitorio legible por ordenador. Un medio no transitorio legible por ordenador incluye, a modo de ejemplo, un dispositivo de almacenamiento magnético (por ejemplo, un disco duro, un disco flexible, una banda magnética), un disco óptico (por ejemplo, un disco compacto (CD), un disco versátil digital (DVD)), una tarjeta inteligente, un dispositivo de memoria flash (por ejemplo, una "unidad flash", una tarjeta, una memoria portátil o una unidad USB), una memoria de acceso aleatorio (RAM), una ROM, una PROM, una PROM borrable (EPROM), una EEPROM, un registro, un disco extraíble y cualquier otro medio adecuado para almacenar software y/o instrucciones a los que pueda acceder y pueda leer un ordenador. El medio y/o almacenamiento legible por ordenador 1906 también puede incluir, a modo de ejemplo, una onda portadora, una línea de transmisión y cualquier otro medio adecuado para transmitir software y/o instrucciones a los que se pueda acceder y pueda leer un ordenador. El medio y/o el almacenamiento legible por ordenador 1906 pueden residir en el circuito de procesamiento 1902, en el procesador 1904, ser externos al circuito de procesamiento 1902 o distribuirse entre múltiples entidades, incluido el circuito de procesamiento 1902. El medio y/o almacenamiento legible por ordenador 1906 puede realizarse en un producto de programa informático. A modo de ejemplo, un producto de programa informático puede incluir un medio legible por ordenador en materiales de embalaje. Los expertos en la técnica reconocerán cómo implementar de la mejor manera la funcionalidad descrita que se presenta a lo largo de la presente divulgación dependiendo de la aplicación particular y de las limitaciones de diseño globales impuestas en el sistema global.
[0087] El almacenamiento 1906 puede mantener software mantenido y/u organizado en segmentos de código, módulos, aplicaciones, programas, etc., cargables que se pueden mencionar en el presente documento como módulos de software 1916. Cada uno de los módulos de software 1916 puede incluir instrucciones y datos que, cuando se instalan o cargan en el circuito de procesamiento 1902 y son ejecutados por el uno o más procesadores 1904, contribuyen a una imagen de tiempo de ejecución 1914 que controla el funcionamiento del uno o más procesadores 1904. Cuando se ejecutan, determinadas instrucciones pueden hacer que el circuito de procesamiento 1902 realice funciones de acuerdo con determinados procedimientos, algoritmos y procesos descritos en el presente documento.
[0088] Algunos de los módulos de software 1916 pueden cargarse durante la inicialización del circuito de procesamiento 1902, y estos módulos de software 1916 pueden configurar el circuito de procesamiento 1902 para permitir la realización de las diversas funciones divulgadas en el presente documento. Por ejemplo, algunos módulos de software 1916 pueden configurar dispositivos internos y/o circuitos lógicos 1922 del procesador 1904 y pueden gestionar el acceso a dispositivos externos tales como el transceptor 1912, la interfaz de bus 1908, la interfaz de usuario 1918, temporizadores, coprocesadores matemáticos, etc. Los módulos de software 1916 pueden incluir un programa de control y/o un sistema operativo que interactúa con gestores de interrupciones y controladores de dispositivos, y que controla el acceso a diversos recursos proporcionados por el circuito de procesamiento 1902. Los recursos pueden incluir memoria, tiempo de procesamiento, acceso al transceptor 1912, la interfaz de usuario 1918, etc.
[0089] Uno o más procesadores 1904 del circuito de procesamiento 1902 pueden ser multifuncionales, por lo que algunos de los módulos de software 1916 se cargan y configuran para realizar diferentes funciones o diferentes instancias de la misma función. El uno o más procesadores 1904 pueden estar adicionalmente adaptados para gestionar tareas en segundo plano iniciadas en respuesta a entradas procedentes de la interfaz de usuario 1918, el transceptor 1912 y controladores de dispositivo, por ejemplo. Para prestar soporte a la realización de múltiples funciones, el uno o más procesadores 1904 pueden configurarse para proporcionar un entorno multitarea, por lo que cada una entre una pluralidad de funciones se implementa como un conjunto de tareas que son atendidas por el uno o más procesadores 1904 según sea necesario o deseado. En un ejemplo, el entorno multitarea puede implementarse usando un programa de compartición de tiempo 1920 que pasa el control de un procesador 1904 entre diferentes tareas, por lo que cada tarea devuelve el control del uno o más procesadores 1904 al programa de compartición de tiempo 1920 al completar cualquier operación pendiente y/o en respuesta a una entrada, tal como una interrupción. Cuando una tarea tiene el control del uno o más procesadores 1904, el circuito de procesamiento está efectivamente especializado para los fines abordados por la función asociada a la tarea de control. El programa de compartición de tiempo 1920 puede incluir un sistema operativo, un bucle principal que transfiere el control de manera cíclica, una función que asigna el control del uno o más procesadores 1904 de acuerdo con una priorización de las funciones y/o un bucle principal controlado por interrupciones que responde a eventos externos proporcionando el control del uno o más procesadores 1904 a una función de gestión.
[0090] La FIG. 20 es un diagrama de flujo 2000 de un procedimiento de comunicación de datos que puede realizarse mediante un circuito receptor en un aparato acoplado a una interfaz trifásica C-PHY.
[0091] En el bloque 2002, el circuito receptor puede configurar un circuito de recuperación de reloj para proporcionar una primera señal de reloj que incluya un pulso para cada símbolo transmitido en una interfaz trifásica de 3 hilos. Los símbolos pueden transmitirse en la interfaz trifásica de 3 hilos a una primera frecuencia.
[0092] En el bloque 2004, el circuito receptor puede ajustar un retardo de bucle del circuito de recuperación de reloj para modificar el primer reloj para que tenga una segunda frecuencia que no sea más de la mitad de la primera frecuencia. El circuito de recuperación de reloj puede generar un pulso en la primera señal de reloj para un primero de un número entero de símbolos y puede suprimir la generación de pulsos para otros símbolos del número entero de símbolos. El retardo de bucle puede corresponder a un ciclo de generación de pulsos usado para generar un pulso en respuesta a una transición detectada en primer lugar en el estado de señalización de la interfaz trifásica de 3 hilos. La detección de otras transiciones en el estado de señalización de la interfaz trifásica de 3 hilos puede suprimirse durante el ciclo de generación de pulsos. El circuito receptor puede ajustar el retardo de bucle configurando uno o más circuitos de retardo programables en el circuito de recuperación de reloj.
[0093] En el bloque 2006, el circuito receptor puede configurar un circuito de generación de reloj para proporcionar una segunda señal de reloj. La segunda señal de reloj puede incluir pulsos correspondientes a cada uno de los otros símbolos del número entero de símbolos.
[0094] En el bloque 2008, el circuito receptor puede capturar símbolos de la interfaz trifásica de 3 hilos usando la primera señal de reloj y la segunda señal de reloj. En un ejemplo, la primera señal de reloj puede combinarse con la segunda señal de reloj para producir una señal de reloj de recepción. El símbolo de reloj de recepción se puede usar para sincronizar registros que capturan las señales.
[0095] En un ejemplo, la primera frecuencia puede ser el doble de la segunda frecuencia y la segunda señal de reloj puede incluir un pulso por cada pulso en la primera señal de reloj. En este ejemplo, la segunda frecuencia está desfasada 180 grados con respecto a la primera señal de reloj. En otro ejemplo, la segunda frecuencia es un tercio de la primera frecuencia, y la segunda señal de reloj puede incluir dos pulsos por cada pulso en la primera señal de reloj. En otro ejemplo, la segunda frecuencia es un cuarto de la primera frecuencia, y la segunda señal de reloj puede incluir tres pulsos por cada pulso en la primera señal de reloj. Se pueden emplear otros valores de división para obtener la segunda frecuencia.
[0096] En algunos casos, ajustar el retardo de bucle del circuito de recuperación de reloj incluye configurar un primer circuito para recuperar una señal de reloj de referencia a partir de un flujo de símbolos recibidos desde la interfaz trifásica de 3 hilos, determinar una frecuencia actual de la primera señal de reloj comparando las frecuencias de la señal de reloj de referencia y la primera señal de reloj durante cada uno de una pluralidad de ciclos de calibración, aumentar el retardo de bucle cuando se determine que la frecuencia actual es mayor que la segunda frecuencia, disminuir el retardo de bucle cuando se determina que la frecuencia actual es menor que la segunda frecuencia, y terminar la pluralidad de ciclos de calibración cuando se determina que la frecuencia actual es igual a la segunda frecuencia. La señal de reloj de referencia puede tener una frecuencia correspondiente a la primera frecuencia.
[0097] La FIG. 21 es un diagrama que ilustra un ejemplo de una implementación de hardware para un aparato 2100 que emplea un circuito de procesamiento 2102. El circuito de procesamiento tiene típicamente un procesador 2116 que puede incluir uno o más de un microprocesador, un microcontrolador, un procesador de señales digitales, un secuenciador y una máquina de estados. El circuito de procesamiento 2102 puede implementarse con una arquitectura de bus, representada de manera genérica mediante el bus 2120. El bus 2120 puede incluir cualquier número de buses y puentes de interconexión, dependiendo de la aplicación específica del circuito de procesamiento 2102 y de las limitaciones de diseño globales. El bus 2120 enlaza entre sí diversos circuitos, incluidos uno o más procesadores y/o módulos de hardware, representados por el procesador 2116, los módulos o circuitos 2104, 2106, 2108 y 2110, circuitos receptores de diferencia 2112 que determinan el estado de señalización de diferencia entre diferentes pares de conectores o hilos 2114 y el medio de almacenamiento legible por ordenador 2118. El bus 2120 puede enlazar también otros diversos circuitos, tales como fuentes de temporización, periféricos, reguladores de tensión y circuitos de gestión de potencia, que son bien conocidos en la técnica y que, por lo tanto, no se describirán en mayor detalle.
[0098] El procesador 2116 se encarga del procesamiento general, que incluye la ejecución de software almacenado en el medio de almacenamiento legible por ordenador 2118. El software, cuando es ejecutado por el procesador 2116, hace que el circuito de procesamiento 2102 lleve a cabo las diversas funciones descritas anteriormente para cualquier aparato particular. El medio de almacenamiento legible por ordenador 2118 también se puede usar para almacenar datos que son manipulados por el procesador 2116 cuando se ejecuta el software, incluidos los datos descodificados de los símbolos transmitidos a través de los conectores o hilos 2114, que pueden configurarse como líneas de datos y líneas de señales de reloj. El circuito de procesamiento 2102 incluye además al menos uno de los módulos 2104, 2106, 2108 y 2110. Los módulos 2104, 2106, 2108, 2110 pueden ser módulos de software que se ejecutan en el procesador 2116, residentes/almacenados en el medio de almacenamiento legible por ordenador 2118 , uno o más módulos de hardware acoplados al procesador 2116 o alguna combinación de los mismos. Los módulos 2104, 2106, 2108 y/o 2110 pueden incluir instrucciones de microcontrolador, parámetros de configuración de máquina de estados o alguna combinación de los mismos.
[0099] En una configuración, el aparato 2100 puede configurarse para la comunicación de datos a través de una interfaz trifásica C-PHY. El aparato 2100 puede incluir un módulo y/o circuito 2104 que están configurados para recuperar una primera señal de reloj a partir de información de temporización introducida en secuencias de símbolos transmitidas en los conectores o hilos 2114, un módulo y/o circuito 2106 para generar una segunda señal de reloj que incluyen pulsos interpolados de la primera señal de reloj, un módulo y/o circuito 2108 que usan la primera y segunda señales para capturar símbolos de los conectores o hilos 2114, y un módulo y/o circuito 2110 que pueden calibrar el módulo y/o circuito de recuperación de reloj 2104 y el módulo y/o circuito de generación de reloj 2106.
[0100] El aparato 2100 puede configurarse para diversos modos de funcionamiento. En un ejemplo, el módulo y/o circuito de recuperación de reloj 2104 pueden adaptarse para proporcionar una primera señal de reloj que incluye un pulso para cada símbolo transmitido a una primera frecuencia en una interfaz trifásica de 3 hilos, el módulo y/o circuito de calibración 2110 pueden adaptarse para calibrar un retardo de bucle del circuito de recuperación de reloj, el módulo y/o circuito de generación de reloj 2106 pueden adaptarse para proporcionar una segunda señal de reloj, y el módulo y/o circuito de captura de símbolos 2108 pueden adaptarse para capturar símbolos de la interfaz trifásica de 3 hilos usando la primera señal de reloj y la segunda señal de reloj. En un modo de funcionamiento, el módulo y/o circuito de calibración 2110 modifica la primera señal de reloj para tener una segunda frecuencia que no sea más de la mitad de la primera frecuencia. En el primer modo de funcionamiento, el módulo y/o circuito de recuperación de reloj 2104 genera un pulso en la primera señal de reloj para el primero de un número entero de símbolos y suprime la generación de pulsos para otros símbolos en el número entero de símbolos. La segunda señal de reloj puede incluir pulsos correspondientes a cada uno de los otros símbolos del número entero de símbolos.
[0101] En algunos casos, el retardo de bucle corresponde a un ciclo de generación de pulsos usado para generar un pulso en respuesta a una transición detectada en primer lugar en el estado de señalización de la interfaz trifásica de 3 hilos. La detección de otras transiciones en el estado de señalización de la interfaz trifásica de 3 hilos puede suprimirse durante el ciclo de generación de pulsos. El módulo y/o circuito de calibración 2110 pueden configurarse para programar un circuito de retardo programable.
[0102] En un ejemplo, la primera frecuencia es dos veces la segunda frecuencia, y la segunda señal de reloj incluye un pulso por cada pulso en la primera señal de reloj. La segunda señal de reloj puede estar desfasada 180 grados con respecto a la primera señal de reloj. En otro ejemplo, la segunda frecuencia es un tercio de la primera frecuencia, y la segunda señal de reloj incluye dos pulsos por cada pulso en la primera señal de reloj. En otro ejemplo, la segunda frecuencia es un cuarto de la primera frecuencia, y la segunda señal de reloj incluye tres pulsos por cada pulso en la primera señal de reloj.
[0103] En algunos casos, el módulo y/o circuito de calibración 2110 están adaptados para hacer que un primer circuito recupere una señal de reloj de referencia a partir de un flujo de símbolos recibidos desde la interfaz trifásica de 3 hilos, determine una frecuencia actual de la primera señal de reloj comparando las frecuencias de la señal de reloj de referencia y la primera señal de reloj durante cada uno de una pluralidad de ciclos de calibración, aumente el retardo de bucle cuando se determine que la frecuencia actual es mayor que la segunda frecuencia, disminuya el retardo de bucle cuando se determina que la frecuencia actual es menor que la segunda frecuencia, y termine la pluralidad de ciclos de calibración cuando se determina que la frecuencia actual es igual a la segunda frecuencia. La señal de reloj de referencia puede tener una frecuencia correspondiente a una velocidad de transmisión del flujo de símbolos.
[0104] Se entiende que el orden o la jerarquía específicos de las etapas de los procesos divulgados es una ilustración de enfoques ejemplares. En base a las preferencias de diseño, se entiende que el orden o la jerarquía específicos de las etapas de los procesos se pueden reorganizar. Además, algunas etapas pueden combinarse u omitirse. Las reivindicaciones de procedimiento adjuntas presentan elementos de las diversas etapas en un orden de muestra y no pretenden limitarse al orden o jerarquía específicos presentados.
[0105] La descripción previa se proporciona para hacer posible que cualquier experto en la técnica lleve a la práctica los diversos aspectos descritos en el presente documento. Diversas modificaciones de estos aspectos resultarán fácilmente evidentes para los expertos en la técnica, y los principios genéricos definidos en el presente documento se pueden aplicar a otros aspectos. Así pues, las reivindicaciones no pretenden limitarse a los aspectos mostrados en el presente documento, sino que se les concede el alcance total compatible con las reivindicaciones de lenguaje, en las que la referencia a un elemento en forma singular no quiere decir "uno y solo uno", a no ser que se indique específicamente, sino "uno o más". A menos que se indique específicamente de otro modo, el término "algunos/as" se refiere a uno o más.

Claims (14)

REIVINDICACIONES
1. Un procedimiento de comunicaciones de datos, que comprende:
configurar (2002) un circuito de recuperación de reloj (2104) para proporcionar una primera señal de reloj que incluye pulsos correspondientes a símbolos transmitidos en una interfaz trifásica de 3 hilos, donde los símbolos se transmiten en la interfaz trifásica de 3 hilos a una primera frecuencia;
ajustar (2004) un retardo de bucle del circuito de recuperación de reloj para modificar la primera señal de reloj para que tenga una segunda frecuencia que no sea más de la mitad de la primera frecuencia, donde el circuito de recuperación de reloj genera un pulso en la primera señal de reloj para un primer símbolo de un número entero de símbolos y suprime la generación de pulsos para otros símbolos en el número entero de símbolos;
configurar (2006) un circuito de generación de reloj (2106) para proporcionar una segunda señal de reloj, donde la segunda señal de reloj incluye pulsos para cada uno de los otros símbolos del número entero de símbolos; y
capturar (2008) los símbolos de la interfaz trifásica de 3 hilos usando la primera señal de reloj y la segunda señal de reloj.
2. El procedimiento según la reivindicación 1, en el que el retardo de bucle corresponde a un ciclo de generación de pulsos usado para generar un pulso en respuesta a una transición detectada en primer lugar en el estado de señalización de la interfaz trifásica de 3 hilos, en el que la detección de otras transiciones en el estado de señalización de la interfaz trifásica de 3 hilos se suprime durante el ciclo de generación de pulsos.
3. El procedimiento según la reivindicación 1, en el que ajustar el retardo de bucle comprende: configurar un circuito de retardo programable.
4. El procedimiento según la reivindicación 1, en el que la primera frecuencia es dos veces la segunda frecuencia, y en el que la segunda señal de reloj incluye un pulso por cada pulso en la primera señal de reloj.
5. El procedimiento según la reivindicación 4, en el que la segunda señal de reloj está desfasada 180 grados con respecto a la primera señal de reloj.
6. El procedimiento según la reivindicación 1, en el que la segunda frecuencia es un tercio de la primera frecuencia, y en el que la segunda señal de reloj incluye dos pulsos por cada pulso en la primera señal de reloj.
7. El procedimiento según la reivindicación 1, en el que la segunda frecuencia es un cuarto de la primera frecuencia, y en el que la segunda señal de reloj incluye tres pulsos por cada pulso en la primera señal de reloj.
8. El procedimiento según la reivindicación 1, en el que el ajuste del retardo de bucle del circuito de recuperación de reloj (2104) incluye:
configurar un primer circuito para recuperar una señal de reloj de referencia a partir de un flujo de símbolos recibidos desde la interfaz trifásica de 3 hilos, en el que la señal de reloj de referencia tiene una frecuencia correspondiente a la primera frecuencia;
determinar una frecuencia actual de la primera señal de reloj comparando frecuencias de la señal de reloj de referencia y la primera señal de reloj durante cada uno de una pluralidad de ciclos de calibración;
aumentar el retardo de bucle cuando se determina que la frecuencia actual es mayor que la segunda frecuencia;
disminuir el retardo de bucle cuando se determina que la frecuencia actual es menor que la segunda frecuencia; y
terminar la pluralidad de ciclos de calibración cuando se determina que la frecuencia actual es igual a la segunda frecuencia.
9. Un aparato para descodificar datos transmitidos en una interfaz trifásica de 3 hilos, que comprende:
medios para configurar un circuito de recuperación de reloj (2104) para proporcionar una primera señal de reloj que incluye pulsos correspondientes a símbolos transmitidos a una primera frecuencia en la interfaz trifásica de 3 hilos;
medios para ajustar
un retardo de bucle del circuito de recuperación de reloj (2104), donde
los medios para ajustar
el retardo de bucle modifican la primera señal de reloj para que tenga una segunda frecuencia que no sea más de la mitad de la primera frecuencia, donde el circuito de recuperación de reloj genera un pulso en la primera señal de reloj para un primer símbolo de un número entero de símbolos y suprime la generación de pulsos para otros símbolos en el número entero de símbolos;
medios para configurar un circuito de generación de reloj (2106) para proporcionar una segunda señal de reloj, donde la segunda señal de reloj incluye pulsos para cada uno de los otros símbolos del número entero de símbolos; y
medios para capturar los símbolos (2108) de la interfaz trifásica de 3 hilos usando la primera señal de reloj y la segunda señal de reloj.
10. El aparato según la reivindicación 9, en el que los medios para ajustar el retardo de bucle están configurados para: programar un circuito de retardo programable.
11. El aparato según la reivindicación 9, en el que la primera frecuencia es dos veces la segunda frecuencia, en el que la segunda señal de reloj incluye un pulso por cada pulso en la primera señal de reloj, y en el que la segunda señal de reloj está desfasada 180 grados con respecto a la primera señal de reloj.
12. El aparato según la reivindicación 9, en el que la segunda frecuencia es un tercio de la primera frecuencia, y en el que la segunda señal de reloj incluye dos pulsos por cada pulso en la primera señal de reloj.
13. El aparato según la reivindicación 9, en el que la segunda frecuencia es un cuarto de la primera frecuencia, y en el que la segunda señal de reloj incluye tres pulsos por cada pulso en la primera señal de reloj.
14. Un medio de almacenamiento legible por procesador, que comprende código que, cuando se ejecuta, implementa el procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 8.
ES16753549T 2015-09-01 2016-08-09 Recuperación de datos de reloj multifásico para una interfaz trifásica Active ES2777373T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/842,644 US9496879B1 (en) 2015-09-01 2015-09-01 Multiphase clock data recovery for a 3-phase interface
PCT/US2016/046211 WO2017039985A1 (en) 2015-09-01 2016-08-09 Multiphase clock data recovery for a 3-phase interface

Publications (1)

Publication Number Publication Date
ES2777373T3 true ES2777373T3 (es) 2020-08-04

Family

ID=56694265

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16753549T Active ES2777373T3 (es) 2015-09-01 2016-08-09 Recuperación de datos de reloj multifásico para una interfaz trifásica

Country Status (10)

Country Link
US (1) US9496879B1 (es)
EP (1) EP3345334B1 (es)
JP (1) JP6876681B2 (es)
KR (1) KR102522742B1 (es)
CN (1) CN107925563B (es)
BR (1) BR112018004159B1 (es)
CA (1) CA2992751C (es)
ES (1) ES2777373T3 (es)
TW (1) TWI720008B (es)
WO (1) WO2017039985A1 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231790B2 (en) * 2007-03-02 2016-01-05 Qualcomm Incorporated N-phase phase and polarity encoded serial interface
US9711041B2 (en) 2012-03-16 2017-07-18 Qualcomm Incorporated N-phase polarity data transfer
US8064535B2 (en) 2007-03-02 2011-11-22 Qualcomm Incorporated Three phase and polarity encoded serial interface
KR20170008076A (ko) * 2015-07-13 2017-01-23 에스케이하이닉스 주식회사 고속 통신을 위한 인터페이스 회로 및 이를 포함하는 시스템
US9485080B1 (en) * 2015-09-01 2016-11-01 Qualcomm Incorporated Multiphase clock data recovery circuit calibration
US10742390B2 (en) * 2016-07-13 2020-08-11 Novatek Microelectronics Corp. Method of improving clock recovery and related device
US10419246B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated C-PHY training pattern for adaptive equalization, adaptive edge tracking and delay calibration
US10284361B2 (en) * 2017-05-05 2019-05-07 Mediatek Inc. Channel skew calibration method and associated receiver and system
KR101899247B1 (ko) * 2017-05-31 2018-09-14 한양대학교 산학협력단 동시 스위칭 잡음을 제거하는 송신기 및 이에 있어서 데이터 전송 방법
KR102401996B1 (ko) 2018-05-28 2022-05-24 삼성전자주식회사 타이밍 조절이 가능한 고속 멀티 레벨 신호 수신기를 포함하는 반도체 장치 및 상기 수신기를 포함하는 반도체 테스트 장치
US10469214B1 (en) 2018-12-13 2019-11-05 Intel Corporation Clock recovery circuit and method of operating same
US10581587B1 (en) * 2019-04-29 2020-03-03 Advanced Micro Devices, Inc. Deskewing method for a physical layer interface on a multi-chip module
US11095425B2 (en) * 2019-10-25 2021-08-17 Qualcomm Incorporated Small loop delay clock and data recovery block for high-speed next generation C-PHY
US11038666B1 (en) * 2019-12-11 2021-06-15 Qualcomm Incorporated Open-loop, super fast, half-rate clock and data recovery for next generation C-PHY interfaces
KR20210088807A (ko) * 2020-01-06 2021-07-15 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
KR20210088808A (ko) 2020-01-06 2021-07-15 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US11031939B1 (en) * 2020-03-19 2021-06-08 Mellanox Technologies, Ltd. Phase detector command propagation between lanes in MCM USR serdes
US11349445B2 (en) * 2020-09-10 2022-05-31 Qualcomm Incorporated Compensation of common mode voltage drop of sensing amplifier output due to decision feedback equalizer (DFE) taps
KR102265187B1 (ko) * 2021-02-08 2021-06-16 슈가스 주식회사 클럭 복구 회로
JP2022146532A (ja) 2021-03-22 2022-10-05 キオクシア株式会社 メモリシステム及び遅延制御方法
US11520729B2 (en) 2021-05-04 2022-12-06 Qualcomm Incorporated I2C bus architecture using shared clock and dedicated data lines
US11545980B1 (en) 2021-09-08 2023-01-03 Qualcomm Incorporated Clock and data recovery for multi-phase, multi-level encoding
CN113886300B (zh) * 2021-09-23 2024-05-03 珠海一微半导体股份有限公司 一种总线接口的时钟数据自适应恢复系统及芯片
US11956342B2 (en) * 2021-12-27 2024-04-09 Nvidia Corporation Reliable link management for a high-speed signaling interconnect
CN114298075B (zh) * 2021-12-30 2024-02-06 江苏集萃智能集成电路设计技术研究所有限公司 基于mcu的超高频国标阅读器基带解码方法
US11967964B1 (en) * 2022-03-31 2024-04-23 Amazon Technologies, Inc. Clock synchronization in a network using a distributed pulse signal

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771264A (en) * 1996-08-29 1998-06-23 Altera Corporation Digital delay lock loop for clock signal frequency multiplication
US5796392A (en) * 1997-02-24 1998-08-18 Paradise Electronics, Inc. Method and apparatus for clock recovery in a digital display unit
JP3523069B2 (ja) * 1998-06-30 2004-04-26 株式会社東芝 遅延型位相同期回路
DE10202879B4 (de) * 2002-01-25 2004-01-29 Infineon Technologies Ag DLL-(Delay-Locked-Loop)Schaltung
DE102004014695B4 (de) * 2003-03-26 2007-08-16 Infineon Technologies Ag Takt- und Datenwiedergewinnungseinheit
KR100570632B1 (ko) * 2004-07-06 2006-04-12 삼성전자주식회사 클록복원회로 및 방법과 이를 이용한 고속 데이터송수신회로
WO2007125963A1 (ja) * 2006-04-27 2007-11-08 Panasonic Corporation 多重差動伝送システム
US7742551B2 (en) 2006-07-31 2010-06-22 Mosaid Technologies Incorporated Pulse counter with clock edge recovery
US9711041B2 (en) * 2012-03-16 2017-07-18 Qualcomm Incorporated N-phase polarity data transfer
US8649460B2 (en) * 2007-06-05 2014-02-11 Rambus Inc. Techniques for multi-wire encoding with an embedded clock
US7622969B2 (en) * 2007-12-18 2009-11-24 Micron Technology, Inc. Methods, devices, and systems for a delay locked loop having a frequency divided feedback clock
US7826279B2 (en) 2008-04-10 2010-11-02 Advanced Micro Devices, Inc. Programmable bias circuit architecture for a digital data/clock receiver
US8395446B1 (en) 2009-01-31 2013-03-12 Xilinx, Inc. Dual-mode amplifier
US8538355B2 (en) 2010-04-19 2013-09-17 Rf Micro Devices, Inc. Quadrature power amplifier architecture
US20130216003A1 (en) * 2012-02-16 2013-08-22 Qualcomm Incorporated RESETTABLE VOLTAGE CONTROLLED OSCILLATORS (VCOs) FOR CLOCK AND DATA RECOVERY (CDR) CIRCUITS, AND RELATED SYSTEMS AND METHODS
US9137008B2 (en) * 2013-07-23 2015-09-15 Qualcomm Incorporated Three phase clock recovery delay calibration
US9215063B2 (en) * 2013-10-09 2015-12-15 Qualcomm Incorporated Specifying a 3-phase or N-phase eye pattern

Also Published As

Publication number Publication date
JP2018526912A (ja) 2018-09-13
BR112018004159B1 (pt) 2023-12-05
CN107925563B (zh) 2020-12-08
CN107925563A (zh) 2018-04-17
BR112018004159A2 (pt) 2018-10-02
JP6876681B2 (ja) 2021-05-26
CA2992751A1 (en) 2017-03-09
KR20180048952A (ko) 2018-05-10
TW201714425A (zh) 2017-04-16
WO2017039985A1 (en) 2017-03-09
CA2992751C (en) 2024-01-09
EP3345334A1 (en) 2018-07-11
EP3345334B1 (en) 2019-11-20
US9496879B1 (en) 2016-11-15
TWI720008B (zh) 2021-03-01
KR102522742B1 (ko) 2023-04-17

Similar Documents

Publication Publication Date Title
ES2777373T3 (es) Recuperación de datos de reloj multifásico para una interfaz trifásica
ES2794527T3 (es) Calibración de circuito de recuperación de datos de reloj multifásico
US10033519B2 (en) C-PHY half-rate clock and data recovery adaptive edge tracking
US10419246B2 (en) C-PHY training pattern for adaptive equalization, adaptive edge tracking and delay calibration
US10333690B1 (en) Calibration pattern and duty-cycle distortion correction for clock data recovery in a multi-wire, multi-phase interface
US10298381B1 (en) Multiphase clock data recovery with adaptive tracking for a multi-wire, multi-phase interface
US11411711B2 (en) Small loop delay clock and data recovery block for high-speed next generation C-PHY
US11038666B1 (en) Open-loop, super fast, half-rate clock and data recovery for next generation C-PHY interfaces