Análisis y Diseño de un Conversor Analógico Digital de Arquitectura Pipeline para ser presentado a la FACULTAD DE INGENIERÍA de la UNIVERSIDAD DE BUENOS AIRES ante el Departamento de Electrónica por ANDRÉS E. SAMPAULO en requerimiento del título de INGENIERO EN ELECTRÓNICA UNIVERSIDAD DE BUENOS AIRES 2004 TESIS DE INGENIERÍA ANÁLISIS Y DISEÑO DE UN CONVERSOR ANALÓGICO DIGITAL DE ARQUITECTURA PIPELINE por ANDRÉS E. SAMPAULO Padrón N° 75.746 asampau@fi.uba.ar CALIFICACIÓN: Tutor de Tesis Ing. Alejandro De la Plaza Jurado Jurado Jurado UNIVERSIDAD DE BUENOS AIRES 2004 Resumen En la actualidad numerosas aplicaciones comerciales de consumo masivo requieren el uso de circuitos integrados, que permitan la conversión de señales del tipo analógico en datos digitales a grandes velocidades con gran resolución y a muy bajo costo. Bajo costo comprende simplicidad en el diseño del circuito, permitiendo escalabilidad y minimización en el consumo de energía. Lo cual brinda una mayor autonomía en el caso del empleo en aplicaciones alimentadas por baterías. En el ámbito de las computadoras personales es sabido que a lo largo del tiempo fue incrementándose la velocidad de transferencia de datos en las interfaces de comunicación a pasos agigantados. Siendo ejemplos de interfaces de comunicaciones las ATA, S-ATA, iSCSI - Encoders / Decoders de Video y Audio, el USB y Gigabit Ethernet. Todos estos dispositivos requieren transceivers cada vez más veloces y de mayor resolución. En la presente tesis se propone un circuito integrado, excelente candidato a satisfacer dichas necesidades, que optimiza todas las premisas anteriormente citadas. Se trata de un conversor analógico digital del tipo pipeline. A lo largo del trabajo se hace un estudio comparativo de características, aplicaciones y performance; se presenta el diseño de un circuito prototipo de 6 bits de resolución, se analiza y describe el funcionamiento y desempeño de cada unas de las partes que lo componen. Finalmente se diseña el layout completo del mismo prototipo para su fabricación, todo ello involucrando el cumplimiento de las reglas de diseño que el proceso de fabricación implica y verificando el diseño del layout con el mismo esquema circuital anteriormente elaborado. Tabla de Contenidos Resumen ....................................................................................................... 3 Tabla de Contenidos ................................................................................... 4 Prefacio......................................................................................................... 7 Objetivo de la tesis ...................................................................................... 9 1. Primera Parte: Introducción............................................................. 10 1.1. Antecedentes teóricos ..................................................................................... 11 1.2. Muestreo ......................................................................................................... 11 1.3. Cuantización ................................................................................................... 13 1.4. Aplicaciones de conversores analógico digital ............................................... 14 1.5. Arquitecturas de conversores AD ................................................................... 15 1.5.1. Arquitectura de Aproximaciones Sucesivas ......................................... 17 1.5.2. Arquitectura Flash................................................................................ 19 1.5.3. Arquitectura Flash de 2 pasos (2 step flash) ........................................ 20 1.5.4. Arquitectura de conversión A/D Pipeline .............................................. 21 1.6. Características de Conversores Pipeline ......................................................... 23 1.7. Ventajas y Desventajas de la utilización de una Arquitectura Pipeline.......... 24 1.8. Razones que motivan la elección de Conversores A/D Pipeline .................... 25 1.8.1. Avances en la Tecnología CMOS ........................................................ 26 2. Segunda Parte: Conceptos y Fundamentos ..................................... 27 2.1. Descripción Conceptual .................................................................................. 28 2.2. Ejemplo de un Conversor Pipeline de dos etapas ........................................... 29 2.3. Fuentes de Error en Conversores Pipeline ...................................................... 30 2.3.1. Offset y Errores en la Ganancia ........................................................... 31 2.3.2. El Error de Ganancia Interetapa........................................................... 31 2.4. Corrección de Errores ..................................................................................... 32 2.4.1. Funcionamiento de la Técnica de Corrección Digital del bit y medio .... 34 2.4.2. Corrimiento de los niveles de decisión ................................................. 35 2.5. Optimización del Circuito............................................................................... 37 2.5.1. Utilizando un comparador extra en el ADSC ........................................ 37 2.5.2. Utilizando un comparador menos en el ADSC ..................................... 39 2.5.3. Resolución por Etapa optimizando potencia ........................................ 40 2.5.4. Escalamiento de Capacitores en las etapas del Conversor Pipeline .... 42 2.6. Especificaciones de cada circuito del conversor pipeline............................... 43 3. Tercera Parte: Diseño Circuital y Simulaciones ............................. 44 3.1. Modelo Circuital de un Conversor A/D Pipeline de 6bits .............................. 45 3.2. Bloques Circuitales que componen el conversor pipeline .............................. 46 3.3. Detalle de los bloques que componen el conversor pipeline .......................... 47 3.3.1. Circuito Amplificador de Muestreo y Retención.................................... 47 3.3.2. Funcionamiento del Amplificador de Muestreo y Retención ................. 49 3.3.3. Circuito del Núcleo del conversor......................................................... 52 3.3.4. Circuito Lógico del Corrector Digital ..................................................... 56 3.3.5. Descripción del funcionamiento del Corrector Digital ........................... 57 3.3.6. Circuito Generador de Fases de Clock ................................................ 59 3.3.7. Funcionamiento del Circuito Generador de Fases de Clock................. 60 3.4. Descripción del funcionamiento una etapa del conversor pipeline ................ 63 3.4.1. .Circuitos de prueba del SHA ............................................................... 66 3.4.2. Circuito del ADSC ................................................................................ 69 3.4.3. Descripción del funcionamiento del ADSC ........................................... 71 3.4.4. Circuito del DAC .................................................................................. 73 3.4.5. Descripción del funcionamiento del DAC ............................................. 74 4. Cuarta Parte: Diseño del Layout...................................................... 76 4.1. Diseño de Layout. ........................................................................................... 77 4.1.1. Llave CMOS complementaria .............................................................. 78 4.1.2. Generador de polarización (BIAS)........................................................ 79 4.1.3. Comparador CMOS ............................................................................. 80 4.1.4. Amplificador Operacional (con compensación) .................................... 81 4.1.5. Compuerta NOR de 2 entradas............................................................ 82 4.1.6. D-Latch ................................................................................................ 83 4.1.7. Amplificador de Muestreo y Retención (SHA) ...................................... 84 4.1.8. Conversor A/D de 2 bits ....................................................................... 85 4.1.9. Generador de fases de Clock............................................................... 86 4.1.10. SubConversor A/D de 1.5bit (ADSC) ................................................... 87 4.1.11. Conversor D/A (DAC)........................................................................... 88 4.1.12. Conversor A/D Pipeline de 5 etapas completo ..................................... 89 5. Conclusiones ....................................................................................... 90 5.1. Baja del voltaje de operación.......................................................................... 92 5.2. Mayor resolución ............................................................................................ 92 5.3. DAC con capacitores ...................................................................................... 93 Anexo 1: Código en “C” que simula el funcionamiento de un Conversor Pipeline.................................................................................... 94 Anexo 2: Gráficos de Simulación del programa “C” .......................... 104 Anexo 3: Pruebas del Comparador....................................................... 111 Apéndice 1: Análisis y Diseño del Amplificador Operacional............ 118 Cálculo de Ganancia ................................................................................................. 119 Resultados de simulación.......................................................................................... 121 Glosario .................................................................................................... 130 Índice de figuras y ecuaciones................................................................ 131 Referencias............................................................................................... 135 Lecturas complementarias ..................................................................... 136 20/07/2004 Prefacio Este trabajo es una elaboración personal concebida por Andrés Esteban Sampaulo estudiante de la carrera Ingeniería Electrónica de la Universidad de Buenos Aires. La redacción de esta tesis tiene el propósito de demostrar que es factible desarrollar un conversor A/D de alta resolución, alto throughput y bajo consumo basado en tecnología CMOS. A lo largo de más de un año de trabajo se siguió un programa de tareas (schedule) que se basa en etapas que comprenden la realización de tareas afines, el cual tiene como finalidad presentar el diseño completo de un circuito integrado. El circuito integrado que se diseña en este trabajo pertenece al área de circuitos integrados Mixtos Analógico-Digital. No obstante, el presente diseño puede formar parte de un sistema más complejo en el cual intervienen circuitos puramente analógicos, puramente digitales, y mixtos, asi como también circuitos sensibles a campos magnéticos, electromagnéticos, circuitos ópticos asi como cualquier otro sistema que requiera una transformación de señal para un posterior un procesamiento digital. La estructura con la que fue realizado el presente trabajo permite comprender las necesidades actuales en el campo del procesamiento digital de señales. En la primera parte del trabajo se hace una breve reseña histórica de la conversión analógico digital, las diferentes aplicaciones que requieren este proceso, los requerimientos que demandan y las características que brindan cada una de las diferentes arquitecturas de conversores A/D. En la segunda parte se estudia el Conversor A/D desde el punto de vista conceptual. Se explica el funcionamiento del conversor A/D de arquitectura pipeline a partir de un diagrama en bloques. Se hace además un estudio comparativo de las fuentes de error en los conversores pipeline. Y se explica el funcionamiento de la técnica de corrección digital que es utilizada en el presente trabajo. Finalmente se elabora el conjunto de especificaciones del conversor pipeline. En la tercera parte del trabajo se divide el Conversor Pipeline en sub-circuitos ó bloques. Se procede al diseño del circuito eléctrico de cada bloque utilizando niveles jerárquicos. Luego se realizan ensayos de simulación SPICE de cada uno de los 7-136 20/07/2004 bloques desarrollados. Asi se verifica y analiza el funcionamiento de cada unos de los bloques y del diseño completo. En la quinta parte se presenta el diseño del layout del prototipo, también realizado utilizando niveles jerárquicos. Se verifica topológicamente el diseño circuital extraído a partir del layout contra los esquemas circuitales (LVS) utilizados en la tercera parte. Y finalmente se procede con la verificación de las reglas de diseño (DRC) según el proceso de fabricación adoptado. En un primer Anexo se adjunta el código fuente en leguaje “C” que representa la implementación del conversor A/D pipeline de este trabajo. Un segundo Anexo incluye gráficos de los ensayos realizados mediante el programa “C” del Anexo anterior. En el tercer Anexo se adjuntan gráficos de simulación SPICE de los ensayos de conmutación efectuados sobre el circuito del comparador bajo condiciones de carga extremas. Finalmente en un Apéndice se incluyen los cálculos de diseño, simulaciones SPICE de ganancia y fase, y el cálculo de compensación en frecuencia del amplificador operacional. Se adjunta al presente trabajo una copia de los archivos que fueron desarrollados a lo largo de esta tesis. Según se detalla a continuación: − “gcc.zip” incluye los archivos de prueba y código fuente relacionados al programa “C” que emula el funcionamiento de un conversor pipeline − “excel.zip” son los gráficos en formato excel de los resultados de los ensayos del punto anterior − “spice.zip” incluye todos los esquemas circuitales que involucran al conversor pipeline, sus circuitos de prueba y sus condiciones de ensayo elaborados con SPICE. − “tanner.zip” incluye los archivos del diseño de layout de todos los bloques que conforman el conversor pipeline. Elaborador con tanner. − “txt.zip” el conjunto de especificaciones conclusión del segundo capítulo del trabajo . 8-136 20/07/2004 Objetivo de la tesis El presente trabajo tiene como objetivo presentar el diseño completo de un Circuito Integrado CMOS. Se desea mostrar un método para llevar a cabo la realización de un Conversor Analógico Digital (ADC). Se pretende también introducir al lector en el uso de las herramientas de diseño que se utilizan para la realización de cada una de las tareas que son involucradas en un proyecto de diseño de circuitos integrados y procesamiento de señales. El diseño de un conversor de datos es un ejemplo de ello. De las tareas que se llevan a cabo se pueden citar: a. Un algoritmo escrito en lenguaje “C” que permite emular las características de transferencia del circuito. b. La corrida del algoritmo anterior, variando parámetros externos permite elaborar el conjunto de especificaciones. c. El diseño del circuito eléctrico (circuito esquemático) en niveles jerárquicos del conversor pipeline completo utilizando la herramienta Capture CIS. d. La simulación SPICE del circuito cuando es sometido a condiciones de prueba que comprenden todo el rango de operación previsto. Lo cual permite el análisis de las características de funcionamiento. e. El diseño del Layout para su posterior fabricación satisfaciendo las reglas de diseño (DRC) según el proceso MOSIS adoptado f. La verificación del diseño del Layout (del punto e.) Versus el Esquemático (del punto b.) utilizando LVS. Todos estos puntos concluyen en el diseño de un Conversor Analógico Digital de arquitectura Pipeline para su posterior fabricación lo cual constituye la presente tesis. 9-136 20/07/2004 1. Primera Parte: Introducción 10-136 20/07/2004 1.1. Antecedentes teóricos Los avances en el procesamiento digital de las últimas décadas motivan la necesidad de poder reducir señales de tiempo continuo a muestras discretas en el dominio de tiempo discreto. En la siguiente sección se presenta el proceso de conversión A/D, que comprende dos conceptos fundamentales: muestreo y cuantización. 1.2. Muestreo La operación que permite la transformación de una señal de tiempo continuo a una señal en tiempo discreto es llamada muestreo (sampling). Ello consiste en tomar muestras del valor de la señal de tiempo continuo cada instantes de tiempo múltiplo de T, llamado intervalo de muestreo. Siendo, de este modo F=1/T la llamada frecuencia de muestreo. Si la señal en tiempo continuo es de banda limitada (su espectro se encuentra entre − ω M < X ( jω ) < +ω M ), ésta puede ser representada unívocamente por medio de sus muestras siempre que la frecuencia de muestreo exceda 2ω M . Valor conocido como frecuencia de Nyquist. El muestreo es representado matemáticamente como ∞ x * (nTs ) = ∑ x(t )δ (t − nTs ) [1.2] −∞ La salida de un conversor ideal es una serie de funciones delta referenciadas por la entrada, x(nT ) . El espectro de la señal muestreada x * , es representado por la transformada de Laplace de la ecuación ∞ X * (s ) = ∑ x(nTs )e − snTs = −∞ 1 Ts ∞ ∑ X (s − jnω ) −∞ s [1.2.1] Como se puede apreciar en la Fig. 1.2.0 (a), esto es una función periódica de ω s que consiste de una superposición de réplicas de X * ( jω ) desplazadas y escaladas por 1/Ts. En la Fig. 1.2.0 (b), ω M < (ω s − ω M ) , o de manera equivalente ω s > 2ω M , por lo que no hay traslape (aliasing) entre las réplicas desplazadas de X * ( jω ) . En cambio en la Fig. 1.2.0 (c), se muestra el caso en que ω M > (ω s − ω M ) , en el cual sí hay traslape entre las réplicas de X * ( jω ) dado que ahora ω s < 2ω M . 11-136 20/07/2004 Bajo estas condiciones se puede afirmar que en el caso (b) la señal analógica original x(t ) puede ser recuperada exactamente a partir de sus muestras. [Teorema del muestreo, Opp1997] 1 -ωM ω ωM (a) 1/Τs X*(jω) ωM -ωM (b) 1/Τs -ωM X(jω) ωs ω (ωs −ωM) X*(jω) ωM ωs (c) ωs ω (ωs −ωM) Fig. 1.2.0 Efecto en el dominio de frecuencia del muestro en el dominio del tiempo. (a) Espectro de la señal analógica original de Entrada. (b) Espectro de la señal muestreada con ω s > 2ω M .(c) Espectro de la señal muestreada con ω s < 2ω M . 12-136 20/07/2004 1.3. Cuantización La arimétrica del procesamiento interno de los sistemas digitales impone la cuantización de los valores muestreados de la señal analógica en valores digitales discretos. 6,00E+00 4,00E+00 2,00E+00 247 253 241 235 246 229 241 217 223 211 205 216 199 187 211 181 193 175 186 169 181 157 163 151 156 176 145 151 139 146 133 121 121 127 115 116 97 109 91 103 85 96 79 91 67 73 61 86 55 66 49 61 37 36 43 31 31 56 25 26 7 19 1 6 13 1 0,00E+00 -2,00E+00 -4,00E+00 -6,00E+00 2,00E+00 1,50E+00 1,00E+00 5,00E-01 256 251 236 231 226 221 206 201 196 191 171 166 161 141 136 131 126 111 106 101 81 76 71 51 46 41 21 16 11 0,00E+00 -5,00E-01 -1,00E+00 -1,50E+00 -2,00E+00 Fig.1.1.2. Representacion de una señal analógica y señal digitalizada (arriba) y señal de error (abajo) De acuerdo a la cantidad de bits (n) del código digital que se esté utilizando, el rango completo de una señal analógica puede ser dividido en 2n niveles equi-espaciados llamados niveles de cuantización. La cuantización permite decidir cual código digital es el más adecuado para la representación del valor continuo de la señal muestreada. Si V fs es la amplitud completa del rango de tensión de entrada, ∆ = V fs 2 n es llamado intervalo de cuantización, y el error ( ε Q ) que se comete durante el proceso de cuantización queda comprendido entre − ∆ 2 < ε Q < + ∆ 2 . El error de cuantización es inherente a cualquier proceso de conversión A/D, asi ε Q tiende a cero cuando n tiende a infinito. 13-136 20/07/2004 1.4. Aplicaciones de conversores analógico digital La reducción del consumo de energía manteniendo altas velocidades de muestreo y elevado grado de cuantización es una importante meta, principalmente en lo referente a aplicaciones portátiles alimentadas por baterías. Debido a ello es esencial la optimización del consumo en las interfaces A/D. Dispositivo de Imágenes Filtro antialiasing Conversor A/D DSP (a) Sistemas de Imágenes de Video Sección RF Filtro Conversor A/D DSP LO (b) Sistemas de comunicación personal Filtro Conversor A/D DSP (c) Canal de lectura de un disco rígido Fig.1.1 Ejemplos de aplicaciones que utilizan intefaces analógico-digital La Fig.1.1 muestra ejemplos de sistemas que requieren la utilización de algún método de conversión de un tipo de señal analógica en datos digitales, para luego ser procesados mediante un procesador de señales digitales (DSP). Asi, los sistemas de imágenes de video son ampliamente utilizados para cámaras digitales, sistemas de comunicación personal empleados en telefonía celular y canales de lectura de discos rígidos de computadoras portátiles, todos requieren un bajo consumo y una tasa de conversión elevada dado el constante aumento en la densidad de datos que son capaces de transferir. Como se ve en [Lucent99], con procesos de fabricación en 0,18µm y menos alcanzan velocidades de 850Mbps en los canales de lectura de unidades de disco de alto desempeño. 14-136 20/07/2004 1.5. Arquitecturas de conversores AD Existen varios diferentes tipos de Arquitecturas de conversión A/D que, dependiendo de la frecuencia de muestreo y la resolución, que demanden la aplicación de su empleo, pueden ser mas ó menos adecuadas. El la Fig.1.1.3. se pueden apreciar diferentes arquitecturas según la resolución (cantidad de bits, eje y) y frecuencia de muestreo (Sa/s, eje x) que proveen. Resolución [bits] 24 22 Sigma Delta [Σ∆] 20 18 16 14 Aproximaciones Sucesivas [CSA] 12 10 Pipeline 8 Flash 6 102 103 104 105 106 107 108 VELOCIDAD DE MUESTREO [muestras por seg] 109 Fig.1.1.3. Diferentes Arquitecturas de conversores A/D. Cada aplicación que involucra el uso de un conversor A/D requiere de diferentes características de velocidad de muestreo y cantidad de bits. Asi como también impone restricciones de consumo y tamaño para el circuito integrado. Las implementaciones del tipo full Flash son una solución atractiva para aplicaciones de baja resolución, 6 a 8bits en tanto demandan un pequeño numero de comparadores. Para resoluciones entre 8 y 12 bits, las únicas opciones en la práctica que tienen bajo consumo son las configuraciones flash multistep y pipeline. La arquitectura Pipeline tiene además las ventajas de requerir reducida área de chip, alta velocidad de salida, y una relativa alta resolución. Durante la década pasada, el conversor pipeline multietapa se ha convertido en una solución adecuada para un gran numero de aplicaciones de alto desempeño. En el campo de comunicaciones digitales, sistemas de adquisición de datos, asi como también en instrumentación diseños como el citado 15-136 20/07/2004 en [Lewis01] proveen resoluciones superiores a 7 bits y altas velocidades de muestreo ,mayores a 50Msa. Para aplicaciones que demandan resoluciones mayores, entre 10 y 16bits conversores que trabajan por aproximaciones sucesivas brindan velocidades del orden de 20Msa/s y mas. Un ejemplo es el conversor A/D CSA diseñado en [Lutzky99], que con un consumo de 75mW y reducida área de chip (1,6mm), brinda velocidades de conversión de baja latencia que alcanzan los 20Msa con 9,5bits efectivos de resolución. Características ideales para aplicaciones de video e imágenes. Finalmente utilizando arquitecturas de sobremuestreo (oversampling) es posible llegar hasta resoluciones de 16 a 20 bits. Este es en el caso del las arquitecturas del tipo sigma-delta y SAR. Dicha arquitectura es ideal para aplicaciones que emplean el procesamiento digital de señales analógicas, con fuertes exigencias de ancho de banda y rango dinámico. Receptores de radio de onda corta y modems full duplex son ejemplos que necesitan convertir tanto señales débiles como fuertes. En frecuencias de audio y menores, una arquitectura sigma-delta puede brindar resoluciones de 16 a 20 bits con excelente linealidad . Se emplean en aplicaciones que requieren características excepcionales de distorsión armónica total (THD), y rango dinámico libre de espurios (SFDR). El ejemplo de [Brooks97] opera con un reloj de 20MHz y disipa 550mw para una señal de 3/5v. Logra una relación señal ruido de 85dB para señales de 1,25MHz de ancho de banda y una THD total de aprox. 98dB para señales de entrada de 100kHz. Si bien estos tipos de arquitecturas brindan una mayor resolución su velocidad de muestreo se ve limitada. A continuación se presentan cuatro diferentes arquitecturas comúnmente utilizadas para conversión analógico – digital de alta velocidad, estas son SAR, Flash (ó full flash), flash de dos pasos (ó 2 step flash) y Pipeline (el presente trabajo). 16-136 20/07/2004 1.5.1. Arquitectura de Aproximaciones Sucesivas El conversor SAR es una arquitectura que puede brindar altas resoluciones. A expensas de una menor frecuencia de muestreo, se logra incrementar la cantidad de bits sin necesidad de aumentar el área de chip ocupada. Para realizar el proceso de conversión en un SAR, la señal analógica debe ser muestreada y retenida previamente al proceso de conversión. Si N es la cantidad de bits del conversor SAR, se necesitan N+1 ciclos de reloj para obtener el resultado de la conversión. Una vez obtenido el resultado de la conversión del SAR se procede a la toma de una nueva muestra de la señal analógica de entrada. Por lo tanto el muestreo se realiza cada N+1 ciclos de reloj, por ello la frecuencia de muestreo se ve disminuida en esta arquitectura. Siguiendo el ejemplo de la Fig. 1.1.4 se analiza el funcionamiento de un conversor SAR para 3-bits. Los elementos que componen esta arquitectura son: − un SHA (inicial) − un comparador − una lógica de control + SAR − un DAC − un registro de almacenamiento. Control de Fase de Reloj Vin S/H + Lógica de control + SAR - ? CK Registro de Comparador almacenamiento SALIDA DIGITAL Vref DAC Vr Fig.1.1.4 Esquema de un conversor SAR de 3-bit y 1 bit por ciclo La señal de entrada retenida es comparada contra un valor de señal reconstituida, inicialmente ubicado a la mitad de la escala. El valor que se obtiene ingresa a una lógica de control y aproximación, ésta cambia el valor de un bit en el resultado de la 17-136 20/07/2004 conversión, inicialmente corresponde al primer bit. Luego el DAC reconstruye la señal de comparación a partir del nuevo valor digital. La señal de entrada es comparada contra el nuevo valor de referencia. Este ciclo comienza a operar con el bit MSB y se repite hasta obtener el bit LSB, quedando finalizada la conversión. El resultado obtenido es guardado en un registro de almacenamiento y se procede a analizar una nueva muestra. Inicio 1° 2° 100 000 Valor inicial del SAR. 110 101 3° Resuelto el valor del primer bit MSB. Resuelto el valor del segundo bit. 101 Resuelto el valor del tercer bit LSB. Fig.1.1.5 Funcionamiento de un conversor SAR de 3-bit Este conversor SAR logra una velocidad de 1 bit por ciclo de reloj, por lo cual el resultado se logra a los N ciclos de reloj. La ecuación que define un conversor SAR de N bits está dada por: Vin = Vref 2 bN −1 + Vref 2 2 Donde ε Q es el error de cuantización y bN − 2 + .... + Vref 2 N +1 Vref 2 N b0 + Vref 2 N +1 + εQ [1.5] el corrimiento de ½ LSB de la característica de transferencia. En implementaciones prácticas, se utilizan muchos comparadores con el fin de obtener una mayor cantidad de bits por ciclo. Por ejemplo en [Lutsky99] se emplea un arreglo de 31 comparadores, logrando de este modo obtener 5 bits por ciclo de reloj con lo cual la latencia se reduce a solo 2 ciclos de reloj. 18-136 20/07/2004 1.5.2. Arquitectura Flash Los conversores de arquitectura flash son los mas veloces, pero no brindan alta resolución. En la Fig.1.2 se muestra una arquitectura flash ejemplo. Por comparación simultánea entre la señal analógica de entrada y un conjunto de tensiones de referencia (generadas mediante un arreglo de resistencias), se obtiene un conjunto de salidas que conforman un código digital (llamado comúnmente termométrico). Vref(+0,5v) +0,25v Entrada Analógica 0v Salidas Digitales (código termométrico) -0,25v Vref(-0,5v) Fig.1.2 Modelo típico de un conversor A/D Flash con arreglo de resistencias Siendo N la cantidad de bits, el conversor Flash posee 2N estados posibles, que deberán ser distinguidos mediante la comparación entre la señal de entrada y 2N-1 tensiones de referencia. De este modo la cantidad de comparadores necesarios es proporcional a 2N. Esto hace crecer exponencialmente el consumo, tamaño y en consecuencia el costo del hardware en la medida que se aumenta linealmente la resolución. La precisión necesaria para los comparadores también crece exponencialmente cuando lo hace N. Cuando la resolución supera los 8-bits es necesario aplicar técnicas de autocero a los comparadores. (el tamaño y la complejidad de 256 comparadores es un problema). Dado el pequeño intervalo de cuantización, el más mínimo error del comparador es apreciable. Entre la entrada y el conversor flash puede conectarse un circuito de muestreo y retención. El mismo disipa gran cantidad de potencia dado el alto número de comparadores que debe manejar. Y conectar un circuito de muestreo y retención a cada comparador, se convierte en un problema. Los conversores del tipo flash más utilizados son de 6 a 7 bits con comparadores simples, manejando velocidades de 1Gs/s y mayores. [Pohang02] 19-136 20/07/2004 1.5.3. Arquitectura Flash de 2 pasos (2 step flash) El mayor problema de los conversores flash radica en la necesidad de una gran cantidad de comparadores de bajo offset. En la Fig.1.3 se presenta el esquema de un conversor de dos pasos. En el cual puede apreciarse que la cantidad de comparadores necesarios se ve reducida a 2N/2 + 1. Entrada + S/H Analógica ADC ADC N2 bits DAC N1 bits SR Salidas Digitales 001001110 Fig.1.3 Diagrama en bloques de un conversor flash de dos pasos. Primero la señal de entrada analógica atraviesa un circuito de muestreo y retención (S/H). Durante el período de retención, el primer conversor ADC flash produce la cuantización digital de la señal retenida, con un número reducido de bits N1 < N. Al valor de la señal de entrada analógica retenida se le resta el valor de la señal de salida del DAC, elaborando una nueva señal que se denomina residuo. Luego, en la etapa ADC extra, el residuo es digitalizado en N2 bits completando la resolución del conversor. Para el ejemplo, sin corrección digital N1 + N2 = N. El procesamiento concurrente de ambos pasos permite llevar la velocidad de salida a la del mismo conversor flash. Aunque, la salida convertida tenga una latencia inicial de dos ciclos de reloj, convenientemente la etapa extra reduce la cantidad de comparadores de precisión. La ventaja de esta arquitectura es la menor cantidad de comparadores de precisión que requiere, y consecuentemente el bajo consumo. Si el sistema puede tolerar la latencia inicial de dos ciclos de reloj, el conversor flash de 2 pasos es la alternativa de bajo consumo y reducida área ocupada. La desventajas radican en la necesidad de un circuito S/H, DAC y en que ambas etapas requieran comparadores de precisión para completar la resolución del conversor A/D. Que como se mencionó con anterioridad, para resoluciones de 8bits, es muy difícil de lograr sin utilizar técnicas de compensación de offset. La precisión en la resta, entre la señal retenida y el valor de salida del DAC, puede verse disminuida utilizando medio rango de comparación en la 20-136 20/07/2004 segunda etapa por ejemplo con corrección digital (se describe en el trabajo). Así como podría utilizarse una ganancia interetapa con en fin de brindar una mayor tolerancia al offset de los comparadores de la siguiente etapa. Mientras que para implementar un conversor flash de 8 bits se necesitaban 256 comparadores de precisión, hacerlo utilizando una arquitectura flash de 2 pasos requiere 32 (16 comunes y 16 de precisión). De todas formas como sucede utilizando arquitecturas flash, el nivel de complejidad sigue creciendo exponencialmente en la medida que aumenta la cantidad de bits. En base a estas limitaciones, dicha arquitectura de conversión A/D no es aplicable más allá que para conversores de video de 8bits a 20MHz. 1.5.4. Arquitectura de conversión A/D Pipeline El proceso de conversión Pipeline surge de la combinación de las técnicas que utilizan conversores del tipo Flash y SAR, con S/H y ganancia entre etapas. Señal de entrada analógica ETAPA 1 S/H Señal de entrada de la etapa ETAPA M-1 Señal muestreada + ETAPA M X 2B - ADSC DAC Señal cuantizada Señal de salida de la etapa (residuo) Salidas digitales de la etapa Fig.1.4 Arquitectura de conversión A/D Pipeline En la Fig.1.4 se presenta un esquema básico para una arquitectura pipeline. Cada etapa muestrea la señal residuo de la etapa anterior mediante un S/H y la cuantiza en B+1 bits utilizando un sub-conversor flash (ADSC). Luego se resta la señal cuantizada a la señal de entrada y se obtiene el residuo, el cual es amplificado por el amplificador interetapa para ser muestreado y repetir el mismo procedimiento en la etapa siguiente. Cada etapa del conversor permite obtener B bits efectivos y 1 bit para redundancia (se profundiza mas adelante). La cantidad de comparadores necesarios depende de la cantidad de bits por etapa para una resolución dada. En el caso de la 21-136 20/07/2004 Fig.1.4, siendo M la cantidad de etapas, se necesitan M x 2B+1 comparadores. La cantidad de etapas es aproximadamente la resolución del conversor dividido la cantidad de bits efectivos por etapa elegida. Como se ha visto anteriormente, debido a la ganancia interetapa y corrección digital, el ADSC de cada etapa tiene que reunir solamente B+1 bits. De este modo, un menor B, reduce los requisitos de los comparadores. Otra observación es que los requisitos del amplificador interetapa y del DAC se ven reducidos al avanzar a través del pipeline. En el caso de un conversor de 10 bit de resolución con B=1, la primer etapa tiene que reunir requisitos de 10bit, mientras que el requisito de la segunda etapa se ve reducido en 1 bit. Esto puede significar una reducción apreciable del consumo de potencia en cada circuito S/H. Permitiendo reducir las dimensiones de los capacitores de los circuitos S/H debido a los menores requisitos de exactitud. En contraste con el flash de 2 pasos, la cantidad de comparadores utilizados se ve fuertemente reducida, a expensas de incrementar la latencia inicial y la cantidad circuitos S/H. También puede observarse que la complejidad circuital crece en forma lineal comparado con el crecimiento exponencial que tienen las arquitecturas flash y flash de 2 pasos. 22-136 20/07/2004 1.6. Características de Conversores Pipeline • El conversor A/D pipeline utiliza etapas en cascada, cada una de las cuales es capaz de producir uno o mas bits. • Las diferentes etapas del pipeline operan en simultáneo, determinando durante el mismo período de clock los bits pertenecientes a muestras sucesivas de la señal analógica de entrada. • La arquitectura brinda un alto valor de throughput a expensas de una latencia inicial del sistema en N ciclos de clock. (donde N es la cantidad de etapas) • El procesamiento en el camino analógico asegurar la información contenida en los bits residuales. • La complejidad y el consumo de potencia en cada etapa del conversor pipeline son significativamente menores a los del conversor completo. • La arquitectura pipeline brinda la mejor solución de compromiso entre velocidad, superficie y consumo de potencia, comparada con otras soluciones. • El numero total de etapas N, necesario para obtener una determinada resolución disminuye cuando la cantidad de bits por etapa se incrementa. • El procesamiento analógico requerido puede ser mas dificultoso cuando la velocidad y el consumo de potencia de una simple etapa aumenta. Esto resulta en que la elección acerca de la cantidad de bits por etapa que pueden ser utilizados requiera un verdadero análisis preliminar. 23-136 20/07/2004 1.7. Ventajas y Desventajas de la utilización de una Arquitectura Pipeline La principal ventaja de la arquitectura de los conversores AD Pipeline es el alto throughput a un muy bajo costo. La velocidad de salida esta limitada por la velocidad de la etapa mas lenta y es independiente del numero de éstas. Para el proceso de sub-conversión analógico-digital (ADSC), utilizando internamente arquitecturas Flash, cada etapa del Pipeline necesita solamente dos ciclos de reloj por conversión. Por ejemplo si en un conversor de 9-bits que utiliza arquitectura flash se necesitan al menos 512 comparadores, en uno Pipeline de tres etapas y 3-bits por etapa tan solo son necesarios 28 comparadores, lo cual se puede implementar en una superficie de 8500mil2 con procesos CMOS de 3µm.[Lewis87] El uso de un S/H a la entrada del conversor permite muestrear perfectamente señales de muy alta frecuencia. La ganancia de los amplificadores S/H entre etapas, disminuye los efectos de alinealidad causados por las imperfecciones en los componentes de etapas sucesivas; esto permite la utilización de técnicas digitales de corrección de errores, de manera que el efecto de alinealidad en cada ADSC flash tenga muy poca influencia en la linealidad completa del conversor. Si bien los amplificadores S/H mejoran muchos aspectos de performance del conversor pipeline, la principal desventaja radica en el uso de amplificadores operacionales para su implementación. Debido a ello los amplificadores operacionales contenidos en los SHA limitan la velocidad del conversor Pipeline. [Lewis87] 24-136 20/07/2004 1.8. Razones que motivan la elección de Conversores A/D Pipeline El muestreo y la cuantización de señales a altas frecuencias de muestreo con bajo consumo puede ser un beneficio muy importante para un gran numero de aplicaciones, tales como dispositivos de video portátiles, dispositivos de comunicaciones, interfaces para redes inalámbricas, canales de lectura / escritura de dispositivos de almacenamiento magnéticos de datos digitales, y muchas otras aplicaciones. Teniendo potencia limitada en baterías de tamaño razonable, se necesita que en nuestros circuitos integrados la disipación de energía sea mínima. La gran mayoría de los sistemas de comunicaciones actuales utilizan procesamiento digital de señales (DSP) para el tratamiento de la información transmitida. De modo que entre la señal analógica recibida y el sistema de procesamiento digital se necesita una interfaz analógico-digital. Esta interfaz permite la digitalización de la señal analógica recibida a la velocidad de muestreo del sistema. Como parte de un sistema de comunicaciones, la restricción del bajo consumo de potencia mencionada anteriormente impone además que la interfaz A/D deba ser de bajo consumo. La tendencia a incrementar la escala de integración de los circuitos integrados obliga a que el conversor A/D resida en el mismo silicio junto con grandes circuitos DSP. El hecho de compartir la misma fuente de alimentación entre el conversor A/D y el circuito digital, reduce el costo de tener que agregar conversores DC-DC extras para generar múltiples fuentes de alimentación. De modo que, es deseable que cada conversor A/D opere con la misma fuente de alimentación que el circuito digital. Dado el rápido avance de la Supervía de la Información de hoy en día, grandes cantidades de datos son almacenados en dispositivos de almacenamiento y son accedidos frecuentemente. Con el objeto de transmitir grandes cantidades de datos en cortos períodos de tiempo, se necesita que aquellos dispositivos de almacenamiento mantengan altas velocidades de transferencia. Esto se traduce directamente en altas velocidades de conversión en los canales de lectura / escritura de dispositivos magnéticos, como es en el caso de discos rígidos de última generación. En el mercado actual es muy común encontrar aplicaciones que requieren tasas de transferencia de 1Gs/s para resoluciones de 6-8bits. También son necesarios conversores A/D veloces con el objeto de lograr la mayor velocidad de transferencia en aplicaciones 25-136 20/07/2004 multimedia, tales como en video cámaras portátiles, cámaras digitales y en telefonía celular con video. Los diseños tradicionales de conversores que brindan la máxima velocidad de conversión utilizan arquitecturas “flash”, logrando la mayor velocidad de salida de datos (throughput) con el menor tiempo de retardo (latencia). Se necesita una extensa área de chip para su implementación puesto que la misma crece exponencialmente con la cantidad de bits. Los conversores A/D Pipeline utilizan interiormente pequeños conversores flash (de pocos bits) en cada una de sus etapas, alcanzando los mismos valores de throughput. A expensas de una latencia inicial en el funcionamiento (no presente en los conversores flash), el área de chip necesaria para su implementación es mucho menor (que la que emplearía un conversor del tipo flash para la misma cantidad de bits). En ciertas aplicaciones donde se requiere mediana – alta resolución y no hay realimentación o no es de importancia (dado que el tiempo de latencia inicial crece con el numero de etapas) es ventajoso utilizar el tipo de arquitectura de conversión A/D Pipeline. 1.8.1. Avances en la Tecnología CMOS Tras los últimos avances en la tecnología CMOS, es posible hacer un pronóstico acerca de una disminución paulatina en el voltaje de operación de los circuitos integrados a través del tiempo. Actualmente, los conversores A/D CMOS pipeline son capaces de operar con voltajes de 1,5v y menores, como se ve en el trabajo realizado en [Walta01]. El funcionamiento con bajo voltaje es una premisa muy importante en las interfaces que constituyen dispositivos portátiles actuales. VDD 3 2,5 2,5 1,8 2 1,5 1,5 1,5 1,2 0,9 1 0,6 0,5 0 1997 1999 2001 2003 2006 2009 2012 Año Fig.1.5 Pronóstico del voltaje de alimentación de dispositivos CMOS según la Semiconductor Industry Association 1997. 26-136 20/07/2004 2. Segunda Parte: Conceptos y Fundamentos 27-136 20/07/2004 2.1. Descripción Conceptual En el esquema de la Fig.1.8 se presenta un conversor analógico digital de k=3 etapas iguales. Cada etapa contiene un circuito de S/H, un conversor A/D y un conversor D/A de baja resolución, un mezclador de señales analógicas y un amplificador de baja ganancia. Vref AMP 2n1 Vin S/H A/D D/A 2a etapa 3a etapa LSB S-R S-R Lógica Digital S-R MSB Fig.1.8 Diagrama en bloques simplificado de una arquitectura de conversión A/D pipeline. El proceso en cada una de las etapas es el mismo y consiste en lo siguiente: 1. El valor de entrada analógica es retenido mediante el circuito de S/H. 2. A través del conversor A/D (del tipo flash, de baja resolución) se digitaliza el valor retenido anteriormente obteniéndose una salida digital de n1 bits. (n1 bits por etapa) 3. El conversor D/A provee a partir de estos n1 bits la reconstrucción de la señal analógica (cuantizada). 4. Por intermedio de un circuito mezclador la señal cuantizada (en n1 bits) es restada a la señal analógica de entrada, obteniendo la señal de residuo (también llamada “de error”). Esta última se amplifica en 2n1 veces, abarcando de este modo el rango de conversión completo de la entrada analógica de la siguiente etapa, para repetir el mismo proceso. 28-136 20/07/2004 2.2. Ejemplo de un Conversor Pipeline de dos etapas El resultado de la conversión parcial de cada etapa es conectado a circuitos S-R (registros de desplazamiento), cuyo propósito consiste en almacenar los valores de las salidas digitales de cada etapa. Para luego mediante un circuito de lógica combinacional, eliminar las redundancias (corrección digital de errores) y obtener un código de salida digital binario. Error en la Ganancia ENTRADA Error en la Ganancia Muestreo y Retención + + + Muestreo y Retención + - Error de Offset Error de Offset ADC de n1-bits ADC de n2-bits DAC de n1-bits SALIDA de n2-bits SALIDA de n1-bits Fig.1.10. Diagrama en bloques ejemplo de un conversor pipeline de dos etapas. Es sabido que cada etapa opera, en forma concurrente con el resto, empleando el residuo obtenido de la etapa predecesora. El resultado de la conversión parcial obtenido de cada diferente etapa corresponde al proceso de la señal analógica de entrada del conversor pipeline en distintos instantes del tiempo. Debido a ello se hace necesario el uso de varios circuitos S-R en cascada. A fin de proveer al circuito lógico digital corrector de errores, resultados de la conversión parcial correspondientes a la muestra de la señal analógica de entrada de entrada en el mismo instante de tiempo. Vmax Vmax Vin Vmax Ganancia x 4 Vin MSBs (1011) Analizado en la siguiente etapa Residuo LSBs 10 11 480mV 120mV Vmín Vmín Vmín Fig. 1.8.1 Ejemplo de conversion pipeline con n1=2 bits y n2=2 bits. 29-136 20/07/2004 2.3. Fuentes de Error en Conversores Pipeline Las principales fuentes de error en los conversores A/D Pipeline son: - tensiones de offset (corrimientos) - errores en la ganancia en los SHA - alinealidad en los ADSC - alinealidad en los DAC - error de establecimiento (settling error) en los amplificadores operacionales. Como se analiza mas adelante los efectos debidos a offset y alinealidad se pueden corregir y hasta incluso eliminar mediante técnicas de corrección digital. De este modo la alinealidad del DAC y el tiempo de establecimiento del circuito S/H limitarán la performance del sistema. Los errores asociados con cada elemento típico de un bloque para un Conversor A/D Pipeline se enumeran en la tabla de la Fig.1.9. [Gray91] ELEMENTO Amplificador de Muestreo y Retención (S/H) ERROR(ES) EFECTO(S) SOLUCION(ES) Offset Offset Alinealidad Auto-Zero Corrección Digital Offset Offset Alinealidad Alinealidad Alinealidad Auto-Zero Corrección Digital A/D Alinealidad Alinealidad D/A Amplificador InterEtapa Offset Alinealidad Error de Ganancia Alinealidad Trim Calibración Auto-Zero Trim Calibración Fig.1.9.Principales fuentes de error en los conversores pipeline. La primer columna indica el bloque principal de cada etapa del conversor A/D Pipeline donde se origina el error. La segunda columna muestra los errores asociados a este elemento. La tercera el efecto que causa dicho error. Finalmente se sugiere una posible solución para corregirlo ó eliminarlo en la cuarta columna. Utilizando técnicas tradicionales analógica es posible llevar a cero valores de offset originados en los circuitos S/H. Mientras que los problemas que causan la alinealidad presente en los subconversores A/D, como también en los amplificadores interetapa, pueden ser disminuidos o eliminados por medio de técnicas de corrección digital. 30-136 20/07/2004 2.3.1. Offset y Errores en la Ganancia Al igual que la mayoría de los conversores A/D, los del tipo pipeline son susceptibles a imperfecciones en los componentes analógicos. Su influencia se manifiesta, en cierta medida, causando errores tales como tensiones de offset, errores de ganancia y alinealidad. En el ejemplo de la Fig.1.10 [Lewis87] se muestra el diagrama en bloques de un conversor dos etapas modelizando errores de offset y ganancia en serie. Si el error está solamente en el la ganancia del amplificador interetapa, y si ambas etapas tienen una resolución de 4-bits, la ganancia interetapa debe ser 16 con ±3% de tolerancia. Respecto al Conversor Pipeline de 5 etapas diseñado en el presente trabajo, en el Anexo 2 se muestran los gráficos a partir de los cuales se obtienen los máximos valores de error que pueden ser tolerados. Sin que dicho error exceda 1LSB (para el peor de los casos), puede observarse que los valores de ganancia no deben exceder el 5% y el corrimiento debido a offset no supere los 35mV. Esto da como resultado las especificaciones de diseño del SHA, englobando de esta forma los errores causados en el S/H y el Amplificador interetapa. 2.3.2. El Error de Ganancia Interetapa Desde el punto de vista “causa” – “efecto”, el error de ganancia Interetapa es otra fuente de alinealidad del conversor pipeline. Código de Salida Digital Característica ideal de transferencia DNL+ DNL- (Missing Codes) Ventrada Fig.1.10.1 Característica de transferencia manifestandose la presencia de alinealidad en la cadena de resistencias Cuando la ganancia es muy baja este error causa saltos verticales (que se traduce en códigos erróneos ó missing codes) en toda la escala de transferencia, produciendo un 31-136 20/07/2004 DNL negativo (ver Fig.A2.6 SalidaSeno25). Y cuando la ganancia es demasiado alta (ver Fig.A2.5 SalidaSeno23) saltos horizontales y DNL positivo. Los efectos del error de ganancia interetapa pueden ser reducidos con corrección por realimentación referenciada. Si el mismo amplificador interetapa es utilizado para amplificar el residuo y la tensión de referencia, los valores pico de ambos escalarán en la misma proporción. Por consiguiente, los efectos de errores en los valores de ganancia interetapa serán automáticamente cancelados. Además, los efectos de variaciones lentas en el valor de la ganancia interetapa, como por ejemplo corrimientos por temperatura también son cancelados. [Gray88] 2.4. Corrección de Errores Tal como se mencionó anteriormente, los errores de offset y ganancia pueden reducirse ó hasta incluso eliminarse utilizando técnicas de corrección digital. Para llevar a cabo ello, se agrega cierta redundancia (1 bit en el ejemplo de la Fig.1.11) entre las etapas consecutivas. [Lewis87] 0,5 ENTRADA Etapa 1 Etapa 2 Registro de n2-bits Lógica de Corrección Registro de n1-bits Registro de n1-bits SALIDA de n1 + n2 - 1bits Fig.1.11 Diagrama en bloques ejemplo de la corrección digital para un conversor pipeline de dos etapas de 3 bit cada una. Los nuevos elementos en este diagrama son los registros de almacenamiento Pipeline, el circuito lógico de corrección y el amplificador con ganancia 0,5. Un amplificador 32-136 20/07/2004 de ganancia 0,5 es conceptual, dado que es equivalente a reducir la ganancia interetapa en un factor de 2. Esto permite acotar el error de alinealidad entre ±1/2LSB, de modo que el nivel de n1-bits de la primer etapa (luego de la subconversión A/D) no produzca residuos que puedan saturar a la segunda etapa. Si la primer etapa es perfectamente lineal, solo se usa la mitad del rango de conversión de la segunda etapa. El proceso consiste en salvar 1 bit de la segunda etapa para corregir digitalmente las salidas de la primer etapa; los otros n2-1 bits de la segunda etapa completan la resolución. Utilizando un circuito lógico de corrección digital se eliminan las redundancias entre las X etapas (X es la cantidad de etapas del conversor pipeline), obteniendo una salida digital de n1 + n2 –1 + .... + nX – 1 bits totales de resolución. Si se tuviera un conversor de 5 etapas de 3 bits de resolución cada una con 1 bit redundante, entonces el total de bits efectivos es 3 + 2 + 2 + 2 + 2 = 11 bits. Suponiendo conversores D/A ideales, por medio de la corrección digital podría eliminarse el problema de alinealidad en los subconversores A/D. De esta forma el conversor D/A de la primer etapa define la linealidad del conversor A/D completo. Cada conversor D/A puede implementarse utilizando líneas de resistores, obteniendo linealidad para un rango de 8 a 9 bits. Cuando se desea obtener linealidad integral con resolución mayor a 9 bits, el diseño de los conversores D/A no es trivial y en la mayoría de los casos en necesario utilizar técnicas calibración ó trimming. 33-136 20/07/2004 2.4.1. Funcionamiento de la Técnica de Corrección Digital del bit y medio Para explicar el funcionamiento de esta técnica, en la Fig.1.12 se muestra el diagrama en bloques de una etapa de dos bits de un conversor A/D pipeline. El gráfico (a) de la Fig.1.13 corresponde a la característica de transferencia de este diagrama. 2-bits ±Vr ±Vr DAC ADSC de 2-bits de 2-bits Entrada + 2 + Residuo Fig.1.12 Diagrama en bloques de una etapa de 2 bits, de un conversor A/D pipeline. [Lewis92] Se analiza además el comportamiento ideal de una etapa. Para lo cual el rango de señal de entrada retenida va desde –Vr hasta +Vr, obteniéndose la salida digital y el residuo correspondiente; para el caso de presencia y ausencia de offset en serie al ADSC y al DAC. . Residuo 00 ½ Vr = 1LSB 01 10 11 ½LSB 0 Entrada Rango de Retenida Conversión -½LSB -½Vr = -1LSB -Vr -½Vr 0 +½Vr +Vr 01 10 11 (a) Residuo 00 ½ Vr = 1LSB ½LSB 0 Entrada Rango de Retenida Conversión -½LSB -½Vr = -1LSB -Vr -¼Vr ¼Vr ¾Vr +Vr (b) Fig.1.13 Característica Ideal de transferencia de una etapa. Residuo ideal Vs Entrada retenida. (a) sin offsets, (b) con offsets 34-136 20/07/2004 En el siguiente apartado la Fig.1.14 muestra el mismo diagrama con dos tensiones de offset. Una de ellas está representada como un generador ubicado en serie con la entrada analógica del ADSC y la otra en serie con la salida analógica del DAC. El valor de ambas es de ½ LSB, producen desplazamientos de los niveles de decisión en dicha medida. 2.4.2. Corrimiento de los niveles de decisión En el diagrama de la Fig. 1.14 el generador de tensión de offset es colocado en serie con el camino de entrada del ADSC con el fin de producir un desplazamiento uniforme de los niveles de decisión en el gráfico de residuo ideal de la Fig. 1.13(a) hacia la derecha. En el mismo diagrama otro generador de tensión offset es colocado en serie a la salida del DAC para desplazar el gráfico completo del residuo ideal hacia abajo. Es importante notar que el gráfico de la Fig.1.13b no posee niveles de decisión en la mitad de escala de conversión, por lo tanto un conversor multietapa que utilice etapas con esta característica de transferencia tiene linealidad a media escala. 2-bits ±Vr ±Vr DAC ADSC de 2-bits de 2-bits + ½-LSB de offset - S S + ½-LSB de offset - + + 2 + Residuo Fig.1.14 Diagrama en bloques de una etapa de dos bits agregando tensiones de offset en el ADSC y en el DAC. De aquí en más, se define como rango de corrección a la cantidad de desplazamiento del nivel de decisión que puede ser tolerada sin que se produzca error. Se puede observar que si se considera al DAC y al SHA como ideales, con una ganancia interetapa de 2, el residuo amplificado cae dentro del rango de conversión de la siguiente etapa en tanto la alinealidad del ADSC no produzca un corrimiento de los niveles de decisión mas de ±½ LSB. (para una etapa de 2 bits) 35-136 20/07/2004 Bajo estas condiciones es posible corregir los errores causados por la alinealidad en el ADSC. Consecuentemente el rango de corrección aquí es de ±½ LSB (para un rango de conversión de 2 bits) ó ±Vr/4, lo que significa que la alinealidad del ADSC solo debe ser contemplada en la resolución de esa etapa, en lugar de en la resolución completa del conversor ADC. Más aún, dado el valor de tensión de offset introducido en serie al ADSC de la Fig.1.14 (que desplaza los niveles de decisión del gráfico hacia la derecha) la salida digital siempre es menor o igual a dicho valor ideal. En tanto la alinealidad ADSC no produzca un corrimiento de los niveles de decisión hacia la izquierda en un valor mayor a esa cantidad. Obsérvese que el residuo ideal de la Fig.1.13a siempre se encuentra entre ±Vr/4, mientras que el rango de residuos ideales de la Fig.1.13b se ve comprendido entre – Vr/2 y +Vr/4. Con etapas idénticas y una ganancia entre etapas de 2, el valor mínimo del residuo ideal en la Fig.1.13b se puede apreciar en el extremo izquierdo del gráfico ,y se ubica sobre el límite inferior del rango de conversión de la siguiente etapa. No obstante ello un corrimiento en los niveles de decisión no tiene efecto sobre el valor de este residuo en el extremo izquierdo del gráfico. Mientras que una tensión de offset o un error de ganancia interetapa (ver Fig.1.13b en rojo) puede causar que el valor del residuo en el extremo izquierdo del gráfico sea llevado fuera del rango de conversión de la siguiente etapa, causando pérdida de información. 36-136 20/07/2004 2.5. Optimización del Circuito En esta sección se enumeran ciertas características que explican los beneficios que se obtienen al adoptar nuevas técnicas en el diseño de los circuitos del ADSC y SHA de cada etapa del conversor pipeline. Las optimizaciones son llevadas a cabo con el objeto de reducir la susceptibilidad a fallas (errores mencionados con anterioridad) y economizar el circuito, reduciendo el área ocupada y el consumo de potencia, y además simplificando el diseño del layout. (por la repetición de bloques iguales) 2.5.1. Utilizando un comparador extra en el ADSC Los efectos del Offset interetapa y error de Ganancia, sobre la linealidad del ADC vuelven a ser presentados a continuación. Un error de offset interetapa produce un desplazamiento vertical del grafico completo del residuo, efecto equivalente al que causaría la combinación de dos generadores de tensión de offset en la etapa predecesora (uno en serie a la rama de entrada y el otro de polaridad opuesta en serie la rama del ADSC). Si el rango de corrección no es excedido por la combinación del offset y la alinealidad presentes en el ADSC, el efecto del offset en el ADSC es eliminado por la corrección digital, quedando el offset presente en la señal de entrada como único causante de corrimiento entre etapas. Como se vio anteriormente, el rango de corrección es la cantidad de desplazamiento del nivel de decisión que puede ser tolerada sin error. Y desde que el valor del residuo en el extremo izquierdo (Fig. 1.13b) es independiente del desplazamiento del nivel de decisión, el rango de corrección es independiente del valor del residuo en el extremo izquierdo del gráfico. El error de Ganancia interetapa escala verticalmente todo el gráfico del residuo, efecto que puede verse en la Fig.1.15 en rojo. Para valores distintos de cero genera error en la entrada analógica de la siguiente etapa. Si dicho error es superior en valor absoluto a uno en 2r (r es la resolución restante de la etapa luego del error de ganancia inter etapa), la corrección digital no puede eliminarlo. Asi todos los valores de residuo (distintos de cero) estan afectados por el error de ganancia interetapa. Desde el punto de vista del error de ganancia el limite del rango de conversión carece de significado. Sin embargo se puede observar que sí tendría significado para grandes valores de residuo, como puede verse en el caso del residuo ideal en el extremo izquierdo (Fig. 37-136 20/07/2004 1.13b en rojo, quedando fuera del rango de conversión ante un pequeño incremento en la ganancia). En la práctica, el efecto causado por la alinealidad del ADSC desplaza el valor del residuo en un mismo sentido respecto de los niveles de decisión afectados, pero la magnitud del residuo en el extremo izquierdo es aún mayor que la de cualquier otro residuo que este dentro del rango de corrección. El efecto causado por el error de ganancia interetapa sobre la linealidad del ADC se ve afectado aún mas por el residuo del extremo izquierdo del gráfico. Este a su vez incrementado tanto en el caso ideal como en la practica. Además, la presencia un incremento en la magnitud del residuo aumenta las posibilidades de oscilación del amplificador interetapa. (swing requirement) Residuo ½ Vr = 1LSB 00 01 10 11 ½LSB Entrada 0 Retenida -½LSB -½ Vr = -1LSB -Vr -¾Vr -¼Vr ¼Vr Rango de Conversión de la siguiente etapa ¾Vr +Vr Fig.1.15. Residuo Vs Entrada Retenida utilizando un comparador extra. Agregando un comparador extra al ADSC es posible reducir la magnitud máxima del residuo ideal. En la Fig.1.15 se muestra el gráfico del residuo ideal resultante para el ejemplo de 2 bits. (suponiendo comparadores con offset cero) El umbral del comparador extra se ubica en –¾Vr, y este comparador no es utilizado para cambiar las salidas digitales de la etapa, pero si para limitar la magnitud del residuo ideal a Vr/4. Aunque aquí se muestra solamente para un ejemplo de 2 bits, es posible emplear esta técnica para cualquier resolución de etapa. Un ejemplo es el ADC cíclico con un comparador extra. La principal ventaja del uso de esta técnica es que reduce la magnitud del residuo a ½ LSB (referido a la resolución de la etapa), reduciendo de esta forma exigencias de compensación (swing requirement) a la salida del amplificador interetapa además de la sensibilidad a errores de ganancia que se vio en la Fig.1.13a. Los aparentes beneficios del uso de esta técnica se ven disminuidos, nuevamente por la presencia de alinealidad en el ADSC, lo cual incrementa la magnitud máxima del residuo cerca de los niveles de decisión involucrados. Con lo hasta aquí planteado la lógica de corrección digital no está completamente concluida, dado que no estaría corrigiendo códigos de salida con una suma ó no 38-136 20/07/2004 cambio ante su correspondiente código de entrada incorrecto. Además de la desventaja que representa el requerir de un comparador más, la lógica de corrección asociada es compleja y difícil de implementar. Debido a estos inconvenientes, en lugar de utilizar un comparador más en el diseño del ADSC, se puede hacer utilizando un comparador menos. 2.5.2. Utilizando un comparador menos en el ADSC Dado que el rango de la corrección en la Fig.1.13(b) está entre ± ½ LSB (para una etapa de 2 bits), y porque el mayor nivel de decisión es ½ LSB, (siendo de 2 bits a fondo de escala), en la Fig.1.13(b) también se muestra que utilizar un comparador superior en cada etapa (excepto en la última) no es necesario. Su eliminación provoca la ocurrencia de un error corregible en la salida del ADSC sin corregir, para una entrada a fondo de escala. Rango de salida del ADSC Residuo ½ Vr = 1LSB 00 01 10 ½LSB Entrada 0 Retenida -½LSB -½ Vr = -1LSB -Vr -¼Vr ¼Vr Rango de Conversión de la siguiente etapa +Vr Fig. 1.16 Residuo Vs Entrada Retenida sin el comparador superior en el ADSC. La característica ideal de transferencia de una etapa de 1.5bit se muestra en la Fig.1.16. En este nuevo grafico los valores de tensión de offset en los comparadores se asumen como cero. Sin el comparador superior, la salida digital nunca llega a retornar el código 11 y la magnitud del residuo continua aumentando para incrementos de las entradas por encima de ¼ de la tensión de referencia. Dado que el residuo resultante en el lado derecho de la Fig.1.16 tiene el mismo valor que el residuo del extremo izquierdo de las Fig.1.13(b) y 1.16, la quita del comparador superior no produce un incremento en el valor máximo del residuo. Para obtener el código 11 a la salida de esta etapa luego de la corrección, la lógica de corrección debe hacer un incremento. Esto se produce cuando en la siguiente etapa del pipeline se detecta que el valor de ¼ de tensión de referencia ha sido superado. Para obtener el código 00 a la salida de esta etapa luego de la corrección, puesto que la lógica de corrección no puede substraer, ésta debe no 39-136 20/07/2004 hacer nada. A fin de que pueda verificarse la capacidad de la lógica de corrección de “no hacer nada” ó “sumar” simplemente se ensaya en el rango completo del ADC, para la presencia de todos los códigos de salida. Todo esto simplifica el diseño de la lógica de corrección digital. Luego de remover el comparador superior, el rango de corrección queda comprendido entre ±1/2 LSB (para una etapa de 2 bit), dado que los niveles de decisión resultantes pueden moverse por encima de ese valor sin que el residuo resultante exceda el rango de conversión de la siguiente etapa. Finalmente, en este ejemplo, se necesitan solamente dos comparadores en cada etapa excepto en la última. La última etapa necesita tres comparadores porque su salida no puede corregirse. En general, si n es el número de salidas digitales por etapa, mientras la última etapa necesita 2n – 1 comparadores, cada una de las demás etapas requiere 2n – 2 comparadores. Como resultado la resolución de cada etapa excepto la última es log2(2n - 1) bits. Si n = 2 bits, como en este ejemplo, la resolución por etapa es de aproximadamente 1.5bit, quedando claro que agregar un comparador a un ADSC de 1 bit es lo mismo que remover un comparador de un ADSC de 2 bits. La disminución en el numero de comparadores reduce el área total de chip y el consumo de potencia asi como la carga capacitiva en cada SHA. Esto también reduce en uno la cantidad de niveles necesarios en el DAC, lo cual es importante porque el DAC resultante es mas rápido y menos sensible a todo tipo de errores en los componentes analógicos. 2.5.3. Resolución por Etapa optimizando potencia A fin de reducir consumo de potencia, se investiga una solución de compromiso entre la resolución por etapa y la cantidad de etapas. El uso de la corrección digital permite eliminar los efectos no deseados causados por imperfecciones en los comparadores, utilizando circuitos digitales de bajo consumo de potencia y costo reducido. En un conversor Pipeline convencional, cada etapa es idéntica al resto y tiene la misma funcionalidad. Generalmente, el consumo de potencia total puede ser calculado como el producto entre el consumo de una etapa y el número de etapas. La potencia de una etapa se disipa mayoritariamente en los circuitos de: el sub-conversor analógico digital (ADSC) y el amplificador de muestreo y retención (SHA). 40-136 20/07/2004 Para una velocidad de muestreo dada, cuando se incrementa la resolución por etapa, la cantidad de etapas necesarias disminuye, con lo cual se reduce la cantidad de circuitos SHA. Pero dado que cada etapa tiene que convertir mas bits, el circuito ADSC requiere de una mayor cantidad de comparadores, con lo cual crece el consumo por etapa. CF=C CF=C CS=(2B-1)C - B CS=(2 -1)C + + ADSC Etapa i Etapa i+1 Fig.1.6. Estimación de consumo de potencia en un Conversor A/D pipeline (caso de B=2 bits por etapa) También se requiere de una mayor ganancia interetapa que, conservando el ancho de banda de los amplificadores interetapa, se traduce a un mayor consumo de potencia en los circuitos SHA. Cuando se disminuye la resolución por etapa, si bien el numero de etapas aumenta, la cantidad de comparadores de los circuitos ADSC se ve fuertemente reducida, con lo cual también se reduce la carga de los circuitos SHA. Y al requerirse de una menor ganancia interetapa también se reduce significativamente la potencia de los circuitos SHA. En la Fig.1.6 se presenta un ejemplo de utilización del circuito SHA en una etapa de un conversor pipeline cargado con la etapa siguiente. La carga capacitiva es 2B C+ CFlash, donde CFlash es la capacitancia de entrada del conversor A/D de la etapa siguiente. Conociendo la capacitancia de entrada y la ganancia interetapa de cada etapa, la disipación de potencia por etapa se puede estimar como una función de la resolución por etapa “B”. [GCmsThesis2.3] Puesto que 2B es la ganancia interetapa, y sabiendo que el producto ganancia por ancho de banda es constante en los amplificadores interetapa, se decide utilizar B=1 bit por etapa. 41-136 20/07/2004 2.5.4. Escalamiento de Capacitores en las etapas del Conversor Pipeline En los conversores A/D pipeline, en cada etapa se disminuyen las exigencias de resolución en la medida que se avanza a través del pipeline. Esto se debe a que las exigencias de velocidad y precisión cada vez son menores. Por consiguiente, en lugar de diseñar etapas idénticas, en la última parte del pipeline se puede reducir su tamaño. Ietapa(n)/Ietapa(1) 1 0,5 Etapa(n) 1 2 3 4 5 6 7 8 Fig.1.7 Corriente de polarización de las etapas de un conversor pipeline normalizada respecto de la primer etapa. En [Europaper] se describe el “método de escalamiento de capacitores”, el cual tiene como objeto reducir el consumo de potencia en las últimas etapas de un conversor pipeline de alta resolución. El gráfico de la Fig.1.7 muestra el descenso de la corriente de polarización en los amplificadores operacionales en cada etapa respecto de la primera. Hacia las primeras etapas del pipeline los tamaños de los capacitores de muestreo y de los amplificadores operacionales, son determinados por el piso de ruido. Mientras que hacia el final del pipeline, el tiempo de establecimiento (settling time) de los amplificadores operacionales es el factor determinante del tamaño de las últimas etapas. Mediante el empleo de esta técnica es posible reducir hasta en un 50% el consumo de potencia respecto del mismo diseño con etapas idénticas. Con el propósito de llevar a cabo esto, es posible emplear capacitores más pequeños en el diseño de los SHA de las últimas etapas. [Gray94] 42-136 20/07/2004 2.6. Especificaciones de cada circuito del conversor pipeline Como primera instancia se definen las características principales del conversor pipeline que se desea desarrollar, para caso particular de este trabajo entonces: Rango de tensión para la señal de Entrada analógica (en , entre –VSS/2 = -2.5v < V(in) < 2.5v = +VCC/2 valor pico) Cantidad de etapas 5 Cantidad de bits por etapa 1,5 Frecuencia de conversión 2Msa/s Cantidad de efectivos bits totales 5 A partir lo anterior mediante el programa “C” (AP1), se simula el funcionamiento en cascada de un conversor pipeline (AP2), y asi se determinan las especificaciones que cada circuito de cada etapa debe cumplimentar. (SHA, ADSC y DAC) Los resultados obtenidos mediante las simulaciones se resumen en la siguiente tabla. Bloque circuital Error SHA 1,87 < Ganancia < 2,04 -35mV < Voffset < 36mV ADSC Alinealidad: -½ LSB < ε < ½ LSB DAC Alinealidad: -½ LSB < ε < ½ LSB Fig.1.8. Especificaciones de los bloques circuitales de una etapa Estas especificaciones son el punto de partida para el diseño del circuito que se procede en el siguiente capitulo. 43-136 20/07/2004 3. Tercera Parte: Diseño Circuital y Simulaciones 44-136 20/07/2004 3.1. Modelo Circuital de un Conversor A/D Pipeline de 6bits Del mismo modo que ya se explicó en la sección 2.7.1, se presenta ahora como es implementado el conversor pipeline en el presente trabajo. Salidas Digitales Entrada analógica SHA A/D A/D D/A D/A ETAPA_0 A/D D/A SHA SHA ETAPA_1 A/D ETAPA_2 A/D D/A SHA SHA ETAPA_3 2bit FLASH Fig.1.17 Interconexión de las Etapas de un Conversor AD Pipeline Un SHA inicial, es colocado previamente a la entrada analógica de la primer etapa. Esto se hace con el objeto de preparar muestras de la señal analógica de entrada para ser procesadas por la primer etapa (ETAPA_0). Cada una de las primeras cuatro etapas (ETAPA_n) procesa la muestra, obteniendo las salidas digitales (dos por etapa) y elaborando una señal de residuo, cuyo valor es retenido para ser utilizado como señal analógica de entrada de la siguiente etapa. La quinta y última etapa del conversor pipeline es diferente al resto. Sin necesidad de elaborar un residuo, consiste solamente en un conversor flash de dos bits. (2bit_FLASH) Todas las salidas digitales van conectadas a un circuito lógico de corrección digital, que está tratado más adelante, el cual codifica las salidas digitales resultantes de las etapas del conversor pipeline, eliminando las redundancias y obteniendo un código binario. En las secciones siguientes se analiza el comportamiento de forma global (bloques fundamentales, 3.2 y 3.3) y luego de una etapa (detalle de la etapa, 3.3) del conversor pipeline. 45-136 20/07/2004 3.2. Bloques Circuitales que componen el conversor pipeline Conceptualmente se pueden distinguir cuatro bloques fundamentales que componen un conversor A/D Pipeline, según: Lógica de Corrección Digital 1.5 1.5 Resultado de la conversion total 1.5 1.5 2 Núcleo del ADC Entrada Analógica SHA A/D Φb Φa D/A A/D D/A Φa A/D D/A Φb A/D D/A Φa A/D Φb Generador de Fases de Reloj Reloj Principal Fig.2.1.Diagrama en Bloques del Conversor A/D Pipeline Generador de Fases de Reloj: A partir de un reloj principal, tiene la función de generar “dos fases de clock” desplazadas 180°, las cuales serán distribuidas entre las etapas pares e impares del conversor pipeline y el amplificador de muestreo y retención inicial. Núcleo del ADC: Comprende al Conjunto de Etapas del Conversor. Cada etapa del conversor esta compuesta por un circuito ADSC (subconversor A/D) , un circuito DAC (conversor D/A) y un circuito SHA (amplificador de muestreo y retención). Lógica de Corrección Digital: Consiste en una lógica Combinacional y un conjunto de registros de desplazamiento. La función de este bloque es procesar las salidas digitales de todas las etapas, y, eliminando las redundancias, obtener la salida digital del conversor pipeline en código binario. SHA: El Amplificador de Muestreo y Retención colocado previo a la entrada del Núcleo del ADC tiene como propósito es proveerle de muestras de la señal analógica de entrada, en instantes de tiempo discreto. 46-136 20/07/2004 3.3. Detalle de los bloques que componen el conversor pipeline En la presente sección se presenta la alternativa de diseño del conversor pipeline que se implementa en el presente trabajo. Cada uno de los bloques fundamentales que componen el conversor son detallados a continuación. Se realiza un diagrama en bloques a partir de lo cual se diseña su esquema circuital. Mediante el cual se obtienen los resultados de simulación spice, permitiendo comprobar su funcionamiento y analizar las características de cada bloque por separado. 3.3.1. Circuito Amplificador de Muestreo y Retención La implementación del SHA que es utilizada en el presente trabajo, es comúnmente llamada “de Capacidades Conmutadas”. Su diseño esquemático se puede ver en la Fig.2.12. CLOCK L1 Vin_ANALOG L3 CMOS_KEY CMOS_KEY P2 Cs Ch 1p 0.5p CLOCK NOT SAMPLED_OUT L2 Vref - CMOS_KEY U5 + 0 OP_AMP Descripción de conectores y componentes: Vin_ANALOG Vref CLOCK SAMPLED_OUT Cs, Ch L1, L2, L3 U5 Tensión de Entrada que es muestreada. Tensión de Referencia. (normalmente* se conecta a 0v) Señal de control del Muestreo ó la Retención según su estado. Señal de salida muestreada y retenida. Capacidades de Muestreo y Retención respectivamente. Llaves que conmutan alternadamente entre Vin_ANALOG y Vref. Amplificador Operacional. Fig.2.12.Diseño Esquemático del SHA durante el “Muestreo” El terminal (-) del Amplificador Operacional (OP_AMP) une las capacidades Cs y Ch, y el terminal (+) es conectado a común. La señal de clock controla el accionar de las llaves (CMOS_KEY) L1 y L3, y la señal clock invertido controla L2. 47-136 20/07/2004 Los esquemas de las Fig. 2.12 y 2.13 representan los dos estados posibles de el circuito, llamados de aquí en adelante como “Muestreo” y “Retención”. CLOCK L1 Vin_ANALOG L3 CMOS_KEY CMOS_KEY P2 Cs Ch 1p 0.5p CLOCK NOT SAMPLED_OUT L2 Vref U5 - CMOS_KEY + OP_AMP 0 Fig.2.13 Diseño Esquemático del SHA durante la “Retención” Como se ha dicho anteriormente, el Amplificador Operacional es el componente que limita el performance del presente circuito. Cada llave complementaria CMOS, consiste en un par de transistores complementarios conectados en paralelo. El esquema puede verse en la Fig. 2.13.1. La señal GATE controla las compuertas de los transistores. Cuando GATE está en estado alto activa los transistores M6 y M5, la llave “se cierra”. Siendo que GATE en estado bajo, provoca el corte de ambos transistores y con lo cual la llave “se abre”. HI P1 GATE NOT LO L1 MbreakN CMOS_KEY M6 LO IN OUT M5 HI MbreakP Fig. 2.13.1. Diseño esquemático de una llave CMOS. (CMOS_KEY) 48-136 20/07/2004 3.3.2. Funcionamiento del Amplificador de Muestreo y Retención Utilizando el circuito de prueba que se presenta en la Fig. 2.14, es posible generar a la salida muestras en intervalos de tiempo discreto, de la señal analógica de entrada durante los ciclos de “retención” (magnitud muestreada a la salida), y 0v durante el ciclo de “muestreo”. SHA Vin_ANALOG PARAMETERS: Cp = 400p Wn = 50u Vcc = 5 CK_P = 5 CK_N = -5 VAMPL = 2.5 TD = 0.1m FREQ = 1000 Vref V3 0 SAMPLED_OUT CLOCK V2 0 PER = 20u PW = 10u TF = 0 TR = 0 TD = 0 V2 = {CK_P} V1 = {CK_N} AC = 0 DC = 0 VIN_ANALOG (V3): CLOCK (V2): Vref (0v): SAMPLED_OUT: 0 señal de entrada senoidal continua de amplitud 2,5v y frecuencia 1kHz. generador de pulsos de ancho 0,25us, entre +/-5v y frecuencia 50kHz. conectada a común para este ejemplo. señal de salida en tiempo discreto. Fig.2.14 Circuito de prueba para convertir una señal de tiempo continuo a tiempo discreto. El nivel de la señal de control CLOCK determinará: en estado alto el ciclo de muestreo y en estado bajo el ciclo de retención. Tras el siguiente análisis se demuestra como el SHA gana dos bajo esta configuración. Inicialmente la señal CLOCK en estado alto provoca la apertura de L2 y, el cierre de L1 y L3 (ver Fig. 2.12). Cs se carga al valor de la tensión de entrada (VIN_ANALOG). A través de L3 se descarga Ch quedando la salida (SAMPLED_OUT) a 0v. Bajo estas condiciones se tiene en Cs una carga ideal: Qs = Cs ⋅ VIN [18.1] Siguiendo el gráfico de la Fig. 2.15 puede observase que, a los 110us la señal CLOCK pasa a estado bajo, tras lo cual L1 y L3 se abren separando la entrada (VIN_ANALOG) de Cs y liberando a Ch de modo que su carga fije el valor de la 49-136 20/07/2004 tensión de salida. Mientras que L2 se cierra conectando a Cs entre 0v (Vref) y la masa virtual. Pasando de este modo al ciclo de retención. Tras lo aquí dicho Cs se descarga a través de Ch, hasta que: Qs = Qh [18.2] cargas acumuladas en las capacidades entrada (durante el ciclo de muestreo) y salida (durante el ciclo de retención) respectivamente. Pudiendo expresarse como: Cs ⋅ VIN = Ch ⋅ VOUT [18.3] Cs Ch [18.4] se obtiene VOUT = VIN 5.0V 0V SAMPLE SAMPLE SAMPLE HOLD SAMPLE SAMPLE HOLD HOLD SAMPLE HOLD HOLD SEL>> -5.0V V(SHA.CLOCK) 3.0V 2.0V 1.0V 0V 102us 110us 120us 130us V(SHA.Vin_ANALOG) V(SHA.SAMPLED_OUT) 140us V(SHA.Vref) 150us 160us 170us 180us 190us 200us 207us Time Fig.2.15 Análisis transitorio de señales de entrada y salida entre los 102us y 207us Que al ser la capacidad Cs (entrada-sampling) el doble que la capacidad Ch (salidahold), este proceso duplica a la salida la tensión de entrada, cuando se completa la descarga de Cs a través de Ch. Siguiendo el mismo gráfico del análisis transitorio, se observa que a los 120us la señal CLOCK vuelve a cerrar las llaves L1 y L3 tras lo cual Cs queda conectado a Vin, Ch es cortocircuitado y la salida se fija nuevamente a 0v. Se pasa al ciclo de muestreo. Finalmente a los 130us vuelve a repetirse un proceso similar que lo sucedido al principio del análisis (a los 110us). En la sección 3.4.1 se incluye otro ejemplo. Similar al que es utilizado en el conversor pipeline, con Vref≠0v. Esto da como resultado una suma ó resta de un valor fijo a la 50-136 20/07/2004 tensión retenida en el valor de la salida. Las ecuaciones que rigen el comportamiento bajo esta condición (Vref≠0v) se presentan a continuación. 2.0V SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE SAMPLE 0V HOLD HOLD HOLD HOLD -2.0V HOLD -3.0V 102us 110us 120us V(SHA.Cs:1)-V(SHA.Cs:2) 130us 140us V(SHA.Ch:1)-V(SHA.Ch:2) 150us 160us 170us 180us 190us 200us 207us Time Fig.2.16 Análisis de la capacidad de salida Ch y de entrada Cs. Durante el ciclo de muestreo (Fig.2.12) Cs se carga a la tensión Vin, exactamente con la misma Qs sin importar Vref. Luego de producirse la transición del CLOCK, se ingresa al ciclo de retención. Tras la apertura de L1 y el cierre de L2, Cs queda conectado entre Vref (ahora diferente de 0v) y 0v (masa virtual). L3 se abre, liberando Ch, a dicho instante descargado. Así, la corriente fluye a través de Cs y Ch hasta que se cumpla que: Cs ⋅ (VIN − VREF ) = Ch ⋅ VOUT [18.5] con lo cual ahora VOUT = Cs (VIN − VREF ) Ch [18.6] es la nueva tensión de salida. Si Vref=0v se comprueba la equivalencia entre [18.6] y [18.4]. Para el trabajo aquí realizado se aprovecha esta característica para restar el valor la tensión de entrada retenido con el valor de la señal reconstituida. Para realizarlo se conecta la salida del DAC a Vref. De esta forma se obtiene la señal de residuo para ser procesada en la siguiente etapa. 51-136 20/07/2004 3.3.3. Circuito del Núcleo del conversor El esquema circuital que conforma el núcleo del conversor Pipeline (ADC Core) se presenta en la Fig.2.17. El diagrama en bloques detallado del ADC core, que es desarrollado en el presente trabajo, es el de la Fig. 2.2. El ADC-Core está compuesto por cinco etapas (PIPELINE_STAGE) iguales conectadas en cascada. Los resultados de simulación spice de este bloque y los bloques que lo componen se exponen en la sección 3.4. Una fuente de tensión sinusoidal (V3) representa la señal analógica de entrada, la cual deber ser muestreada antes de ingresar en la primer etapa. Un SHA es adicionado a la entrada de la primer etapa con el fin de proporcionar muestras en instantes de tiempo discreto al circuito. Dichas muestras serán procesadas en cada una de las etapas. Dado que en el proceso de muestreo, previo a la primer etapa, no se adiciona ni resta al valor de señal analógica de entrada muestreado, el voltaje de referencia (Vref) del SHA de entrada es conectado directamente a 0v. La señal de control CLOCKA controla el funcionamiento de dicho amplificador SHA. De esta modo la salida SAMPLED_OUT provee sucesivas muestras retenidas de la señal analógica de entrada en el instante que la señal CLOCKA pasa a estado bajo. Común a todas las etapas del pipeline VR_P/4 y VR_N/4 son las fracciones positiva y negativa de la “tensión de referencia” que determinarán la sensibilidad del los ADSCs de cada una de las etapas. De esta forma el ADSC de cada etapa determina si una señal es positiva ó negativa cuando la muestra de entrada (VIN_ANALOG) supera por exceso a VR_P/4 ó por defecto a VR_N/4 respectivamente. Tras ello en cada una de las etapas, las salidas digitales A y B de una etapa, nunca estarán ambas en estado alto. La fases de reloj CLOCKA ó CLOCKB controlan en proceso de las etapas del pipeline impares e pares respectivamente. Entonces, mientras las etapas que son controladas por la fase CLOCKA están reteniendo una muestra, las controladas por la fase CLOCKB estan muestreando y procesando dicha muestra, y viceversa. Un SHA es provisto a la salida de cada etapa con el fin de elaborar, retener y amplificar el valor de la señal de residuo, que es procesada en la etapa siguiente. Las cinco etapas sucesivas iguales que forman en ADC-Core, operan en forma concurrente con muestras de la señal de entrada analógica (VEntrada_analógica) tomadas en instantes de tiempo sucesivos. Cada una de estas produce las salidas digitales A y B, 52-136 20/07/2004 como resultado de la sub-conversión del ADSC, y elabora además el residuo que es utilizado como señal analógica de entrada para la siguiente etapa. A excepción de la última, cada etapa esta compuesta por un SubConversor Analógico Digital (ADSC del tipo Flash de 1.5bits efectivos), un Conversor Digital Analógico (DAC) y el Amplificador de Muestreo y Retención. (SHA) La última etapa utiliza un ADC de 2bits y, al no tener que elaborar un residuo no requiere ni de un circuito DAC ni de un SHA. 53-136 20/07/2004 SHA PIPELINE_STAGE_4 RESIDUO RESIDUO A B A B A B A RESIDUO RESIDUO PIPELINE_STAGE_5 VIN_ANALOG VIN_ANALOG VIN_ANALOG VIN_ANALOG VIN_ANALOG VR_P/4 VR_P/4 VR_P/4 VR_P/4 VREF_P VR_N/4 VR_N/4 VR_N/4 VR_N/4 VREF_N CLOCK CLOCK CLOCK CLOCK SHA V3 0 1.5BIT_ADC_STAGE2 1.5BIT_ADC_STAGE2 2BIT_ADC_LAST_STAGE 1.5BIT_ADC_STAGE2 ¬LATCH VAMPL = 2.5 FREQ = 10k TD = 5us 1.5BIT_ADC_STAGE2 ¬LATCH SAMPLED_OUT CLOCK A PIPELINE_STAGE_3 B PIPELINE_STAGE_2 Vref B 0 PIPELINE_STAGE_1 C Vin_ANALOG VR_P/4 VR_N/4 CLOCKA CLOCKB (a) A B ADSC VREF_P VREF_N VIN_ANALOG (c) (b) DAC U3 VR_N/4 VIN_ANALOG A DIGITAL_INPUT_A B DIGITAL_INPUT_B ¬LATCH VR_P/4 ANALOG_OUTPUT VREF_P _A 1.5BIT_DAC + VIN_ANALOG SHA - Comparador U4 _B + 1.5BIT_ADSC Vin_ANALOG Comparador 0 CLOCK SAMPLED_OUT Vref RESIDUO - U5 _C VREF_N 2x_SHA + Comparador CLOCK Fig.2.17. (a) Circuito Eléctrico del cuerpo del conversor Pipeline adicionando el amplificador de muestreo y retención a la entrada. (b) Circuito Eléctrico interior de una Etapa del Pipeline. (PIPELINE_STAGE) (c) Circuito Eléctrico del interior de la última etapa del pipeline. (LAST_STAGE) 54-136 20/07/2004 1,5 bits 1,5 bits 1,5 bits 1,5 bits 2 bits ETAPA 1 PIPELINE ETAPA 2 PIPELINE ETAPA 3 PIPELINE ETAPA 4 PIPELINE ETAPA 5 PIPELINE (última) Núcleo ADC A , B A , B (Salidas Digitales) ETAPA N VEntrada_analógica ÚLTIMA ETAPA ADSC 1,5bit DAC {+Vr/2, -Vr/2, 0v} 1,5bit VEntrada_analógica SHAx2 RESIDUO Amplificador de S/H InterEtapa Fig.2.2.Diagrama en bloques del cuerpo y desarrollo de las etapas del conversor Pipeline. 55-136 ADC (FLASH) 2-bit 20/07/2004 3.3.4. Circuito Lógico del Corrector Digital No forma parte del objetivo del presente trabajo hacer una explicación detallada del funcionamiento de este bloque, por lo cual se omiten las simulaciones del mismo. No obstante ello se define una alternativa de diseño lógico y el propósito que debe cumplir. El circuito lógico de corrección consiste en una lógica digital que debe operar con las salidas digitales obtenidas de cada unas de las etapas, eliminar las redundancias y generar un código de salida en binario. Lógica de corrección digital LATCH LATCH LATCH LATCH Adder Adder LATCH LATCH LATCH MSB S[4] MSB Adder LATCH S[5] LATCH Adder LATCH Adder S[3] S[2] S[1] S[0] ENCODER ENCODER ENCODER ENCODER ENCODER’ 1.5 bit INPUT 1.5 bit INPUT 1.5 bit INPUT 1.5 bit INPUT 2 bit INPUT ENCODER: Adder: LATCH: 1.5 bit INPUT: 2 bit INPUT: S[0 .. 5]: Codificador en binario de 1.5 bits y 2 bits (ENCODER’). Sumador binario de tres bits con carry de salida. Memoria de dos bits. Entradas provenientes de las salidas digitales primeras cuatro etapas. Entradas provenientes de las salidas digitales de la última etapa. Código de salida en binario. Descartando S[0] (LSB), redundante puede descartarse quedando el resultado de la conversión de de 5 bits. Fig.2.9.Diagrama en Bloques de la lógica de corrección digital. 56-136 LSB 20/07/2004 A NAND NAND3 B Cout Cin 20040518: Sumador binario de 3 bits. con Carry de entrada - A B: Bits de entrada - Cin: Carry de entrada - S: Bit de salida de suma - Cout: Carry de salida NAND NAND A U4 XOR B U5 XOR Cin S Fig. 2.9.1 Circuito lógico del Sumador completo “ADDER” de 3 bits con Carry de salida. En la Fig. 2.9.1 se muestra el diseño lógico del circuito empleado para la corrección digital de los resultados parciales de las etapas del pipeline. En la Fig. 2.9 puede notarse una leve simplificación de los circuitos “ADDER” que procesan los resultados correspondientes a la primera y última etapa. Dado que en la primer etapa no es necesario calcular el carry de salida (solo el MSB) y en la primera no se tiene carry de entrada, solo se suman de 2bits. 3.3.5. Descripción del funcionamiento del Corrector Digital En primer lugar las salidas digitales provenientes de cada etapa (Código de salida [AB] ó [ABC] en la última etapa) serán codificadas en binario para luego ser sumadas. Las salidas digitales posibles y su codificación son resumidas en el siguiente cuadro: Ø Para cada etapa: (las salidas son AB) Situación de la entrada analógica VIN_ANALOG > VREF_P VREF_N < VIN_ANALOG < VREF_P VIN_ANALOG < VREF_N Código de salida [AB] 10 00 01 Codificación de salidas [A’ B’] 10 01 00 Ø Para la última etapa: (tiene un comparador más, entonces las salidas son ABC) Situación de la entrada analógica Código de salida [ABC] Codificación de salidas [A’ B’] VIN_ANALOG > VREF_P 111 VREF_P > VIN_ANALOG > 0v 011 VREF_N < VIN_ANALOG < 0v 001 11 10 01 VIN_ANALOG < VREF_N 000 00 Fig.2.10.Codificación de las salidas digitales de las etapas en binario. Un registro de desplazamiento (LATCH´s en cascada) almacena las salidas digitales codificadas obtenidas de la etapa la cantidad de ciclos necesaria a fin que la última etapa procese esa muestra. 57-136 20/07/2004 Así las salidas digitales codificadas de la primer etapa serán almacenadas durante cuatro ciclos de reloj, las de la segunda etapa tres ciclos de reloj, las de la tercera por dos ciclos, y asi sucesivamente. Finalmente, al obtener las salidas digitales codificadas de la última etapa se procede a la suma con los valores almacenados que se habían obtenido de cada una de la etapas anteriores. Dicho proceso se resume en el siguiente cuadro: Tiempo transcurrido SALIDAS 5° ETAPA SALIDAS 4° ETAPA SALIDAS 3° ETAPA SALIDAS 2° ETAPA SALIDAS 1° ETAPA CODIGO SALIDA CORREGIDO A’ A’ A’ B’ A’1+ C(B’1+A’2) B’1+A’2+ C(B’2+A’3) A’ B’ B’ B’2+A’3+ B’3 + A’4 + C(B’3+A’4) C(B’4+A’5) B’4+A’5 A’ B’ B’ 0T B’5 1T 2T 3T 4T 4T Fig.2.11.Cuadro de valores obtenidos de cada etapa al momento de obtener los de la última etapa, indicando el tiempo T transcurrido hasta ese instante El bit menos significativo resultante de la última etapa (Fig.2.9 S[0]) puede ser descartado, por redundancia, y de esta forma se obtiene un código de salida corregido de 5 bits. 58-136 20/07/2004 3.3.6. Circuito Generador de Fases de Clock A partir de una señal de Clock Maestro (CLOCK), el circuito generador de fases de clock, provee dos señales iguales (CLOCKA y CLOCKB) con una diferencia de fase de 180° . Cada una de las señales obtenidas consiste en un tren de pulsos asimétrico con 3TH = TL. De este modo se asegura que las señales de clock sean entre si no solapadas (nunca ambas en estado alto). Dos latches conectados en serie de modo master-slave son alimentados con una misma fuente de sincronismo (CLOCK) invertida una respecto de la otra. La salida del latch izquierdo (LATCH0.OUTPUT) está conectada con la entrada del latch derecho (LATCH1.INPUT), y un lazo de retroalimentación conecta la salida invertida del latch derecho (LATCH1.INV_OUTPUT) con la entrada del latch izquierdo (LATCH1.INPUT) , produciendo de este modo una conmutación continua de las salidas. HI CLOCK_2 HI LATCH0 LATCH1 VCC OUTPUT INPUT INV_OUTPUT CLOCK_3 CLOCK_1 VCC CLOCK_0 OUTPUT INPUT INV_OUTPUT VSS LATCH VSS LATCH HI DLATCH DLATCH P3 LO LO CLOCK NOT LO Fig.2.3.Circuito Secuencial base del Generador de Clock De esta forma se obtienen cuatro señales simétricas, que se combinarán de forma útil para lograr dos señales de clock no solapadas lo suficientemente alejadas. CLOCKA CLOCKB HI HI U1 U2 CLOCK_0 CLOCK_2 CLOCK_1 NOR NOR CLOCK_3 LO LO Fig.2.4.Lógica Combinacional que permite generar las dos Fases de Clock. Finalmente CLOCKA y CLOCKB serán las señales de reloj útiles para emplear en las etapas pares e impares del Pipeline respectivamente. 59-136 20/07/2004 3.3.7. Funcionamiento del Circuito Generador de Fases de Clock La primer parte del circuito (Fig.2.3) consiste en un par de flip-flops “D” conectados en serie de modo Master-Slave. Cada flip-flop “D” copia la entrada (INPUT) a la salida (OUTPUT) cuando la señal LATCH esta en estado alto. Diferentemente, cuando la señal LATCH pasa a estado bajo, la salida es retenida, independientemente del valor de la señal de entrada en ese instante. Analizando el circuito de las Figs. 2.3, y siguiendo los gráficos de simulación de las Figs. 2.5 y 2.6 se examina el comportamiento del circuito antes y después de las primeras cuatro transiciones de la señal de CLOCK. 5.0V 0V -5.0V V(CLOCK.LATCH0.OUTPUT) 5.0V 0V SEL>> -5.0V V(CLOCK.LATCH0.INPUT) 5.0V 0V -5.0V 0s 0.5us V(CLOCK.CLOCK) 1.0us 1.5us 2.0us 2.5us 3.0us 3.5us 4.0us 4.5us 5.0us Time Fig.2.5.Comportamiento del LATCH izquierdo. Entrada / salida y señal de clock. Inicialmente la señal CLOCK se encuentra en estado alto, las señales de entrada y salida del flipflop izquierdo (LATCH0.INPUT y LATCH0.OUTPUT) también en estado bajo. En ese mismo instante, en el flip-flop derecho CLOCK en estado bajo permite que su entrada (LATCH1.INPUT) esté en estado bajo y su salida (LATCH1.OUTPUT) en estado alto. Dada la situación anterior del flip-flop derecho, la primer conmutación de la señal de CLOCK (aprox. a los 0,25us del gráfico) produce que su entrada (LATCH1.INPUT) sea copiada a la salida (LATCH1.OUTPUT), pasando de estado alto a bajo. Con la salida invertida del flip-flop derecho (LATCH1.INV_OUTPUT), conectada a la entrada del flip-flop izquierdo (LATCH0.INPUT), pasando de estado bajo a alto, la salida del flip-flop izquierdo (LATCH0.OUTPUT) no se ve afectada, dado que la señal CLOCK esta en estado bajo. 60-136 20/07/2004 5.0V 0V -5.0V V(CLOCK.LATCH1.OUTPUT) 5.0V 0V -5.0V V(CLOCK.LATCH1.INPUT) 5.0V 0V SEL>> -5.0V 0s 0.5us 1.0us V(CLOCK.LATCH1.LATCH) 1.5us 2.0us 2.5us 3.0us 3.5us 4.0us 4.5us 5.0us Time Fig.2.6.Comportamiento del LATCH derecho. Entrada / salida y señal de clock negada. A los 0,5us, la señal CLOCK pasa nuevamente a estado alto. Esto permite que el valor de la entrada del flip-flop izquierdo (LATCH0.INPUT) sea copiado a la salida (LATCH0.OUTPUT) pasando asi a estado alto. La misma esta conectada a la entrada del flip-flop derecho (LATCH1.INPUT). La salida de este (LATCH1.OUTPUT) continua en estado bajo, siendo que no se ve afectada debido a que CLOCK se encuentra ahora en estado bajo. La siguiente transición de CLOCK, se produce a los 0,75us, de alto a bajo. Ésta hace que la entrada del flip-flop derecho (LATCH1.INPUT), en estado alto, se copie a la salida (LATCH1.OUTPUT). Dado que la salida invertida (LATCH1.INV_OUTPUT) se conecta con la entrada del flip-flop izquierdo (LATCH0.INPUT) resulta pasar a estado bajo. Su salida (LATCH0.OUTPUT) no se ve afectada, puesto que CLOCK se encuentra ahora en estado bajo. Finalmente, al activarse la señal de CLOCK, (1us) resulta copiarse la entrada del flip-flop izquierdo (LATCH0.INPUT) a su salida (LATCH0.OUTPUT) y la entrada del flip-flop derecho (LATCH1.INPUT) pasando a estado bajo, sin que su salida (LATCH1.OUTPUT), en estado alto, se vea afectada dado que CLOCK se encuentra en estado bajo. Se llega de este modo al mismo estado que al comienzo del análisis, volviendo a repetir la misma secuencia de estados. 61-136 20/07/2004 5.0V 0V -5.0V V(CLOCK.CLOCK_0) 5.0V 0V -5.0V V(CLOCK.CLOCK_1) 5.0V 0V SEL>> -5.0V 0s 0.5us V(CLOCK.U1.OUT) 1.0us 1.5us 2.0us 2.5us 3.0us 3.5us 4.0us 4.5us 5.0us Time Fig.2.7.Análisis real de las señales que generan el clock fase A Finalmente un NOR lógico entre las señales de salida de flip-flop´s consecutivos permite obtener un tren de pulsos de un ciclo de ancho y separador tres. 5.0V 0V -5.0V V(CLOCK.CLOCK_2) 5.0V 0V -5.0V V(CLOCK.CLOCK_3) 5.0V 0V SEL>> -5.0V 0s 0.5us V(CLOCK.CLOCKB) 1.0us 1.5us 2.0us 2.5us 3.0us 3.5us 4.0us 4.5us 5.0us Time Fig.2.8.Análisis real de las señales que generan el clock fase B La misma función lógica entre las inversiones de las dos señales originadas del punto anterior, dado que son simétricas se trata como si estuvieran 180° desplazadas de las anteriores, permite obtener otro tren de pulsos que también tiene TL = 3 TH desplazado 180° respecto del tren de pulsos anterior. 62-136 20/07/2004 3.4. Descripción del funcionamiento una etapa del conversor pipeline En esta sección se analiza en funcionamiento de una etapa del conversor pipeline. En adelante, los circuitos propuestos para la implementación del SHA, DAC y ADSC son sometidos, cada uno por separado, a condiciones de prueba similares a las que lo estarían formando parte del conversor pipeline. Este análisis permite comprobar sus características de funcionamiento. Un SHA es colocado previo a la entrada de todo el proceso. Ganando dos muestrea y retiene el valor la Señal Analógica de Entrada (VIN_ANALOG) durante los instantes de tiempo discreto determinados por la señal CLOCKA. La señal que ingresa a la primer etapa es entonces SAMPLED_OUT, resultado de muestrear y retener valores continuos de la señal analógica de entrada en instantes de tiempo discreto definidos por la señal CLOCK con una ganancia de 2. Cada etapa (PIPELINE STAGE) toma la entrada analógica previamente muestreada, la analiza y elabora la señal RESIDUO. Que consiste en restar Vcc (1LSB), ó sumar Vcc (1LSB), ó no hacer nada a la señal de entrada VIN_ANALOG para ser nuevamente muestreada y retenida para la siguiente etapa. En su correspondencia con el análisis anterior, se activa la salida digital A ó se activa la salida digital B ó ninguna de las dos, si el valor muestreado de la señal analógica de entrada supera por exceso a VR_P/4, ó por defecto a VR_N/4 ó no supera a ninguna de las dos referencias. Las dos salidas digitales resultantes de la sub-conversión, admiten bajo esta configuración tres estados posibles, de modo que cada etapa provee entonces de 1,5bits efectivos. Los gráficos de las Figs. 2.18a y b corresponden a los resultados de simulación SPICE que se obtienen en la primer etapa (PIPELINE_STAGE_1) empleando el esquema circuital visto en la Fig. 2.17. 63-136 20/07/2004 10V 0V -10V V(PIPELINE_STAGE0.A) V(PIPELINE_STAGE0.B) 2.5V 0V -2.5V SEL>> -5.0V 5us 10us 20us V(PIPELINE_STAGE0.VIN_ANALOG) 30us V(PIPELINE_STAGE0.RESIDUO) Time 40us 50us 55us Fig.2.18(a) Análisis transitorio de las señales de la primer etapa del cuerpo del conversor pipeline, durante el semiciclo negativo de la señal de prueba senoidal de entrada. 10V 0V -10V V(PIPELINE_STAGE0.A) V(PIPELINE_STAGE0.B) 5.0V 2.5V 0V SEL>> -2.5V 55us 60us 70us V(PIPELINE_STAGE0.VIN_ANALOG) 80us V(PIPELINE_STAGE0.RESIDUO) Time 90us 100us 105us Fig.2.18(b) Análisis transitorio de las señales de la primer etapa del cuerpo del conversor pipeline, durante el semiciclo positivo de la señal de prueba senoidal de entrada. El análisis del comportamiento de las señales de salida de la etapa, durante ambos semiciclos positivo y negativo de la señal senoidal de entrada de prueba permite comprobar los tres estados de las salidas digitales. En el gráfico de simulación SPICE de la Fig. 2.18(a) se observa cuando el valor de la señal en el semiciclo negativo de VIN_ANALOG atraviesa por debajo de los -1,25v (valor VR_N/4). Como resultado se activa A y se suman 5v a la señal RESIDUO. De esta forma se logra efectivamente que la señal RESIDUO abarque sin distorsión el rango completo de conversión de la siguiente 64-136 20/07/2004 etapa. En la Fig. 2.18(b) se muestra el mismo ejemplo durante el semiciclo positivo de la señal senoidal de entrada. Cinco etapas iguales son conectadas en cascada para realizar el mismo proceso, con el fin de obtener, operando en forma concurrente con valores de las muestras en instantes de tiempo diferentes, cinco pares (A,B) de señales digitales, resultados parciales de la conversión de cada etapa. Utilizando la lógica de corrección digital (3.3.4) se obtiene el código binario de 5-bits resultado final de la conversión Pipeline. 65-136 20/07/2004 3.4.1. .Circuitos de prueba del SHA En la presente sección se incluyen dos circuitos ejemplo de prueba que permiten comprobar el funcionamiento del amplificador de muestreo y retención bajo condiciones de ensayo similares a las que se lo somete formando parte del conversor pipeline. El esquema circuital detallado del interior del bloque SHA es el mismo que fue analizado en las secciónes 3.3.1 y 3.3.2. Ejemplo 1: Desempeño con Vref ≠ 0v En la Fig.A.3.1 se presenta un circuito de prueba con un generador de señal senoidal de 5v, 10kHz conectado en la entrada analógica y la señal de Clock conectada a un generador de pulsos de 2MSa (una posible frecuencia máxima de sampling para los propósitos del presente trabajo). De este modo se generan a la salida 120 muestras para el intervalo de prueba de 60us. La señal Vref es conectada a otro generador de pulsos de modo que, ajustando en amplitud y tiempo, produzca un solo pulso de 2,5v de amplitud durante el intervalo de tiempo que la señal senoidal de entrada cruza 1,25v. Y viceversa para el semiciclo negativo (Fig. A.3.2b). De esta manera, se intenta imitar la condición de trabajo del SHA como si estuviera trabajando en la primer etapa del conversor pipeline para una señal de entrada senoidal. SHA Vin_ANALOG Vref V3 Vref VAMPL = 5 TD = 0.01m FREQ = 10000 0 0 PER = 60u PW = 40u TF = 1n TR = 1n TD = 15u V2 = 2.5v V1 = 0v AC = 0 DC = 0 SAMPLED_OUT CLOCK V2 0 PER = 500n PW = 250n TF = 0 TR = 0 TD = 0 V2 = {CK_P} V1 = {CK_N} AC = 0 DC = 0 Fig. A3.1 Circuito de prueba del SHA 66-136 20/07/2004 5.0V 0V -5.0V 10us 15us V(SHA.Vin_ANALOG) 20us 25us V(SHA.SAMPLED_OUT) 30us V(SHA.Vref) 35us 40us 45us 50us 55us 60us Time Fig. A3.2a Respuesta transitoria del Circuito de prueba del SHA para un semiciclo positivo de una senoide de 10kHz, 5Vp a 2MSa con Vref positiva 5.0V 0V -5.0V 10us 15us V(SHA.Vin_ANALOG) 20us 25us V(SHA.SAMPLED_OUT) 30us V(SHA.Vref) 35us 40us 45us 50us 55us 60us Time Fig. A3.2b Respuesta transitoria del Circuito de prueba del SHA para un semiciclo negativo de una senoide de 10kHz, 5Vp a 2MSa con Vref negativa. 67-136 20/07/2004 Ejemplo 2: Como parte de una etapa del conversor A/D. En el esquema a continuación el bloque 2x_SHA representa el SHA ubicado a la salida dentro de la etapa del conversor pipeline. Su propósito es elaborar el residuo muestreando, duplicando y reteniendo el valor resultante de la resta entre VIN_ANALOG y Vref, para la siguiente etapa. A B VR_P/4 ADSC DAC VR_N/4 A DIGITAL_INPUT_A B DIGITAL_INPUT_B VREF_P VREF_N VIN_ANALOG ANALOG_OUTPUT VIN_ANALOG ¬LATCH 1.5BIT_DAC 1.5BIT_ADSC SHA SAMPLED_OUT RESIDUO Vref Vin_ANALOG CLOCK 2x_SHA CLOCK SHA.VIN_ANALOG: señal de entrada continua retenida con la anterior fase de clock. SHA.CLOCK: fase de reloj para esa etapa. SHA.Vref: conectada a la salida del DAC, pudiendo ser 0v, +2,5v ó -2,5v. SHA.SAMPLED_OUT: señal de salida residuo. 4.0V 2.0V 0V -2.0V -4.0V 5us 6us 7us V(PIPELINE_STAGE0.SHA.VIN_ANALOG) 8us 9us 10us 11us 12us 13us V(PIPELINE_STAGE0.SHA.VREF) V(PIPELINE_STAGE0.SHA.SAMPLED_OUT) Time 14us 15us Fig.A3.3 Comportamiento Transitorio del SHA de salida en la primer etapa de un conversor A/D Pipeline con Vref en 0v y –2.5v. Resulta de utilidad poder comparar los resultados de simluación del gráfico de la Fig. A3.3, contra los gráficos de simulación de la Fig.2.15. 68-136 20/07/2004 3.4.2. Circuito del ADSC El ADSC está ubicado a la entrada dentro de cada etapa del conversor pipeline. Es un conversor A/D Flash de 1.5bit (dos comparadores). A B VR_P/4 ADSC DAC VR_N/4 VREF_P VREF_N VIN_ANALOG A DIGITAL_INPUT_A B DIGITAL_INPUT_B VIN_ANALOG ¬LATCH ANALOG_OUTPUT 1.5BIT_DAC 1.5BIT_ADSC SHA RESIDUO SAMPLED_OUT Vref Vin_ANALOG CLOCK 2x_SHA CLOCK ¬LATCH (a) REFERENCIAS U3, U4: VREF_P, _N: VIN_ANALOG: A, B: ¬LATCH: Comparadores CMOS. Tensiones de referencia positiva y negativa. Señal de entrada analógica. Señales de salida Digitales. Señal de activación de los comparadores (latch). U3 VREF_P A + (b) Comparador VIN_ANALOG - U4 B VREF_N + Comparador Fig.2.20 Diagrama eléctrico del conversor flash de un bit y medio. (a) Formando parte de la etapa del conversor Pipeline. (b) Circuito eléctrico interno. La entrada analógica esta conectada a ambos comparadores. Cada una de las tensiones de referencia esta conectada una fracción de la tensión de alimentación positiva y negativa respectivamente. De esta forma, tal como se explicó en la sección 3.3.3, las salidas digitales A y B, resultado de la sub-conversión A/D, se activan en forma NO simultánea. La señal ¬LATCH controla la activación de las salidas de los comparadores. 69-136 20/07/2004 Un diseño similar al citado se muestra en la Fig. 2.17(c). Utilizando tres comparadores es capaz de detectar 4 “zonas” (2B estados) donde se encuentra el valor de la señal analógica. Se trata entonces de un conversor flash de 2 bits (B=2, empleado en la última etapa). Análogamente, si se utiliza un solo comparador el dispositivo sería capaz de distinguir entre 2 “zonas” posibles, siendo entonces un conversor de 1 bit. En conclusión el empleo de dos comparadores (un comprador más que en caso de 1bit y uno menos que en el caso de 2bit) forma un conversor FLASH de 1,5bit (3 estados posibles ó 3 zonas de distinción). Los comparadores utilizados para el diseño del ADSC son del tipo cascode plegado. El disponer de una alimentación entre –Vss y Vcc, permite el empleo de transistores de entrada NMOS. HI HI W = 10u M10 MbreakP M9 MbreakP BIAS8 HI W = 10u HI M7 W = 10u M8 MbreakP MbreakP BIAS9 W = 10u OutP N OutN ¬LATCH M2 M1 P LO MbreakN W = 10u M6 MbreakN MbreakN W = 10u W = 10u LO M4 MbreakN M3 MbreakN W = 10u W = 10u LO M5 MbreakN W = 10u LO BIAS10 LO Fig.2.21 Diseño esquemático del comparador CMOS con LATCH. M1, M2 forman un par diferencial acoplado por fuente y alimentado por M3. M10, M9, M7, M8 proveen corriente al resto del circuito. Y M4 y M5 componen un latch controlado por M6, que actúa como llave. Los valores de las tensiones de BIAS8, BIAS9, BIAS10 establecen la polarización del circuito. De las dos salidas en modo diferencial que provee el diseño, solo OutP es utilizada en el presente trabajo. 70-136 20/07/2004 3.4.3. Descripción del funcionamiento del ADSC En la Fig.2.22 se presenta un circuito de prueba del ADSC, mediante el cual se logra comprobar los tres estados de las salidas digitales del circuito. El interior del bloque 1.5BIT_ADSC es el mismo que se detalla en la Fig.2.20b. Un primer generador de pulsos V4 es utilizado como señal de control ¬LATCH. Al pasar a estado bajo, activa las salidas de comparadores A y B, cada un intervalo de 2us. Un segundo generador de pulsos V5 es empleado para obtener una rampa desde +5v a –5v en un intervalo de 10us a 50us (0,25v/us). Las fuentes de tensión Vr1 y Vr2, de +2,5v y –2,5v, sirven como tensión de referencia positiva y negativa respectivamente. V4 PARAMETERS: Vref = 2.5v Vcc = 5v Vdd = 5v Cp = 1p Wp = 5u 0 VIN_ANALOG V5 0 V1 = 5v V2 = -5v DC = 0 TD = 10us TF = 10us PW = 0 PER = 50us TR = 40us ¬LATCH 1.5BIT_ADSC V1 = 5v V2 = -5 DC = 0 TD = 2u TF = 0 PW = 1us PER = 2us TR = 0 A DIGITAL_OUT_A B DIGITAL_OUT_B VREF_P Vr1 VREF_N {Vref} 0 ADSC Vr2 {Vref} Fig.2.22 Circuito de prueba del ADSC. Mientras la señal ¬LATCH permanece en estado alto, ambas salidas A y B se encuentran en estado bajo. 8.0V 4.0V 0V -4.0V -8.0V 5us 10us 15us V(1.5BIT_ADSC.VIN_ANALOG) 20us 25us 30us V(1.5BIT_ADSC.VREF_N) V(1.5BIT_ADSC.VREF_P) Time 35us 40us V(DIGITAL_OUT_A) 45us V(DIGITAL_OUT_B) 50us 55us Fig.2.23 Comportamiento de las salidas del ADSC utilizando una tensión de entrada de prueba que varia linealmente de –5v a +5v. 71-136 20/07/2004 En el instante en que la señal ¬LATCH pasa a estado bajo, las salidas de los comparadores cambian su estado. Dependiendo del valor de la señal de entrada (VIN_ANALOG), si éste se encuentra sobre, entre ó debajo del rango comprendido por las dos tensiones de referencia (VREF_P y VREF_N), A, B ó ninguna de las dos salidas digitales son activadas, obtienendose los tres estados de las salidas. Haciendo un seguimiento desde la parte izquierda del gráfico de la Fig. 2.23 puede observarse que durante los primeros 20us el valor de la señal de entrada analógica está por encima del valor de referencia positiva. Tras lo cual sólo el comparador superior activa su salida (A), dado que V(+) > V(-). Luego, en el intervalo entre los 20us y 40us, el valor de la señal de entrada analógica se encuentra comprendido entre ambos niveles de tensión de referencia. En este caso, en ambos comparadores se da la situación V(+) < V(-), por lo tanto ambas salidas (A y B) permanecerán inactivas. Finalmente transcurridos los 40us, (extremo derecho del gráfico) el valor de la señal VIN_ANALOG cruza por debajo de VREF_N. En el comparador inferior se da la situación V(+) > V(-), por lo cual se activa su salida (B). En el Anexo 3 se exponen los resultados de un análisis de sensibilidad de los comparadores utilizados. Se obtiene el valor de tensión diferencial mínimo que es necesario colocar entre los terminales de entrada para producir una correcta conmutación. Este valor de sensibilidad influye notablemente en el performance de los conversores A/D flash, no siendo un factor tan determinante en el caso de las arquitecturas pipeline. 72-136 20/07/2004 3.4.4. Circuito del DAC El DAC se ubica entre la salida del ADSC y la entrada de referencia del SHA del interior de cada etapa. El propósito del DAC en el presente trabajo, consiste en generar la señal analógica (ANALOG_OUT) cuantizada en 1,5bit, que es restada a la señal analógica de entrada (VIN_ANALOG) para elaborar el residuo. A B VR_P/4 ADSC DAC VR_N/4 A DIGITAL_INPUT_A B DIGITAL_INPUT_B VREF_P VREF_N VIN_ANALOG ANALOG_OUTPUT VIN_ANALOG 1.5BIT_DAC ¬LATCH SHA 1.5BIT_ADSC SAMPLED_OUT RESIDUO Vref Vin_ANALOG CLOCK 2x_SHA CLOCK HI RC P3 DIGITAL_INPUT_A A DIGITAL_INPUT_B 0 M2 NOT C3 15f B B C1 10f HI MbreakP W = 10u A 10 RA 20 ANALOG_OUTPUT M1 0 MbreakN W = 10u R18 50k LO C2 10f RB 0 10 LO Fig.2.24 Circuito eléctrico interno del conversor D/A, utilizado para la construcción de Vref. M1 y M2 actúan como llaves, controladas por las dos entradas digitales DIGITAL_INPUT A y B. Que según este activo A ó B ó ninguna de las dos señales de control, la salida (ANALOG_OUT) es conectada a HI/2 , LO/2 ó 0v respectivamente. Logrando como resultado una “reconstrucción” de la señal analógica cuantizada en 1,5bit. P3 produce la negación de la entrada digital B, con el fin de que la llave PMOS M2 se abra cuando B se encuentre en estado bajo y sea cerrada cuando B sea llevada a estado alto. 73-136 20/07/2004 3.4.5. Descripción del funcionamiento del DAC Utilizando el circuito de prueba de la Fig. 2.25(a), se simula el funcionamiento del DAC para los tres estados posibles de las entradas digitales. Dado que se trata de un conversor D/A de 1,5bits. Los tres estados admitidos a la entrada del DAC (01 00 10) determinan los tres valores de la señal de salida analógica. (ANALOG_OUT). DAC DIGITAL_INPUT_B DIGITAL_INPUT_A C1 ANALOG_OUTPUT 100f Vck1 Vck2 0 1.5BIT_DAC DC = 0 V2 = 5 V1 = -5 PER = 500ns PW = 125ns AC = 0 TD = 0ns 0 0 DC = 0 V2 = 5 V1 = -5 PER = 500ns PW = 125ns AC = 0 TD = 250ns Vck1 y Vck2: C1: entradas digitales capaces de producir los tres valores de salida analógica para los tres estados de entrada digital admitidos. capacidad de salida que representa las condiciones de carga impuesta (por la entrada del amplificador de muestreo y retención al cual es conectado) en el presente trabajo. 5.0V 0V -5.0V 0.1us 0.5us 1.0us 1.5us 2.0us 2.5us V(DAC.DIGITAL_INPUT_A) V(DAC.DIGITAL_INPUT_B) V(DAC.ANALOG_OUTPUT) Time 3.0us 3.5us 4.0us 4.5us 5.0us Fig.2.25 (a) [arriba] Circuito de prueba que representa las condiciones de ensayo del DAC. (b) [abajo] Resultados de simulación para un análisis transitorio del DAC. Analizando el esquema detallado del interior del DAC, ( Fig.2.24(b)) conjuntamente con el gráfico de los resultados de simulación (Fig.2.25(b)), puede observarse que P3 hace que las entradas digitales A y B nunca produzcan el encendido simultáneo de M1 y M2. Si se activa A (DIGITAL_INPUT_A) se enciende M2, de este modo el nodo de salida (ANALOG_OUT) queda conectado a +Vcc/2. (divisor resistivo entre RC y RA). De forma similar si se activa B (DIGITAL_INPUT_B) se enciende M1, como resultado el nodo de salida (ANALOG_OUT) queda 74-136 20/07/2004 conectado a -Vcc/2. (divisor resistivo entre RC y RB). Cuando ambas entradas digitales A y B en estado bajo, a través de R18 se asegura la descarga del nodo de salida. Dado que en este caso ambos transistores M1 y M2 se encuentran simultáneamente apagados, esta resistencia (de alto valor) es una vía rápida para la descarga de posibles cargas parásitas del nodo de salida. Los pequeños capacitores C1, C2 y C3 (~fF), conectados en la salida analógica y las tensiones de referencia, a masa, permiten mejorar el transitorio durante la conmutación. (glitch) 75-136 20/07/2004 4. Cuarta Parte: Diseño del Layout 76-136 20/07/2004 4.1. Diseño de Layout. En esta sección se presentan el detalle del diseño de los Layout de los principales bloques que componen al Conversor Pipeline. Se comienza con el detalle de los bloques (celdas) fundamentales, luego los diseños del ADSC, DAC, SHA, CKGEN y BIAS, hasta que finalmente se expone el diseño del cuerpo del conversor completo (CORE). Los mismos fueron realizados a partir de celdas de los bloques fundamentales. Las celdas se utilizan para armar estructuras cada vez mas complejas. Asi sucesivamente hasta armar el diseño completo del conversor pipeline. La nomenclatura utilizada para designar cada celda - layout esta compuesta por NOMBRE-XX (circuito - versión final del diseño). Basado en un proceso de 2µm con doble poli silicio y doble metal. El diseño del layout completo ocupa un área de chip de 2 x 2 mm. Todos los Layout aquí presentados comprueban las reglas de diseño (DRC) según el proceso MOSIS: Orbit 2U SCNA. Mediante el uso de la herramienta LVS (Layout Vs Schematic) se verifica la topología de los NetLists extraídos de cada layout (extract netlist) con los NetLists creados a partir de los diseños esquemáticos de los circuitos empleados anteriormente para la simulación SPICE. 77-136 20/07/2004 4.1.1. Llave CMOS complementaria Fig.3.1.Diseño del layout MKEY-02.TDB En el ejemplo de la Figura se visualiza una de las llaves CMOS empleada en el diseño de la celda del SHA. (se muestra la parte de entrada más arriba) La misma celda es también empleada para el layout del DAC. 78-136 20/07/2004 4.1.2. Generador de polarización (BIAS) Fig.3.2. Diseño del layout BIAS-06.TDB Se muestra la ubicación del circuito de polarización dentro del layout completo del conversor pipeline. 79-136 20/07/2004 4.1.3. Comparador CMOS Fig.3.3. Diseño del layout COMP-07.TDB Se muestra el diseño de la celda de uno de los dos comparadores, que forman parte del layout del circuito ADSC. 80-136 20/07/2004 4.1.4. Amplificador Operacional (con compensación) Se maximiza la visión del extremo derecho del gráfico del layout de la celda del SHA, con el objeto de mostrar en detalle el diseño del amplificador operacional empleado. Fig.3.4. Diseño del layout OPAMP-06.TDB Una celda p-well brinda una resistividad del orden de 10kΩ/µm2, esto posibilita la realización de la resistencia de compensación en la menor área. Tanto el capacitor de compensación, como las restantes capacidades en otras celdas, estan implementados utilizando poly1/poly2 lo cual brinda una capacidad del orden de 0,3/0,4fF/µm2. 81-136 20/07/2004 4.1.5. Compuerta NOR de 2 entradas En el presente esquema se maximiza la visión en detalle uno de los dos circuitos lógicos NOR empleados en el diseño del circuito generador de fases de CLOCK. Fig.3.5. Diseño del layout NOR-02.TDB 82-136 20/07/2004 4.1.6. D-Latch También en el diseño del generador de fases de CLOCK se utilizan dos circuitos D-LATCH. Se maximiza la visión del de la derecha en el detalle de la Fig. Fig.3.6. Diseño del layout LATCH-03.TDB 83-136 20/07/2004 4.1.7. Amplificador de Muestreo y Retención (SHA) Fig.3.7. Diseño del layout SHA.TDB 84-136 20/07/2004 4.1.8. Conversor A/D de 2 bits Fig.3.8. Diseño del layout ADCFLASH.CELL Se detalla la celda del único ADC Flash de 2 bits del sistema. Empleado a la salida de la última etapa del pipeline, está compuesto por 3 comparadores. 85-136 20/07/2004 4.1.9. Generador de fases de Clock Fig.3.9. Diseño del layout CKGEN.TDB 86-136 20/07/2004 4.1.10. SubConversor A/D de 1.5bit (ADSC) Fig.3.10. Diseño del layout ADSC_06.TDB 87-136 20/07/2004 4.1.11. Conversor D/A (DAC) Fig.3.11. Diseño del layout DAC-03.TDB 88-136 20/07/2004 4.1.12. Conversor A/D Pipeline de 5 etapas completo Fig.3.12. Diseño del layout CORE_08.TDB 89-136 20/07/2004 5. Conclusiones 90-136 20/07/2004 En el presente trabajo de tesis se ha logrado definir un conjunto de tareas a llevar a cabo para completar el desarrollo de un circuito integrado. Las mismas dieron la posibilidad de realizar el análisis y diseño completo de un conversor analógico digital de arquitectura pipeline. Este conjunto de pautas puede ser tomado como un camino a seguir para diseñar de cualquier otro circuito integrado analógico/ digital mixto de diversos propósitos. A nivel teórico, en primer lugar se logro comprender las necesidades actuales y futuras en el campo del procesamiento de señales analógicas, asi como cubrir las cada vez mayores exigencias de velocidad y consumo de potencia que deben cubrir los circuitos integrados. El desarrollo de un programa “C” que simula las operaciones del circuito, ha permitido realizar un primer análisis de la funcionalidad y definir el conjunto de especificaciones para el posterior diseño del circuito. La separación en bloques de cada sub-circuito dio la posibilidad de dividir el problema en partes mas sencillas, a fin de probar cada bloque por separado comprobando su funcionamiento y analizando sus características por separado. (diseño Top-Down) Asi, una vez probado cada uno de los bloques funcionales, se fueron acoplando para formar bloques cada vez más complejos, pero de fácil prueba y análisis dado que los componentes utilizados fueron probados individualmente por separado. Aquí se pudo elaborar gráficos de respuesta del circuito general y de cada sub-circuito, comparando con los resultados anteriormente obtenidos mediante el primer análisis que se había realizado utilizando el programa “C”. De forma similar a la que se trabajo durante el diseño esquemático de cada uno de los bloques funcionales, se procedió al diseño de layout. Del mismo modo, esta técnica permitió realizar las verificaciones de reglas de diseño y la posterior comparación topológica contra los diseños esquemáticos anteriormente realizados y probados de cada bloque individual por separado. Finalmente tras el ensamble general de todos los bloques funcionales se obtiene el diseño del layout completo, también verificado y comparado topológicamente en forma satisfactoria. En la práctica, diversas características pueden ser mejoradas al presente trabajo. Tres aspectos de cierta relevancia que lo optimizan son citados a continuación. 91-136 20/07/2004 5.1. Baja del voltaje de operación Utilizando una arquitectura del tipo totalmente diferencial, es posible lograr una mayor inmunidad al ruido, a las señales de modo común, variaciones de temperatura, etc. Los circuitos integrados actuales dedicados al procesamiento de señales utilizan diseños del tipo LVDS (Low Voltaje Differential Signalling), que es señalización diferencial de muy bajo voltaje. Esto es una tendencia, permitida por la baja en el voltaje de operación de los transistores MOS utilizados. Contrariamente a lo expuesto en el presente trabajo, realizado totalmente en vía simple (no diferencial) y con alto voltaje de operación (+/-5v), se hizo de esta forma de modo de simplificar (single ended). Logrando que el lector tengo una mejor comprensión del funcionamiento básico del circuito. No obstante ello, para una posterior implementación práctica el desarrollo esquemático elaborado serviría como “modelo base” para un diseño diferencial. Y además, en conjunto con una actualización de los modelos de los transistores utilizados permitiría una disminución del voltaje de operación y consecuentemente del consumo de potencia. 5.2. Mayor resolución Como se había planteado en un principio, uno de los puntos sobresalientes de la arquitectura pipeline, es la pequeña área de chip ocupada en relación a la cantidad de bits que se desean obtener de resolución. Cabe aclarar que en el presente trabajo un diseño de 5 bits es más que suficiente para comprender el funcionamiento y analizar las características. No obstante al tener tan solo cinco etapas, no se percibe el beneficio de tener una reducción sustancial en el área de chip ocupada respecto del caso que se hubiese utilizado una arquitectura del tipo Full flash, la cual hubiese utilizado tan solo 32 comparadores. Sin embargo, tal como se analizo en la primera parte del trabajo, basta con agregar una etapa al conversor pipeline por cada bit que se desea aumentar su resolución, lo cual incrementa linealmente el área de chip ocupada una parte (una etapa = un quito para un conversor de 5bit) mientras que en el caso de tratarse de uno del tipo flash el área de chip ocupada se duplica. 92-136 20/07/2004 En la práctica se recomienda la utilización de arquitecturas del tipo pipeline para resoluciones de 8 a 10 bits. En cuyo caso sí se percibe notablemente el beneficio de la reducción del área de chip ocupada respecto de las arquitecturas flash. 5.3. DAC con capacitores La generación de voltajes de referencia puede implementarse utilizando arreglos de resistencias (R-DAC) ó capacitores (C-DAC). Más aun hasta puede utilizarse un mismo arreglo de capacitores, para alimentar todas las tensiones de referencia. En la práctica, el nivel de ruido térmico determina la posibilidad del empleo de arreglos de capacitores (C-DAC, en lugar de resistencias R-DAC) para generar los voltajes de referencia. De este modo se obtendría el beneficio de un menor consumo de potencia en el DAC, dada la ausencia de la corriente continua de polarización que tienen los arreglos de resistencias. Dado el alto voltaje de operación del presente trabajo, la no importancia del consumo de potencia para la comprensión del funcionamiento, se han empleado resistencias de poli-silicio para generar los voltajes de referencia de los DAC. Para una posterior implementación práctica, si se logra bajar el voltaje de operación (lo cual reduciría el consumo de potencia, consecuentemente menor nivel de ruido térmico), se sugiere el empleo de capacitores para generar los voltajes de referencia. (C-DAC) 93-136 20/07/2004 Anexo 1: Código en “C” que simula el funcionamiento de un Conversor Pipeline /* # # 6600.Pipelined ADC de 1.5 bit por etapa * * Nombre del Archivo: ADC.c * Fecha última revision: 2002-Dec-03 * Descripción: Análisis de comportamiento por bloques # # 2002-10-26 Compila Ok en la Pentium 100, RedHat 5.2. El problema estaba en # el MakeFile, que no generaba el codigo objeto. # Corrijo el bug del for, queda la prueba de un barrido de 0 a pi Ok. # Falta reemplazar %d en printf por el correspondiente al formato double 2002-10-27 Funciona con la funcion Seno, se incorporan los define VREF_P VREF_N. Se agrega la apertura de un archivo de datos tipo double (8 bytes). 2002-10-28 Modulo de Proceso UniEtapa listo. Agregado de defines para 3 ETAPAS con 1 bit por etapa, GAIN y SENSE Encabezados y Datos dinamicos para multietapa funcionando Ok. 2002-10-29 Primitivas de Codificacion Terminadas. Duda acerca de la disposicion correcta de los comparadores en la ultima etapa. Se sugiere hacer todas las etapas iguales, no se obtienen mayores ventajas al colocar un comparador mas en la ultima etapa => hacemos todas las etapas iguales. 2002-11-05 Se descarta el uso de ProcesarUltimaEtapa y CodificarUltimaEtapa 2002-11-08 Se modifica ProcesarEtapa para que el residuo lo calcule restando Vref * SENSE / 2 (Esto Coincide con Lewis92.Fig.5). ProcesarUltimaEtapa y CodificarUltimaEtapa estan siendo utilizadas. 2002-11-13 Pruebas a realizar, Etapa Analogica Vs Etapa Digitalizada a. con Variaciones en la Ganancia interEtapa (GAIN) b. con diferentes fracciones de Vref (SENSE) c. variando Offsets (a la entrada analogica y a la salida de los SHA d. ultima etapa igual y diferente al resto (con o sin un comparador mas) 2002-11-27 Problema del código de Salida Erróneo, se ve con De la Plaza Salida31.xls se indica analizar caso particular para el peor error, por ejemplo, para Vin analógica de 1.0v. Preparar programa para que procese un archivo de muestras de entrada. 20:32 Funciona con un archivo de entrada pasado como parámetro con datos del tipo double. (generado con Generar.c) 2002-11-28 Cambiar todas las variables de operaciones lógicas por tipo int 2002-11-29 Todas las variables lógicas funcionando como int. Soporta archivos y parámetros de entrada. Además de solucion de bugs en el proceso Digital. Funciona de Maravillas, aún con 10 etapas. Sumtorias de Error orden de E-03v. Para modelizar las variaciones, parametrizar con random functions. 21:23 Simulaciones con Vr/4, Lin82 .. 90. Con offset máximo = 100mV y desvio de ganancia .1, ambos ctes para todas las etapas, se obtienen resultados, de error sumado mayor. ¿Es necesario recalcular el offset y el error en la ganancia para cada etapa del Pipeline? La última etapa con un comparador más. [Lewis92] ¿Cómo son valores de la vida real? */ 94-136 20/07/2004 #define MAXETAPAS 20 /* Máxima Cantidad de Etapas */ #define GAIN 2 /* Ganacia InterEtapa */ #define VREF_P 5.0 #define VREF_N -VREF_P /* La señal analógica estaría entre VREF_P y VREF_N */ #define SENSE 2.0 /* Fracción de Sensibilidad para Correcion Digital */ #include <math.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> void errsys(char *msg) { printf("ERROR: %s\n", msg); exit(-1); } /****************************************************************/ /* Nombre: Seno Parametros x : double Salida: double */ /****************************************************************/ double Seno(double x) { double y; y = sin(x); return(y); } /****************************************************************/ /* Nombre: Invertir Parametros: int X Nota: Realiza una negacion lógica del valor de la entrada Siendo 0=>VREF_N y 1=>VREF_P devuelve VREF_P y VREF_N respetivamente. */ /****************************************************************/ int Invertir(int X) { if (X == 0) return(1); else return(0); } /****************************************************************/ /* Nombre: Suma Parametros: int A, B Nota: Realiza una suma lógica de los valores de las entradas Siendo 0=>VREF_N y 1=>VREF_P devuelve A OR B. */ /****************************************************************/ int Suma(int A, int B) { if ((A == 1) || (B == 1)) return(1); else return(0); } /****************************************************************/ /* Nombre: Acarreo y Producto Parametros: int A, B Nota: Devuelve el acarreo entre A y B. solo sera 1(VREF_P) En caso que sean A = B = 1. Es como una AND. Producto lógico. */ /****************************************************************/ 95-136 20/07/2004 int Producto(int A, int B) { if ((A == 0) || (B == 0)) return(0); return(1); } int Acarreo(int A, int B) { return(Producto(A, B)); } /****************************************************************/ /* Nombre: Exor Parametros: int A, B Nota: Devuelve la Semisuma de los valores de las entradas Creada en el 2002-11-29 Era necesario crearla desde hace tiempo! */ /****************************************************************/ int Exor(int A, int B) { if (((A == 0) && (B == 0)) || ((A == 1) && (B == 1))) return(0); return(1); } /****************************************************************/ /* Nombre: Comparador Parametros x : Vin+ y : Vin-Salida: double */ /****************************************************************/ int Comparador(double x, double y) { if ( x < y ) return(0); //V+ menor que V-else return(1); //V+ mayor o igual que V-} /****************************************************************/ /* Nombre: ProcesarEtapa Procesa los valores de las entradas y devuelve el residuo 2002-11-04 Con esta arquitectura se obtiene un codigo de salida termometrico, para que sea "00 01 10" en ese orden hay que "Codificar" las salidas de estas etapas. Esta Etapa sale con 01 00 10 2002-11-28 BUG DETECTADO: Tener la salvedad de castear como double los valores enteros y utilizar 2.0 en lugar de 2 */ /****************************************************************/ double ProcesarEtapa(double Entrada, double VrefA, double VrefB, int *A, int *B) { double Residuo=0.0; *A = Comparador( Entrada, VrefA); *B = Comparador( VrefB, Entrada); if (*A == 1) Residuo = Entrada - (double)VREF_P / 2.0; else if (*B == 1) Residuo = Entrada - (double)VREF_N / 2.0; else Residuo = Entrada; return(Residuo); } /****************************************************************/ /* Nombre: ProcesarUltimaEtapa La ultima etapa tiene un comparador mas, dado que no tiene etapa siguiente para corregir el bit que falta 96-136 20/07/2004 El codigo de salida es: 011 010 000 100 2002-11-28 Nuevo codigo de Salida 000 001 011 111*/ /****************************************************************/ double ProcesarUltimaEtapa(double Entrada, double VrefA, double VrefB, double VrefC, int *A, int *B, int *C) { double Residuo=0.0; *A = Comparador( Entrada, VrefA); *B = Comparador( Entrada, VrefB); *C = Comparador( Entrada, VrefC); return(Residuo); /* Por ahora no hay residuo */ } /****************************************************************/ /* Nombre: CodificarSalida De aduerdo a los valores de los comparadores, setea los valores correspondientes en codigo binario de 1.5bit 00 01 10 */ /****************************************************************/ void CodificarSalida(int A, int B, int *Sa, int *Sb) { *Sa = A; // *Sb = B; *Sb = Producto(Invertir(A), Invertir(B)); } /****************************************************************/ /* Nombre: CodificarUltimaSalida Idem a la anterior pero codifica las salidas para la ultima etapa Que tiene 3 comparadores en lugar de dos => admite 00 01 10 11 2002-11-28 Mapeo compatible sera: ABC AB 111 => 11 011 => 10 001 => 01 000 => 00 */ /****************************************************************/ void CodificarUltimaSalida(int A, int B, int C, int *Sa, int *Sb) { *Sa = B; *Sb = Suma(A, Producto(Invertir(B), C)); } /****************************************************************/ /* Nombre: DAC Parametros: double S[] Salida: double Nota: Este procedimiento nos da como salida el valor de senal analogica que corresponde a la senal digitalizada en el vector S[] de MAXETAPAS bits y que esta entre VREF_P y VREF_N 2002-11-27 Luego de cambiar al tipo int, falla en DAC. */ /****************************************************************/ double DAC(int S[MAXETAPAS+1], int etapas) { double aux = 0; int i; for (i = 0; i <= etapas; i++) { if (S[i] == 1) 97-136 20/07/2004 aux += 10.0 * pow(2.0, etapas - i) / ( pow(2.0, etapas + 1) - 1 ); } return(aux + VREF_N); } /****************************************************************/ /* Programa Principal Parametros: Archivo de entrada Uso: ./ADC -f <filename.txt> Formato: El archivo de entrada seria una secuencia de elementos del tipo double. */ /****************************************************************/ int main(int argc , char **argv) { FILE *pf; char filename[255]; int j, etapas = MAXETAPAS, c = 1, sip = 1; double x, z, y[MAXETAPAS + 1], gain = GAIN, gaindev = 0.0, voff = 0.0; int S[MAXETAPAS + 1], Carry, A[MAXETAPAS], B[MAXETAPAS], C[MAXETAPAS]; int X[MAXETAPAS + 1][2]; double sense = SENSE, voltaje, vcc = VREF_P, vss = VREF_N; double vrefA = vcc/SENSE, vrefB = vss/SENSE, vrefC = 0.0; /* Comprobación de parametros */ while (c < argc) { if (argv[c][0] == '-') { switch (argv[c][1]) { case 'f': strcpy(filename, argv[c + 1]); sip = 0; c++; break; case 'g': gain = atoi(argv[c + 1]); c++; /* Valor medio de la Ganacia InterEtapa */ break; case 'd': gaindev = atof(argv[c + 1]); c++; /* Desvio de la Ganacia InterEtapa */ break; case 'o': voff = atof(argv[c + 1]); c++; /* Variaciones del Offset InterEtapa*/ break; case 'e': etapas = atoi(argv[c + 1]); c++; break; case 'v': voltaje = atoi(argv[c + 1]); c++; break; case 's': sense = atoi(argv[c + 1]); c++; break; 98-136 20/07/2004 default: printf(" Error en parámetros introduzca \n\n"); printf(" -f <filename.txt>\n"); printf(" -g Ganancia Inter-Etapa\n"); printf(" -d Desvio de la Ganancia Inter-Etapa\n"); printf(" -o Maximo Corrimiento por Offset\n"); printf(" -e Cantidad de Etapas\n"); printf(" -v Voltaje de Referencia\n"); printf(" -s Divisor de la Fracción del VRef\n\n"); exit(0); } } else { printf(" Error en parametros introduzca -h para ayuda \n\n "); exit(0); } c++; } if (sip == 1) { printf("\n Falta parametro -f (filename), introduzca -h para ayuda \n\n"); exit(0); } vrefA = vcc / sense; vrefB = vss / sense; /* Cálculo de tensión de offset y error en la ganancia */ srand((int)time(NULL)); if (voff != 0) voff *= (2 * rand() / (RAND_MAX + 1.0) - 1); if (gaindev != 0) gain += gaindev * ( 2 * rand() / (RAND_MAX + 1.0) -1); // printf("Maximo de Divisiones:\tMAX_DIV\t%d\n", MAX_DIV); printf("Cantidad de etapas:\tetapas\t%d\n", etapas); printf("Ganancia Inter-Etapa:\tgain\t%e\n", gain); printf("Tensión de Referencia Positiva:\tVREF_P\t%e\n", VREF_P); printf("Tensión de Referencia Negativa:\tVREF_N\t%e\n", VREF_N); printf("Fracción de sensibilidad:\t\tVr/%e\n", sense); printf("Tensión de Offset Inter-Etapa:\tvoff\t%e\n", voff); /* apertura del archivo de datos de entrada */ if ((pf = fopen( filename, "r")) == NULL) { printf("No se puede abrir el fichero %s\n\n", filename); exit(-1); } printf("\nPrueba de lectura de datos:\n"); printf("Archivo de Entrada:\t%s", filename); printf("x\ty[0]\n"); /* Impresión de Encabezados */ printf("x\ty[0]"); for (j = 0; j < etapas - 1; j++) printf("\tA[%d]\tB[%d]\ty[%d]", j, j,j + 1); printf("\tA[%d]'\tB[%d]'\tC[%d]'\tA[%d]\tB[%d]", etapas - 1, etapas - 1, etapas - 1, etapas - 1, etapas - 1); for (j = 0; j <= etapas; j++) printf("\tS[%d]",j); printf("\tz"); /* Cálculo e impresión de datos */ /* Generación de la Señal Analógica de Entrada */ /* Recorrido del archivo de entrada */ while (!feof(pf)) 99-136 20/07/2004 { fread(&x, sizeof(double), 1, pf); y[0] = x + voff ; /* Impresión de la señal Analógica de Entrada */ printf ("\n%e\t%e", x, y[0]); /* PreProceso de las etapas y Obtención del Residuo */ for (j = 0; j < etapas - 1; j++) { y[j + 1] = voff + gain * ProcesarEtapa( y[j], vrefA, vrefB, &A[j], &B[j]); CodificarSalida(A[j], B[j], &X[j][1], &X[j][2]); CodificarSalida(A[j], B[j], &A[j], &B[j]); printf ("\t%d\t%d\t%e", X[j][1], X[j][2], y[j + 1]); } y[j + 1] = voff + gain * ProcesarUltimaEtapa(y[j], vrefA, vrefC, vrefB, &A[etapas - 1], &B[etapas - 1], &C[etapas - 1]); CodificarUltimaSalida(A[etapas - 1], B[etapas - 1], C[etapas - 1], &X[etapas - 1][1], &X[etapas - 1][2]); printf ("\t%d\t%d\t%d\t%d\t%d", A[etapas - 1], B[etapas - 1], C[etapas - 1], X[etapas - 1][1], X[etapas - 1][2]); /* Procesado e Impresion de las Salidas del Conversor */ Carry = 0; /* Acarreo Inicial del LSB */ S[etapas] = X[etapas - 1][2]; /* Valor del LSB */ /* 2002-11-28 En S[1] me queda basura.Revisar las rutinas lógicas .... ó cambiar la tipificación de las variables booleanas => NO USAR double para variables lógicas !!!! */ // 2002-11-29 Funcionando con varibles lógicas del tipo int, pero hace el mismo /* error también en S[1]. Prueba de comentar el Carry y sucede lo mismo => No es tema de Carry BUG encontrado, había un j-- dentro del for !!! => salteaba los valores 2:36 Nuevo BUG en la suma 1 + 1 = 1 !!! ERROR !!! No es Suma, es Exor Solución: Implemento la EXOR Problema NO propaga en CArry, lo calcula mal, en caso que sea producido debido a un anterior Carry. Se reformula el cálculo del Carry se obtienen resultados más aceptables aunque la suma de errores no es cero. Problema NO propagaba el último Carry, era porque el for procesaba el j >= 0, se cambia por j > 0 y Ok. 3:21am. Resultados más aceptables, la suma de errores no da cero pero da < 5% vref Problema con mas de 5 etapas, el X[0][1] vale uno !!! En efecto, el problema era que MAXETAPAS estaba definido como 2, provocando errores en la definicion de los arreglos y valores basura. Se coloca MAXETAPAS como 20, se prueba con etapas 10 y oK. Suma de errores 9,62E-03. */ for (j = etapas - 1; j > 0; j--) { S[j] = Exor(X[j][1], X[j - 1][2]); S[j] = Exor(S[j], Carry); Carry = Suma( Producto( X[j][1], Suma( X[j - 1][2], Carry 100-136 20/07/2004 ) ), Producto( Invertir(X[j][1]), Producto( X[j - 1][2], Carry ) ) ); } S[0] = Suma(X[j][1], Carry); /* Valor del MSB no va con EXOR */ /* Impresión de los bits de Salida Digital */ for (j = 0; j <= etapas; j++) printf("\t%d",S[j]); z = DAC(S, etapas); printf("\t%e",z); } /* Fin del ciclo while de lectura del archivo de entrada */ fclose(pf); return(0); } 101-136 20/07/2004 /* ** 6600.Pipelined ADC de 1.5 bit por etapa ** Nombre del Archivo: Generar.c * Fecha última revision: 2002-Dec-03 * Descripción: Módulo para Generar la señal de entrada 2002-11-27 Primer Release que funciona. Genera un archivo pasado como param Uso: Generar -f <filename.out> Esto elimina el contenido de filename.out si existe. Utilizando el parámetro -s 1 hace una senoide sino una rampa */ #define MAX_DIV 100 /* Resolucion */ #define ETAPAS 3 /* Cantidad de Etapas */ #define GAIN 2 /* Ganacia InterEtapa */ #define VCC 5 #define VSS -VCC #define SENSE 2 /* Factor de Sensibilidad para Correcion Digital */ #include <math.h> #include <stdio.h> #include <stdlib.h> #include <string.h> void errsys(char *msg) { printf("ERROR: %s\n", msg); exit(-1); } /****************************************************************/ /* Nombre: Seno Parametros x : double Salida: double */ /****************************************************************/ double Seno(double x) { double y; y = sin(x); return(y); } /****************************************************************/ /* Programa Principal Parametros: Archivo de entrada Uso: ./ADC -f <filename.txt> Formato: El archivo de entrada seria una secuencia de elementos del tipo double. */ /****************************************************************/ int main(int argc , char *argv[]) { FILE *pf; char filename[255]; int i, c = 1, max_div = MAX_DIV; int sip = 1, senoide = 0; double x, pi=3.14159265, voltaje = VCC; /* Comprobacion de parametros y apertura del archivo de datos de entrada */ while (c < argc) { if (argv[c][0] == '-') { 102-136 20/07/2004 switch (argv[c][1]) { case 'f': strcpy(filename, argv[c + 1]); sip = 0; c++; break; case 'd': max_div = atoi(argv[c + 1]); c++; break; case 'v': voltaje = atoi(argv[c + 1]); c++; break; case 's': senoide = atoi(argv[c + 1]); c++; break; default: printf(" Error en parametros introduzca -h para ayuda \n\n"); printf(" -f <filename.out>\n"); printf(" -d Cantidad de Divisiones\n"); printf(" -v Voltaje Pico a Pico\n"); printf(" -s Señal [0 Rampa, 1 Senoide]\n\n"); exit(0); } } else { printf(" Error en parametros introduzca -h para ayuda \n\n "); exit(0); } c++; } if (sip == 1) { printf("\n Falta parametro -f (filename), introduzca -h para ayuda \n\n"); exit(0); } if ((pf = fopen(filename, "w"))==NULL) { errsys("No se pudo abrir el fichero"); exit(-1); } // FIN PARAMETROS for ( i = 0 ; i < max_div ; i++) { if (senoide == 0) x = voltaje * ( 2.0 * (double)i / (double)max_div - 1.0 ); else x = voltaje * Seno(2 * pi * i / max_div); fwrite(&x, sizeof(double), 1, pf); printf("%e\t", x); // Solo para debugging } fclose(pf); return(0); } 103-136 20/07/2004 Anexo 2: Gráficos de Simulación del programa “C” A continuación se exponen los gráficos obtenidos a partir de los resultados que surgen tras el procesamiento de un archivo de datos (una senoide de 256 puntos generada utilizando el algoritmo Generar.c), con el programa ADC.c. Los parámetros de ensayo son detallados mediante un cuadro en cada gráfico. La nomenclatura de señales esta descripta según: • • • • • x: Señal Analógica de entrada. y[0] y[1]... y[i]: Señal Analógica de residuo de la etapa. A[0] B[0] A[1] B[1]... A[i] B[i]: Salidas Digitales de la etapa. Z: Señal Analógica reconstituida a partir de los valores resultantes de la conversión conversor pipeline ADC. DNL: Alinealidad diferencial. La Alinealidad Diferencial se mide en fracción de bit menos significativo (LSB ). Cuatros casos críticos son presentados. Cuando se produce un código de salida erróneo debido a una tensión de offset interetapa (positiva ó negativa) ó un error en la ganancia interetapa (muy alta ó demasiado baja). A partir de dichos resultados se estima que valor de tolerancia de offset ó ganancia interetapa puede ser admitido sin el mismo produzca un error mayor a 1LSB. En el gráfico SalidaSeno03 se representan para caso ideal, sin tensión de offset entre etapas y sin errores en la ganancia, las señales de entrada y salida de todas las etapas. En el gráfico DNL-SalidaSeno03 se muestra la alinealidad diferencial del el caso ideal. En el gráfico DNL-SalidaSeno21 (ahora de 1024 puntos*) de alinealidad diferencial se analiza en caso crítico donde una tensión de offset interetapa de –35mV produce un corrimiento en las salidas de –1LSB. También puede apreciarse un missing code, pero en +1LSB producido por una tensión de offset interetapa de +37mV en DNLSalidaSeno22. En los gráficos DNL-SalidaSeno25 y DNL-SalidaSeno23 se muestra la alinealidad diferencial para valores de ganancia interetapa de 2,04 y interetapa de 1,87 respectivamente, produciendo missing codes en +1LSB y –1LSB respectivamente. * En los gráficos que se analiza la tensión de offset y error en la ganancia se incrementa la definición a 1024 puntos con el objeto de obtener una mayor precisión. 104-136 20/07/2004 Cantidad de etapas: etapas Ganancia Interetapa: gain Tensión de Referencia Positiva: Tensión de Referencia Negativa: Fracción de sensibilidad: Tensión de Offset Interetapa: 5 2,00E+00 VREF_P 5,00E+00 VREF_N -5,00E+00 Vr/4.000000e+00 voff 0,00E+00 SalidaSeno03 6,00E+00 4,00E+00 2,00E+00 x y[0] y[1] 0,00E+00 1 7 y[2] 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169 175 181 187 193 199 205 211 217 223 229 235 241 247 253 y[3] y[4] z -2,00E+00 -4,00E+00 -6,00E+00 Fig.A2.1. Gráfico de las salidas de las etapas (residuos) para una señal de entrada senoidal de amplitud 5v. 105-136 20/07/2004 Cantidad de etapas: etapas Ganancia Interetapa: gain Tensión de Referencia Positiva: Tensión de Referencia Negativa: Fracción de sensibilidad: Tensión de Offset Interetapa: 5 2,00E+00 VREF_P 5,00E+00 VREF_N -5,00E+00 Vr/4.000000e+00 voff 0,00E+00 DNL - SalidaSeno03 1 0,8 0,6 0,4 DNL [LSB] 0,2 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 10 10 11 12 12 13 13 14 15 15 16 16 17 18 18 19 19 20 21 21 22 22 23 24 24 25 3 9 5 1 7 3 9 5 1 7 3 9 5 1 7 3 9 5 1 7 3 9 5 1 7 3 -0,2 -0,4 -0,6 -0,8 -1 Fig.A2.2. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v. 106-136 DNL 20/07/2004 Cantidad de etapas: etapas Ganancia Interetapa: gain Tensión de Referencia Positiva: Tensión de Referencia Negativa: Fracción de sensibilidad: Tensión de Offset Interetapa: 5 2,00E+00 VREF_P 5,00E+00 VREF_N -5,00E+00 Vr/4.000000e+00 voff -3,56E-02 DNL - SalidaSeno21 1 0,8 0,6 0,4 988 1009 967 946 925 904 883 862 841 820 799 778 757 736 715 694 673 652 631 610 589 568 547 526 505 484 463 442 421 400 379 358 337 316 295 274 253 232 211 190 169 148 127 85 106 64 43 DNL 1 0 22 DNL [LSB] 0,2 -0,2 -0,4 -0,6 -0,8 -1 Fig.A2.3. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con un offset interetapa que produzca un error de –1LSB. 107-136 20/07/2004 Cantidad de etapas: etapas Ganancia Interetapa: gain Tensión de Referencia Positiva: Tensión de Referencia Negativa: Fracción de sensibilidad: Tensión de Offset Interetapa: 5 2,00E+00 VREF_P 5,00E+00 VREF_N -5,00E+00 Vr/4.000000e+00 voff 3,68E-02 DNL - SalidaSeno22 1 0,8 0,6 0,4 988 1009 967 946 925 904 883 862 841 820 799 778 757 736 715 694 673 652 631 610 589 568 547 526 505 484 463 442 421 400 379 358 337 316 295 274 253 232 211 190 169 148 127 85 106 64 43 DNL 1 0 22 DNL [LSB] 0,2 -0,2 -0,4 -0,6 -0,8 -1 Fig.A2.4. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con un offset interetapa que produzca un error de +1LSB 108-136 20/07/2004 Cantidad de etapas: etapas Ganancia Interetapa: gain Tensión de Referencia Positiva: Tensión de Referencia Negativa: Fracción de sensibilidad: Tensión de Offset Interetapa: 5 2,04E+00 VREF_P 5,00E+00 VREF_N -5,00E+00 Vr/4.000000e+00 voff 0,00E+00 DNL - SalidaSeno23 1 0,8 0,6 0,4 988 1009 967 946 925 904 883 862 841 820 799 778 757 736 715 694 673 652 631 610 589 568 547 526 505 484 463 442 421 400 379 358 337 316 295 274 253 232 211 190 169 148 127 85 106 64 43 DNL 1 0 22 DNL [LSB] 0,2 -0,2 -0,4 -0,6 -0,8 -1 Fig.A2.5. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con el máximo valor de ganancia interetapa que produzca un error de 1LSB. 109-136 20/07/2004 Cantidad de etapas: etapas Ganancia Interetapa: gain Tensión de Referencia Positiva: Tensión de Referencia Negativa: Fracción de sensibilidad: Tensión de Offset Interetapa: 5 1,87E+00 VREF_P 5,00E+00 VREF_N -5,00E+00 Vr/4.000000e+00 voff 0,00E+00 DNL - SalidaSeno25 1 0,8 0,6 0,4 988 1009 967 946 925 904 883 862 841 820 799 778 757 736 715 694 673 652 631 610 589 568 547 526 505 484 463 442 421 400 379 358 337 316 295 274 253 232 211 190 169 148 127 85 106 64 43 DNL 1 0 22 DNL [LSB] 0,2 -0,2 -0,4 -0,6 -0,8 -1 Fig.A2.6. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con el mínimo valor de ganancia interetapa que produzca un error de 1LSB. 110-136 20/07/2004 Anexo 3: Pruebas del Comparador En el presente Anexo se presenta un circuito de prueba. Se pretende mostrar una forma de obtener experimentalmente el valor de la tensión de offset, mínimo necesario para producir la conmutación de las salidas del comparador que se utiliza en el ADSC. Este análisis permite finalmente determinar un valor mínimo de sensibilidad del comparador. HI M11 MbreakP W = 20u BIAS8 HI 5uA M12 I2 MbreakP W = 5u BIAS9 BIAS10 M15 M14 M13 MbreakN MbreakN W = 5u W = 10u MbreakN W = 5u LO U1 V4 0 + DC = 0 AC = 0 V1 = -5 V2 = 5 TD = 0 TR = 0 TF = 0 PW = 1u PER = 20.05u V3 0 R2 99999Meg Comparador FREQ = 5k VAMPL = 10mv VOFF = 0 AC = 0 DC = 0 0 0v Vref 0 Condiciones de ensayo: Entrada [V3.VAMPL]: Frecuencia de muestreo [1/V4.PER]: Tiempo de muestreo [V4.PW]: 10mV 50kHz 1us Fig.A4.1 Circuito de prueba polarizado con I1=5uA de forma que ID(M10)+ID(M9)= ID(M7)+ ID(M1)+ ID(M8)+ ID(M2). 111-136 20/07/2004 Observando esquema circuital de la Fig.2.21, sección 3.4.2, se puede apreciar que cuando M6 se apaga (¬LATCH pasa de HI a LOw) las salidas del comparador se separan, liberando a M4 y M5 para realimentarse positivamente. Como resultado la corriente diferencial proveniente de los cascode carga los nodos “Out” y se retiene la salida (latch), colocando uno de los nodos a HI y el otro a LO en caso que la entrada VinP > VinN y viceversa. 1 10mV 2 5.0V 5mV 0V 0V -5mV -10mV >> -5.0V 3.50ms 1 3.55ms V(COMP0:P) 3.60ms V(COMP0:N) 2 3.65ms 3.70ms 3.75ms V(COMP0.OutP) V(COMP0.OutN) Time 3.80ms 3.85ms 3.90ms 3.95ms Fig.A4.2 Análisis transitorio de la conmutación de los comparadores Hasta que nuevamente el encendido de M6 (¬LATCH pasa de LOw a HI) permite conectar las compuertas de M4 y M5 entre si, haciendo fluir la corriente diferencial a través del mismo M6, y, como resultado la salida es reestablecida (RESET). [LEWIS92] Mediante pruebas de conmutación en condiciones extremas, analizando los resultados de simulación SPICE se obtiene experimentalmente un valor de sensibilidad, en mV del comparador. Pruebas de conmutación en condiciones extremas En adelante se analiza gráfico de simulación obtenido completo en cuatro intervalos de tiempo, que en diferentes situaciones no se llegan a activar correctamente las salidas del comparador. Cada caso corresponde a las cuatro instancias donde se está ingresando ó saliendo, por flanco ascendente ó flanco descendente a la “zona de indeterminación” comprendida entre +/- Vsensibilidad. 112-136 4.00ms 20/07/2004 En primera instancia, se analizan los Casos Críticos de Error, donde se comienza a producir (por el ingreso a la zona de indeterminación) ó aún se sigue produciendo (por el no egreso de la zona de indeterminación) un código erróneo (missing code) a la salida. Ambos para flanco ascendente y descendente. Luego, se analizaran los mismos cuatro Casos Críticos, pero hasta donde se sigue produciendo una correcta conmutación (porque aún no se ha ingresado a la zona de indeterminación) ó se comienza a dar una correcta conmutación (porque se ha logrado salir de la zona de indeterminación). 1 5.0V 2 10mV 5mV 0V 0V (2.5076ms,-2.3649mV) -5mV -5.0V >> -10mV 2.46ms 1 2.47ms V(COMP0.OutP) 2.48ms 2.49ms V(COMP0.OutN) 2 2.50ms V(COMP0.P) 2.51ms V(COMP0.N) Time 2.52ms 2.53ms 2.54ms 2.55ms Fig.A4.3. Error Caso Crítico 1: flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI: Inicialmente, en t < 2506us la señal de salida está retenida dado que M6 está apagado. Inmediatamente cuando 2506us < t < 2576us LATCH enciende y apaga a M6. Cuando t > 2576us se observa que, a pesar que VinP(t=2507,8us) = -2,3649mV < 0 no es suficiente para producir una conmutación de las salidas del comparador. 113-136 2.56ms 20/07/2004 1 5.0V 2 10mV 5mV 0V (2.6077ms,2.3976mV) 0V -5mV >> -10mV 2.55ms 1 -5.0V 2.56ms V(COMP0.OutP) 2.57ms 2.58ms V(COMP0.OutN) 2 2.59ms V(COMP0.P) 2.60ms V(COMP0.N) Time 2.61ms 2.62ms 2.63ms 2.64ms 2.65ms Fig.A4.4. Error Caso Crítico 2: flanco ascendente, Av1 > 0, OutN: HI -> LO, OutP: LO -> HI: En este caso, con t > 2606,6us, VinP(t = 2607,6us) = 2,3976mV es un valor aún no suficiente para producir una correcta conmutación. Tanto en esta situación como en la del caso anterior se sigue estando por debajo del límite de tensión de conmutación del comparador. Osea aún no se ha salido de la “zona de indeterminación”. 1 5.0V 2 10mV 5mV 0V 0V (4.1918ms,-2.5513mV) -5mV -5.0V >> -10mV 4.15ms 1 4.16ms V(COMP0.OutP) 4.17ms 4.18ms V(COMP0.OutN) 2 4.19ms V(COMP0.P) 4.20ms V(COMP0.N) Time 4.21ms 4.22ms 4.23ms 4.24ms 4.25ms Fig.A4.5. Error Caso Crítico 3: flanco ascendente, Av1 < 0, OutN: HI -> LO, OutP: LO -> HI: En t > 4190,6us, VinP(t=4191,8us) = -2,5513mV ya no es suficiente para producir una correcta conmutación. 114-136 20/07/2004 5.0V 1 10mV 2 5mV (4.2920ms,2.4987mV) 0V 0V -5mV >> -10mV 4.24ms 1 -5.0V 4.25ms V(COMP0.OutP) 4.26ms 4.27ms V(COMP0.OutN) 2 4.28ms V(COMP0.P) 4.29ms V(COMP0.N) Time 4.30ms 4.31ms 4.32ms 4.33ms 4.34ms Fig.A4.6 Error Caso Crítico 4: flanco descendente, Av1 > 0, OutP: HI -> LO, OutN: LO -> HI: En este caso VinP(t = 4292us) = 2,4987mv ya no es suficiente para interpretarse como Vp > Vn produciendo un estado indefinido. Tanto en esta situación como en la del caso anterior el valor de tensión diferencial ya está por debajo del límite de tensión de conmutación del comparador. Osea ya se ha ingresado en la “zona de indeterminación”. 1 5.0V 2 10mV 5mV 0V 0V (2.7080ms,-2.4907mV) -5mV -5.0V >> -10mV 2.65ms 1 2.66ms V(COMP0.OutP) 2.68ms V(COMP0.OutN) 2 V(COMP0.P) 2.70ms V(COMP0.N) Time 2.72ms Fig.A4.7 Caso Crítico 1: Con flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI: 115-136 2.74ms 2.75ms 20/07/2004 A los 2,7080ms, VinP <= -2,4907mV ya es un valor suficiente para producir una correcta conmutación correspondiente a VinP < VinN = 0v. 1 5.0V 2 10mV 5mV (2.8084ms,2.6110mV) 0V 0V -5mV >> -10mV 2.75ms 1 -5.0V 2.76ms V(COMP0.OutP) 2.78ms V(COMP0.OutN) 2 2.80ms V(COMP0.N) Time V(COMP0.P) 2.82ms 2.84ms 2.85ms Fig.A4.8 Caso Crítico 2: Con flanco ascendente, Av1 > 0, OutN: HI -> LO, OutP: LO -> HI: A los 2,8084ms, VinP >= 2,6110mV ya es un valor suficiente para producir una correcta conmutación correspondiente a VinP > VinN = 0v. 1 5.0V 2 10mV 5mV 0V 0V (3.9913ms,-2.7088mV) -5mV 00m,-4.1917) -5.0V >> -10mV 3.95ms 1 3.96ms V(COMP0.OutP) 3.97ms 3.98ms V(COMP0.OutN) 2 3.99ms V(COMP0.P) 4.00ms V(COMP0.N) Time 4.01ms 4.02ms 4.03ms 4.04ms 4.05ms Fig.A4.9 Caso Crítico 3: Con flanco ascendente, Av1 < 0, OutN: HI -> HI, OutP: LO -> LO A los 3,9913ms, VinP <= -2,7088mV todavía sigue siendo un valor suficiente para producir una correcta conmutación correspondiente a VinP < 0=VinN. 116-136 20/07/2004 1 5.0V 2 10mV 5mV (4.0917ms,2.5973mV) 0V 0V -5mV -5.0V >> -10mV 4.04ms 1 4.05ms V(COMP0.OutP) 4.06ms 4.07ms V(COMP0.OutN) 2 4.08ms V(COMP0.P) 4.09ms V(COMP0.N) Time 4.10ms 4.11ms 4.12ms 4.13ms 4.14ms Fig.A4.10 Caso Crítico 4: Con flanco descendente, Av1 > 0, OutP: HI -> HI, OutN: LO -> LO A los 4,0917ms, VinP >= 2,5973mV todavía sigue siendo un valor suficiente para producir una correcta conmutación correspondiente a VinP > 0 =VinN. En los cuatro Casos Críticos de Error sucede que el valor de tensión diferencial (|VinP – VinN| = |VinP|, dado que VinN = 0v) está por debajo del valor de sensibilidad del comparador. Recíprocamente, cualquier valor que permita la conmutación correcta de las salidas al apagarse M6 (ver Fig.2.21, LATCH de HI a LOw) esta por encima de dicho valor de sensibilidad. Completando el ensayo, se analizan mismos cuatro casos críticos, para la situación que se produzca una correcta conmutación de las salidas. El máximo de todos los valores de tensión diferencial obtenidos en los ensayos de los cuatro casos críticos, que producen una correcta conmutación, es una buena cota inferior para el valor de sensibilidad. Asi, de los resultados completos de simulación de SPICE, Sensibilidad = 2,7088mV, es un buen valor a adoptar, dado que existen casos favorables (que producen una correcta conmutación) que están por debajo. 117-136 20/07/2004 Apéndice 1: Análisis y Diseño del Amplificador Operacional Tal como se vio en el capitulo 3 los amplificadores operacionales forman parte del circuito SHA de cada etapa del conversor pipeline. La poca cantidad de etapas que involucra el presente trabajo permite que un no muy alto valor de ganancia a lazo abierto en los amplificadores operacionales, empleados en el diseño de los amplificadores interetapa, sea suficiente para no causar errores a la salida del código. Debido al mismo motivo tampoco se hace necesaria la utilización de técnicas de autozero. Vcc M20 M18 MbreakP MbreakP M23 MbreakP W = {Wn} OutPut P M14 M15 MbreakN MbreakN N Vss cmBIAS M17 M16 MbreakN W = 10u MbreakN W = {Wn} Vss Fig.AP1.1 Circuito esquemático del amplificador operacional sin compensar. Por lo tanto se adopta un diseño simple con transistores de entrada NMOS (dado que se dispone de alimentación +/-5v), y cargas activas espejo simple, a la salida una etapa con M23 en fuente común, también alimentada con una fuente de corriente, completa la ganancia. Todos los transistores tienen un L=2µm y W=10µm, salvo los de la etapa de salida M23 y M16 que tienen W=50µm lo cual quintuplica la corriente de alimentación. 118-136 20/07/2004 HI VCC HI I1 VIN_ANALOG 10uA V3 DC = 0 VOFF = 0 5v VAMPL = 1 FREQ = 100 AC = 1 TD = 1m 0 5v M16 MbreakN W = 10u LO VDD cmBIAS LO Circuito de Alimentación Generador de polarización cmBIAS Fig.AP1.2 Circuitos esquemáticos complementarios del amplificador operacional. En adelante, se analiza la respuesta en frecuencia y estabilidad del presente diseño. Sometiendo las pruebas a condiciones de carga similares a las que se encuentra en el presente trabajo, se obtienen los valores de capacidad y resistencia de compensación adecuados. Cálculo de Ganancia Aquí se presenta una aproximación para el cálculo de la ganancia de un amplificador operacional. Al mismo tiempo los resultados son contrastados con los valores obtenidos mediante la simulación SPICE. Sabiendo que: L15 = L23 = 2 µm W23 = 50 µm W15 = 10 µm Kp23 = Kp P = 27 ⋅ 10 −6 Kp15 = Kp N = 80 ⋅ 10 −6 VTO 23 = −0,675v VTO15 = 1,17v Vgs23 = −0,979v Vgs15 = 1,27v λ23 = λP = 0,061228 λ15 = λ N = 0,036707 119-136 20/07/2004 las trasconductancias de los pares de entrada y salida, se calculan como: W gm15 = Kp N 15 Vgs − VTOn = 4,00 ⋅ 10 −5 Ω −1 = gm14 [SPICE: 8.38E-05] L15 W gm23 = Kp P 23 Vgs − VTOp = 20,52 ⋅10 −5 Ω −1 [SPICE: 3.61E-04] L23 Id 20 = Kp W20 (Vgs20 − VTOn )2 = 4,74µA = Id18 = Id14 = Id15 [SPICE 6.62uA] 2 L20 gd14 = λ N ⋅ Id14 = 174 ⋅ 10 −9 = gd15 gd18 = λP ⋅ Id18 = 290 ⋅ 10 −9 y la ganancia del par diferencial 1 1 = 367,7 Αvd = gm15 + gd gd 18 14 para la segunda etapa Id16 = Id 23 = Kp W16 (Vgs16 − VTO )2 = 38,4µA 2 L16 gd 23 = λP ⋅ Id 23 = 2,35 ⋅10 −6 Αv2 = [SPICE 67.1uA] gd16 = λ N ⋅ Id16 = 1,41 ⋅ 10 −6 gm23 = 54,52 gd 23 + gd16 la ganancia total del Amp. Operacional Αvtot = Αvd ⋅ Αv2 = 20047 Αv[dB ] = 20 ⋅ log(Αvtot ) = 86,4dB 120-136 20/07/2004 Resultados de simulación La precisión de cálculo que brindan las herramientas de simulación da la posibilidad de adoptar un circuito de prueba a lazo abierto, utilizando un generador de microvolts entre los terminales de entrada y una carga capacitiva que representa las condiciones de trabajo del amplificador operacional formando parte del circuito SHA. U1 + - C1 OP_AMP 2p 0 0 V3 1uV 0 80 (10.000,61.841) (387.067K,58.779) 40 0 -40 10Hz 100Hz 1.0KHz DB(V(OPAMP3.OutPut)/V(OPAMP3.P)) 10KHz 100KHz 1.0MHz 10MHz 100MHz 1.0GHz Frequency 180d (387.296K,134.350) 135d 90d 45d 0d 10Hz 100Hz 1.0KHz P(V(OPAMP3.OutPut)/V(OPAMP3.P)) 10KHz 100KHz 1.0MHz 10MHz 100MHz 1.0GHz Frequency Fig.AP1.3 Circuito de prueba del amplificador operacional a emplear en la simulación SPICE, para obtener las curvas de ganancia de lazo abierto y fase. Curvas de Ganancia y Fase del Amplificador Operacional sin compensar, en función de la frecuencia 121-136 20/07/2004 Del gráfico se puede observar que la ganancia a lazo abierto en bajas frecuencias vale: 20 ⋅ log(a0 ) = 61,81dB => a0 = 1232 y el margen de fase (cuando la ganancia es de 0dB, f=163MHz) 180° − P(V (out ) / V (in) ) = 40° es menor de 45° (mínimo tolerable), que si bién no oscilaría a esa frecuencia (dado que la fase no llega a 0°, osea -180° de desplazamiento respecto de la fase en bajas frecuencias) se intenta lograr un margen de fase mayor, a fin de lograr una mayor tolerancia. Se observa además un polo dominante en: p1 = 387 kHz 2π y un segundo polo dominante en: p2 = 20MHz 2π jω 2π -387kHz -20MHz Fig.AP1.4 Diagrama de polos del amplificador operacional sin compensar. 122-136 σ 2π 20/07/2004 A fin de lograr compensar internamente el amplificador operacional monolítico, se utiliza una capacidad menor a 20pF. Esto es posible llevar a cabo utilizando la multiplicación Miller de la capacitancia C1 que aparece en la Fig.AP1.5. Vcc M20 M18 MbreakP MbreakP M23 MbreakP W = {Wn} C1 {Cc} R2 {Rc} OutPut P M14 M15 MbreakN MbreakN N Vss cmBIAS M17 M16 MbreakN W = 10u MbreakN W = {Wn} Vss Fig.AP1.5 Circuito esquemático del Amplificador Operacional con la capacitancia y resistencia de compensación. El pequeño capacitor C1 es conectado entre la compuerta y el drenaje del transistor de salida M23, produciendo un polo dominante en baja frecuencia. Las curvas de ganancia y fase generadas con SPICE pueden verse en la Fig.AP1.6. 123-136 20/07/2004 80 00,61.841dB) (18.772KHz,58.839dB) 40 (19.525MHz,0dB) 0 -40 -80 1.0Hz 10Hz 100Hz 1.0KHz DB(V(OPAMP3.OutPut)/V(OPAMP3.P)) 10KHz 100KHz 1.0MHz 10MHz 100MHz 1.0GHz Frequency 180d (19.525MHz,62°) 93d (19.525MHz,33°) 0d -93d 1.0Hz 10Hz 100Hz 1.0KHz P(V(OPAMP3.OutPut)/V(OPAMP3.P)) 10KHz 100KHz 1.0MHz 10MHz 100MHz 1.0GHz Frequency Fig.AP1.6 Curvas de Ganancia y Fase del amplificador compensado para Cc=0,5pF y distintos valores de Rc {1, 100, 3k, 6k, 10k, 50k}. Señalando el valor óptimo para el mejor margen de fase en Rc=10k y enviando el cero a muy alta frecuencia. Luego de la compensación se observa un gran cambio en la distribución de polos y ceros de todo el circuito. El polo dominante está ahora en 18,7kHz tal como se deseaba, y el otro polo por encima de la frecuencia de cruce. jω -18,7kHz -20MHz 2π σ 2π Fig.AP1.7 Nueva distribución de polos luego de la compensación. 124-136 20/07/2004 Se desea lograr que la ganancia unitaria (0dB) esté a una frecuencia por debajo del segundo polo dominante, para que de un margen de fase adecuado, y se incremente de esta forma el ancho de banda utilizable. Para describir como se produce la separación de polos (Pole Splitting) en la Fig.AP1.8 el circuito equivalente para M23, con la capacitancia y resistencia de compensación es ilustrado: Cc is + + + R1 Vi Rc C1 Vc gm·V C2 R2 R1, C1, R2 y C2 de la etapa. V o Representan las resistencias y capacidades totales de entrada y salida Fig.AP1.8 Circuito equivalente del transistor M23, incluyendo la compensación. Planteando las ecuaciones de nodos de entrada (Vi), intermedio (Vc) y salida (Vo): is = vi + vi C1s + CC (vi − vC ) ⋅ s R1 [9.25] (v − v ) vo + voC2 s + C i R2 RC [9.26] − g m v1 = (vC − vi ) ⋅ CC ⋅ s = (vo − vC ) [9.26a] RC Obteniendo la función de transferencia [9.27] − R1 ⋅ R2 ⋅ gm ⋅ CC ⋅ 1 − s ⋅ 1 − RC CC vo gm = is 1+ [CC (RC + R1 + R2 + gm R1R2 ) + C1R1 + C2 R2 ]⋅ s + {CC [RC (C1R1 + C2 R2 ) + R1R2 (C1 + C2 )] + C1C2 R1R2 }⋅ s2 + CCC1C2 RC R1R2 ⋅ s3 que tiene un cero real positivo cuando s= [9.35] 1 1 CC − RC gm Notando que para el circuito sin compensar (Cc=0) queda reducida a 125-136 20/07/2004 vo − R1 ⋅ R2 ⋅ g m = is 1 + (C1 R1 + C 2 R2 ) ⋅ s + C1C 2 R1 R2 ⋅ s 2 Que tiene dos polos en p1 = − 1 R1C1 p2 = − 1 R2 C 2 Ahora, al aumentar CC de modo que CC >> C1 y C 2 − R1 ⋅ R2 ⋅ g m ⋅ CC ⋅ 1 − s ⋅ 1 − RC CC vo gm = is 1 + CC (RC + R1 + R2 + g m R1 R2 ) ⋅ s + CC [RC (C1 R1 + C2 R2 ) + R1R2 (C1 + C2 )]⋅ s 2 + CC C1C2 RC R1R2 ⋅ s 3 Tiene tres polos que serán llamados p1 , p2 y p3 Ahora si se escribe el denominador de la transferencia con sus tres polos como: s s s ⋅ 1 − D(s ) = 1 − ⋅ 1 − p1 p2 p3 s s2 s s s2 s s2 s3 = 1 − ⋅ 1 − = 1 − + + − + − p1 p1 p 2 p3 p1 p1 p 2 p 3 p1 p3 p1 p 2 p3 1 1 1 1 2 1 ⋅ s + ⋅ s − = 1 − + + ⋅ s3 p1 p 2 p3 p1 p3 p1 p 2 p1 p3 admitiendo que los tres polos están muy separados y que p1 << p2 << p3 , que por lo general sucede D(s ) ≅ 1 − s s2 s3 + − p1 p1 p 2 p1 p 2 p 3 [9.30] igualando coeficientes con [9.27] se tiene que p1 = − 1 C C (RC + R1 + R2 + g m R1 R2 ) 126-136 20/07/2004 p2 = − RC + R1 + R2 + g m R1 R2 R1 RC C1 + C 2 RC R2 + C1 R1 R2 + C 2 R1 R2 p3 = − R1 RC C1 + C 2 RC R2 + C1 R1 R2 + C 2 R1 R2 C1C 2 RC R1 R2 que dado que RC << R1 y R2 , , y además también R1 y R2 << g m R1 R2 p1 ≅ − 1 CC (RC + R1 + R2 + g m R1 R2 ) p2 ≅ − gm C2 p3 ≅ − 1 C1RC así, en tanto RC aumenta desde cero, el lugar geométrico de los polos del circuito queda determinado como aparece en la Fig.AP1.9. jω − p3 ≅ − 1 C1 RC p2 ≅ − 1 R2 C 2 − gm C2 2π σ 1 R1C1 p1 ≅ − 2π 1 CC (RC + R1 + R2 + g m R1 R2 ) Fig.AP1.9 Separación y División de polos de la Fig.AP1.8 en la medida que se aumenta el valor de CC a partir de cero. Nótese que el segundo polo se divide en dos, ubicados muy por arriba de la situación original, quedando fijados a frecuencias del orden de la fT del transistor MOS. Ahora, volviendo a la expresión [9.35] que indica la posición del cero, se observa que para que el mismo se ubique en el semiplano derecho, debe ser apenas RC > 1 g m , de forma que el cero se ubique en el semiplano derecho, haciendo estable el amplificador; pero lo suficientemente cercano como para ubicar el cero a una muy alta frecuencia lejos de la banda de operación que se ha designado. El efecto del incremento de Rc se puede ver en la Fig.AP1.10. 127-136 20/07/2004 jω 2π Incremento de Rc RC = 0 σ 2π Fig.AP1.10 Diagrama de polos y cero, que muestra como se mueve el cero al incrementar el valor de Rc. Comparando con los resultados de simulación, que pueden ser apreciados en los gráficos de la Fig.AP1.6 se observa que el incremento de Rc mejora el margen de fase. Se lleva de 33° (con una Rc demasiado pequeña) a valores por encima de 60° con Rc mayor ó igual a 10k. Sin embargo un mayor aumento de Rc (ya a los 50k), dando un beneficioso mucho mayor margen de fase, (en la gráfica de ganancia) puede hacer ingresar el cero a la banda que se esta utilizando. Lo cual indica que el cero se ha acercado demasiado al primer polo dominante debido a que, en cuyo caso, se habría adoptado una Rc demasiado grande. Siendo la frecuencia de cruce (0dB) que se desea se ubica en 30MHz: ω t = 2π ⋅ 30MHz = 1,885 ⋅107 1/s El valor del capacitor que produce un polo dominante a esa frecuencia está dado por: CC = gm15 = 0,444pF ≅ 0,5pF ωt este capacitor además agrega un cero que está muy cerca de este polo, lo cual degrada la respuesta en frecuencia del Amplificador Operacional. Para evitar ello, se coloca una Rc en serie con el capacitor, y su valor está dado por: RC = 1 = 6,134kΩ ≈ 6kΩ gm23 Para estos valores se obtiene un GBW (producto ganancia por ancho de banda) de 25MHz. Recalculando la posición del cero con estos valores de Cc y Rc se tiene: z= 1 = −1,7GHz 1 0,5pF ⋅ − 6kΩ gm23 128-136 20/07/2004 Que está en el semiplano negativo (dando estabilidad), y muy por arriba de la frecuencia de cruce (sin afectar el margen de fase). Incluso para valores de Rc más grandes (10kΩ, 20kΩ) se sigue alejando bastante dicho cero, tal como se verifica en la simulación. 129-136 20/07/2004 Glosario ADC: ADC core: ADSC: DAC: CMOS_KEY: DSP: SHA: S/H: S-R: SAR: SNR: THD: SFDR: CSA: VLSI: CMOS: SCMOS: MOSIS: DNL: INL: DRC: LVS: LVDS: SCSI: USB: ATA: S-ATA: GCC: MSB: LSB: Mbps: Msa/s: Netlist: Aliasing: Analog to Digital Converter Núcleo del ADC (cuerpo principal del conversor pipeline) Analog to Digital Sub-Converter Digital to Analog Converter Llave complementaria CMOS. (más comúnmente llamada CMOS_SWITCH) Digital Signal Proccessing Sampling and Hold Amplifier Sample and Hold Shift Register. Successive Approximation Register Signal Noise Ratio Total Harmonic Distortion Spurious Free Dynamic Range CMOS subranging ADC Very Large Scale Integration Contact Metal Oxide Semiconductor Scalable CMOS Servicio de producción de circuitos VLSI Differential NonLinearity Integral NonLinearity Design Rules Check Layout Vesus Schematic Low Voltaje Differential Signaling Small Computer Signal Interface Universal Serial Bus AT Attachment Serial ATA Gnu C Compiler Most Significant Bit Least Significant Bit Mega bit por segundo Mega Samples per second Listado de componentes de un circuito Distorsión de señal producida por muestrear por debajo de la frecuencia de Nyquist. Throuhput: Velocidad de salida. Glitch: Transición de señal no deseada. Tensión de Referencia: Valor de voltaje positivo o negativo empleado para determinar si una tensión es positiva ó negativa respectivamente. Sensibilidad: Voltaje mínimo para producir una conmutación. Offset: Desplazamiento del valor de tensión respecto de un valor de referencia. Auto Zero: Técnica de compensación de offset utilizada en circuitos comparadores y amplificadores operacionales. Schematic Diseño Esquemático. Esquema circuital utilizado para las simulaciones SPICE. 130-136 20/07/2004 Índice de figuras y ecuaciones Fig. 1.2.0 Efecto en el dominio de frecuencia del muestro en el dominio del tiempo. ....................... 12 Fig.1.1.2. Representacion de una señal analógica y señal digitalizada (arriba) y señal de error (abajo) ..................................................................................................................................................... 13 Fig.1.1 Ejemplos de aplicaciones que utilizan intefaces analógico-digital .......................................... 14 Fig.1.1.3. Diferentes Arquitecturas de conversores A/D...................................................................... 15 Fig.1.1.4 Esquema de un conversor SAR de 3-bit y 1 bit por ciclo ..................................................... 17 Fig.1.1.5 Funcionamiento de un conversor SAR de 3-bit .................................................................... 18 Fig.1.2 Modelo típico de un conversor A/D Flash con arreglo de resistencias.................................... 19 Fig.1.3 Diagrama en bloques de un conversor flash de dos pasos. ...................................................... 20 Fig.1.4 Arquitectura de conversión A/D Pipeline ................................................................................ 21 Fig.1.5 Pronóstico del voltaje de alimentación de dispositivos CMOS según la Semiconductor Industry Association 1997. .......................................................................................................... 26 Fig.1.8 Diagrama en bloques simplificado de una arquitectura de conversión A/D pipeline. ............. 28 Fig.1.10. Diagrama en bloques ejemplo de un conversor pipeline de dos etapas. ............................... 29 Fig. 1.8.1 Ejemplo de conversion pipeline con n1=2 bits y n2=2 bits................................................... 29 Fig.1.9.Principales fuentes de error en los conversores pipeline. ........................................................ 30 Fig.1.10.1 Característica de transferencia manifestandose la presencia de alinealidad en la cadena de resistencias................................................................................................................................... 31 Fig.1.11 Diagrama en bloques ejemplo de la corrección digital para un conversor pipeline de dos etapas de 3 bit cada una. .............................................................................................................. 32 Fig.1.12 Diagrama en bloques de una etapa de 2 bits, de un conversor A/D pipeline. [Lewis92]....... 34 Fig.1.13 Característica Ideal de transferencia de una etapa. Residuo ideal Vs Entrada retenida. (a) sin offsets, (b) con offsets ................................................................................................................. 34 Fig.1.14 Diagrama en bloques de una etapa de dos bits agregando tensiones de offset en el ADSC y en el DAC. ................................................................................................................................... 35 Fig.1.15. Residuo Vs Entrada Retenida utilizando un comparador extra............................................. 38 Fig. 1.16 Residuo Vs Entrada Retenida sin el comparador superior en el ADSC................................ 39 Fig.1.6. Estimación de consumo de potencia en un Conversor A/D pipeline (caso de B=2 bits por etapa) ........................................................................................................................................... 41 Fig.1.7 Corriente de polarización de las etapas de un conversor pipeline normalizada respecto de la primer etapa. ................................................................................................................................ 42 Fig.1.8. Especificaciones de los bloques circuitales de una etapa........................................................ 43 Fig.1.17 Interconexión de las Etapas de un Conversor AD Pipeline ................................................... 45 131-136 20/07/2004 Fig.2.1.Diagrama en Bloques del Conversor A/D Pipeline.................................................................. 46 Fig.2.12.Diseño Esquemático del SHA durante el “Muestreo” ........................................................... 47 Fig.2.13 Diseño Esquemático del SHA durante la “Retención” .......................................................... 48 Fig. 2.13.1. Diseño esquemático de una llave CMOS. (CMOS_KEY)................................................ 48 Fig.2.14 Circuito de prueba para convertir una señal de tiempo continuo a tiempo discreto. ............. 49 Fig.2.15 Análisis transitorio de señales de entrada y salida entre los 102us y 207us .......................... 50 Fig.2.16 Análisis de la capacidad de salida Ch y de entrada Cs........................................................... 51 Fig.2.17. (a) Circuito Eléctrico del cuerpo del conversor Pipeline adicionando el amplificador de muestreo y retención a la entrada. (b) Circuito Eléctrico interior de una Etapa del Pipeline. (PIPELINE_STAGE) (c) Circuito Eléctrico del interior de la última etapa del pipeline. (LAST_STAGE).......................................................................................................................... 54 Fig.2.2.Diagrama en bloques del cuerpo y desarrollo de las etapas del conversor Pipeline. ............... 55 Fig.2.9.Diagrama en Bloques de la lógica de corrección digital.......................................................... 56 Fig. 2.9.1 Circuito lógico del Sumador completo “ADDER” de 3 bits con Carry de salida................ 57 Fig.2.10.Codificación de las salidas digitales de las etapas en binario. ............................................... 57 Fig.2.11.Cuadro de valores obtenidos de cada etapa al momento de obtener los de la última etapa, indicando el tiempo T transcurrido hasta ese instante ................................................................. 58 Fig.2.3.Circuito Secuencial base del Generador de Clock ................................................................... 59 Fig.2.4.Lógica Combinacional que permite generar las dos Fases de Clock. ...................................... 59 Fig.2.5.Comportamiento del LATCH izquierdo. Entrada / salida y señal de clock. ............................ 60 Fig.2.6.Comportamiento del LATCH derecho. Entrada / salida y señal de clock negada. .................. 61 Fig.2.7.Análisis real de las señales que generan el clock fase A.......................................................... 62 Fig.2.8.Análisis real de las señales que generan el clock fase B.......................................................... 62 Fig.2.18(a) Análisis transitorio de las señales de la primer etapa del cuerpo del conversor pipeline, durante el semiciclo negativo de la señal de prueba senoidal de entrada. ................................... 64 Fig.2.18(b) Análisis transitorio de las señales de la primer etapa del cuerpo del conversor pipeline, durante el semiciclo positivo de la señal de prueba senoidal de entrada..................................... 64 Fig. A3.1 Circuito de prueba del SHA ................................................................................................. 66 Fig. A3.2a Respuesta transitoria del Circuito de prueba del SHA para un semiciclo positivo de una senoide de 10kHz, 5Vp a 2MSa con Vref positiva...................................................................... 67 Fig. A3.2b Respuesta transitoria del Circuito de prueba del SHA para un semiciclo negativo de una senoide de 10kHz, 5Vp a 2MSa con Vref negativa..................................................................... 67 Fig.A3.3 Comportamiento Transitorio del SHA de salida en la primer etapa de un conversor A/D Pipeline con Vref en 0v y –2.5v. ................................................................................................. 68 132-136 20/07/2004 Fig.2.20 Diagrama eléctrico del conversor flash de un bit y medio. (a) Formando parte de la etapa del conversor Pipeline. (b) Circuito eléctrico interno........................................................................ 69 Fig.2.21 Diseño esquemático del comparador CMOS con LATCH. ................................................... 70 Fig.2.22 Circuito de prueba del ADSC. ............................................................................................... 71 Fig.2.23 Comportamiento de las salidas del ADSC utilizando una tensión de entrada de prueba que varia linealmente de –5v a +5v.................................................................................................... 71 Fig.2.24 Circuito eléctrico interno del conversor D/A, utilizado para la construcción de Vref........... 73 Fig.2.25 (a) [arriba] Circuito de prueba que representa las condiciones de ensayo del DAC. (b) [abajo] Resultados de simulación para un análisis transitorio del DAC.................................................. 74 Fig.3.1.Diseño del layout MKEY-02.TDB .......................................................................................... 78 Fig.3.2. Diseño del layout BIAS-06.TDB ............................................................................................ 79 Fig.3.3. Diseño del layout COMP-07.TDB.......................................................................................... 80 Fig.3.4. Diseño del layout OPAMP-06.TDB ....................................................................................... 81 Fig.3.5. Diseño del layout NOR-02.TDB............................................................................................. 82 Fig.3.6. Diseño del layout LATCH-03.TDB........................................................................................ 83 Fig.3.7. Diseño del layout SHA.TDB .................................................................................................. 84 Fig.3.8. Diseño del layout ADCFLASH.CELL ................................................................................... 85 Fig.3.9. Diseño del layout CKGEN.TDB............................................................................................. 86 Fig.3.10. Diseño del layout ADSC_06.TDB........................................................................................ 87 Fig.3.11. Diseño del layout DAC-03.TDB........................................................................................... 88 Fig.3.12. Diseño del layout CORE_08.TDB........................................................................................ 89 Fig.A2.1. Gráfico de las salidas de las etapas (residuos) para una señal de entrada senoidal de amplitud 5v. ............................................................................................................................... 105 Fig.A2.2. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v. 106 Fig.A2.3. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con un offset interetapa que produzca un error de –1LSB. .............................................................. 107 Fig.A2.4. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con un offset interetapa que produzca un error de +1LSB............................................................... 108 Fig.A2.5. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con el máximo valor de ganancia interetapa que produzca un error de 1LSB. ................................ 109 Fig.A2.6. Gráfico de la alinealidad diferencial para una señal de entrada senoidal de amplitud 5v, con el mínimo valor de ganancia interetapa que produzca un error de 1LSB.................................. 110 Fig.A4.1 Circuito de prueba polarizado con I1=5uA de forma que ID(M10)+ID(M9)= ID(M7)+ ID(M1)+ ID(M8)+ ID(M2). ...................................................................................................... 111 Fig.A4.2 Análisis transitorio de la conmutación de los comparadores .............................................. 112 133-136 20/07/2004 Fig.A4.3. Error Caso Crítico 1: flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI: ... 113 Fig.A4.4. Error Caso Crítico 2: flanco ascendente, Av1 > 0, OutN: HI -> LO, OutP: LO -> HI: ..... 114 Fig.A4.5. Error Caso Crítico 3: flanco ascendente, Av1 < 0, OutN: HI -> LO, OutP: LO -> HI: ..... 114 Fig.A4.6 Error Caso Crítico 4: flanco descendente, Av1 > 0, OutP: HI -> LO, OutN: LO -> HI: .... 115 Fig.A4.7 Caso Crítico 1: Con flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI:...... 115 Fig.A4.8 Caso Crítico 2: Con flanco ascendente, Av1 > 0, OutN: HI -> LO, OutP: LO -> HI:........ 116 Fig.A4.9 Caso Crítico 3: Con flanco ascendente, Av1 < 0, OutN: HI -> HI, OutP: LO -> LO......... 116 Fig.A4.10 Caso Crítico 4: Con flanco descendente, Av1 > 0, OutP: HI -> HI, OutN: LO -> LO..... 117 Fig.AP1.1 Circuito esquemático del amplificador operacional sin compensar.................................. 118 Fig.AP1.2 Circuitos esquemáticos complementarios del amplificador operacional. ......................... 119 Fig.AP1.3 Circuito de prueba del amplificador operacional a emplear en la simulación SPICE, para obtener las curvas de ganancia de lazo abierto y fase. Curvas de Ganancia y Fase del Amplificador Operacional sin compensar, en función de la frecuencia .................................... 121 Fig.AP1.4 Diagrama de polos del amplificador operacional sin compensar...................................... 122 Fig.AP1.5 Circuito esquemático del Amplificador Operacional con la capacitancia y resistencia de compensación. ........................................................................................................................... 123 Fig.AP1.6 Curvas de Ganancia y Fase del amplificador compensado para Cc=0,5pF y distintos valores de Rc {1, 100, 3k, 6k, 10k, 50k}. Señalando el valor óptimo para el mejor margen de fase en Rc=10k y enviando el cero a muy alta frecuencia......................................................... 124 Fig.AP1.7 Nueva distribución de polos luego de la compensación. .................................................. 124 Fig.AP1.8 Circuito equivalente del transistor M23, incluyendo la compensación. ........................... 125 Fig.AP1.9 Separación y División de polos de la Fig.AP1.8 en la medida que se aumenta el valor de CC a partir de cero...................................................................................................................... 127 Fig.AP1.10 Diagrama de polos y cero, que muestra como se mueve el cero al incrementar el valor de Rc............................................................................................................................................... 128 134-136 20/07/2004 Referencias [Lewis87] S. H. Lewis and P. R. Gray, “A pipelined 5-Msample/s 9-bit analog-to-digital converter,” IEEE J. Solid-State Circuits, vol. 22, pp. 954–961, Dec. 1987. [Gray88] S. Surtarja and P. R. Gray, “A Pipelined 13-bit, 250ks/s, 5-V Analog-toDigital Converter”, IEEE J. Solid-State Circuits, vol. 23, pp. 1316-1323, Dec. 1988. [Gray91] Y.-M. Lin, B. Kim, and P. R. Gray, “A 13-b, 2.5-MHz self-calibrated pipelined A/D converter in 3-µm CMOS,” IEEE J. Solid-State Circuits, vol. 26, pp. 628–636, Apr. 1991. [Lewis92] S. H. Lewis, H. S. Fetterman, G. F. Gross, Jr. R. Ramachandran, T. R. Viswanathan, “A 10-b 20Msample/s Analog to Digital Converter”. IEEE J. Solid-State Circuits, vol. 27, pp. 351-357, Mar. 1992. [Gray99] A. M. Abo and P. R. Gray, “A 1.5-V, 10-bit, 14.3-MS/s CMOS Pipeline Analog-to-Digital Converter” ”. IEEE J. of Solid-State Circuits, vol. 34, No. 5, May 1999. [Walta01] M. Waltari, Student Member, IEEE, and K. A. I. Halonen, “1-V 9-Bit Pipelined Switched-Opamp ADC”. IEEE J. of Solid-State Circuits, vol. 36, No. 1, January 2001. [GrayMeyer] P. Gray and R. Meyer, “Analysis and Design of Analog Integrated Circuits”, 1993 [GcmsThesis] “High-Speed, Low-Power, Low Voltage Pipelined Analog-to-Digital Converter” by George Chien B.S. (University of California, Los Angeles) 1993 [Brooks97] Todd L. Brooks, David H. Robertson, Daniel F. Kelly, Anthony Del Muro, and Stephen W. Harston, “A Cascaded Sigma–Delta Pipeline A/D Converter with 1.25 MHz Signal Bandwidth and 89 dB SNR”. IEEE J. of Solid-State Circuits, vol. 32, No. 12, December 1997 [Lutzky99] Brian P. Brandt and Joseph Lutsky, “A 75-mW, 10-b, 20-MSPS CMOS Subranging ADC with 9.5 Effective Bits at Nyquist”. IEEE J. of Solid-State Circuits, vol. 34, No. 12, December 1999 135-136 20/07/2004 [Lucent99] “Lucent Technologies demonstrates higher speeds in disk drive read-channel integrated circuits made in today's manufacturing processes”, for release Wednesday Dec. 08, 1999. http://www.lucent.com. [Lewis01] Jun Ming, Member IEEE, and Stephen H. Lewis, Fellow IEEE, “An 8-bit 80Msample/s Pipelined Analog-to-Digital Converter With Background Calibration”. IEEE J. of Solid-State Circuits, vol. 36, No.10, October 2001. [Pohang02] “6bit 1.1GS/s CMOS Flash ADC” by Sang Hune Park, Young Chan Jang and Hong June Park. Dept of Electronic & Electrical Engineering Pohang University of Science and Technology Hyoja-Dong, Namgu Pohang Kyungbuk 790-784, KOREA. [Europaper] “Design Considerations for High-Speed Low-Power Low-Voltage CMOS Analog-to-Digital Converters” by Thomas B. Cho, David W. Cline, Cormac S.G. Conroy, and Paul R. Gray Department of Electrical Engineering and Computer Sciences, University of California at Berkeley [master.ps] “Design Techniques for Parallel Pipelined ADC” by Li Lin. UC Berkeley 1995. [Maloberti] “A/D and D/A Converters”, Prof. F. Maloberti, Dep. of Electronics, University of Pavia, Italy. IEEE-CAS TOUR. Lecturas complementarias Ø Dallas Maxim AN383 – Mar 01, 2001 “Understanding Pipelined ADCs”. Ø Dallas Maxim AN634 – Mar 21, 2000 “Pipeline ADCs Come of Age”. Ø Dallas Maxim AN2085 - May 31, 2003 “Histogram Testing Determines DNL and INL Errors”. Ø MOSIS Scalable CMOS (SCMOS) Design Rules (Revision 7.2) Ø © 2000 Marc E. Herniter - Schematic Capture Using Orcad Pspice. Ø Physical Design of CMOS Integrated Circuits using L-Edit, PWS 1995. 136-136