Documente Academic
Documente Profesional
Documente Cultură
de Arquitectura Pipeline
TESIS DE INGENIERA
ANLISIS Y DISEO
DE UN
CONVERSOR ANALGICO DIGITAL
DE
ARQUITECTURA PIPELINE
por
ANDRS E. SAMPAULO
Padrn N 75.746
asampau@fi.uba.ar
CALIFICACIN:
Tutor de Tesis
Ing. Alejandro De la Plaza
Jurado
Jurado
Jurado
Resumen
En la actualidad numerosas aplicaciones comerciales de consumo masivo requieren el
uso de circuitos integrados, que permitan la conversin de seales del tipo analgico en
datos digitales a grandes velocidades con gran resolucin y a muy bajo costo. Bajo costo
comprende simplicidad en el diseo del circuito, permitiendo escalabilidad y
minimizacin en el consumo de energa. Lo cual brinda una mayor autonoma en el caso
del empleo en aplicaciones alimentadas por bateras.
En el mbito de las computadoras personales es sabido que a lo largo del tiempo fue
incrementndose la velocidad de transferencia de datos en las interfaces de
comunicacin 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 ms veloces y de
mayor resolucin.
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 analgico digital del tipo pipeline. A lo largo del trabajo se hace un estudio
comparativo de caractersticas, aplicaciones y performance; se presenta el diseo de un
circuito prototipo de 6 bits de resolucin, se analiza y describe el funcionamiento y
desempeo de cada unas de las partes que lo componen. Finalmente se disea el layout
completo del mismo prototipo para su fabricacin, todo ello involucrando el
cumplimiento de las reglas de diseo que el proceso de fabricacin implica y
verificando el diseo 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: Introduccin............................................................. 10
1.1.
1.2.
Muestreo ......................................................................................................... 11
1.3.
Cuantizacin ................................................................................................... 13
1.4.
1.5.
1.5.1.
1.5.2.
Arquitectura Flash................................................................................ 19
1.5.3.
1.5.4.
1.6.
1.7.
1.8.
1.8.1.
2.2.
2.3.
2.3.1.
2.3.2.
2.4.
2.4.1.
2.4.2.
2.5.
2.5.1.
2.5.2.
2.5.3.
2.5.4.
2.6.
3.2.
3.3.
3.3.1.
3.3.2.
3.3.3.
3.3.4.
3.3.5.
3.3.6.
3.3.7.
3.4.
3.4.1.
3.4.2.
3.4.3.
3.4.4.
3.4.5.
4.1.1.
4.1.2.
4.1.3.
4.1.4.
4.1.5.
4.1.6.
D-Latch ................................................................................................ 83
4.1.7.
4.1.8.
4.1.9.
4.1.10.
4.1.11.
4.1.12.
5. Conclusiones ....................................................................................... 90
5.1.
5.2.
5.3.
20/07/2004
Prefacio
Este trabajo es una elaboracin personal concebida por Andrs Esteban
Sampaulo estudiante de la carrera Ingeniera Electrnica de la Universidad de Buenos
Aires.
La redaccin de esta tesis tiene el propsito de demostrar que es factible desarrollar
un conversor A/D de alta resolucin, alto throughput y bajo consumo basado en
tecnologa CMOS. A lo largo de ms de un ao de trabajo se sigui un programa de
tareas (schedule) que se basa en etapas que comprenden la realizacin de tareas
afines, el cual tiene como finalidad presentar el diseo completo de un circuito
integrado.
El circuito integrado que se disea en este trabajo pertenece al rea de circuitos
integrados Mixtos Analgico-Digital. No obstante, el presente diseo puede formar
parte de un sistema ms complejo en el cual intervienen circuitos puramente
analgicos, puramente digitales, y mixtos, asi como tambin circuitos sensibles a
campos magnticos, electromagnticos, circuitos pticos asi como cualquier otro
sistema que requiera una transformacin de seal 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 seales.
En la primera parte del trabajo se hace una breve resea histrica de la conversin
analgico digital, las diferentes aplicaciones que requieren este proceso, los
requerimientos que demandan y las caractersticas 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 adems un estudio comparativo de las fuentes de error
en los conversores pipeline. Y se explica el funcionamiento de la tcnica de
correccin 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 diseo del circuito elctrico de cada bloque utilizando niveles
jerrquicos. Luego se realizan ensayos de simulacin SPICE de cada uno de los
7-136
20/07/2004
8-136
20/07/2004
Objetivo de la tesis
El presente trabajo tiene como objetivo presentar el diseo completo de un
Circuito Integrado CMOS. Se desea mostrar un mtodo para llevar a cabo la
realizacin de un Conversor Analgico Digital (ADC). Se pretende tambin introducir
al lector en el uso de las herramientas de diseo que se utilizan para la realizacin de
cada una de las tareas que son involucradas en un proyecto de diseo de circuitos
integrados y procesamiento de seales. El diseo 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 caractersticas
de transferencia del circuito.
b. La corrida del algoritmo anterior, variando parmetros externos permite
elaborar el conjunto de especificaciones.
c. El diseo del circuito elctrico (circuito esquemtico) en niveles jerrquicos
del conversor pipeline completo utilizando la herramienta Capture CIS.
d. La simulacin SPICE del circuito cuando es sometido a condiciones de
prueba que comprenden todo el rango de operacin previsto. Lo cual
permite el anlisis de las caractersticas de funcionamiento.
e. El diseo del Layout para su posterior fabricacin satisfaciendo las reglas de
diseo (DRC) segn el proceso MOSIS adoptado
f. La verificacin del diseo del Layout (del punto e.) Versus el Esquemtico
(del punto b.) utilizando LVS.
Todos estos puntos concluyen en el diseo de un Conversor Analgico Digital de
arquitectura Pipeline para su posterior fabricacin lo cual constituye la presente tesis.
9-136
20/07/2004
10-136
20/07/2004
1.2. Muestreo
La operacin que permite la transformacin de una seal de tiempo continuo a una
seal en tiempo discreto es llamada muestreo (sampling). Ello consiste en tomar
muestras del valor de la seal de tiempo continuo cada instantes de tiempo mltiplo
de T, llamado intervalo de muestreo. Siendo, de este modo F=1/T la llamada
frecuencia de muestreo.
Si la seal en tiempo continuo es de banda limitada (su espectro se encuentra entre
M < X ( j ) < + M ), sta puede ser representada unvocamente por medio de sus
muestras siempre que la frecuencia de muestreo exceda 2 M . Valor conocido como
frecuencia de Nyquist. El muestreo es representado matemticamente como
[1.2]
X * (s ) = x(nTs )e snTs =
1
Ts
X (s jn )
[1.2.1]
Como se puede apreciar en la Fig. 1.2.0 (a), esto es una funcin peridica de s que
consiste de una superposicin de rplicas 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 rplicas 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 rplicas 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 seal analgica original
x(t ) puede ser recuperada exactamente a partir de sus muestras. [Teorema del
muestreo, Opp1997]
1
-M
(a)
1/s
X*(j)
-M
(b)
1/s
-M
X(j)
(s M)
X*(j)
M s
(c)
(s M)
Fig. 1.2.0 Efecto en el dominio de frecuencia del muestro en el dominio del tiempo.
(a) Espectro de la seal analgica original de Entrada. (b) Espectro de la seal muestreada con s > 2 M .(c) Espectro de la
seal muestreada con s < 2 M .
12-136
20/07/2004
1.3. Cuantizacin
La arimtrica del procesamiento interno de los sistemas digitales impone la
cuantizacin de los valores muestreados de la seal analgica 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
19
13
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 seal analgica y seal digitalizada (arriba) y seal de error (abajo)
De acuerdo a la cantidad de bits (n) del cdigo digital que se est utilizando, el rango
completo de una seal analgica puede ser dividido en 2n niveles equi-espaciados
llamados niveles de cuantizacin. La cuantizacin permite decidir cual cdigo digital
es el ms adecuado para la representacin del valor continuo de la seal muestreada.
Si V fs es la amplitud completa del rango de tensin de entrada, = V fs 2 n es llamado
intervalo de cuantizacin, y el error ( Q ) que se comete durante el proceso de
cuantizacin queda comprendido entre 2 < Q < + 2 .
El error de cuantizacin es inherente a cualquier proceso de conversin A/D, asi Q
tiende a cero cuando n tiende a infinito.
13-136
20/07/2004
Dispositivo
de
Imgenes
Filtro antialiasing
Conversor
A/D
DSP
Seccin RF
Filtro
Conversor
A/D
DSP
LO
(b) Sistemas de comunicacin personal
Filtro
Conversor
A/D
DSP
14-136
20/07/2004
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
20/07/2004
16-136
20/07/2004
Control de Fase
de Reloj
Vin
S/H
Lgica de control +
SAR
? CK
Registro de
Comparador
almacenamiento
SALIDA DIGITAL
Vref
DAC
Vr
20/07/2004
Inicio
1
2
100
000
101
101
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 ecuacin que define un conversor SAR de N bits est dada por:
Vin =
Vref
2
bN 1 +
Vref
2
bN 2 + .... +
Vref
2 N +1
Vref
2
b0 +
Vref
2 N +1
+ Q
[1.5]
el corrimiento de LSB de la
caracterstica de transferencia.
En implementaciones prcticas, 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
+0,25v
Entrada
Analgica
0v
Salidas
Digitales
(cdigo
termomtrico)
-0,25v
Vref(-0,5v)
19-136
20/07/2004
Entrada
S/H
Analgica
ADC
ADC
N2 bits
DAC
N1 bits
SR
Salidas Digitales
001001110
20/07/2004
segunda etapa por ejemplo con correccin digital (se describe en el trabajo). As como
podra 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 precisin, hacerlo utilizando una arquitectura flash de 2 pasos requiere
32 (16 comunes y 16 de precisin). 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 conversin A/D no es aplicable ms all que para conversores de
video de 8bits a 20MHz.
ETAPA 1
S/H
Seal de
entrada
de la
etapa
ETAPA
M-1
Seal muestreada
ETAPA M
X 2B
-
ADSC
DAC
Seal
cuantizada
Seal de salida
de la etapa
(residuo)
Salidas digitales
de la etapa
20/07/2004
22-136
20/07/2004
El conversor A/D pipeline utiliza etapas en cascada, cada una de las cuales es
capaz de producir uno o mas bits.
23-136
20/07/2004
24-136
20/07/2004
25-136
20/07/2004
1,5
1,5
1,5
1,2
0,9
0,6
0,5
0
1997
1999
2001
2003
2006
2009
2012
Ao
Fig.1.5 Pronstico del voltaje de alimentacin de dispositivos CMOS segn la Semiconductor Industry
Association 1997.
26-136
20/07/2004
27-136
20/07/2004
S/H
A/D
D/A
2a
etapa
3a
etapa
LSB
S-R
S-R
Lgica
Digital
S-R
MSB
Fig.1.8 Diagrama en bloques simplificado de una arquitectura de conversin A/D pipeline.
28-136
20/07/2004
Error en la
Ganancia
Muestreo
y
Retencin
+ +
Muestreo
y
Retencin
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
Es sabido que cada etapa opera, en forma concurrente con el resto, empleando el
residuo obtenido de la etapa predecesora. El resultado de la conversin parcial
obtenido de cada diferente etapa corresponde al proceso de la seal analgica 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 lgico
digital corrector de errores, resultados de la conversin parcial correspondientes a la
muestra de la seal analgica 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
Vmn
Vmn
Vmn
Fig. 1.8.1 Ejemplo de conversion pipeline con n1=2 bits y n2=2 bits.
29-136
20/07/2004
Como se analiza mas adelante los efectos debidos a offset y alinealidad se pueden
corregir y hasta incluso eliminar mediante tcnicas de correccin digital. De este
modo la alinealidad del DAC y el tiempo de establecimiento del circuito S/H limitarn
la performance del sistema.
Los errores asociados con cada elemento tpico 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
Retencin (S/H)
ERROR(ES)
EFECTO(S)
SOLUCION(ES)
Offset
Offset
Alinealidad
Auto-Zero
Correccin Digital
Offset
Offset
Alinealidad
Alinealidad
Alinealidad
Auto-Zero
Correccin Digital
A/D
Alinealidad
Alinealidad
D/A
Amplificador
InterEtapa
Offset
Alinealidad
Error de Ganancia Alinealidad
Trim
Calibracin
Auto-Zero
Trim
Calibracin
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 solucin para corregirlo eliminarlo en la cuarta columna.
Utilizando tcnicas tradicionales analgica 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 tambin en los amplificadores interetapa,
pueden ser disminuidos o eliminados por medio de tcnicas de correccin digital.
30-136
20/07/2004
Caracterstica
ideal de
transferencia
DNL+
Ventrada
Cuando la ganancia es muy baja este error causa saltos verticales (que se traduce en
cdigos errneos missing codes) en toda la escala de transferencia, produciendo un
31-136
20/07/2004
Etapa 1
Etapa 2
Registro de
n2-bits
Lgica de
Correccin
Registro de
n1-bits
Registro de
n1-bits
SALIDA de n1 + n2 - 1bits
Fig.1.11 Diagrama en bloques ejemplo de la correccin 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 lgico de correccin y el amplificador con ganancia 0,5. Un amplificador
32-136
20/07/2004
33-136
20/07/2004
Vr
Vr
DAC
ADSC
de 2-bits
de 2-bits
Entrada
Residuo
Fig.1.12 Diagrama en bloques de una etapa de 2 bits, de un conversor A/D pipeline. [Lewis92]
Residuo
00
Vr = 1LSB
01
10
11
LSB
0
Entrada
Rango de
Retenida
Conversin
-LSB
-Vr = -1LSB
-Vr
-Vr
+Vr +Vr
01
10 11
(a)
Residuo
00
Vr = 1LSB
LSB
0
Entrada
Rango de
Retenida
Conversin
-LSB
-Vr = -1LSB
-Vr
-Vr Vr
Vr +Vr
(b)
Fig.1.13 Caracterstica Ideal de transferencia de una etapa. Residuo ideal Vs Entrada retenida. (a) sin
offsets, (b) con offsets
34-136
20/07/2004
Vr
Vr
DAC
ADSC
de 2-bits
de 2-bits
+
-LSB
de offset
+ -LSB
de offset
+
+
Residuo
Fig.1.14 Diagrama en bloques de una etapa de dos bits agregando tensiones de offset en el ADSC y en
el DAC.
20/07/2004
Bajo estas condiciones es posible corregir los errores causados por la alinealidad en el
ADSC. Consecuentemente el rango de correccin aqu es de LSB (para un rango
de conversin de 2 bits) Vr/4, lo que significa que la alinealidad del ADSC solo
debe ser contemplada en la resolucin de esa etapa, en lugar de en la resolucin
completa del conversor ADC. Ms an, dado el valor de tensin de offset introducido
en serie al ADSC de la Fig.1.14 (que desplaza los niveles de decisin del grfico 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 decisin hacia la
izquierda en un valor mayor a esa cantidad.
Obsrvese 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 idnticas y una ganancia entre etapas de 2, el valor mnimo
del residuo ideal en la Fig.1.13b se puede apreciar en el extremo izquierdo del grfico
,y se ubica sobre el lmite inferior del rango de conversin de la siguiente etapa. No
obstante ello un corrimiento en los niveles de decisin no tiene efecto sobre el valor
de este residuo en el extremo izquierdo del grfico. Mientras que una tensin 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 grfico sea llevado fuera del rango de conversin
de la siguiente etapa, causando prdida de informacin.
36-136
20/07/2004
20/07/2004
1.13b en rojo, quedando fuera del rango de conversin ante un pequeo incremento en
la ganancia). En la prctica, el efecto causado por la alinealidad del ADSC desplaza el
valor del residuo en un mismo sentido respecto de los niveles de decisin afectados,
pero la magnitud del residuo en el extremo izquierdo es an mayor que la de cualquier
otro residuo que este dentro del rango de correccin. El efecto causado por el error de
ganancia interetapa sobre la linealidad del ADC se ve afectado an mas por el residuo
del extremo izquierdo del grfico. Este a su vez incrementado tanto en el caso ideal
como en la practica. Adems, la presencia un incremento en la magnitud del residuo
aumenta las posibilidades de oscilacin del amplificador interetapa. (swing requirement)
Residuo
Vr = 1LSB
00
01
10 11
LSB
Entrada
Retenida
-LSB
- Vr = -1LSB
-Vr -Vr -Vr Vr
Rango de
Conversin de
la siguiente
etapa
Vr +Vr
20/07/2004
Residuo
Vr = 1LSB
00
01
10
LSB
Entrada
Retenida
-LSB
- Vr = -1LSB
-Vr
-Vr Vr
Rango de
Conversin
de la
siguiente
etapa
+Vr
20/07/2004
40-136
20/07/2004
Para una velocidad de muestreo dada, cuando se incrementa la resolucin 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
-
CS=(2 -1)C
+
+
ADSC
Etapa i
Etapa i+1
Fig.1.6. Estimacin de consumo de potencia en un Conversor A/D pipeline (caso de B=2 bits por etapa)
41-136
20/07/2004
Ietapa(n)/Ietapa(1)
0,5
Etapa(n)
1
42-136
20/07/2004
valor pico)
Cantidad de etapas
1,5
Frecuencia de conversin
2Msa/s
Error
SHA
ADSC
DAC
Estas especificaciones son el punto de partida para el diseo del circuito que se
procede en el siguiente capitulo.
43-136
20/07/2004
44-136
20/07/2004
Entrada
analgica
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
45-136
20/07/2004
1.5
1.5
Resultado
de la
conversion
total
1.5
1.5
Entrada
Analgica
SHA
A/D
D/A
A/D
D/A
A/D
D/A
A/D
D/A
A/D
46-136
20/07/2004
CLOCK
L1
Vin_ANALOG
L3
CMOS_KEY
CMOS_KEY
P2
Cs
Ch
1p
0.5p
CLOCK
NOT
SAMPLED_OUT
L2
Vref
CMOS_KEY
U5
OP_AMP
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 Retencin.
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
HI
P1
GATE
NOT
LO
L1
MbreakN
CMOS_KEY
M6
LO
IN
OUT
M5
HI
MbreakP
20/07/2004
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:
Fig.2.14 Circuito de prueba para convertir una seal de tiempo continuo a tiempo discreto.
[18.1]
Siguiendo el grfico de la Fig. 2.15 puede observase que, a los 110us la seal 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
[18.2]
[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 Anlisis transitorio de seales 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 tensin de entrada, cuando se completa la
descarga de Cs a travs de Ch.
Siguiendo el mismo grfico del anlisis transitorio, se observa que a los 120us la seal
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 anlisis (a los 110us).
En la seccin 3.4.1 se incluye otro ejemplo. Similar al que es utilizado en el conversor
pipeline, con Vref0v. Esto da como resultado una suma resta de un valor fijo a la
50-136
20/07/2004
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
[18.5]
Cs
(VIN VREF )
Ch
[18.6]
51-136
20/07/2004
20/07/2004
53-136
20/07/2004
SHA
PIPELINE_STAGE_4
RESIDUO
RESIDUO
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
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
PIPELINE_STAGE_3
PIPELINE_STAGE_2
Vref
B
PIPELINE_STAGE_1
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
DIGITAL_INPUT_A
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
CLOCK
SAMPLED_OUT
Vref
RESIDUO
U5
_C
VREF_N
2x_SHA
+
Comparador
CLOCK
Fig.2.17. (a) Circuito Elctrico del cuerpo del conversor Pipeline adicionando el amplificador de muestreo y retencin a la entrada. (b) Circuito Elctrico interior de una
Etapa del Pipeline. (PIPELINE_STAGE) (c) Circuito Elctrico 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)
Ncleo
ADC
A , B
A , B (Salidas Digitales)
ETAPA N
VEntrada_analgica
LTIMA ETAPA
ADSC
1,5bit
DAC
1,5bit
VEntrada_analgica
SHAx2
RESIDUO
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
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]:
56-136
LSB
20/07/2004
A
NAND
NAND3
Cout
Cin
NAND
NAND
U4
XOR
U5
XOR
Cin
Fig. 2.9.1 Circuito lgico del Sumador completo ADDER de 3 bits con Carry de salida.
En la Fig. 2.9.1 se muestra el diseo lgico del circuito empleado para la correccin digital de los
resultados parciales de las etapas del pipeline. En la Fig. 2.9 puede notarse una leve simplificacin
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. Descripcin del funcionamiento del Corrector Digital
En primer lugar las salidas digitales provenientes de cada etapa (Cdigo de salida [AB]
[ABC] en la ltima etapa) sern codificadas en binario para luego ser sumadas. Las salidas
digitales posibles y su codificacin son resumidas en el siguiente cuadro:
VIN_ANALOG
> VREF_P
VREF_N <
VIN_ANALOG < VREF_P
VIN_ANALOG
< VREF_N
10
00
01
Codificacin de salidas [A B]
10
01
00
Para la ltima etapa: (tiene un comparador ms, entonces las salidas son ABC)
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
20/07/2004
As las salidas digitales codificadas de la primer etapa sern 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 haban 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
B
A1+
C(B1+A2)
B1+A2+
C(B2+A3)
A
B
B2+A3+ B3 + A4 +
C(B3+A4) C(B4+A5)
B4+A5
A
B
0T
B5
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 cdigo de salida corregido de 5 bits.
58-136
20/07/2004
y un lazo de
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
De esta forma se obtienen cuatro seales simtricas, que se combinarn de forma til para lograr
dos seales 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
Finalmente CLOCKA y CLOCKB sern las seales de reloj tiles para emplear en las etapas pares
e impares del Pipeline respectivamente.
59-136
20/07/2004
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
Inicialmente la seal CLOCK se encuentra en estado alto, las seales de entrada y salida del flipflop izquierdo (LATCH0.INPUT y LATCH0.OUTPUT) tambin 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 situacin anterior del flip-flop derecho, la primer conmutacin de la seal de CLOCK
(aprox. a los 0,25us del grfico) 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),
estado bajo a alto, la salida del flip-flop izquierdo (LATCH0.OUTPUT) no se ve afectada, dado que la
seal 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
A los 0,5us, la seal 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
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
Finalmente un NOR lgico entre las seales de salida de flip-flops 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
La misma funcin lgica entre las inversiones de las dos seales originadas del punto anterior,
dado que son simtricas se trata como si estuvieran 180 desplazadas de las anteriores, permite
obtener otro tren de pulsos que tambin tiene TL = 3 TH desplazado 180 respecto del tren de
pulsos anterior.
62-136
20/07/2004
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) Anlisis transitorio de las seales de la primer etapa del cuerpo del conversor pipeline, durante el semiciclo
negativo de la seal 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) Anlisis transitorio de las seales de la primer etapa del cuerpo del conversor pipeline, durante el semiciclo
positivo de la seal de prueba senoidal de entrada.
El anlisis del comportamiento de las seales de salida de la etapa, durante ambos semiciclos
positivo y negativo de la seal senoidal de entrada de prueba permite comprobar los tres estados de
las salidas digitales.
En el grfico de simulacin SPICE de la Fig. 2.18(a) se observa cuando el valor de la seal 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 seal RESIDUO. De esta forma se logra efectivamente
que la seal RESIDUO abarque sin distorsin el rango completo de conversin 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 seal
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 seales digitales, resultados parciales de la conversin de cada
etapa.
Utilizando la lgica de correccin digital (3.3.4) se obtiene el cdigo binario de 5-bits resultado
final de la conversin Pipeline.
65-136
20/07/2004
V3
Vref
VAMPL = 5
TD = 0.01m
FREQ = 10000
PER = 60u
PW = 40u
TF = 1n
TR = 1n
TD = 15u
V2 = 2.5v
V1 = 0v
AC = 0
DC = 0
SAMPLED_OUT
CLOCK
V2
PER = 500n
PW = 250n
TF = 0
TR = 0
TD = 0
V2 = {CK_P}
V1 = {CK_N}
AC = 0
DC = 0
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
ADSC
DAC
VR_N/4
DIGITAL_INPUT_A
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
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 simluacin del grfico de la Fig. A3.3, contra
los grficos de simulacin de la Fig.2.15.
68-136
20/07/2004
A
B
VR_P/4
ADSC
DAC
VR_N/4
VREF_P
VREF_N
VIN_ANALOG
DIGITAL_INPUT_A
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.
Seal de entrada analgica.
Seales de salida Digitales.
Seal de activacin de los comparadores (latch).
U3
VREF_P
A
+
(b)
Comparador
VIN_ANALOG
-
U4
B
VREF_N
+
Comparador
Fig.2.20 Diagrama elctrico del conversor flash de un bit y medio. (a) Formando parte de la etapa del conversor
Pipeline. (b) Circuito elctrico interno.
La entrada analgica esta conectada a ambos comparadores. Cada una de las tensiones de
referencia esta conectada una fraccin de la tensin de alimentacin positiva y negativa
respectivamente. De esta forma, tal como se explic en la seccin 3.3.3, las salidas digitales A y B,
resultado de la sub-conversin A/D, se activan en forma NO simultnea. La seal LATCH
controla la activacin de las salidas de los comparadores.
69-136
20/07/2004
Un diseo 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 seal analgica. Se trata entonces
de un conversor flash de 2 bits (B=2, empleado en la ltima etapa).
Anlogamente, si se utiliza un solo comparador el dispositivo sera capaz de distinguir entre 2
zonas posibles, siendo entonces un conversor de 1 bit. En conclusin el empleo de dos
comparadores (un comprador ms 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 distincin).
Los comparadores utilizados para el diseo del ADSC son del tipo cascode plegado. El
disponer de una alimentacin 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
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
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
acta como llave.
Los valores de las tensiones de BIAS8, BIAS9, BIAS10 establecen la polarizacin del circuito.
De las dos salidas en modo diferencial que provee el diseo, solo OutP es utilizada en el presente
trabajo.
70-136
20/07/2004
V4
PARAMETERS:
Vref = 2.5v
Vcc = 5v
Vdd = 5v
Cp = 1p
Wp = 5u
VIN_ANALOG
V5
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
DIGITAL_OUT_A
DIGITAL_OUT_B
VREF_P
Vr1
VREF_N
{Vref}
ADSC
Vr2
{Vref}
Mientras la seal 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 tensin de entrada de prueba que varia linealmente
de 5v a +5v.
71-136
20/07/2004
En el instante en que la seal LATCH pasa a estado bajo, las salidas de los comparadores
cambian su estado. Dependiendo del valor de la seal 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 grfico de la Fig. 2.23 puede observarse que
durante los primeros 20us el valor de la seal de entrada analgica est por encima del valor de
referencia positiva. Tras lo cual slo el comparador superior activa su salida (A), dado que V(+) >
V(-).
Luego, en el intervalo entre los 20us y 40us, el valor de la seal de entrada analgica se encuentra
comprendido entre ambos niveles de tensin de referencia. En este caso, en ambos comparadores
se da la situacin V(+) < V(-), por lo tanto ambas salidas (A y B) permanecern inactivas.
Finalmente transcurridos los 40us, (extremo derecho del grfico) el valor de la seal
VIN_ANALOG cruza por debajo de VREF_N. En el comparador inferior se da la situacin V(+) >
V(-), por lo cual se activa su salida (B).
En el Anexo 3 se exponen los resultados de un anlisis de sensibilidad de los comparadores
utilizados. Se obtiene el valor de tensin diferencial mnimo que es necesario colocar entre los
terminales de entrada para producir una correcta conmutacin. 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
A
B
VR_P/4
ADSC
DAC
VR_N/4
DIGITAL_INPUT_A
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
DIGITAL_INPUT_B
0
M2
NOT
C3
15f
B
C1
10f
HI
MbreakP
W = 10u
10
RA
20
ANALOG_OUTPUT
M1
0
MbreakN
W = 10u
R18
50k
LO
C2
10f
RB
10
LO
Fig.2.24 Circuito elctrico interno del conversor D/A, utilizado para la construccin de Vref.
M1 y M2 actan como llaves, controladas por las dos entradas digitales DIGITAL_INPUT A y B.
Que segn este activo A B ninguna de las dos seales de control, la salida (ANALOG_OUT) es
conectada a HI/2 , LO/2 0v respectivamente. Logrando como resultado una reconstruccin de
la seal analgica cuantizada en 1,5bit. P3 produce la negacin 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
C1
ANALOG_OUTPUT
100f
Vck1
Vck2
0
1.5BIT_DAC
DC = 0
V2 = 5
V1 = -5
PER = 500ns
PW = 125ns
AC = 0
TD = 0ns
DC = 0
V2 = 5
V1 = -5
PER = 500ns
PW = 125ns
AC = 0
TD = 250ns
Vck1 y Vck2:
C1:
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
simulacin para un anlisis transitorio del DAC.
Analizando el esquema detallado del interior del DAC, ( Fig.2.24(b)) conjuntamente con el grfico
de los resultados de simulacin (Fig.2.25(b)), puede observarse que P3 hace que las entradas
digitales A y B nunca produzcan el encendido simultneo 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)
20/07/2004
conectado a -Vcc/2. (divisor resistivo entre RC y RB). Cuando ambas entradas digitales A y B en
estado bajo, a travs de R18 se asegura la descarga del nodo de salida. Dado que en este caso
ambos transistores M1 y M2 se encuentran simultneamente apagados, esta resistencia (de alto
valor) es una va rpida para la descarga de posibles cargas parsitas del nodo de salida.
Los pequeos capacitores C1, C2 y C3 (~fF), conectados en la salida analgica y las tensiones de
referencia, a masa, permiten mejorar el transitorio durante la conmutacin. (glitch)
75-136
20/07/2004
76-136
20/07/2004
77-136
20/07/2004
En el ejemplo de la Figura se visualiza una de las llaves CMOS empleada en el diseo de la celda
del SHA. (se muestra la parte de entrada ms arriba)
La misma celda es tambin empleada para el layout del DAC.
78-136
20/07/2004
Se muestra la ubicacin del circuito de polarizacin dentro del layout completo del conversor
pipeline.
79-136
20/07/2004
Se muestra el diseo de la celda de uno de los dos comparadores, que forman parte del layout del
circuito ADSC.
80-136
20/07/2004
Una celda p-well brinda una resistividad del orden de 10k/m2, esto posibilita la realizacin de la
resistencia de compensacin en la menor rea. Tanto el capacitor de compensacin, 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
82-136
20/07/2004
4.1.6. D-Latch
Tambin en el diseo del generador de fases de CLOCK se utilizan dos circuitos D-LATCH. Se
maximiza la visin del de la derecha en el detalle de la Fig.
83-136
20/07/2004
20/07/2004
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
86-136
20/07/2004
87-136
20/07/2004
88-136
20/07/2004
89-136
20/07/2004
5. Conclusiones
90-136
20/07/2004
91-136
20/07/2004
92-136
20/07/2004
93-136
20/07/2004
20/07/2004
20/07/2004
20/07/2004
20/07/2004
20/07/2004
default:
printf(" Error en parmetros 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 Fraccin 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;
/* Clculo de tensin 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("Tensin de Referencia Positiva:\tVREF_P\t%e\n", VREF_P);
printf("Tensin de Referencia Negativa:\tVREF_N\t%e\n", VREF_N);
printf("Fraccin de sensibilidad:\t\tVr/%e\n", sense);
printf("Tensin 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");
/* Impresin 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");
/* Clculo e impresin de datos */
/* Generacin de la Seal Analgica 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 ;
/* Impresin de la seal Analgica de Entrada */
printf ("\n%e\t%e", x, y[0]);
/* PreProceso de las etapas y Obtencin 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 lgicas ....
cambiar la tipificacin de las variables booleanas => NO USAR double
para
variables lgicas !!!!
*/
// 2002-11-29 Funcionando con varibles lgicas del tipo int, pero hace el
mismo
/* error tambin en S[1].
Prueba de comentar el Carry y sucede lo mismo => No es tema de Carry
BUG encontrado, haba un j-- dentro del for !!! => salteaba los valores
2:36 Nuevo BUG en la suma 1 + 1 = 1 !!! ERROR !!! No es Suma, es Exor
Solucin: Implemento la EXOR
Problema NO propaga en CArry, lo calcula mal, en caso que sea producido
debido a un anterior Carry. Se reformula el clculo del Carry
se obtienen resultados ms 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 ms
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 */
/* Impresin 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
* Descripcin: Mdulo para Generar la seal 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 parmetro -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 Seal [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
x:
Seal Analgica de entrada.
y[0] y[1]... y[i]:
Seal Analgica de residuo de la etapa.
A[0] B[0] A[1] B[1]... A[i] B[i]: Salidas Digitales de la etapa.
Z:
Seal Analgica reconstituida a partir de los valores
resultantes de la conversin conversor pipeline ADC.
DNL:
Alinealidad diferencial.
20/07/2004
Cantidad de etapas:
etapas
Ganancia Interetapa:
gain
Tensin de Referencia Positiva:
Tensin de Referencia Negativa:
Fraccin de sensibilidad:
Tensin 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
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. Grfico de las salidas de las etapas (residuos) para una seal de entrada senoidal de amplitud 5v.
105-136
20/07/2004
Cantidad de etapas:
etapas
Ganancia Interetapa:
gain
Tensin de Referencia Positiva:
Tensin de Referencia Negativa:
Fraccin de sensibilidad:
Tensin 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
0,8
0,6
0,4
DNL [LSB]
0,2
0
1
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. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v.
106-136
DNL
20/07/2004
Cantidad de etapas:
etapas
Ganancia Interetapa:
gain
Tensin de Referencia Positiva:
Tensin de Referencia Negativa:
Fraccin de sensibilidad:
Tensin 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
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. Grfico de la alinealidad diferencial para una seal 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
Tensin de Referencia Positiva:
Tensin de Referencia Negativa:
Fraccin de sensibilidad:
Tensin 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
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. Grfico de la alinealidad diferencial para una seal 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
Tensin de Referencia Positiva:
Tensin de Referencia Negativa:
Fraccin de sensibilidad:
Tensin 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
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. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v, con el mximo valor de ganancia interetapa que produzca un error de
1LSB.
109-136
20/07/2004
Cantidad de etapas:
etapas
Ganancia Interetapa:
gain
Tensin de Referencia Positiva:
Tensin de Referencia Negativa:
Fraccin de sensibilidad:
Tensin 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
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. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v, con el mnimo valor de ganancia interetapa que produzca un error de
1LSB.
110-136
20/07/2004
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
+
DC = 0
AC = 0
V1 = -5
V2 = 5
TD = 0
TR = 0
TF = 0
PW = 1u
PER = 20.05u
V3
R2
99999Meg
Comparador
FREQ = 5k
VAMPL = 10mv
VOFF = 0
AC = 0
DC = 0
0
0v
Vref
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, seccin 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.
10mV
5.0V
5mV
0V
0V
-5mV
-10mV
>>
-5.0V
3.50ms
1
3.55ms
V(COMP0:P)
3.60ms
V(COMP0:N)
3.65ms
3.70ms
3.75ms
V(COMP0.OutP)
V(COMP0.OutN)
Time
3.80ms
3.85ms
3.90ms
3.95ms
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 travs del mismo M6,
y, como resultado la salida es reestablecida (RESET). [LEWIS92]
Mediante pruebas de conmutacin en condiciones extremas, analizando los resultados de
simulacin SPICE se obtiene experimentalmente un valor de sensibilidad, en mV del
comparador.
Pruebas de conmutacin en condiciones extremas
112-136
4.00ms
20/07/2004
En primera instancia, se analizan los Casos Crticos de Error, donde se comienza a producir (por el
ingreso a la zona de indeterminacin) an se sigue produciendo (por el no egreso de la zona de
indeterminacin) un cdigo errneo (missing code) a la salida. Ambos para flanco ascendente y
descendente.
Luego, se analizaran los mismos cuatro Casos Crticos, pero hasta donde se sigue produciendo
una correcta conmutacin (porque an no se ha ingresado a la zona de indeterminacin) se
comienza a dar una correcta conmutacin (porque se ha logrado salir de la zona de
indeterminacin).
1
5.0V
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 Crtico 1: flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI:
Inicialmente, en t < 2506us la seal 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 conmutacin de las salidas del comparador.
113-136
2.56ms
20/07/2004
5.0V
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 Crtico 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 an no suficiente
para producir una correcta conmutacin. Tanto en esta situacin como en la del caso anterior se
sigue estando por debajo del lmite de tensin de conmutacin del comparador. Osea an no se ha
salido de la zona de indeterminacin.
1
5.0V
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 Crtico 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 conmutacin.
114-136
20/07/2004
5.0V
10mV
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 Crtico 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 situacin como en la del caso anterior el valor de tensin diferencial ya est por debajo
del lmite de tensin de conmutacin del comparador. Osea ya se ha ingresado en la zona de
indeterminacin.
1
5.0V
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 Crtico 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
conmutacin correspondiente a VinP < VinN = 0v.
5.0V
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 Crtico 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
conmutacin correspondiente a VinP > VinN = 0v.
5.0V
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 Crtico 3: Con flanco ascendente, Av1 < 0, OutN: HI -> HI, OutP: LO -> LO
A los 3,9913ms, VinP <= -2,7088mV todava sigue siendo un valor suficiente para producir una
correcta conmutacin correspondiente a VinP < 0=VinN.
116-136
20/07/2004
5.0V
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 Crtico 4: Con flanco descendente, Av1 > 0, OutP: HI -> HI, OutN: LO -> LO
A los 4,0917ms, VinP >= 2,5973mV todava sigue siendo un valor suficiente para producir una
correcta conmutacin correspondiente a VinP > 0 =VinN.
En los cuatro Casos Crticos de Error sucede que el valor de tensin diferencial (|VinP VinN|
= |VinP|, dado que VinN = 0v) est por debajo del valor de sensibilidad del comparador.
Recprocamente, cualquier valor que permita la conmutacin 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 crticos, para la situacin que se produzca
una correcta conmutacin de las salidas. El mximo de todos los valores de tensin diferencial
obtenidos en los ensayos de los cuatro casos crticos, que producen una correcta conmutacin, es una
buena cota inferior para el valor de sensibilidad.
Asi, de los resultados completos de simulacin de SPICE, Sensibilidad = 2,7088mV, es un buen
valor a adoptar, dado que existen casos favorables (que producen una correcta conmutacin) que estn
por debajo.
117-136
20/07/2004
Vcc
M20
M18
MbreakP MbreakP
M23
MbreakP
W = {Wn}
OutPut
P
M14
M15
MbreakN
MbreakN
Vss
cmBIAS
M17
M16
MbreakN
W = 10u
MbreakN
W = {Wn}
Vss
Por lo tanto se adopta un diseo simple con transistores de entrada NMOS (dado que
se dispone de alimentacin +/-5v), y cargas activas espejo simple, a la salida una etapa
con M23 en fuente comn, tambin alimentada con una fuente de corriente, completa
la ganancia.
Todos los transistores tienen un L=2m y W=10m, salvo los de la etapa de salida
M23 y M16 que tienen W=50m lo cual quintuplica la corriente de alimentacin.
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
5v
M16
MbreakN
W = 10u
LO
VDD
cmBIAS
LO
Circuito de Alimentacin
Clculo de Ganancia
Aqu se presenta una aproximacin para el clculo de la ganancia de un
amplificador operacional. Al mismo tiempo los resultados son contrastados con los
valores obtenidos mediante la simulacin 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
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,74A = Id18 = Id14 = Id15 [SPICE 6.62uA]
2 L20
1
1
= 367,7
vd = gm15
+
gd
gd
18
14
para la segunda etapa
Id16 = Id 23 =
Kp W16
gd 23 = P Id 23 = 2,35 10 6
v2 =
[SPICE 67.1uA]
gm23
= 54,52
gd 23 + gd16
120-136
20/07/2004
Resultados de simulacin
La precisin de clculo que brindan las herramientas de simulacin 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
-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 simulacin SPICE, para
obtener las curvas de ganancia de lazo abierto y fase. Curvas de Ganancia y Fase del Amplificador
Operacional sin compensar, en funcin de la frecuencia
121-136
20/07/2004
Del grfico se puede observar que la ganancia a lazo abierto en bajas frecuencias vale:
20 log(a0 ) = 61,81dB => a0 = 1232
es menor de 45 (mnimo tolerable), que si bin no oscilara 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.
p1
= 387 kHz
2
p2
= 20MHz
2
-387kHz
-20MHz
122-136
20/07/2004
M20
M18
MbreakP MbreakP
M23
MbreakP
W = {Wn}
C1
{Cc}
R2
{Rc}
OutPut
P
M14
M15
MbreakN
MbreakN
Vss
cmBIAS
M17
M16
MbreakN
W = 10u
MbreakN
W = {Wn}
Vss
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}. Sealando el valor ptimo para el mejor margen de fase en Rc=10k y
enviando el cero a muy alta frecuencia.
j
-18,7kHz
-20MHz
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 separacin de polos (Pole Splitting) en la Fig.AP1.8
el circuito equivalente para M23, con la capacitancia y resistencia de compensacin es
ilustrado:
Cc
is
+
R1
Vi
Rc
C1 Vc
gmV
C2
R2
R1, C1, R2 y C2
de la etapa.
V
o
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
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
s=
[9.35]
1
1
CC
RC
gm
125-136
20/07/2004
vo
R1 R2 g m
=
is 1 + (C1 R1 + C 2 R2 ) s + C1C 2 R1 R2 s 2
1
R1C1
p2 =
1
R2 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
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 estn 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]
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
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 geomtrico de los polos del circuito
queda determinado como aparece en la Fig.AP1.9.
p3
1
C1 RC
p2
1
R2 C 2
gm
C2
1
R1C1
p1
1
CC (RC + R1 + R2 + g m R1 R2 )
Ntese que el segundo polo se divide en dos, ubicados muy por arriba de la situacin
original, quedando fijados a frecuencias del orden de la fT del transistor MOS.
Ahora, volviendo a la expresin [9.35] que indica la posicin 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 operacin que se ha designado. El efecto del incremento de Rc se
puede ver en la Fig.AP1.10.
127-136
20/07/2004
Incremento de Rc
RC = 0
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 simulacin, que pueden ser apreciados en los
grficos 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 pequea) 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 grfica 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 habra
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 adems 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 posicin 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
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:
130-136
20/07/2004
131-136
20/07/2004
132-136
20/07/2004
Fig.2.20 Diagrama elctrico del conversor flash de un bit y medio. (a) Formando parte de la etapa del
conversor Pipeline. (b) Circuito elctrico interno........................................................................ 69
Fig.2.21 Diseo esquemtico 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 tensin de entrada de prueba que
varia linealmente de 5v a +5v.................................................................................................... 71
Fig.2.24 Circuito elctrico interno del conversor D/A, utilizado para la construccin de Vref........... 73
Fig.2.25 (a) [arriba] Circuito de prueba que representa las condiciones de ensayo del DAC. (b) [abajo]
Resultados de simulacin para un anlisis transitorio del DAC.................................................. 74
Fig.3.1.Diseo del layout MKEY-02.TDB .......................................................................................... 78
Fig.3.2. Diseo del layout BIAS-06.TDB ............................................................................................ 79
Fig.3.3. Diseo del layout COMP-07.TDB.......................................................................................... 80
Fig.3.4. Diseo del layout OPAMP-06.TDB ....................................................................................... 81
Fig.3.5. Diseo del layout NOR-02.TDB............................................................................................. 82
Fig.3.6. Diseo del layout LATCH-03.TDB........................................................................................ 83
Fig.3.7. Diseo del layout SHA.TDB .................................................................................................. 84
Fig.3.8. Diseo del layout ADCFLASH.CELL ................................................................................... 85
Fig.3.9. Diseo del layout CKGEN.TDB............................................................................................. 86
Fig.3.10. Diseo del layout ADSC_06.TDB........................................................................................ 87
Fig.3.11. Diseo del layout DAC-03.TDB........................................................................................... 88
Fig.3.12. Diseo del layout CORE_08.TDB........................................................................................ 89
Fig.A2.1. Grfico de las salidas de las etapas (residuos) para una seal de entrada senoidal de
amplitud 5v. ............................................................................................................................... 105
Fig.A2.2. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v. 106
Fig.A2.3. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v, con
un offset interetapa que produzca un error de 1LSB. .............................................................. 107
Fig.A2.4. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v, con
un offset interetapa que produzca un error de +1LSB............................................................... 108
Fig.A2.5. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v, con
el mximo valor de ganancia interetapa que produzca un error de 1LSB. ................................ 109
Fig.A2.6. Grfico de la alinealidad diferencial para una seal de entrada senoidal de amplitud 5v, con
el mnimo 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 Anlisis transitorio de la conmutacin de los comparadores .............................................. 112
133-136
20/07/2004
Fig.A4.3. Error Caso Crtico 1: flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI: ... 113
Fig.A4.4. Error Caso Crtico 2: flanco ascendente, Av1 > 0, OutN: HI -> LO, OutP: LO -> HI: ..... 114
Fig.A4.5. Error Caso Crtico 3: flanco ascendente, Av1 < 0, OutN: HI -> LO, OutP: LO -> HI: ..... 114
Fig.A4.6 Error Caso Crtico 4: flanco descendente, Av1 > 0, OutP: HI -> LO, OutN: LO -> HI: .... 115
Fig.A4.7 Caso Crtico 1: Con flanco descendente, Av1 < 0, OutP: HI -> LO, OutN: LO -> HI:...... 115
Fig.A4.8 Caso Crtico 2: Con flanco ascendente, Av1 > 0, OutN: HI -> LO, OutP: LO -> HI:........ 116
Fig.A4.9 Caso Crtico 3: Con flanco ascendente, Av1 < 0, OutN: HI -> HI, OutP: LO -> LO......... 116
Fig.A4.10 Caso Crtico 4: Con flanco descendente, Av1 > 0, OutP: HI -> HI, OutN: LO -> LO..... 117
Fig.AP1.1 Circuito esquemtico del amplificador operacional sin compensar.................................. 118
Fig.AP1.2 Circuitos esquemticos complementarios del amplificador operacional. ......................... 119
Fig.AP1.3 Circuito de prueba del amplificador operacional a emplear en la simulacin SPICE, para
obtener las curvas de ganancia de lazo abierto y fase. Curvas de Ganancia y Fase del
Amplificador Operacional sin compensar, en funcin de la frecuencia .................................... 121
Fig.AP1.4 Diagrama de polos del amplificador operacional sin compensar...................................... 122
Fig.AP1.5 Circuito esquemtico del Amplificador Operacional con la capacitancia y resistencia de
compensacin. ........................................................................................................................... 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}. Sealando 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 distribucin de polos luego de la compensacin. .................................................. 124
Fig.AP1.8 Circuito equivalente del transistor M23, incluyendo la compensacin. ........................... 125
Fig.AP1.9 Separacin y Divisin 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]
[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]
[Lewis92]
[Gray99]
[Walta01]
[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]
[Lutzky99]
135-136
20/07/2004
[Lucent99]
[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]
[master.ps]
[Maloberti]
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