Sunteți pe pagina 1din 6

Conversor de señal Analógica a Digital

Sergio Andrés Lagos Fuquen Mateo Parra Posse


sergiolagos@usantotomas.edu.co mateoparra@usantotomas.edu.co

Abstract
La práctica de laboratorio consiste diseñar e implementar un conversor de señal analógica a
digital con la DSP, comprendiendo ası́ los registros del ADC que lleva internamente esta herramienta.

Palabras clave: DSP, Conversor Análogo Digital, registros ADC.

1 Introducción 3 Marco Teórico


En este laboratorio se implementará un conversor 3.1 DSP
de señal análoga a una señal digital con la ayuda
de los puertos de ADC que tiene la DSP con la fi- Es una herramienta de evaluación y desarrollo basada
nalidad de muestrear con diferentes frecuencias una en DIMM100 contro lCARD para la serie C2000 TM
señal sinusoidal de 3 kHz de frecuencia y 10 voltios Delfino TM F2833x de productos de microcontro-
pico de amplitud; esta señal muestreada se visu- ladores. La estación de acoplamiento proporciona
alizará en la pantalla del CCS, con la herramienta alimentación a la tarjeta de control y tiene un área
de gráficos que trae el programa, por medio de un de tablero para prototipos. El acceso a las señales
buffer el cual almacenará los datos. clave del dispositivo está disponible mediante una
serie de pines de cabecera.
La señal seno que le ingresa a los pines del ADC
de la DSP es una señal previamente tratada la cual
tiene una amplitud de 0 a 3 voltios debido a que la
DSP se daña con voltajes inferiores a 0[V] o supe-
riores a 3[V]. Es decir que, la señal fundamental de
10 voltios pico de amplitud debe ser tratada para
que al final resulte una señal de 0 a 3 voltios, todo
esto se realiza con la ayuda de un amplificador Rail
to Rail.
Figure 1: DSP TMDSDOCK28335 con base

2 Objetivos
• Utilizar la interrupción timer y la
3.2 Amplificador Rail to Rail
interrupción del ADC para hacer el muestreo Los amplificadores operacionales tradicionales cuando
de la señal con diferentes frecuencias son trabajados en todo su rango de voltajes aveces
teniendo en cuenta el teorema de nyquist. no alcanzan los valores máximos correspondientes
a la fuente de alimentación, es decir, que si un op-
• Realizar el tratamiento de la señal de
eracional convencional es alimentado con +12 y -12
entrada para que la señal que le ingrese a la
voltios en la salida no se obtendrá este rango de-
DSP sea de la amplitud adecuada para que
bido a algunas perdidas internas que este tiene. El
el dispositivo no se dañe.
amplificador Rail to Rail aprovecha toda la fuente
• Configurar los puertos de la DSP para de alimentación y no se tienen pérdidas en la salida
recibir la señal análoga para posteriormente de voltaje, es decir, la salida se satura en +12 y -12
ser muestreada con diferentes frecuencias. voltios para este caso.

1
Para generar la fuente de 1.5 voltios, primero se
realiza un divisor de voltaje en donde la fuente de
alimentación es de 3 voltios, que será la misma ali-
mentación del Rail to Rail para que éste aproveche
el 100% de la fuente. A continuación se muestra la
fuente de 1.5 voltios.

R1 −

Figure 2: Salida de voltaje de un OPAM Rail 3V + +
to Rail
R2
Este amplificador se va a utilizar en una configu-
ración sumador-restador con el fin de poder hacerle
un tratamiento a la señal de entrada de 10 voltios
pico y obtener una señal de 0 a 3 voltios que será Figure 4: Esquema seguidor de voltaje
la que ingresa a los pines del ADC de la DSP.
Ya teniendo los dos esquemas, estos se unifi-
can dejando ası́ un circuito en donde sólo se nece-
4 Diagrama de Conexiones sita una fuente de alimentación y un generador de
Para el diagrama de conexiones se tiene que imple- señales para generar la sinusoidal.
mentar un circuito con amplificadores operacionales
Rail to Rail en configuración sumador-restador y
otro en configuracion de seguidor de voltaje; el
5 Cáculos y Simulaciones
primero con fin de reducir la señal de entrada y Para generar el divisor de tensión se realiza el sigu-
generar un offset en la misma, la segunda config- iente cálculo
uración es para que el voltaje de referencia no se
vea afectado por las altas impedancias de los op-
eracionales. A continuación se muestra el circuito Vin ∗ R2
Vo =
sumador- restador. R2 + R1
3.3[V ] ∗ 1000Ω
1.5[V ] =
1000Ω + R1
(3.3 − 1.5) ∗ 1000Ω
R1 = = 1000Ω
1.5
Ref
Teniendo asegurado el voltaje de 1.5 voltios en el di-
R1
visor se le amplica la etapa del seguidor de voltaje
R2 para que no existan pérdidas de voltaje debido a
− las altas impedancias de entrada del amplificador.
Ahora se procede a calcular las demás resistencias.
10V Rg + El voltaje que se necesita en la recistencia Rg es de
1.5 voltios, y se supone que va a pasar una corri-
R2
ente de 1 miliamperio es decir que el valor de esa
resistencia es de 1.5 kΩ. Las otras resistencias salen
de la siguiente forma
R1 +
− 1.5V Vrequerido = Ventrada −VRg = 10[V ]−1.5[V ] = 8.5[V ]

8.5[V ]
R1 = = 4.25kΩ
Figure 3: Esquema Sumador-Restador 2 ∗ 1[mA]

2
Ya teniendo los valores de todo el circuito se pro-
cede a realziar una simulación para comprobar su
correcto funcionamiento y que el diseño cumpla con
el voltaje de 0 a 3 voltios.

Figure 7: Señal de salida de 0 a 3 voltios im-


plementado

Con la imagen se puede comprobar que el diseño


quedó bien, sólo que los elementos a la hora de
Figure 5: Señal de entrada (verde) y señal de implementarlos generan pérdidas lo que ocaciona
salida (azul) que la imagen del osiloscopio no sea exactamente
igual a la simulación.
Ahora se procede a confirmar que el voltaje de
la señal de salida sea de 0 a 3 voltios.
6 Programa
Para el programa en Code Composer Studio se us-
aron 2 interrupciones principales, un void main y
un void de proceso para poder muestrear la señal
de 3 [KHz]; los cuales son:

6.1 Interrupción del ADC:


Para esta interrupción se necesitan 2 voids prin-
cipales ”Set-up-ADC” donde se define el fun-
cionamiento del ADC y ”adc-isr” en el cual se
toma la información del exterior por el canal anal-
ogo definido por el anterior void Set-up y se guarda
en un buffer en el cual se observa en una grafica de
tiempo simple.

Figure 6: Señal de salida de 0 a 3 voltios 6.1.1 Set-up-ADC:

Con la simulación se confirma que el diseño del ”CTRL1” Se usan 4 espacios de memoria en este
circuito funciona correctamente, pero se busca con- buffer para manejar el ADC:
firmar esto con el circuito implementado fı́sicamente, ”.SUSMOD = 1” Define el modo de suspencion
y a continuación se muestra la imagen del oscilo- que detiene después de la secuencia actual.
scopio de la señal de salida. ”.ACQ-PS=7” Define la longitud de la ventana
de muestra.
”.CPS=0” se utiliza para dividir la frecuencia de
entrada en 1 o 2. En este caso no se divide por 2.
”.CONT-RUN=0” Define si el secuenciador se
inica al final de ua secuencia.

3
”.SEQ-CASC=1” Define si se va a usar en forma 6.2 Interrupción del Timer0:
de cascada o de manera dual, en este caso se con-
Para esta interrupción se necesitan 2 voids prin-
figura de manera cascada.
cipales ”Set-up-Timer0” donde se define el fun-
”CTRL2” Se usan 2 bits de este registro, que son:
cionamiento del Timer y ”cpu-timer0-isr” el cual
”.INT-ENA-SEQ1=1” y ”.INT-MOD-SEQ1=1”
activa la interrupción del ADC.
en estas se habilita la interrupcion del SEQ1 y
genera una interrupción cada fin de secuencia o
cualquier otro. 6.2.1 Set-up-Timer0 (float Period):
”CTRL3” Se usan 2 bits de este registro, que son: Para variar la frecuencia de muestreo se crea una
”.ADCCLKPS=6” Es para el reloj del ADC, variable global que según corresponda cambiara el
este valor multiplicado por dos va a ser quien di- periodo en el que se habilite el ADC.
vide al HSPCLK.
”.SMODE-SEL=0 Establece el modo de muestreo,
en este caso va a ser sequencial.
”ADCMAXCONV.all” Indica que solo va a tener
una conversión. Porque el número de este campo de
bits corresponde al número de conversiones menos
1.
”ADCCHSELSEQ1.bit.CONV00 = 0” Especi-
fica el canal de entrada A0.

Figure 10: Código de la configuración del


Timer
Figure 8: Código Set up ADC

6.2.2 cpu-timer0-isr:
6.1.2 adc-isr:
Para esta interrupción se habilita el ADC y se deja
El array Lectura, permite tomar datos de AdcMir-
las lineas de codigo para poder salir.
ror.ADCRESULT0 para poder luego graficarlos en
las herramientas del programa, el ”RESULT0” hace
referencia al pin A0 de entrada, este vector se va
llenando cada vez que esta interrupción es llamada
y cuando se llene el espaciode memoria, este se Figure 11: Código interupción del Timer
vuelve a llenar desde 0.

6.3 Void Main:


Se configura como en los anteriores laboratorios,
donde se deshabilita el Watchdog, se incian timers
de los perifericos y habilitan las 2 interrupciones
segun corresponda, a excepsión de que se agrega
la función ”seleccionT” para que cuando se altere
ua variable glocal caso se cambie la frecuencia de
muestreo del ADC.

Figure 9: Código interrupción ADC

4
7 Análisis y Resultados
En la figura 14 se muestra la unión de tres imágenes
las cuales muestran el resultado de muestrear la
señal original con 6kHz, 12kHz y 15kHz. Para es-
tas señales se necesitan unas pocas muestras y por
este motivo la señal se ve con picos, debido a que
al no ser suficientes muestras no se va a reconstruir
la señal perfectamente.

Figure 12: Código del Main.

6.4 Void proceso ”seleccionT()”:


Función creada con el proposito de variar el tiempo
del timer sin necesidad de parar el programa.

Figure 13: Función que cambia la frecuencia


del timer.
Figure 14: Resultados de cada una de las
señales de muestreo Caso 1-3.

5
En la figura 15 se muestra la unión de tres Las graficas tomadas del programa se observan
imágenes las cuales muestran el resultado de muestrear en la figura 14 y 15, la mejor lectura fue obtenida
la señal original con 18kHz, 150kHz y 300kHz. Con gracias a la frecuencia de muestreo de 150 KHz las
la frecuencia de 18kHz la señal reconstruida ya toma anteriores a ella poseen una frecuencia no apta para
más forma de señal sinusoidal pero aún no tiene leer, ya que estas no poseen puntos suficientes para
suficientes puntos, en cambio con la frecuencia de una buena lectura de la señal; en el ultimo caso se
150kHz la señal se reconstruye de tal forma que ya genera un sobremuestreo causando una grafica muy
se aprecia una señal sinusoidal. Lo que pasa con la distinta a las demás.
frecuencia de 300kHz es que hay sobremuestreo con
ende la señal no se va a reconstruir correctamente.
8 Conclusiones
• El voltaje de la señal de entrada a los pines
del ADC de la DSP debe estar comprendido
entre 0 y 3 voltios debido a parámetros
especı́ficos del dispositivo, si estos rangos no
se cumplen puede llegar a dañar el
procesador digital de señales.

• La frecuencia de muestreo debe cumplir con


el teorema de Nyquist que dice que la
frecuencia de muestreo debe ser dos veces
mayor que la frecuencia natural del sistema.

• La mejor frecuencia de muestreo resultante


fue la de 150kHz ya que toma los suficientes
puntos para reconstruir la señal, las
frecuencias anteriores a esta toman pocos
puntos y cumplen con reconstruir la señal
pero no se aprecia una señal seno y con una
frecuencia demasiado grande se genera un
sobremuestreo en el cual las muestras
obtenidas se superponen con los datos
originales y los conversores Analogo - Digital
los promedian, obteniendo una única
muestra ponderada.

• Para una mejor captación de la señalen el


vector, este se debe poner un factor capaz
de reducir la señal de 0 a 3 o si se desea
mostrar la original es escalizarla a que el
maximo sea veinte y restarle 10 para que
quede la señal original AC.

Figure 15: Resultados de cada una de las


señales de muestreo Caso 4-6.

S-ar putea să vă placă și