diseño “semi-custom” de la circuitería interfaz para...

103
Diseño “Semi-custom” de la Circuitería Interfaz para Aplicación Electroquímica AUTOR: Ramón Alonso Bejega, . DIRECTOR: José Luis Ramírez Falo, . FECHA: Septiembre / 2001.

Upload: dinhthu

Post on 06-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

Diseño “Semi-custom” de la Circuitería Interfaz paraAplicación Electroquímica

AUTOR: Ramón Alonso Bejega, .DIRECTOR: José Luis Ramírez Falo, .

FECHA: Septiembre / 2001.

Page 2: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ÍNDICE

2

Índice

CAPITULO 1. INTRODUCCIÓN. 4

1.1. Objetivos. 41.2. Necesidades. 51.3. Parámetros del conversor. 6

CAPITULO 2. DESARROLLO DEL CONVERSOR AD. 9

2.1. Especificaciones del diseño. 10

2.1.1. Conversor Analógico-Digital. Posibles Soluciones. 2.1.2. Solución Adoptada. 242.1.3. Conversor DA. 31

2.2. Descripción Verilog. 37

2.2.1. SAR. 372.2.2. Decodificador. 48

2.3. Simulación Digital. Validación Lógica. 49

2.3.1. SAR. 492.3.2. Decodificador. 52

2.4. Síntesis. 54

2.5. Simulación Digital. Validación Temporal. 59

2.6. Descripción parte Analógica. 60

2.6.1. Comparador 602.6.2. Conversor DA 622.6.3. Circuito de Captura y Mantenimiento 63

2.7. Simulación mixta. 65

CAPITULO 3. COMUNICACIONES 68

3.1. Especificaciones del diseño. 69

Page 3: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ÍNDICE

3

3.1.1. Estándar RS-232 693.1.2. Características de la comunicación utilizada 73

3.2. Descripción Verilog. 74

3.3. Simulación Digital. Validación Lógica. 77

3.4. Síntesis. 79

3.5. Simulación Digital. Validación Temporal. 79

CAPITULO 4. PROTOTIPO 80

4.1. Descripción del diseño 80

ANEXO . GRÁFICAS 86

Page 4: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPÍTULO 1. INTRODUCCIÓN

4

1. Introducción

1.1 Objetivos

El objetivo de este proyecto es realizar el diseño de la circuitería interfaz deuna aplicación de instrumentación electroquímica, con un conversor de prestacionesmedias y coste bajo.

Con ella se quiere obtener un circuito que permita medir parámetrosquímicos, como la concentración de soluciones, de forma indirecta a partir de lamedición de parámetros eléctricos, como la conductividad, aprovechando la relaciónque existe entre ambos tipos de parámetros. Así, bastará con conocer lascaracterísticas eléctricas de un compuesto para conocer sus características químicas.

Considerando que se quiere obtener un circuito de bajo coste se debe tener encuenta la importancia del tamaño de este. Por ello tanto el circuito sensor como lainterfaz serán integrados en un ASIC.

Para medir los parámetros eléctricos se usará un potenciostato que funcionarácomo amperímetro, con ello se medirá la corriente que pasa a través de una soluciónal aplicarle a esta una tensión constante, para ello se utilizará una estructura típica deun potenciostato como la que se puede ver en la figura 1.1:

Figura 1.1 Estructura típica de un potenciostato

Como se puede ver se aplicará una tensión constante de valor Vref a lasolución mediante el electrodo de trabajo. Esto provocará un flujo de corriente entreéste y el electrodo de referencia. Éste flujo de corriente se medirá convirtiendotensión la corriente que atraviesa al electrodo de trabajo. Esto permitirá obtenervalores de tensión según las características eléctricas del compuesto. El objetivo delproyecto es el de realizar un circuito que sea capaz de acondicionar las medidashechas para que puedan ser evaluadas desde un PC.

Page 5: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPÍTULO 1. INTRODUCCIÓN

5

1.2. Necesidades

El circuito a diseñar estará compuesto principalmente de un conversor A/D yademás dispondrá de un circuito encargado de comunicar dicho conversor con el PC.

Para el diseño se deberán tener en cuenta diversos aspectos importantes:

• En primer lugar se debe considerar que, al tratarse de reaccionesquímicas, las señales eléctricas serán de muy baja frecuencia. Lafrecuencia de dichas señales rondará 1 Hz.

• También se tendrá en cuenta el tamaño del circuito, dado que seintegrará en un ASIC, por lo que se buscarán las alternativas queimpliquen un menor tamaño y por lo tanto un menor uso de silicio.

• Se debe considerar que las corrientes en el electrodo de trabajoserán del orden de nanoamperios por lo que el conversor no deberepresentar una carga para el potenciostato.

• También se deberá tener en cuenta el problema del ruido. Al tratarsede señales tan pequeñas y de frecuencia tan baja la relación señalruido debe ser muy alta.

Dado que el conversor a diseñar deberá muestrear señales de 1 Hz defrecuencia, según el teorema de muestreo de Nyquist, la frecuencia de muestreo debeser el doble de la frecuencia de la señal para evitar que se produzca el efecto de“aliasing”, por ello el conversor deberá muestrear a una frecuencia superior a los 2Hz.

El conversor utilizado será de 8 bits. Esta resolución nos permite un buentratamiento del ruido.

Page 6: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPÍTULO 1. INTRODUCCIÓN

6

1.3. Parámetros del Conversor

Todo conversor tiene una serie de características que definirán susaplicaciones de uso. En este apartado se definirán estas características. Tras el diseñodel conversor estudiado, se indicará cuales son los parámetros del conversor diseñado.Los parámetros característicos de un conversor se pueden dividir en dos clases:

• Características de diseño. Son parámetros que dependen del método deconversión utilizado y de los aspectos constructivos y que limitan lasaplicaciones del convertidor.

• Características de funcionamiento. Son las diferencias entre elcomportamiento ideal de un conversor y el comportamiento real debido a lasimperfecciones de los elementos que lo constituyen.

Características de diseño:

a) Codificación.b) Resolución. Es el mínimo incremento detectable de la tensión analógica de

entrada. Se obtiene dividiendo la máxima variación de entrada por el númerototal de combinaciones de salida posibles.

c) Tiempo mínimo de conversión. Es el tiempo mínimo al que puede hacer laconversión. Es la inversa de la frecuencia máxima de conversión

Características de funcionamiento:

En la figura 1.2 se puede ver la característica de funcionamiento de unconversor analógico-digital seguidamente se definen las diferentes características delfuncionamiento.

Page 7: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPÍTULO 1. INTRODUCCIÓN

7

Figura 1.2. Característica ideal de un conversor analógico-digital

a) Error de offset o de asimetría. La impedancia de los comparadores hace queal aplicar una entrada nula la salida no sea nula.El error de offset se puede cuantificar según se puede ver en la ecuación (1):

Voffset=Vz-Videal (1)

Donde Vz es el valor de la primera combinación.

Figura 1.3. Error de asimetría

Page 8: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPÍTULO 1. INTRODUCCIÓN

8

b) Error de ganancia. Desviación de la localización ideal del nivel detransición más alto en la función de transferencia del ADC. Se debe a erroresen la tensión de referencia; se pueden corregir con un ajuste de la gananciadel comparador.

Figura 1.4. Error de ganancia

c) Error de linealidad. Los incrementos de la variable analógica no sonidénticos a todos los cambios de combinaciones del código binario. Es ladiferencia entre los incrementos de la tensión de entrada y la variación entredos combinaciones.

Figura 1.5. Error de linealidad.

Page 9: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

9

2. Desarrollo del Conversor AD

En este capítulo se describirán los pasos a seguir para la realización delconversor A/D , el proceso de diseño constará de los siguientes pasos:

• Especificación del diseño.- en él se deben detallar las características delconversor, estudiar las diferentes alternativas y escoger cual es la óptimapara las necesidades indicadas.

• Descripción Verilog.- una vez tomada la decisión de cual va a ser laestructura a implementar, se realizará la descripción Verilog de la partedigital del circuito.

• Simulación digital (Validación lógica).- una vez realizada la descripciónVerilog se llevará a cabo la simulación de esta para confirmar que realmentese comporta como era previsto.

• Síntesis.- tras comprobar que la descripción Verilog responde como eraprevisto, se pasará al mapeado tecnológico de esta, o lo que es lo mismo, setraducirá la descripción Verilog a un conjunto de puertas lógicas querealizarán la misma función que esta.

• Simulación digital (Validación Temporal) .- después de efectuar la síntesisse debe comprobar que realmente el circuito sintetizado responde a lasnecesidades que se esperan de este.

• Descripción parte analógica.- una vez hecho el diseño de la parte digital delcircuito se pasará a diseñar la parte analógica de este.

• Integración de ambas partes y simulación mixta.- tras comprobar elfuncionamiento tanto de la parte digital del sistema, como de la parteanalógica se acoplarán ambas partes y se realizará la simulación mixta.

• Place&Route.-después de comprobar que funciona todo el sistema se pasaráa la generación del “layout”.

• Integración en el layout general.-Una vez generado el layout se integraráeste en el layout general.

La parte digital del diseño consistirá en el SAR, registro de aproximacionessucesivas, y el decodificador encargado

Page 10: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

10

2.1 Especificaciones del Diseño

2.1.1 Conversor Analógico-Digital. Posibles Soluciones

El objetivo principal de este proyecto es realizar el diseño “Semi-Custom” deun conversor analógico-digital. Por ello se deben analizar las diferentes estructurasque existen para implementar un conversor de este tipo y decidir cual de ellos seaproxima más a las especificaciones y cual implica un menor precio.

Como ya se ha dicho con anterioridad dichas especificaciones sonbásicamente tres, en primer lugar es necesario que las conversiones se realicen conuna frecuencia de 1Hz, la segunda especificación es que el conversor debe tener unaresolución de 8 bits, por último consideraremos que los valores de la corriente deentrada son del orden de nanoamperios por lo que evitaremos que el conversorrepresente una carga importante para el potenciostato. Además dado que se trata de undiseño VLSI también se tendrán en cuenta aspectos que impliquen un menor tamañodel circuito que permita un menor uso de silicio y por lo tanto un menor precio.

Otro aspecto a tener en cuenta es que la salida binaria del conversor se tendráque adaptar a una comunicación serie según el estándar RS-232 por lo que se tendráen cuenta también que se pueda realizar la sincronización entre terminales.

Las técnicas de conversión se pueden clasificar según dos parámetros, lavelocidad de conversión y la precisión. La conversión se puede realizar en un solociclo de reloj o en varios ciclos de reloj, en este último caso el número de ciclos dereloj aumenta conforme lo hace el grado de precisión deseado, esto implica queambos parámetros son inversamente proporcionales, debido a esto se pueden dividirlas diferentes estructuras en 3 grupos manteniendo constante el coste en Silicio:

• Baja-media velocidad, alta precisión• Velocidad media, precisión media• Alta velocidad, baja precisión

Dentro de estos tres grupos se pueden incluir las diferentes arquitecturassegún se muestra en la tabla 2.1. Seguidamente se estudiarán cada una de estasarquitecturas y se evaluarán las ventajas e inconvenientes que implica laimplementación de estas.

Page 11: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

11

Tabla 2.1.Conversores Analógico-Digitales

Es posible que la señal analógica de entrada presente variaciones mientras serealice a conversión provocando errores en dicha conversión, para evitar estos erroresse conecta a la entrada del conversor un circuito de captura y mantenimiento (S/H:Sample and Hold), este circuito se encarga de mantener la señal de entrada delconversor constante mientras se realice la conversión.

Sin embargo esta solución limita el margen de frecuencias de entrada por loque existen otros métodos mejores como conectar “flip-flops” a la salida de loscomparadores o utilizar comparadores CMOS sincronizados con una estructurainterna como el de la figura 2.1:

Comparador CMOS sincronizado

Figura 2.1. Comparador CMOS sincronizado

De esta forma los comparadores mantienen el valor constante almacenado en el“latch”.

Page 12: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

12

Conversor Flash o Paralelo:

Este conversor se basa en la utilización del elemento arquitectural básico detodos los conversores AD, los conversores de 1 bit, los comparadores. La señal deentrada se aplica a la entrada negativa de 2N comparadores en paralelo. La entradapositiva de estos esta conectada a diferentes nodos de una red de resistencias. Estaestá constituida por resistencias idénticas de valor R alimentadas por una fuente detensión constante. De esta forma funcionan como divisores de tensión generandotensiones equidistantes a partir de la tensión Vref en cada uno de los nodos. Si latensión de entrada es mayor que la tensión en cada nodo la salida del comparadorconectado a dicho nodo será un “0” lógico. Si por el contrario es mayor la tensión enel nodo la salida del comparador será un “1”. En la figura 2.2 se puede observar unejemplo de este conversor para 3 bits.

Figura 2.2. Conversor paralelo o Flash.

Page 13: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

13

Las salidas de los N comparadores van conectadas a 2N-1 puertas NANDsegún se puede ver en la figura 2.2 , cuando a la entrada inversora de una puertaNAND aparece un “0” lógico y a su entrada no inversora aparece un “1” se detecta latransición de las salidas de los comparadores de 0s a 1s teniendo a la salida de lapuerta un “0”, el resto de puertas NAND deberán tener un “1” a la salida, este hechopermite realizar una simple decodificación 2N-1 a N siguiendo la tabla 2.2 para elejemplo de la figura 2.2:

Tabla 2.2.Valores de salida según valores en la entrada de las puertas NAND

La ventaja principal que presenta este tipo de conversores es su velocidad deconversión, ya que la conversión se hace de forma directa, esto le convierte en el tipode conversor más rápido.

Sin embargo también presenta una serie de inconvenientes, debido a que sonnecesarios 2N comparadores; esto hace que su utilidad se limite a casos de bajaresolución ya que en casos de alta resolución esta clase de arquitectura implica unacomplejidad y un encarecimiento excesivos. Este hecho también provoca que lapotencia requerida por el conversor sea alta. Además, estos representan una alta cargacapacitiva de entrada para el nodo Vin, esto puede limitar la velocidad de conversióny a veces es necesario un “buffer” de entrada.

Page 14: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

14

Otra versión de este tipo de estructuras de conversor paralelo se puede ver enla figura 2.3, esta versión tiene 2N-1 comparadores y sin las puertas NAND vistas enla estructura anterior.

Figura 2.3. Conversor Paralelo. Estructura alternativa

Sin embargo esta estructura sigue teniendo el inconveniente del numero decomparadores requeridos cuando la resolución es grande.

En el caso de un conversor AD de 8 bits son necesarios 255 comparadores,esto hace que el circuito sea excesivamente grande.

Page 15: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

15

Paralelo Ampliado o de 2 Pasos:

Con esta estructura se reducen el número de comparadores respecto alparalelo pero también se reduce la velocidad, el esquema de este tipo de conversoresAD se puede observar en la siguiente figura:

Figura 2.4. Conversor Paralelo ampliado

Esta estructura se basa en dos conversores paralelos como los vistosanteriormente y un conversor DA y realiza la conversión en dos pasos, primero seconvierten los 4 bits más significativos en paralelo (primer paso), este valor digital seconvierte en analógico mediante el conversor DA y se le resta a la tensión de entrada,el resultado de la resta se convierte a digital mediante el otro conversor paralelo(segundo paso ).

Si ambos conversores utilizan la misma tensión de referencia la salida delrestador debe amplificarse multiplicándose por 2N/2, otra solución es utilizar dostensiones de referencia distintas para cada uno de los conversores siendo la tensióndel segundo 2N/2 veces más pequeña como se puede ver en la figura 2.4.

El inconveniente de esta estructura es la reducción de la velocidad respecto alflash, la gran ventaja es que se reduce la complejidad respecto al paralelo, sinembargo la complejidad sigue siendo bastante alta, ya que para una conversión de 8bits son necesarios dos conversores AD paralelos de 4 bits y un conversor DA de 4bits, esto implica una complejidad muy grande cuando se trata de un diseño VLSI porlo que esta estructura también queda descartada para el proyecto descrito.

Page 16: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

16

Aproximaciones Sucesivas:

Se trata de una de las estructuras más utilizadas. Esta basado en unconvertidor DA que genera sucesivos voltajes analógicos que va comparando con latensión de entrada, el resultado de cada comparación se usa para generar el próximovalor analógico aproximándose este cada vez más a la tensión de salida. Acontinuación se puede el diagrama de bloques de dicha estructura:

Figura 2.5. Conversor de aproximaciones sucesivas.

El registro de aproximaciones sucesivas, también llamado SAR, genera lasecuencia de valores digitales a partir de los cuales el conversor DA genera el valoranalógico que se comparará con la tensión de entrada, en cada ciclo se realizará laconversión de un bit hasta llegar a la del bit N, después de la cual, el valor de salidadel registro será el valor definitivo de la conversión.

Page 17: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

17

En la figura 2.6 se puede apreciar los diagramas de flujo del algoritmo deaproximaciones sucesivas cuando se realiza una conversión bipolar y una unipolar.

Figura 2.6. Diagrama de flujo del algoritmo de aproximaciones sucesivas

En la tabla 2.3 se puede apreciar un ejemplo de conversión cuando Vin= 10Vcon una resolución de 4 bits y para una tensión de referencia de 15 voltios, en ella sepuede apreciar como el valor de los bits de salida se va aproximando al valor final.

Tabla 2.3. Ejemplo de conversión para 4 bits.

Este tipo de estructuras presentan una velocidad de conversiónrazonablemente alta para una moderada complejidad del circuito. Puede llegar aresoluciones de 16 bits o más. Presenta la ventaja de que el tiempo de conversión esinsensible al valor analógico de entrada.

Page 18: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

18

Algorítmico o Cíclico:

El funcionamiento de este tipo de estructuras es muy similar al deaproximaciones sucesivas. Su operación es similar al de aproximaciones sucesivaspero, mientras el anterior dividía por dos la tensión de referencia en cada ciclo, estedobla el error dejando constante la tensión de referencia, el diagrama de flujo de laconversión con signo se puede observar a continuación, en la figura 2.7:

Figura 2.7. Diagrama de flujo del conversor algorítmico o cíclico.

En la figura 2.8 se puede ver el diagrama de bloques del circuito.

Se trata de un método muy similar al de aproximaciones sucesivas pero tieneel inconveniente respecto a éste de que hay dificultades para construir un amplificadorque multiplique por dos con gran precisión, asimismo, el añadir dicho amplificadoraumenta el tamaño y la complejidad del circuito por lo que el método anterior es unasolución más sencilla de implementar.

Page 19: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

19

Figura 2.8. Conversor algorítmico o cíclico

Método de Pendiente Única:

En este método el circuito generador de rampa produce una rampa a partir deuna tensión de referencia Vr, esta rampa se compara con la tensión de entrada Vi, elcontador evalúa el número de ciclos de reloj necesarios para que la rampa alcance elvalor de la tensión de entrada, el valor del contador representará el valor digital de laseñal de entrada. En la figura 2.9 se puede ver el diagrama de bloques de esteconversor.

Figura 2.9. Método de pendiente única

La tensión Vs va desde cero hasta valores positivos de acuerdo con la rampade ecuación:

(1)

Si la tensión de entrada es negativa el valor de la rampa pasará primero por latensión de entrada y luego por 0, esta secuencia puede ser utilizada para determinar lapolaridad de la tensión de entrada.

)0(VtVref

Vs +τ

=

Page 20: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

20

Después de cada conversión el contador debe reiniciar su valor a 0 y latensión de la rampa vuelve a su valor inicial V(0).

El tiempo de cada conversión viene definido por:

(2)

La tolerancia de la constante τ determina la precisión del resultadodirectamente , esta viene definida por RC y por tanto sometida a derivas de Tª yestabilidad a largo término del condensador, esto hace que sea difícil obtener unaprecisión mejor del 0,1%.

Existen dos tipos de generadores de rampa. El primero se puede ver acontinuación en la figura 2.10:

Figura 2.10. Generador de rampa

Es una solución simple cuya mayor desventaja se debe a la no-linealidadasociada a los efectos parásitos de los condensadores integrados hecho que lleva a unerror de no-linealidad.

El segundo tipo es una mejor solución ya que la integración de corriente sehace de forma activa:

Figura 2.11. Generador de rampa

ViVref

tτ=∆

Page 21: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

21

También se puede utilizar un generador de rampa digital pero entonces esnecesario un conversor digital-analógico

La principal ventaja de este tipo de conversores es su simplicidad y sumonotonía ya que la rampa esta siempre creciendo. Su mayor desventaja es la lentitudde la conversión. Otro inconveniente es que el tiempo de conversión depende delvalor analógico de entrada por lo que no se puede saber de antemano cual va a serdicho tiempo de conversión.Otra desventaja es que la precisión del convertidor depende fundamentalmente de lalinealidad del integrador que es función de la red RC.

Método de Doble Pendiente

En la anterior estructura se vio que existía un inconveniente que radicaba enque el tiempo de conversión dependía directamente del valor de la tensión analógicade entrada, esto se soluciona con el método de doble pendiente, este método es similaral anterior pero con la diferencia que no solo se integra la tensión de referencia sinotambién la tensión de entrada, el método se puede ver ilustrado en la siguiente figura:

Figura 2.12.Método de doble pendiente

En reposo el interruptor S2 está abierto, esto provoca que Vx inicialmentesea cero.La conversión se realiza en dos fases:

Fase 1.-Tiene una duración T fijada por la marcha del contador durante 2N

ciclos de reloj, durante este intervalo el interruptor S1 está conectado a –Vin, esta esintegrada durante el intervalo T, al final de este la tensión Vx viene dada por:

(3)

C∙R

T∙VinVx =

Page 22: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

22

Fase 2.-Al inicio de esta fase el contador se reinicia y el interruptor S1 seconecta a Vref, en ese momento Vx comienza a disminuir y con el contador se evalúacuando Vx llega cero, en ese momento el valor del contador indica el valor digital dela tensión de entrada.

El valor de salida será:

Vout=Vin/Vref (4)

Esta es una de las principales características de esta estructura, y es que lasalida no depende ni de la frecuencia del reloj ni de la constante de integración RC, laúnica condición es que la frecuencia del reloj se mantenga constante durante laconversión, por ello podemos conseguir precisiones mejores de 0,01%. La precisiónviene definida por los errores de “offset” del integrador y el comparador por lo que esimportante que estos errores sean pequeños.

Se trata de un método que proporciona unos resultados muy precisos y sucircuito es muy simple aunque el tiempo de conversión es algo grande.Es un método que permite reducir en gran parte el ruido de entrada.

Otra versión del conversor de doble pendiente es el conversor con equilibrioautomático del cero. Este método es similar al anterior pero en este caso se eliminanlos errores de “offset” gracias a un equilibrio automático del cero. Para implementareste equilibrio se sustituye el interruptor S2 por un circuito de control como se puedever en la figura 2.13.

Figura 2.13. Conversor con equilibrio automático del cero

El circuito de control consiste en un seguidor de tensión y un condensador.

En reposo el interruptor S2 está cerrado por lo que el condensador se cargacon la tensión de salida del seguidor de tensión, para corregir el error del offset laentrada del integrador se conecta a masa a través del interruptor S1, la tensión en elcondensador toma el valor Vof-Ib∙R, donde Vof es la tensión de “offset” e Ib es lacorriente de polarización de entrada del integrador, en estado estacionario estacompensación anula la corriente a través de C como en un integrador ideal.

Page 23: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

23

Durante el intervalo de integración, como la tensión en el condenador quedaalmacenada en este, el offset queda equilibrado durante este intervalo.

Al igual que el método anterior proporciona altas resoluciones pero tambiéngrandes tiempos de conversión.

Conversor Sigma-Delta

Se trata de un método para conversiones de muy alta resolución y de baja-media velocidad. Su diagrama de bloques se puede observar en la figura:

Figura 2.14. Conversor Sigma-Delta

Su principal característica es una gran reducción de los requisitos deprecisión de la parte analógica frente a un aumento en la complejidad de la partedigital.

Se trata de un conversor de sobremuestreo, este tipo de conversoresmuestrean a frecuencias mucho mayores de la frecuencia de Nyquist, la frecuencia demuestreo de estos conversores suele ser de cientos e incluso miles de veces mayor quela frecuencia de la señal de entrada.

Son conversores adecuados para resoluciones de más 20 bits, para este tipode resoluciones es más simple implementar en un circuito VLSI los circuitosanalógicos de este tipo de conversores que los que se requieren para el paralelo y el deaproximaciones sucesivas que requieren resistencias de precisión o condensadores.

Page 24: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

24

1.1.2 Solución Adoptada

Una vez vistos los diferentes métodos de conversión analógica-digital se hadecidido que la mejor solución para el sistema estudiado es el método deaproximaciones sucesivas. Dado que las exigencias del circuito no requerían ni unaalta resolución ni una alta velocidad y teniendo en cuenta que se trata de un métodosencillo de implementar se ha optado por esta solución.Por ello a continuación se estudiará con más detalle el método de aproximacionessucesivas.

En la figura 2.15 se puede ver el diagrama de bloques del sistema, como yase dijo este método se basa en un convertidor DA que genera sucesivos voltajesanalógicos que va comparando con la tensión de entrada, el resultado de cadacomparación se usa para generar el próximo valor analógico aproximándose este cadavez más a la tensión de salida.

Conversor AD de aproximaciones sucesivas

Figura 2.15. Conversor de aproximaciones sucesivas

En cada ciclo de reloj el registro de aproximaciones sucesivas (SAR), generaun valor digital. A partir de éste, el conversor DA obtiene el valor analógicocorrespondiente. Éste se compara con la tensión de entrada, si el valor analógico esmenor el bit correspondiente al actual ciclo de reloj será 0, en caso contrario será 1.Así se obtiene en cada ciclo un bit comenzando por el bit de más peso hasta llegar alde menos peso. Tras N aproximaciones se consigue el valor digital de la tensiónanalógica de entrada, en la figura 2.16 se puede observar la secuencia que se sigue.

Page 25: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

25

Figura 2.16. Combinaciones generadas por el SAR

Estas combinaciones son las que genera el SAR y se conviertensucesivamente mediante el conversor DA y se comparan con la tensión de salida,dependiendo del resultado de la comparación se genera la combinación posterior.

En la figura 2.17 se puede ver el algoritmo que sigue este método cuando setrata de una conversión bipolar y cuando se trata de un caso unipolar.

Figura 2.17. Diagrama de flujo del algoritmo de aproximaciones sucesivas

Page 26: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

26

En la tabla 2.4 se puede ver también un ejemplo de conversión cuandoVin= 10V con una resolución de 4 bits y una tensión de referencia de 15 voltios. En lafigura 2.18 se muestra el diagrama temporal de dicho ejemplo, en el se ve como elvalor de salida se va aproximando al valor correcto :

Tabla 2.4.Ejemplo para 4 bits

Figura 2.18. Diagrama temporal para el ejemplo de 4 bits.

Page 27: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

27

Una variante de los conversores de aproximaciones sucesivas es la técnica dedistribución de carga, a continuación se puede ver el diagrama de flujo de estatécnica:

Figura 2.19. Técnica de distribución de carga

El valor V es la diferencia entre la señal de entrada y la de salida delconversor DA, con esto se consigue que V se compare con tierra.

En esta técnica el circuito de muestreo y mantenimiento (S/H), el conversorDA y la porción diferencial del comparador están combinados en un solo circuito,este trabaja en 3 modos diferentes que se describirán detalladamente a continuaciónpara un conversor de 5 bits:

Page 28: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

28

Modo de Muestreo.-los condensadores se cargan con Vin y pone alcomparador en su tensión umbral mediante S2. En este modo Vx (tensión de entradadel comparador)

Figura 2.20. Modo de muestreo

Modo de mantenimiento.-se abre S2 con lo que el comparador deja demantenerse en su tensión umbral. Los condensadores se conectan a tierra, esto haceque Vx pase a valer –Vin ya que se mantiene en los condensadores el valor Vin. Aveces este paso se combina con la conversión del primer bit durante el siguientemodo.

Finalmente S1 se conecta a Vref que se aplicará a los condensadores duranteel próximo modo.

Figura 2.21. Modo de mantenimiento

Page 29: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

29

Modo ciclo de bit.-el condensador mayor se conecta a Vref con lo queVx=-Vin+Vref/2.

Si Vx<0, Vin>Vref/2 y el condensador se conecta a Vref con lo que b0=0Si Vx>0, Vin<Vref/2 y el condensador se conecta a tierra con lo que b0=1

Figura 2.22. Modo de ciclo de bit

Esto se hace N veces, con cada uno de los condensadores, hasta que finalicela conversión de todos los bits.La capacidad total es 2NC.

El modelo anterior es para realizar una conversión sin signo, también sepuede hacer una conversión con signo añadiendo una –Vref. Si en el primer pasoVx<0 se seguirá el método anterior, sino se usará –Vref y si en las siguientescomparaciones Vx>0 se conectará el condensador a –Vref y si Vx<0 se conectará atierra.Sin embargo existe una alternativa mejor utilizando la misma estructura anterior perousando una sola fuente de referencia, en esta estructura se debe asumir que Vin estaentre ±Vref.

Page 30: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

30

Al igual que en la conversión sin signo existen 3 modos de funcionamiento aunquecon algunas diferencias:

Modo muestreo.-Todos los condensadores se cargan a Vin excepto el mayor que secarga a Vref/2. El comparador se pone en su tensión umbral mediante S2.

Figura 2.23. Modo de muestreo. Conversión con signo.

Modo Mantenimiento.-se abre S2 con lo que el comparador deja de estar en suestado inicial. Todos los condensadores, excepto el mayor, se conectan a tierracausando que Vx=-Vin/2. Al final de este paso se determina el signo de Vin viendo lasalida del comparador.

Figura 2.24. Modo de mantenimiento. Conversión con signo.

Ciclo de bit.-El condensador mayor se conecta a tierra si y solo si Vx>0 (Vin<0).Si Vx<0 Vin>0 y el condensador mayor se conecta a Vref/2 con lo que b0=1 y laconversión se realiza como en el caso unipolar comenzando por b1.

Page 31: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

31

Si Vx>0, Vin<0 el condensador de mayor valor se conecta a tierra con lo que b0=0 yVx=-Vin/2-Vref/4 que es un valor negativo y la conversión sigue como en el casounipolar comenzando por b1.

Figura 2.25. Modo de ciclo de bit. Conversión con signo.

Este método para realizar la conversión con signo tiene el inconveniente deque Vin se atenúa por 2, lo que convierte al ruido en un problema para altasresoluciones.

En este diseño se implementará la versión tradicional vista primero dado queel diseño VLSI digital es mucho más simple que una implementación analógica comolos métodos de distribución de carga; además una de las especificaciones del diseñoes que las las señales de entrada son del orden de nanoamperios por lo que lapresencia de los condensadores puede representar una carga excesivamente grandepara ese orden de valores de la tensión de entrada.

1.1.3 Conversor DA

Se ha visto en el apartado anterior que al escoger una estructura deaproximaciones sucesivas era necesario una conversor DA; dicho conversor debe serde 8 bits y debe ser de conversión rápida.

En este tipo de conversores se tiene en cuenta que un número codificado enbinario natural se puede convertir a decimal mediante el cálculo del polinomiosiguiente:

(5)

Si la variable B toma valores diferenciados 0 y Vref voltios, como teóricamentese supone, el circuito encargado de hacer la conversión será un simple sumadorresistivo que realice la suma de las variables B de forma ponderada como el diagramade bloques de la figura 2.26. Sin embargo, en la práctica, no se toman dos valores

1n1n

11

00 2B...2B2BN −

−+++=

Page 32: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

32

totalmente diferenciados, y siempre idénticos. Por no-idealidad de los componentesque forman un DA estos no son valores fijos. Esto hace que no sea correcto eldiagrama de bloques de la figura 2.26. Este problema se solventa haciendo que lasvariables binarias controlen unos conmutadores que se unen al sumador resistivo; elotro terminal se une a una fuente de tensión constante de referencia Vr y dependiendodel valor de B la salida del sumador quedará conectada a 0 o Vr, resultando eldiagrama de bloques de la figura 2.27.

Figura 2.26. Diagrama de bloques de un convertidor digital-analógico

Figura 2.27. Diagrama de bloques de un convertidor digital-analógico

El sumador resistivo se puede implementar de diferentes formas; la primera deellas se puede observar en la figura 2.28, en ella cada bit esta asociado a unaresistencia R/2i-1, la ecuación 6 muestra el valor que toma la variable analógica segúnel valor de los bits Bn.

Page 33: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

33

Figura 2.28. Sumador resistivo

(6)

En este tipo de sumadores resistivos las resistencias deben ser exactamentesubmúltiplos, esto representa un inconveniente ya que es necesario una construcciónde un número elevado de resistencias con una alta precisión. En los diseños VLSI lasdiferencias existentes entre zonas dentro de un mismo pedazo de silicio hacen que seadifícil conseguir tal precisión.

Este inconveniente se soluciona en gran parte con el sumador de la figura 2.29,en él solo se utilizan resistencias de dos valores distintos. La ecuación 7 representa elvalor analógico de salida en función de los valores de los bits de entrada.

Figura 2.29. Sumador resistivo

1n

1n

2...421

Bn2...3B42B21BV −

+++++++=

Page 34: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

34

(7)

Este tipo de sumador reduce considerablemente el inconveniente, pero existe unaúltima estructura que lo reduce totalmente dado que usa resistencias del mismo valor,dicho conversor se puede ver en la figura 2.30, en ella la red de resistencias se conectaa una fuente de tensión constante Vr y los bits de entrada se conectan a unosconmutadores, según sea mayor el peso del bit el punto de la red de resistencias a laque irá conectado tendrá un valor de tensión mayor .

Figura 2.30. Sumador resistivo

Esta estructura reduce considerablemente el número de resistencia utilizadasrespecto a las estructuras anteriores aunque tiene el añadido de los conmutadores, sinembargo, estos nos permiten, tal y como se comentaba anteriormente, evitar loserrores debidos a las diferencias entre las tensiones que toman los bits de entrada queno siempre son los valores 0 y V, ya que estas adoptan dos valores diferenciados peroque no corresponden siempre a dos valores de tensión idénticos, sino que se tratan devalores cercanos a estos 0 y Vr. Por ello en este diseño se utilizará este tipo desumador resistivo.

n

1n

2

Bn2...3B42B21BV

−+++=

Page 35: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

35

En todos los tipos de sumadores resistivos vistos es necesario que la resistenciade carga sea muy grande, si no se produce un error de conversión debido a que laimpedancia del circuito resistivo es diferente para los distintos valores de entrada. Porello es necesario conectar a la salida del sumador un circuito de alta impedancia deentrada y baja de salida, para ello se puede utilizar una amplificador operacional, sepueden conectar estructuras como las que se pueden ver en las figuras 2.31 y 2.32. Sinembargo en el diseño que se está estudiando al ir la salida del conversor conectada alcomparador este hace la función del amplificador operacional y ya se tiene unaimpedancia alta a la salida del sumador resistivo por lo que no es necesario añadir unamplificador operacional y por lo tanto se evitará ya que representa una complejidadañadida al circuito.

Figura 2.31. Amplificador no inversor

Figura 2.32. Seguidor de tensión

Para activar los conmutadores de la red resistiva se utilizará un decodificador,éste es un sistema combinacional de n entradas y 2n salidas de tal forma que, cuandoen la entrada aparece una combinación binaria, la salida cuyo subíndice correspondeal valor decimal de dicha combinación binaria adopta un “1” mientras el resto de lassalidas mantiene el valor “0”. En la figura 2.33 se puede ver el símbolo de undecodificador.

Figura 2.33 Decodificador

Page 36: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

36

En la tabla 2.5 se puede observar un ejemplo de las combinaciones posibles paraun decodificador de 2bits.

Tabla 2.5 Ejemplo de combinaciones para un decodificador de 2 bits

Page 37: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

37

2.2 Descripción Verilog

En este apartado se describirá mediante el lenguaje Verilog, lenguaje dedescripción de Hardware, la parte digital del diseño, esta constará en primer lugar delSAR y en segundo lugar del decodificador encargado de, a partir de la salida del SAR,activar las puertas de paso adecuadas de la red de resistencias del conversor DA.

2.2.1. SAR

Como ya se ha mencionado la primera parte del diseño digital del conversorA/D ha sido el diseño del registro de aproximaciones sucesivas SAR, dicho registro esel encargado de generar un valor digital a partir del cual el conversor D/A genera unvalor analógico que se compara con la tensión de entrada, dicho valor generadodependerá directamente del resultado de la comparación anterior y se irá aproximandoprogresivamente al valor de entrada. Las diferentes combinaciones que irá generandoel SAR se pueden ver en la figura 2.34, estas combinaciones, como ya se hamencionado anteriormente, dependerán de la salida del comparador, tal y como sepuede observar en la figura, donde Vc es la tensión de salida del comparador.

Figura 2.34 Combinaciones generadas por el SAR

Por tanto el SAR tendrá como entrada el valor de la comparación y como salida unade las combinaciones anteriormente vistas que irá a parar al decodificador.

Pero aún queda por indicar una característica del SAR y es el modo de operación;existen dos modos de operación:

• Modo continuo.- El conversor realiza sucesivos ciclos de conversión sinningún control externo.

• Modo discontinuo.- el conversor permanece en espera en un estado inicialhasta que recibe una orden de comienzo de conversión, en ese momento

Page 38: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

38

realiza el ciclo de conversión y cuando acaba indica que ha finalizado laconversión y vuelve al estado inicial a la espera de una nueva indicación decomienzo, conservando la última conversión a la salida.

En este diseño se tendrán en cuenta ambos modos por lo que existirá una entradaindicadora de comienzo de conversión y una entrada que indicará cuando se trabaja enmodo continuo, cuando esté activada la entrada de modo continuo el SAR no tendráen cuenta la entrada de comienzo de conversión, mientras que, cuando estedesactivada solo comenzará las conversiones cuando la entrada de conversióncontinua esté desactivada.

Teniendo en cuenta todo lo anterior el SAR tendrá un aspecto como el de lafigura 2.35, en ella podemos ver que las entradas de dicho registro serán, el reloj(CLK), la salida del comparador (a), el indicador de comienzo de conversión (soc,start of conversión) y el indicador de modo continuo (c); como salidas tendrá elindicador de final de conversión (eoc, end of conversion) y la combinación generada(estado), sin embargo se diferenciará entre la última combinación de la conversión, ypor tanto resultado final, de las conversiones anteriores con el objetivo de que lasalida del conversor no varíe en cada ciclo de reloj, sino que lo haga sólo al final decada conversión, por ello se denominará como B a la salida del conversor.

Figura 2.35. SAR

Para la realización del SAR existen múltiples alternativas por lo que se hadecidido efectuar la descripción de varias versiones con el objetivo de evaluar, tras lasíntesis de todas las opciones, cual es la que implica un menor tamaño, dado que altener que integrar el sistema en un ASIC es necesario optimizar el espacio ocupadopor cada uno de sus elementos.En primer lugar se han descrito cinco alternativas de registros SAR de 3 bits con elobjetivo de, como se ha dicho antes, evaluar cual representa una menor utilización deespacio, la alternativa elegida será trasladada a un conversor de 8 bits y se continuaráel proceso de diseño.

A continuación se detallarán cada una de las cinco descripciones realizadas, estase denominarán as31, as32, as33, as34 y as35, haciendo referencia a AproximacionesSucesivas de 3 bits. En todas ellas se han implementado las mismas entradas ysalidas, estas son las vistas en la figura 2.34. Las entradas serán:

• a. Salida del comparador. Es el resultado de la comparación entre la tensiónanalógica de entrada y la tensión de salida del conversor DA.

Page 39: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

39

• c. Indicador de modo continuo. Cuando su valor es cero el conversortrabajará en modo continuo realizando sucesivas conversiones hasta que estese ponga a “1”, en caso de estar activada no se tendrá en cuenta el valor de lavariable indicadora de comienzo de conversión (soc).

• clk. Reloj. En cada ciclo de este reloj se realizará una aproximación; en elcaso del SAR de 3 bits el ciclo de conversión constará de un ciclo de relojpara inicialización de variables y 3 ciclos de aproximación.

• soc. “Start of conversion”; indicador de inicio de conversión. El SAR solotendrá en cuenta esta variable cuando este desactivado el indicador deconversión continua, en ese caso cada conversión comenzará cuando el valordel sos sea “1”.

Las variables de salida del SAR serán:

• B. Será el resultado final de la conversión. Permanecerá constante durante elciclo de conversión y actualizará su valor al final de este.

• estado. Será el valor de la aproximación y coincidirá con el valor de B alfinal el ciclo de conversión. Esta salida irá conectada al conversor DA.

• eoc. Indicador de final de conversión. Nos indicará cuando la conversión hafinalizado. Cobrará especial relevancia en la sincronización con el PC.

Para la descripción Verilog de los diferentes métodos se ha utilizado el editor deVerilog de la herramienta DFII de Cadence.

El código 2.1 corresponde a la primera de las versiones del SAR descritas, en else puede observar como el algoritmo constantemente evalúa el valor de la variable a ydetermina el valor del bit correspondiente al valor de i, después evalúa el valor de lavariable interna i y, si esta es cero, activa el eoc y actualiza el valor de la salida B,sino es cero seguirá decrementando el valor de i hasta que este sea cero.

module as31 (a,c,clk,soc,B,estado,eoc);

input a,clk,soc,c; //Declaración entradas y salidasoutput [2:0] B;output eoc;output [2:0] estado;

reg eoc;reg [2:0] B;reg [2:0] i;reg [2:0] estado;

initial //Inicialización variablesbeginB=0;i=2;estado=4;end

Page 40: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

40

always @(posedge clk) begin//Se ejecuta en cada ciclo de reloj

if(eoc==1) //Si es final de conversión se inicializan//variables

beginif ((c==0)||(soc==1)) //Solo se inicializan si se activabegin //soc o es conversión continuaestado=4;i=2;eoc=0;endend

elsebegincase(a)1:begin // Si la a es “1” el valor del bit actual es “1”

case(i)0:estado[0]=1;1:estado[1]=1;2:estado[2]=1;endcase

end0:begin // Si la a es “0” el valor del bit actual es “0”

case(i)0:estado[0]=0;1:estado[1]=0;2:estado[2]=0;endcase

endendcaseif(i==0) begin //Cuando se llega al bit 0 se actualiza la salidaeoc=1; //y se activa eoci=2;B=estado;endelsebegincase(i) //Si no se ha llegado al bit 0 se decrementa el

//valor de i1:estado[0]=1;2:estado[1]=1;endcase

end

endendendmodule

Codigo 2.1. Versión as31.

Page 41: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

41

El código 2.2 corresponde a la segunda versión del SAR, llamada as32; enesta versión se tiene en cuenta que en el método de aproximaciones sucesivas se vasumando o restando según el valor de la comparación. Se resta al valor de laaproximación una varible se va dividiendo por 2 conforme progresa la aproximación.Cuando se evalúa el último bit el valor de este será igual al resultado de lacomparación. Esta evolución se puede apreciar en la figura 2.34. Si tomamos comoejemplo una aproximación en la que el resultado sea 1, podemos ver en la tabla 2.6 laevolución seguida.

Tabla 2.6 Ejemplo de aproximaciones sucesivas

Entonces se puede decir que el algoritmo sigue la ecuación 8:

Valor= 2N/2 ± 2N /4 ± 2N /8 ± ... ± final (8)

Donde final=0 si durante la última aproximación a=”0” o final=1 si durante la últimaaproximación a=”1”.

Por ello se ha definido una variable llamada valor que en cada aproximaciónse divide por 2, esta variable se le sumará al valor aproximado (estado), si el resultadode la comparación es “1”, o se le restará, si dicho resultado es “0”. En cadaaproximación se irá incrementado la variable i, que comenzará siendo valiendo 0, ycuando su valor sea 2, cuando se evaluará el último bit, se activará la variable eoc y seactualizará el valor de la variable B.

module as32 (a,c,clk,soc,B,estado,eoc);

input a,clk,soc,c; //Declaración entradas y salidasoutput [2:0] B;output eoc;output [2:0] estado;

reg eoc;reg [2:0] B;reg [3:0] i;reg [2:0] estado;reg [2:0] valor;

initial //Inicialización variablesbeginB=0;

Page 42: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

42

i=0;estado=4;valor=4;end

always @(posedge clk) begin//Se ejecuta en cada ciclo de relojif(eoc==1) //Si es final de conversión se inicializan

//variables

beginif ((c==0)||(soc==1)) //Solo se inicializan si se activabegin //soc o es conversión continuai=0;eoc=0;estado=4;valor=4;endend

elsebeginif(i<2) beginvalor=valor>>1;

if(a==1)begin

estado=estado+valor;endif (a==0)

estado=estado-valor;

i=i+1;endelse begin

if (a==0)estado=estado-valor;

eoc=1;i=0;B=estado;endendendendmodule

Codigo 2.2. Versión as32.

Muy similares a los anteriores son el as33 y as34, que corresponden a loscódigos 2.3 y 2.4 respectivamente, en ellos también se evalúa el valor de i, sinembargo esta evaluación se realiza utilizando la estructura de control case mientrasque en los anteriores se utilizaba una estructura if, aunque a priori pueda parecer queel resultado es el mismo, que realmente lo es, hay que tener en cuenta que se estátrabajando con un lenguaje de descripción de Hardware por lo que dos formasdistintas de describir un mismo hecho pueden implicar dos síntesis distintas, por ello

Page 43: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

43

se ha descrito de diversas formas una misma idea y ya se verá en al apartado desíntesis como realmente cada una de estas versiones implica una síntesis distinta.En el as33 se evalúa primero el valor de i y en función de este se evalúa el valor de ay se actualiza el valor de la variable estado, cuando el valor de i es cero se activa eleoc y se actualiza el valor de B. En el as34 se evalúa primero el valor de a y enfunción de este se evalúa la variable i y se actualiza la variable estado.

module as33 (a,c,clk,soc,B,estado,eoc);

input a,clk,soc,c; //Declaración entradas y salidasoutput [2:0] B;output eoc;output [2:0] estado;

reg eoc;reg [2:0] B;reg [2:0] i;reg [2:0] estado;

initial //Inicialización variablesbeginB=0;i=2;estado=4;end

always @(posedge clk) begin//Se ejecuta en cada ciclo de reloj

if(eoc==1) //Si es final de conversión se inicializan variablesbeginif ((c==0)||(soc==1)) //Solo se inicializan si se activabegin //soc o es conversión continuaestado=4;i=2;eoc=0;endend

elsebegin

case(i) //Se evalua el peso del bit0:begin eoc=1;//Si es el bit 0 se activa eoc

case(a)//El valor del bit actual será igual //valor de a1:estado[0]=1;0:estado[0]=0;

endcaseB=estado;//Se actualiza la salida

end1:begin estado[0]=1;//El próximo bit se pone a “1”

case(a)1:estado[1]=1;

Page 44: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

44

0:estado[1]=0;endcase

end2:begin estado[1]=1;

case(a)1:estado[2]=1;0:estado[2]=0;

endcase endendcase

i=i-1;endend

endmodule

Codigo 2.3. as33

module as34 (a,c,clk,soc,B,estado,eoc);

input a,clk,soc,c; //Declaración entradas y salidasoutput [2:0] B;output eoc;output [2:0] estado;

reg eoc;reg [2:0] B;reg [2:0] i;reg [2:0] estado;

initial //Inicialización variablesbeginB=0;i=2;estado=4;end

always @(posedge clk) begin//Se ejecuta en cada ciclo de relojif(eoc==1) //Si es final de conversión se inicializan

//variables

beginif ((c==0)||(soc==1)) //Solo se inicializan si se activabegin //soc o es conversión continuaestado=4;i=2;eoc=0;endend

elsebegin

Page 45: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

45

case(a)//Dependiendo del valor de a se definirá el valor del bit// actual

1:begincase(i) //Se evalúa cual es el peso del bit actual0:begin eoc=1;//Si es el bit 0 se activa eoc

estado[0]=1;B=estado;//Al finalizar la conversión se

//actualiza el valor de la salida end

1:begin estado[1]=1;//Al ser a=”1” el valor del bit//actual es “1”

estado[0]=1;//al próximo bit se le asigna un // “1”

end2:begin estado[2]=1;

estado[1]=1; endendcase

end0:begin

case(i)0:begin eoc=1;

estado[0]=0;B=estado;

end1:begin estado[1]=0;

estado[0]=1; end2:begin estado[2]=0;

estado[1]=1; end

endcaseendendcasei=i-1;endendendmodule

Codigo 2.4. as34

Por último el código 2.5 corresponde a la versión llamada as35, en estaversión se ha utilizado un método distinto a los vistos hasta ahora ya que se harealizado un máquina de estados, en este método la conversión parte del estado 4, ysigue una evolución como la que se puede ver en el diagrama de estados de la figura2.36, el valor de salida que irá conectado a la entrada del DA coincidirá con el valordel estado actual por lo que se puede observar que el diagrama de estados de la figura2.36 es similar al diagrama de la figura 2.34, el algoritmo valorará cuando se hanrealizado 3 cambios de estado y en ese momento se activará la variable eoc, seactualizará el valor de B y se volverá al estado inicial 4.

Page 46: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

46

Figura 2.36. Diagrama de estados de as35.

module as35(a,clk,soc,B,estado,c,eoc);

input a,clk,soc,c; //Declaración entradas y salidasoutput [2:0] B;output [2:0] estado;output eoc;

reg eoc;reg [2:0] B;reg [2:0] i;reg [2:0] estado;reg [2:0] nestado;

initial begin //Inicialización variablesestado=4;nestado=0;B=0;end

always @(posedge clk) //Se ejecuta en cada ciclo de relojbeginif(eoc==1) //Si es final de conversión se inicializan

//variablesbeginif ((c==0)||(soc==1)) //Solo se inicializan si se activabegin //soc o es conversión continuaestado=4;eoc=0;nestado=0;end

Page 47: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

47

end

elsebegincase(estado)//Dependiendo del valor de a se sigue el diagrama de

// de la figura 2.350:begin estado=0;

nestado=nestado+1; end

1:begin if(a==0) estado=0; nestado=nestado+1;

end

2:begin if(a==0) estado=1;else estado=3;nestado=nestado+1;

end

3:begin if(a==0) estado=2;nestado=nestado+1;

end

4:begin if(a==1) estado=6;else estado=2;nestado=nestado+1;

end

5:begin if(a==0) estado=4;nestado=nestado+1;

end

6:begin if(a==1) estado=7;else estado=5;nestado=nestado+1;

end

7:begin if(a==0) estado=6;nestado=nestado+1;

endendcase

if(nestado==3)//Cuando se han dado 3 estados se vuelve al estadobegin //inicial, se activa eoc y se actualiza la salidaB=estado;eoc=1;nestado=0;endendendendmodule

Código 2.5. as35

Page 48: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

48

En el apartado correspondiente a la síntesis se evaluará cual de estos métodoses el que implica un menor espacio utilizado y a partir de este hecho se eligirá cualserá el método finalmente utilizado, y se utilizará este para describir el conversor de 8bits.

2.2.2. Decodificador

Una vez descrito el SAR se ha pasado a describir el decodificador, este es unsistema combinacional de n entradas y 2n salidas de tal forma que, cuando en laentrada aparece una combinación binaria, la salida cuyo subíndice corresponde alvalor de dicha combinación binaria adopta un “1” mientras el resto de las salidasmantiene el valor “0”, en este diseño esto permite activar el conmutador del sumadorresistivo del conversor DA correspondiente al valor del byte de salida del SAR. Elcódigo 2.6 corresponde a la descripción de dicho decodificador,. En él se puede vercomo existe una salida llamada r y su inversa llamada nr, esto se debe a que losconmutadores utilizados son puertas de paso CMOS por lo que una de las salidas irá aparar al transistor N y otra al transistor P.

module dar (B,r,nr);

input [7:0] B;output [255:0] r;output [255:0] nr;

reg [255:0] r;reg [255:0] nr;reg [255:0] i;

always @(B) beginr=0;i=B;r[i]=1;nr= ~r;end

endmodule

Código 2.6. Decodificador

Page 49: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

49

2.3 Simulación Digital. Validación Lógica.

2.3.1 SAR

Una vez descritos los diferentes métodos del SAR se ha realizado lavalidación lógica en la que se observa si realmente las descripciones se comportancomo estaba previsto, cabe recalcar que lo que realmente se está simulando es ladescripción y el hecho de que se comporte correctamente la descripción no implicaque la síntesis se vaya a comportar correctamente por lo que una vez realizada lasíntesis se deberá realizar una validación temporal, aunque esto ya se verá en elapartado de síntesis.

Para la validación lógica se ha utilizado la herramienta Verilog XL que DFIItiene para la compilación y simulación de descripciones Verilog, para realizar lasimulación se ha redactado un fichero de excitaciones que corresponde al código 2.7,una vez simulado se ha utilizado la herramienta Signalscan que nos muestra lasformas de onda de las señales de entrada y de salida. En el fichero de simulación sepuede ver como se ha ido variando el valor de a, también se puede observar como seha definido el reloj y como se ha activado el indicador de conversión continua ya queen este diseño interesa que se realicen conversiones de forma continua, por último sepuede ver como se hace variar el valor de la variable soc, con ello se quierecomprobar que realmente, cuando se realiza la conversión continua el SAR, no tieneen cuenta el valor de esta variable.

initial

begina=0; //Se le dan diferentes valores a la variable a#250 a=1;#400 a=0;#200 a=1;#400 a=0;#300 a=1;#200 a=0;end

alwaysbegin#100 clk=1;#100 clk=0;end

alwaysbegin#3000 $finish;#100;end

initialbegin //Se le dan valores a soc para demostrar que no

//influyen

Page 50: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

50

#200 soc=1;#150 soc=0;#300 soc=1;#100 soc=0;#300 soc=1;#100 soc=0;end

initialbeginc=0; //conversión continuaend

Codigo 2.7. Fichero de simulación

Tras la simulación lógica todas las diferentes versiones descritas del SARhan dado el mismo resultado, este se puede ver en la figura 2.37 correspondiente a laherramienta Signalscan. En la figura 14 del anexo se puede ver a un tamaño mayor.

Figura 2.37. Formas de onda del circuito simulado

En la figura se puede comprobar que el SAR funciona como era previsto, sepuede observar como, según el valor de la entrada a, la variable estado evolucionacomo era previsto. También se puede comprobar como, al estar activada la conversióncontinua, los cambios en el valor de soc no se tienen en cuenta.

A pesar de que en el diseño se ha decidido utilizar la conversión continua,también se ha simulado el funcionamiento del circuito cuando la conversión no escontinua. En la figura 2.38 se puede observar el resultado de dicha simulación. Alcontrario que en el caso de conversión continua, al finalizar una conversión lasvariables no se inicializan hasta recibir una nueva señal de inicio de conversión (soc).Cuando se recibe esta señal se inicializan las variables y comienza una nuevaconversión. El código 2.8 corresponde al utilizado como excitación.

Page 51: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

51

initial

begina=0; //Se le dan diferentes valores a la variable a#250 a=1;#400 a=0;#200 a=1;#400 a=0;#300 a=1;#200 a=0;end

alwaysbegin#100 clk=1;#100 clk=0;end

alwaysbegin#3000 $finish;#100;end

initialbegin //Se le dan valores a soc para que comience la

//conversión#650 soc=1;#150 soc=0;#650 soc=1;#100 soc=0;end

initialbeginc=1; //conversión continuaend

Codigo 2.8. Fichero de simulación

Page 52: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

52

Figura 2.38 Conversión no continua

En la gráfica 15 del anexo se puede observar la figura 2.38 en un tamaño mayor.

Tras comprobar que realmente funcionan los distintos métodos utilizados paradescribir el SAR, se pasará a la síntesis en la que se decidirá que método es el elegido.

2.3.2. Decodificador

El código 2.9 corresponde al fichero de simulación generado para lasimulación del decodificador. Se hecho incrementar el valor de B y se ha comprobadoque el decodificador daba los resultados esperados.

En la figura 2.39 se puede ver el resultado de la simulación.

initialbeginB=0;end

alwaysbegin#100 B=B+1;end

alwaysbegin#3000 $finish;#100;end

Codigo 2.9. Fichero de simulación

Page 53: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

53

Figura 2.39. Resultado de la simulación del decodificador

Page 54: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

54

2.4 Síntesis

Llegados a este punto y tras comprobar que la simulación lógica funcionabacomo estaba previsto se decidió pasar a la síntesis de la descripción Verilog; sinembargo ante la carencia de herramientas de síntesis instaladas en el equipo de trabajoy la falta de tiempo para instalarlas no ha sido posible la síntesis de las descripcionesVerilog y, por tanto tampoco ha sido posible realizar los pasos de creación del layout.Ante este problema se ha tomado la decisión de realizar un prototipo del diseño; paraello se realizará la implementación de la parte digital mediante una FPGA y,utilizando un comparador y un conversor DA comerciales, probar dicha parte digitaldado que se considera la base del diseño.

Puesto que se va a realizar la implementación en una FPGA de Altera se va autilizar el programa MAX+Plus II. Gracias a esta herramienta es posible realizar lasíntesis de la descripción Verilog y por tanto se podrá evaluar, como estaba previsto,cual de las descripciones Verilog del SAR de 3 bits es la que ocupa menos espacio enla FPGA para decidir que método es el finalmente elegido para realizar el SAR de 8bits.MAX+Plus II realiza una síntesis de la descripción Verilog e indica cuantas celdas dela FPGA son necesarias para implementar dicha descripción en la FPGA, tras realizardicha síntesis el resultado dado por MAX+Plus II es el siguiente:

as31 utiliza 27 de las 208 celdas disponibles por lo tanto ocupa un 12%as32 utiliza 34 de las 208 celdas disponibles por lo tanto ocupa un 16%as33 utiliza 22 de las 208 celdas disponibles por lo tanto ocupa un 10%as34 utiliza 22 de las 208 celdas disponibles por lo tanto ocupa un 10%as35 utiliza 22 de las 208 celdas disponibles por lo tanto ocupa un 10%

Por lo tanto, como se puede observar, los métodos as33, as34 y as35 son losque implican un menor uso de la FPGA por lo tanto quedan descartados el resto demétodos.

Ante este resultado se a optado por elegir el método as33 como el métodopara realizar la implementación del SAR de 8 bits, se ha descartado el método as35 yaque su complejidad de la descripción aumenta considerablemente al aumentar elnúmero de bits. Igualmente ocurre con el método as34.

Una vez decidido que el método utilizado será el as33 se ha pasado a realizarla descripción del SAR de 8 bits siguiendo este método, el código 2.10 corresponde adicha descripción.

module aproxsuc (a,c,clk,soc,B,estado,eoc);

input a,clk,soc,c; //Declaración entradas y salidasoutput [7:0] B;output eoc;output [7:0] estado;

reg eoc; //Declaración de registrosreg [7:0] B;

Page 55: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

55

reg [3:0] i;reg [7:0] estado;

initial //Inicialización variablesbeginB=0; //Se inicializa la salida a 0i=7; //Se comienza por el bit de más pesoestado=128; //Se inicializa la aproximación al valor medioend

always @(posedge clk) begin//Se ejecuta el algoritmo en cada //flanco de subida del reloj

if(eoc==1) //Si ha finalizado la conversión se espera a que//de comienzo otra y se inicialicen variables

beginif ((c==0)||(soc==1))//Si se activa soc o se trata de conversión

//continua se inicializan las variables y //se desactiva eoc

beginestado=128;i=7;eoc=0;endend

elsebegin

case(i)//El valor de i indicará que bit se ****0:begin eoc=1;//Si se trata del bit 0 habrá terminado la

// conversióncase(a)//el valor del bit será igual a el

// valor de a1:estado[0]=1;0:estado[0]=0;

endcaseB=estado;//Al ser final de conversión se

// actualiza la salida end

1:begin estado[0]=1;//Se pone el próximo bit a “1”case(a)

1:estado[1]=1;0:estado[1]=0;

endcase end2:begin estado[1]=1;

case(a)1:estado[2]=1;0:estado[2]=0;

endcase end3:begin estado[2]=1;

case(a)1:estado[3]=1;

Page 56: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

56

0:estado[3]=0;endcase

end4:begin estado[3]=1;

case(a)1:estado[4]=1;0:estado[4]=0;

endcase end5:begin estado[4]=1;

case(a)1:estado[3]=1;0:estado[3]=0;

endcase end6:begin estado[5]=1;

case(a)1:estado[6]=1;0:estado[6]=0;

endcase end7:begin estado[6]=1;

case(a)1:estado[7]=1;0:estado[7]=0;

endcase end

endcasei=i-1;//Después de cada ciclo de reloj se decrementa iendend

endmodule

Código 2.10. SAR de 8 bits

Tal y como se hizo anteriormente tras realizar la descripción del SAR de 8bits se ha realizado la verificación lógica, para ello se ha creado un fichero desimulación similar al que se realizó para las versiones de 3 bits, dicho ficherocorresponde al código 2.11, en él se puede ver como se ha ido variando el valor de a,también se puede observar como se ha activado el indicador de conversión continua,finalmente se puede ver cómo se hace variar el valor de la variable soc, con ello sequiere comprobar que realmente, cuando se realiza la conversión continua el SAR, notiene en cuenta el valor de esta variable.

Page 57: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

57

initial

begin //El valor de a va variandoa=0;#250 a=1;#400 a=0;#200 a=1;#400 a=0;#300 a=1;#400 a=0;#500 a=1;#650 a=0;#200 a=1;#400 a=0;#300 a=1;#400 a=0;#500 a=1;end

alwaysbegin#100 clk=1;#100 clk=0;end

alwaysbegin#5000 $finish;#100;end

initialbegin //soc toma diferentes valores para demostrar que no

//influye#200 soc=1;#150 soc=0;#300 soc=1;#100 soc=0;#300 soc=1;#100 soc=0;end

initialbeginc=0; //conversion continuaend

Codigo 2.11. Fichero de simulación

Page 58: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

58

En la figura 2.40 se puede comprobar como, al igual que en las versiones de3 bits, el SAR funciona como era previsto, se puede observar como, según el valor dela entrada a, la variable estado evoluciona tal y como se esperaba, y como no se tienenen cuenta las variaciones de la variable soc dado que está conectada la variable deconversión continua.

Figura 2.40. Simulación del SAR de 8 bits

En la gráfica 16 del anexo se puede ver la figura 2.40 en un tamaño mayor.

Una vez descrito el SAR y comprobado su funcionamiento lógico se hapasado a su síntesis, como resultado la herramienta MAX+Plus II dice que utiliza 58de las 208 celdas disponibles por lo tanto ocupa un 27% del total de la FPGA.

Page 59: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

59

2.5. Simulación Digital. Validación Temporal

Como ya se dijo en apartados anteriores, el hecho de que una descripción secomporte como era previsto no supone que lo haga su síntesis, por ello es necesariorealizar una simulación de la síntesis. Para ello se utilizará la herramienta Max+PlusII de Altera que se utilizó para la síntesis. Para ello se han generado las señales deentrada y se ha estudiado la salida. Como entrada se ha generado un reloj de 100 Hz.En el apartado 1.2 correspondiente a las necesidades del conversor se justificó que lafrecuencia de conversión debía ser superior a 2 Hz, como un ciclo de conversiónequivale a 9 ciclos de reloj (8 para cada uno de los bits y uno para el ciclo deinicialización de variables). El ciclo de reloj debe ser mayor de 18 Hz, por ello se haconsiderado utilizar una frecuencia de reloj de 100 Hz que permita hacer conversionessin perdida de información.

En la figura 2.41 se puede ver las gráficas de la simulación realizada, en elanexo 1 se puede observar la misma gráfica con un tamaño mayor.

Figura 2.41. Resultado Simulación

Con esto queda comprobado que la síntesis de la descripción Verilogtambién funciona como era previsto. Por ello ya se puede certificar que el SARdiseñado realiza su función y cabe comprobar que también las cumple cuando seaintegrado en el circuito general.

Page 60: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

60

2.6 Descripción de la Parte Analógica

Seguidamente se estudiará la parte analógica de el diseño, esta consiste en elcomparador, en la parte analógica del conversor DA, formada por el sumadorresistivo y los conmutadores, y por último en el circuito de captura y mantenimiento.

2.6.1 Comparador

El símbolo del comparador se puede ver en la figura 2.42. Este se utiliza paracomparar la magnitud de dos voltajes analógicos de entrada y determina cual esmayor. En este diseño el comparador se encarga de comparar la tensión de entrada yla tensión procedente del conversor D/A.

Figura 2.42.Comparador

En el caso de que la tensión de entrada sea superior a la tensión Vda en lasalida del comparador aparecerá un “1”, cuando sea menor que Vda aparecerá un “0”.

La estructura interna del comparador se puede ver en la figura 2.43, enprimer lugar se puede apreciar un par diferencial polarizado un espejo de corriente,por último a la salida del par diferencial se le añade un inversor que se encarga deescalar la salida a 0 y 5 voltios.

Page 61: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

61

Figura 2.43. Comparador. Estructura interna.

Tras realizar el diseño se ha comprobado su funcionamiento, se haintroducido una señal senoidal de modo diferencial y una tensión continua de modocomún, después se ha comprobado que el comparador realizaba su función según sepuede observar en la figura 2.44.

Figura 2.44. Salida comparador

Page 62: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

62

2.6.2 Conversor DA

Como ya se comentó en el apartado dedicado a las especificaciones deldiseño, el conversor DA elegido para el diseño está formado por un sumador resistivocontrolado por conmutadores como el visto en la figura 2.42. En el se puede observarque los conmutadores, controlados por los bits de entrada, están conectados a losnodos de una red de resistencias que hacen la función de divisores de tensión. De estaforma generan tensiones equidistantes a partir de la tensión de referencia Vref que esde 5 voltios, así, cuando un bit está activado suma al valor analógico, resultado delsumador resistivo, la tensión equivalente a su peso y asimismo obtenemos a la salidauna tensión equivalente al valor digital de entrada. De esta forma el valor analógico esla suma de las tensiones en todos los nodos en los cuales el conmutadorcorrespondiente está cerrado.

Figura 2.42. Sumador resistivo

La red resistiva la forman un total de 255 resistencias conectadas en serie yestá conectada a 256 conmutadores CMOS formados como se puede ver en la figura2.43. Como se puede ver a la base del transistor de tipo N se conecta el bit de entradacorrespondiente, mientras que a la base del transistor P se conecta el negado de dichobit. Esto hace que cuando el bit valga “1” ambas puertas conduzcan y cuando sea “0”ambas estén en corte, así se aprovecha el hecho de que los transistores de tipo Ntransmiten bien los “0” mientras que los de tipo P transmiten bien los “1”.De esta forma cuando se deba transmitir un “0” se transmitirá por la puerta N ycuando sea un “1” se hará por la puerta P. En primer término se utilizaron puertas

Page 63: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

63

NMOS, sin embargo se comprobó que las puertas que controlaban valores de tensióncercanos a la tensión de referencia no funcionaban. Lo mismo ocurría con puertasPMOS para valores cercanos a 0. Para evitar este error se podía haber optado porutilizar puertas NMOS para los valores cercanos a 0 voltios y PMOS para loscercanos a la tensión de referencia. Sin embargo se ha optado por utilizar en todospuertas CMOS para asegurar el perfecto funcionamiento en los valores intermedios.

Figura 2.43. Puerta de paso CMOS

2.6.3. Circuito de Captura y Mantenimiento

La función de este circuito es la de mantener constante la tensión de entradadurante la conversión. Si esta no es constante es posible que durante un ciclo deconversión dicha tensión varíe provocando que la salida del conversor sea errónea.El circuito de Captura y mantenimiento (Sample and Hold) consiste únicamente en uninterruptor, que deja pasar la tensión solo cuando va a comenzar la conversión(captura), y un condensador, que almacenará dicha tensión mientras dure laconversión manteniéndola constante (mantenimiento). En la figura 2.44 se puede verel circuito de captura y mantenimiento. Dado que este irá conectado al comparador yla corriente de entrada del comparador es prácticamente nula, el condensadoralmacenará durante el ciclo de conversión la tensión de entrada.

Figura 2.44. Circuito de Captura y mantenimiento

Page 64: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

64

El interruptor utilizado será el mismo que se utiliza en el conversor DA. Laseñal encargada de activar y desactivar el interruptor es la señal indicadora de final deconversión eoc.Como ya se vió en el diseño del SAR cuando esta señal se activa, y se está realizandouna conversión continua, se reserva un ciclo de reloj para la inicialización de lasvariables del SAR. Otra razón para justificar dicho ciclo es la de permitir alcondensador que se cargue con la nueva tensión durante este ciclo de inicialización.Como se trata de una puerta de paso CMOS se debe conectar a la base de la puerta detipo P la señal eoc negada por lo que se ha añadido un inversor al circuito de captura ymantenimiento.

Page 65: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

65

2.7 Simulación Mixta

En los apartados anteriores se ha visto ya el diseño y la simulación delfragmento digital y del analógico, sin embargo queda comprobar que ambas partespueden funcionar conjuntamente. En este apartado se comprobará el funcionamientodel conversor en su totalidad y se definirán los parámetros característicos de este. Enla figura 2.45 se puede ver el diagrama del conversor AD de aproximacionessucesivas diseñado en su totalidad, en el se puede distinguir, el SAR, el comparador,la red de resistencias y el decodificador (que forman el conversor DA), y el circuitode captura y mantenimiento. También se pueden observar las fuentes que se hanañadido para realizar la simulación, se ha añadido un reloj y una fuente independientede tensión. Además se ha activado la entrada de conversión continua ya que en estediseño es interesante que el conversor este realizando conversiones de formacontinuada. La entrada de inicio de conversión soc se ha conectado a tierra ya que nose tendrá en cuenta al estar activada la conversión continua.

Figura 2.45 Conversor AD de aproximaciones sucesivas diseñado

Para comprobar que realmente el conversor funcionaba para todos los valoresde tensión se ha introducido como señal analógica de entrada una rampa que irá de 0 a5 de tal forma que muestre las 255 combinaciones diferentes de salida. En el anexo 1se puede observar dicha rampa y los sucesivos valores de salida generados, se puedeobservar que hasta los 250 mV el conversor no realiza correctamente lasconversiones. Esto se debe al funcionamiento del comparador, que sólo funciona

Page 66: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

66

correctamente por encima de 250 mV y debido a esto se pierden las 10 primerascombinaciones aunque esto es algo normal y que no supone un gran problema paraeste diseño.

Tras comprobar que el conversor funciona correctamente se pasará adeterminar los parámetros característicos de este. Estos han sido explicados en elapartado 1.3.

En primer lugar se determinarán las características de diseño.

a) Codificación. La codificación utilizada es binario natural.

b) Resolución. Ya se mencionó que esta característica se obtiene dividiendo lamáxima variación de entrada por el número total de combinaciones de salidaposible, esto es:

Resolución=5 Voltios/256 combinaciones= 19, 53 mV (9)

Esto implica que una combinación binaria de salida permanece constantedurante 19,53mV en la tensión de entrada.

c) Tiempo de conversión.

La frecuencia máxima de conversión viene definida por el comparador, ésto sedebe a que el circuito digital es muy rápido en comparación con este. Para determinarla frecuencia máxima se ha estudiado la respuesta en frecuencia del comparador, en lafigura 2.46. En ella se puede ver la corrección de –3dB, y como, el comparador secomporta como un filtro paso bajo cuya frecuencia de corte es de 1MHz.

Figura 2.46. Respuesta frecuencial del comparador

Page 67: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 2. DESARROLLO DEL CONVERSOR AD

67

Por tanto se puede concluir que la frecuencia máxima a la que puedeconvertir un bit el ADC diseñado es de 1 MHz. Como en cada conversión se utilizan 9ciclos de reloj se puede decir que el mínimo de conversión es:

tc=1/fmax=(1/1MHz)∙9=9�s (10)

En lo que respecta a las características de funcionamiento se debe hablar delos errores de offset, ganancia y linealidad.

Si se observan las gráficas del anexo 1 se puede decir que existe un error delinealidad, ya que si se miran las combinaciones de salida existen algunascombinaciones que se pierden. Esto se debe a que, para algunas combinaciones desalida el rango de tensiones de entrada es menor, por ello al estar realizando laconversión de una rampa de pendiente constante se pierden algunos valores.

También se aprecia un error de offset, ya que si se observa que la primeraconversión que realiza es la del número hexadecimal 0B, considerando que laresolución es de 19,53 mV dicho valor de salida debería corresponder a la entrada:

V=19,53 mV∙11=214.83 mV (11)

Sin embargo la salida 0B se da para unos 250mV, por ello se puede decir que existeerror de offset. Este error de offset será:

Eoffset= Vz - Videal =250 mV-214,83 mV=35,27 mV (12)

Por ultimo también es posible ver el error de ganancia, en la gráfica 13 del anexo sepuede ver como, para 5 Voltios la combinación de salida es FC, cuando debería serFF.

Page 68: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

68

3. Comunicaciones

En este capitulo se realizará el diseño de las comunicaciones entre el conversordigital-analógico y un PC, de esta forma los datos obtenidos de la medición de losparámetros eléctricos de las concentraciones podrán ser almacenados, tratados yestudiados desde un PC incrementando la funcionalidad del diseño.

El proceso a seguir para el diseño del circuito encargado de las comunicaciones essimilar al seguido para el diseño del conversor AD con la excepción de que en este caso eldiseño carece de parte analógica por lo que el diseño se limitará a los siguientes pasos:

• Especificación del diseño.- donde se detallarán las características de lacomunicación.

• Descripción Verilog.- donde se realizará la descripción Verilog del circuito.• Simulación digital (Validación lógica).- una vez realizada la descripción

Verilog se llevará a cabo la simulación de ésta para confirmar que realmente secomporta como era previsto.

• Síntesis.- tras comprobar que la descripción Verilog responde como era previsto,se pasará al mapeado tecnológico de ésta, o lo que es lo mismo, se traducirá ladescripción Verilog a un conjunto de puertas lógicas que realizarán la mismafunción que ésta.

• Simulación digital (Validación Temporal) .- después de efectuar la síntesis sedebe comprobar que realmente el circuito sintetizado responde a las necesidadesque se esperan de éste.

• Place&Route.-después de comprobar que funciona todo el sistema se pasará a lageneración del “layout”.

• Integración en el layout general.-Una vez generado el layout se integrará esteen el layout general junto con el conversor.

Page 69: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

69

3.1. Especificación del Diseño

La comunicación elegida para el diseño es una comunicación serie asíncrona,para ello se utilizará un estándar RS-232C. Se ha escogido la transmisión serie ya queimplica un menor coste y en este diseño no son necesarias altas velocidades detransmisión.

En primer lugar se detallarán las características del estándar RS-232 y después sedefinirán las características de la comunicación a implementar.

3.1.1. Estándar RS-232

En 1969 la EIA (Asociación de Industrias Electrónicas), conjuntamente con losLaboratorios Bell y los fabricantes de equipos de comunicaciones, formularon el EIA RS-232-C. El propósito inicial fue asegurar la correcta transmisión y recepción de datos desdeun Equipo Terminal de Datos (DTE, Data Terminal Equipment) a un Equipo deComunicación de Datos (DCE, Data Communications Equipment), empleando unintercambio de datos binarios en serie. Actualmente, la conexión RS-232-C es el medioprincipal mediante el cual se pueden conectar equipos auxiliares a los ordenadorespersonales, a pesar de que este modelo fue proyectado para resolver únicamente elproblema de conexión entre módems (DCE) y ordenadores (DTE).

El documento que establecía el estándar constaba de cuatro secciones:

- Características de la señal eléctrica. Definición de los voltajes que representanlos ceros y unos lógicos.

-Características mecánicas de la conexión. Establece que el DTE dispondrá de unconector macho y el DCE un conector hembra. También se especifican la asignación denúmeros a las patillas. El tipo y las medidas del conector son establecidas por laorganización internacional de estándares (ISO). Los más utilizados son los de 9 pines(DB-9) y los de 25 (DB-25).

-Descripción funcional de los circuitos de intercambio. En esta sección deldocumento se define y da nombre a las señales que se utilizarán.

-Interfaces para configuraciones seleccionadas de sistemas de comunicación. Sonejemplos de tipos comunes de conexión entre ordenador y módem.

Page 70: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

70

El RS-232C consiste en un conector tipo DB-25 de 25 pines, aunque es normalencontrar la versión de 9 pines DB-9, mas barato e incluso mas extendido para cierto tipode periféricos (como el ratón serie del PC). En cualquier caso, los PCs no suelen emplearmas de 9 pines en el conector DB-25. En la figura 3.2 se pueden observar ambosconectores.

Figura 3.1. Conectores del estándar RS-232

Las señales con las que trabaja este puerto serie son digitales, de +12V (0lógico) y -12V (1 lógico), para la entrada y salida de datos, y a la inversa en las señales decontrol. El estado de reposo en la entrada y salida de datos es -12V. En la figura 3.2 sepuede observar los voltajes que representan los niveles lógicos en este estándar.Dependiendo de la velocidad de transmisión empleada, es posible tener cables de hasta 15metros.

Page 71: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

71

Figura 3.2. Niveles de voltaje del estándar RS-232

La única diferencia entre la definición de salida y de entrada es el ancho de laregión de transición, de -3 a +3 V en la entrada y de -5 a +5 V en la salida. Esta diferenciaentre las definiciones de voltajes mínimos permisibles se conoce como el margen deruidos del circuito. Este margen de seguridad es de gran utilidad cuando los cables debenpasar por zonas cercanas a elementos que generan interferencias eléctricas: motores,transformadores, reguladores, equipos de comunicación... Estos elementos, unidos a lalongitud del cable pueden hacer disminuir la señal hasta en voltios, sin que se afecteadversamente al nivel lógico de la entrada.

Si aumentamos la velocidad de transmisión, las señales de datos se vuelvensusceptibles a pérdidas de voltaje causadas por la capacidad, resistencia e inductancia delcable. Estas pérdidas son conocidas como efectos de alta frecuencia, y aumentan con lalongitud del cable. El ancho de la zona de transición (-3V a +3V en la entrada) determinael margen de ruidos, que limita directamente la velocidad máxima a la que se puedentransmitir datos sin degradación. Entre dos equipos RS-232 esta velocidad es de 19200bits por segundo, para longitudes de cable inferiores a 15 metros, pero disminuyendo lavelocidad pueden utilizarse longitudes mayores de cable.

Page 72: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

72

En la figura 3.3 se puede ver un enlace estándar entre una DTE y un DCE:

Figura 3.3. Enlace estándar DTE-DCE

La función de cada una de las señales es:

• TxD. Se encarga de transmitir datos desde la DTE hacia la DCE• RxD. Recepción de datos vista desde de la DTE• RTS. Cuando la DTE quiere transmitir informa activando esta patilla.• CTS. Cuando la DCE esta dispuesta a transmitir activa esta línea, indicando que

ya puede enviar datos.• DSR. La DCE está lista para transmitir.• DTR. La DTE está lista para transmitir.• CD. Detección de señal de línea recibido, se activa cuando el modem (DCE)

recibe una portadora remota.• RI. Anuncia una llamada.

En un enlace entre una DTE y una DCE se sigue la siguiente secuencia:

1. Cuando el terminal quiere establecer comunicación aserta DTR2. Cuando el modem está operativo aserta DSR y está línea permanece activa

mientras dura la comunicación.3. Cuando el terminal está listo para enviar datos aserta RTS.4. Cuando el modem está listo aserta CTS y se envían datos por TxD.5. En el momento en el que se termina de enviar s niega RTS. Esto provoca

que el modem niegue CTS.

Page 73: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

73

Si el modem recibe datos de la remota aserta CD y envía a la DTE por RxD.

Al tratarse de una comunicación asíncrona se enviarán caracteres que constarán de lossiguientes bits:

• Bit de start. Indica que comienza el envío• Bits de datos. Es la información propiamente dicha. En este diseño se trata de 8

bits, ya que el conversor es de 8 bits.• Bits de paridad. Sirven para detectar y corregir errores. Existen dos variantes:

Paridad par. Si la suma de los bits de datos es par, el bit de paridad es1, si es impar, el bit de paridad es 0.Paridad impar. Si la suma de los bits de datos es impar, el bit deparidad es 1, si es par, el bit de paridad es 0.

• Bit de stop. Indica que ha terminado la comunicación.

Primero se aserta el bit de start y después se envian los 8 bits de información a lavelocidad definida. Después se envían los bits de paridad y por último se envia el bit destop.

3.1.2. Características de la Comunicación Utilizada

Las características de la comunicación que se utilizará serán:

• Velocidad de transmisión de 9600 bps• Sin bit de paridad• 1 bit de stop

En la figura 3.4 corresponde a un diagrama en el que se puede observar lacomposición del carácter enviado.

Figura 3.4. Transmisión de un byte

Se puede observar como, el valor de la línea es “1” cuando está en reposo. Elvalor del bit de start será entonces “0” y el valor del bit de stop será “1”.

Page 74: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

74

3.2. Descripción Verilog

Para hacer la descripción Verilog se ha considerado al circuito encargado derealizar la comunicación como una DTE, dado que este es el que decide el momento en elque se produce la transmisión y se ha considerado una comunicación “null modem” entredos terminales. Ambas terminales se conectarán como se puede observar en la figura 3.5.

Figura 3.5. Conexión “null modem”

El circuito encargado de realizar la transmisión estará sincronizado por un relojexterno de 1 �s. En cada ciclo de reloj el circuito comprobará si el conversor haterminado la conversión mediante el eoc. Si este está activado el circuito asertará la lineaDTR. Cuando reciba el DSR asertará el RTS y esperará a recibir el CTS. Cuando lo recibacomenzará a contar ciclos de reloj hasta llegar a los 106 �s (que corresponde a lavelocidad de 9600 bps) en ese momento asertará un “0” en la línea TxD correspondienteal bit de start. Después de otros 106 �s enviará el bit 0 del valor de salida del conversor.Así cada 106 �s enviará un bit hasta enviar los 8. Tras enviar el último bit se esperaráotros 106 �s y se enviará el bit de stop. Una vez enviado el bit de stop se pondrá a “0” lalínea RTS y se dará por finalizada la transmisión.

Page 75: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

75

El código 3.1 corresponde a la descripción del proceso antes comentado:

module com(B,TXD,eoc,rts,cts,cd,dsr,dtr,clk);

input [7:0] B; // Declaración entradas y salidasinput dsr;input cts;input cd;input eoc;input clk;output TXD;output dtr;output rts;

reg TXD;reg dtr;reg rts;reg [0:7] c;reg [0:4] n;reg uno;

initial begin// Inicialización variablesc=0;TXD=1;dtr=0;rts=0;n=0;end

always @(posedge clk) beginif (eoc==1) begin // La transmission se realiza si hafinalizado la conversióndtr=1; // Se aserta DTR indicando que se quieretransmitirif (dsr==0); // Se espera a que el PC responda que quieretransmitirelse beginrts=1; // Si el PC quiere transmitir se aserta RTSindicando que se está

//preparadoif (cts==0); //Se espera a que el PC indique, mediante CTS,que está

// preparadoelse beginc=c+1;if (c==106) begin // Si han pasado 106 •s se realiza unpason=n+1;

Page 76: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

76

c=0;case (n) 1:TXD=0; // Bit de start 2:TXD=B[0]; // Primer bit de salida del conversor 3:TXD=B[1]; 4:TXD=B[2]; 5:TXD=B[3]; 6:TXD=B[4]; 7:TXD=B[5]; 8:TXD=B[6]; 9:TXD=B[7]; // Último de información enviado 10:TXD=1; // Se aserta el bit de stop 11: begin n=0; rts=0; // RTS=0 porque ha finalizado latransmisión

dtr=0; endendcaseendendendendelse beginTXD=1; // La línea en reposo está a “1”dtr=0;rts=0;n=0;endendendmodule

Codigo 3.1. Circuito de comunicación.

Page 77: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

77

3.3. Simulación Digital. Validación Lógica

Una vez descrito el circuito de comunicaciones se ha pasado a simularlo. En lafigura 3.6 se puede ver el resultado de la simulación. En ella se puede ver la transimisiónde dos caracteres. El código 3.2 corresponde a la excitación generada para dicho circuito.Se ha generado un reloj y se ha ido activando las señales de entrada según el ordencorrespondiente al estándar RS-232. Primero se ha activado el eoc indicando al circuitoque ha finalizado una conversión. Después se ha activado la señal dsr indicando que seestá operativo para transmitir. Por último se ha activado la señal cts indicando que se estálisto para la transimisión.

Figura 3.6. Simulación lógica

initial

begineoc=0;dsr=0;cts=0;B=6C;#636 eoc=1;#954 dsr=0;#1802 cts=0;#1696 dsr=0;

cts=0;eoc=0;

#250 eoc=1;#954 dsr=0;#1802 cts=0;#1696 dsr=0;

cts=0;

Page 78: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

78

eoc=0;end

alwaysbegin#1 clk=1;#1 clk=0;end

alwaysbegin#10000 $finish;#100;end

Codigo 3.2. Fichero de simulación

Page 79: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 3. COMUNICACIONES

79

3.4. Síntesis

Al igual que para el conversor AD, se ha utilizado para la síntesis del circuito decomunicaciones la herramienta MAX+PLUS II de Altera. Según ésta el espacio ocupadopor dicho circuito sobre la FPGA es del 28%, ya que utiliza 60 de las 208 puertas lógicasdisponibles.

3.5. Simulación Digital. Validación Temporal.

Tras realizar la síntesis se ha pasado a la validación de ésta utilizando también laherramienta MAX+PLUS II de Altera.

En la figura 3.7 se puede apreciar el resultado de la simulación. En ella se puede ver latransmisión de dos caracteres.

Figura 3.7. Simulación de la síntesis

Page 80: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 4. PROTOTIPO

80

4. Prototipo

Ante la imposibilidad de poder realizar la síntesis del diseño, tal y como secomentaba en el apartado 2.4. se ha tomado la decisión de realizar un prototipo paracomprobar el correcto funcionamiento del circuito. Para ello se ha optado por sintetizar laparte digital del conversor AD y del circuito de comunicaciones en una FPGA y utilizarun comparador y un conversor DA comerciales.

4.1. Descripción del Diseño

El comparador utilizado es el LM311 el conversor es el DAC08. Amboscomponentes han sido elegidos porque estaban disponibles en los laboratorios de launiversidad.

La FPGA utilizada será la FLEX EPF8282 ya que está disponible en launiversidad. Para poder grabar en la FPGA el circuito de comunicaciones y el SAR se hatenido que realizar una descripción Verilog conjunta. El código 4.1 corresponde a ladescripción conjunta del circuito de comunicaciones y el SAR.

module todo (a,c,clk,soc,B,estado,eoc,cts,dsr,cd,TXD,dtr,rts);

input a,clk,soc,c;output [7:0] B;output eoc;output [7:0] estado;input dsr;input cts;input cd;output TXD;output dtr;output rts;

reg eoc;reg eoc2;reg [7:0] B;reg [3:0] i;reg [7:0] estado;reg TXD;reg dtr;reg rts;reg [7:0] clk3;reg [4:0] n;reg uno;reg [14:0] clk2;

Page 81: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 4. PROTOTIPO

81

initialbeginB=0;i=7;estado=128;end

initial beginclk3=0;TXD=1;dtr=0;rts=0;n=0;end

always @(posedge clk) beginif (eoc2==1) begindtr=1;if (dsr==0);else beginrts=1;if (cts==0);else beginclk3=clk3+1;if (clk3==106) beginn=n+1;clk3=0;case (n) 1:TXD=0; 2:TXD=B[0]; 3:TXD=B[1]; 4:TXD=B[2]; 5:TXD=B[3]; 6:TXD=B[4]; 7:TXD=B[5]; 8:TXD=B[6]; 9:TXD=B[7]; 10:begin TXD=1;

n=0; rts=0; eoc2=0;

endendcase

Page 82: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 4. PROTOTIPO

82

endendendendelse TXD=1;clk2=clk2+1;if (clk2==10000) beginclk2=0;if(eoc==1)beginif ((c==0)||(soc==1))beginestado=128;i=7;eoc=0;eoc2=0;endend

elsebegin

case(i)0:begin eoc=1;

eoc2=1;case(a)

1:estado[0]=1;0:estado[0]=0;

endcaseB=estado;

end1:begin estado[0]=1;

case(a)1:estado[1]=1;0:estado[1]=0;

endcase end2:begin estado[1]=1;

case(a)1:estado[2]=1;0:estado[2]=0;

endcase end3:begin estado[2]=1;

Page 83: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 4. PROTOTIPO

83

case(a)1:estado[3]=1;0:estado[3]=0;

endcase end4:begin estado[3]=1;

case(a)1:estado[4]=1;0:estado[4]=0;

endcase end5:begin estado[4]=1;

case(a)1:estado[5]=1;0:estado[5]=0;

endcase end6:begin estado[5]=1;

case(a)1:estado[6]=1;0:estado[6]=0;

endcase end7:begin estado[6]=1;

case(a)1:estado[7]=1;0:estado[7]=0;

endcase end

endcasei=i-1;endendendendmodule

Código 4.1. Descripción a sintetizar en la FPGA.

Para realizar la descripción conjunta se ha tenido que utilizar un soloreloj. Esto se debe a que sólo se puede utilizar una estructura ”always” dentro de unmódulo. Por ello se ha decidido utilizar un reloj de 1 �s que es el utilizado para el circuitode comunicaciones. El reloj de 10 ms se obtiene mediante un contador. Considerando este

Page 84: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 4. PROTOTIPO

84

cambio, el resto de la descripción corresponde a las vistas en los apartados referentes aambos circuitos.

Tras realizar la descripción se ha hecho la síntesis y posteriormente la simulaciónutilizando la herramienta MAX+PLUS II de Altera. En la figura 4.1 se puede apreciar elresultado de esta.

Tras realizar la síntesis se ha comprobado que el diseño ocupa 151 de las 208puertas lógicas disponibles en la FPGA, esto implica un 72% del especio total. Pro tantoexiste espacio suficiente en la FPGA para sintetizar el diseño.

En la figura 4.1 se puede ver el resultado de la simulación. Se ha ampliado unparte de dicha simulación para que se pueda observar que se realiza bien el envío de datos.

Figura 4.1. Resultado de la simulación

Page 85: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

CAPITULO 4. PROTOTIPO

85

Tras comprobar que el diseño conjunto funciona se pasará a grabar laFPGA. Tras grabarla se conectará con el resto de componentes como se puede ver en lafigura 4.2.

Figura 4.2. Diagrama del prototipo

Page 86: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

86

Anexo

A continuación se ofrecen las gráficas correspondientes a los resultados delas simulaciones hechas.Las gráficas de la 1 a la 13 corresponden a los resultados de la simulación mixta delconversor DA.

Las gráficas de la 14 en adelante corresponden a los resultados del resto desimulaciones. Estas ya han sido mostradas en el apartado correspondiente pero seañaden al anexo en un tamaño mayor para facilitar su comprensión.

Page 87: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

87

Gráfica 1

Page 88: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

88

Gráfica 2

Page 89: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

89

Gráfica 3

Page 90: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

90

Gráfica 4

Page 91: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

91

Gráfica 5

Page 92: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

92

Gráfica 6

Page 93: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

93

Gráfica 7

Page 94: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

94

Gráfica 8

Page 95: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

95

Gráfica 9

Page 96: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

96

Gráfica 10

Page 97: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

97

Gráfica 11

Page 98: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

98

Gráfica 12

Page 99: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

99

Gráfica 13

Page 100: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

100

Gráfica 14

Page 101: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

101

Gráfica 15

Page 102: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

102

Gráfica 16

Page 103: Diseño “Semi-custom” de la Circuitería Interfaz para ...deeea.urv.cat/public/PROPOSTES/pub/pdf/139pub.pdf · Todo conversor tiene una serie de características que definirán

ANEXO 1. GRÁFICAS

103

Gráfica 17