Está en la página 1de 11

Conversor ADC 12030 de 12 bits ms signo serie I/O A/D con MUX y

Sam!e " #o!d


Caracter$sticas %&ndamenta!es'
ADC 12030: conversor de 12 bits ms el signo de aproximaciones sucesivas
Tiene entradas y salidas serie y un multiplexor con entradas configurables
oseen 2 !" y # entradas$
%as salidas diferenciales del multiplexor y las entradas estn disponibles en los pines
&'()'T1!2 A*D+,1!2
-l ADC12030!12.030 tienen 2 multiplexores de canales con la salida del multiplexor
internamente conectadas a las entradas del A*D
%a diferencia entre los signados con . es la velocidad ! para estos es #&/0 y para los
primeros 1&.0$
A pedido del programa estos conversores A*D pueden e2ecutar una rutina de calibraci3n
4ue a2usta linealmente errores de cero y full scale a menos de 51 %67$
%as entradas anal3gicas pueden ser configuradas para operar en varias combinaciones
6alida simple 8no balanceada9
Diferencial
seudo diferencial$
-l rango diferencial unipolar total de 0 a :1; se puede lograr con una fuente de
alimentaci3n de 1;$ -n modo diferencial la salida ser vlida a<n con valores negativos
ms grandes 4ue los positivos esto es as= debido a 4ue la indicaci3n del formato de salida
tiene signo$
%a interfa0 serie est configurada para la norma ,6C &icro>ire
(seci%icaciones c!ave
?esoluci3n 12 bits : signo
Tiempo de conversi3n 1$1 s
Tiempo de transferencia #$@ s$ 1" s$
-rror de linealidad 51 %67
Alimentaci3n simple 1;
Consumo 33mA
Descripci3n de los pines
CC)* 8control clocB9-l clocB aplicado controla el intervalo de tiempo del registro de
aproximaciones sucesivas y el tiempo de ad4uisici3n$ -l tiempo de subida no debe exceder
de 1 s$
SC)* 8serial clocB9implementado en el pic -s la entrada de clocB para tempori0ar los
datos serie$ -l clocB aplicado a la entrada controla la tasa a la cual sucede el intercambio de
datos serie$ -l flanco de subida carga la informaci3n del pin D+ de la direcci3n del
multiplexor y la selecci3n de modo del registro de despla0amiento$ -sta direcci3n controla
cual canal de entrada anal3gica del multiplexor es seleccionada y el modo de operaci3n del
A*D$ Cuando el C6 esta ba2o! el flanco descendente de 6C%C despla0a el dato resultante
de la conversi3n A*D previa a la salida D) con excepci3n del primer bit de datos
Cuando C6 est ba2o continuamente el primer bit de datos es tempori0ado con el flanco de
subida de -)C 8 fin de conversi3n9 cuando C6 es conmutado el flanco descendente siempre
tempori0a el primer bit de datos$ -l C6 deber=a ser for0ado al nivel l3gico ba2o cuando
6C%C est ba2o
%os tiempos de subida y ba2ada no deber=an exceder de 1 s$
DI or este pin entra la seDal de datos$ %os datos aplicados a este pin son despla0ados por
el flanco ascendente 6C%C dentro de la direcci3n del multiplexor o dentro del registro de
selecci3n de modo$
DO -s el pin de salida de datos$ -ste pin es un pus/ pull de salida cuando C6 est ba2o$
Cuando C6 estE alto esta salida presenta tercer estado$ -l resultado de conversiones A*D
D0 $$$D12 y el dato de estado del conversor son tempori0ados por el flanco de ba2ada del
6C%C y este pin$ %a longitud de palabra y el formato pueden variar $ %a longitud de palabra
y formato son controlados por el dato despla0ado dentro del multiplexor de direcciones y el
registro de selecci3n de modo
(OC este pin es una salida pus/ pull efectiva e indica el estado del ADC12030$ Cuando
est ba2o la seDal indica 4ue el conversor est ocupado con una conversi3n! auto calibraci3n
auto cero o ciclo de apagado -l flanco de subida del -)C indica el final de esos ciclos
CS -ste es el pin de selecci3n de c/ip$ Cuando se le aplica un ba2o l3gico el flanco de
subida del 6C%C despla0a los datos sobre D+ al registro de direccionamiento -ste ba2o
tambiEn saca a D) del tercer estado $ Con C6 ba2o! el flanco de bajada de 6C%C despla0a
los datos de la conversi3n previa envindolos por D0 con excepci3n del primer bit de datos$
Cuando C6 esta permanentemente en ba2o el primer bit de datos es tempori0ado en el
flanco ascendente del -)C 8end of conversion9 $ Cuando C6 es conmutado! el flanco
descendente de C6 siempre tempori0a el primer bit de datos$ C6 deber=a ser puesto en
estado ba2o cuando 6C%C est ba2o$
-l flanco de ba2ada de C6 reinicia 8resetea9 una conversi3n en progreso y comien0a la
secuencia para una nueva conversi3n! cuando el C6 es vuelto a poner ba2o en una
conversi3n esta es terminada prematuramente$ -l dato en los registros 8latc/es9 de salida
puede estar corrupto$ -n consecuencia cuando se env=a un C6 ba2o durante una conversion
el dato en los registros de salida deber=a ser ignorado$ -l C6 podr=a de2arse ba2o! en este
caso es imperativo 4ue se apli4ue el n<mero correcto de pulsos de 6C%C con el prop3sito
de conservar el sincronismo$
DespuEs de aplicar la alimentaci3n el adc aguarda 13 pulsos de relo2 por cada secuencia de
entrada *salida8+*)9-l numero de ciclos 4ue espera el ADC es el de la misma longitud 4ue
el de la palabra digital de salida $la longitud de palabra puede ser modificada por el dto
despla0ado en el pin D0
DO+'
-ste es el pin 4ue indica 4ue el dato de salida esta listo$ -s una salida activa us/ ull -sta
b2po mientras el resultado de conversi3n est siendo despla0ado y va alto para indicar 4ue
el dato /a sido enviado en serie 8s/ifted out9
CO,-
6e re4uiere un ba2o l3gico en este pin para programar cual4uier modo o cambiar la
configuraci3n ADC seg<n los distintos modos de programaci3n tal como conversi3n de 12
bits conversi3n de bits Auto cal !auto cero etc$ Cuando ADC esta alto! el conversor est en
modo solo lectura$ &ientras se permane0ca en el modo Fsolo lecturaG8read data only
mode 9 con C6 ba2o y conmutando 6C%C! solo se tempori0ar cual4uier dato almacenado
en los registros de despla0amiento de salida$ -l dato en D+ ser ignorado$ ,o se deber
comen0ar euna nueva conversi3n y el ADC permanecer en el modo y*o configuraci3n
previanHmente programada %a lectura de datos no puede ser reali0ada si una conversi3n
Auto cal !auto cero est en progreso$
.D
-s el pin de apagado o>er do>n con D alto el A*D es pagado ! caso contrario es
encendido$ Despues de enviado el comanado al A*D le toma 210 s encenderse$
C.0 C.I estas son las entradas anal3gicas del &'($ 'n canal de entrada se selecciona de
acuerdo a la informaci3n de la direcci3n presente en el pin D+$ Jue se carga con los flancos
ascendentes de 6C%C en el registro de direcciones$ %a tensi3n aplicada a estas entradas no
deberia exceder los niveles K,D L :; de no ser asi podr=a distorsionarse la lectura del
canal seleccionado
COM
-s un pin de entrada anal3gica -s usada como una pseudo tierra cuando e mpx es de
entrada no balanceada 8single ended9
MUXo&t1 / MUXo&t2
6on los pines de salida del mpx
A/DI,1/ A/DI,2
6on los pines de entrada del conversor$ &'(out1 esta ligado a A/DI,1 ! mientras
&'(out2 lo est a A/DI,2 0 6i se ubica circuiter=a externa entre &'(out1y A/DI,1 !o
entre &'(out2y A/DI,2 entonces debe protegerse los pines de manera de no
exceder los niveles AK,D L :;
A
$
-
+(1
2
Tensi3n de referencia anal3gica$ ara mantener la exactitud debe estar entre 1; y 1;
y no exceder ;
A
:
;
?-M
L
Tensi3n de referencia anal3gica$ ara mantener la exactitud no debe estar deba2o de
K,D y no exceder ;
A
:
;
A
:
!;
D
:
ines de alimentaci3n anal3gico y digital
DK,D! AK,D Tierras anal3gica y digital$
Inter%ace digita!
;eamos la t=pica secuencia de eventos despuEs de encender el ADC
Auto
cal
?ead
6tatus
?ead
6tatus
12 7+T:6+K,
C),; 1
12 7+T:6+K,
C),; 2
D+
Tras/ Tras/ 6tatus
Data
8%o>9
6atus data Conv 1
data
D)
%a primera instrucci3n al A*D v=a D+ inicia la auto calibracin!0000100 el dato 4ue casi
simultneamente 8 medio ciclo de sclB9 sale por D) carece de significado y es
completamente aleatorio$ ara determinar si la auto cal se /a completado se le env=a una
instrucci3n de lectura de estado 8read status900001100$,uevamente el dato 4ue sale carece
se significado ya 4ue el procedimiento de auto cal modifica el dato a la salida del registro
de despla0amiento salida$para recuperar la informaci3n de estado se enva nuevamente una
instrucci3n de lectura de estado al A*D -n este lapso el dato de estado esta disponible en
D0 si el bit de cal ( D02) en la palabra de estado est baja, XX0XXXXX la Auto Cal ha
sido realizada $-n consecuencia la siguiente instrucci3n puede ser el inicio de conversin$
or e2 00001000 8entrada diferencial !12 bits :sgn !primer bit recibido o F2ustificaci3nG
%679 -l dato de salida en esta oportunidad es nuevamente informaci3n del estado$ ara
protegerse del ruido la salida del A*D no debe ser le=da mientras progresa la conversi3n$ 6i
C6 es puesta a tierra en una ranura temporal 8strobe9 la conversi3n finali0a
porematuramente ar determinar el fin de la conversi3n puede utili0arse la seDal -)C o el
controlador del A*D pude ser vigilado por soft>are acerca de cuando ser=a apropiado
comunicarse con el A*D nuevamente$ -l dato puede ser le=do cuando se env=e la siguiente
instrucci3n al A*D
.rograma .IC 1314530
Ob6etivos'
6e prueba el comando de Autocalibraci3n escribiendo
19 6e manda el c3digo 00000100 NAutoCalN con el %67 primero
29 6e manda el c3digo 00001100 N?ead 6tatusN con el %67 primero
y se repite este comando /asta 4ue el bit D)2 8((0(((((9 le=do sea N0N$
+nicialmente en el o>er 'p es N1N9$
-l bit D)2 corresponde al bit 1 de T+,ADC ya 4ue se leen # bits y el %67
es el primero 4ue entra y se va despla0ando a i04uierda en T+,ADC$
O39 %uego de detectar fin de autocalibraci3n se manda el comando:
NConversi3n de 12 bitsN 00001000 4ue corresponde a:
-ntrada diferencial con C.08:9 y C.18L9$
12 bits mas signo$
Mormato de 12 bits$
rimer bit recibido: %67
"9 6e llama a la rutina de Display donde se visuali0a el dato de la conversi3n
en el port 7 4ue contiene los # bits menos significativos y en el port C los " bits mas
significativos mas el signo$
19transmisi3n de los datos por el puerto serie a C
6e repite permanentemente 39 y "9
Inicia!i7aci8n
Definici3n de entradas y salidas
6e utili0a la interrupci3n de timer para generar el clocB serie 86C%C9 6e midi3 2"0.0
como frecuencia de 6C%C y un per=odo de muestreo de 1#!2ms$
?utina AU9ADC 8-nv=o de la instrucci3n de AU!CA"#$%AC#!&)
6e detecta si el clocB SC)* P?A0 paso de uno a cero 1LQ0 8loop +,;-619
6i est en cero se pone CS P0
6e enviaran datos de control al +C a travEs de D+! 8pin 13 Adc120309 en este caso la
instrucci3n de Autocalibracion 0000100:-l adc12030 responder con datos aleatorios en las
2 primeras lecturas para saber cuando iniciar la conversi3n se debe testear el el bit d2 del
registro de estado %as palabras enviadas por el adc12030 se recibirn en el ?A1
Inicializacin de registros auxiliares para leer las entradas al pin RA1
cada bit de RA1 se almacena en TINADC, !!"#T apuntara a cada bit de RA1
#n RA$TADC esta cargado 00000100 A$TCA%I&RACI'N( T$TADC es el registro de
salida
TINADC 7orra registro de entrada de datos al +C$
RC$#ADC uesta a cero registro de conteo de ciclos de SC)* con 0$
-nv=o efectivo de la instrucci3n de AU!CA"#$%AC#!&
6e pasa el contenido de RA$TADC a T$TADC(
-l contenido de T$TADC ser enviado por el pin ?A0 por medio de sucesivas rotaciones
a derec/a $
-l procedimiento es testear cada bit de RA$TADC( "i es C#R se en)*a a +IN , se
saca un cero por el RA0 #n caso contrario se en)ia un $N %uego de cual-uiera de estos
casos se rota a derec.a"e debe generar el /laco de subida luego de cada rotacin
'eneracin del flanco de subida para escritura en el ADC12030$ ?ecordar 4ue sclB se
genera con el timer1 y el registro +,;-?T
#n el /lanco de subida de "C%0 el ADC11020 lee un nue)o dato de DI(
"e detecta si el cloc3 paso de cero a uno 0451 6loop IN7#"08
"i es asi se testea RA19D0 ("i /ue cero se en)ia a #NTIN( "i /ue uno se carga el
contenido de o//set en ese bit6 operacin IR!:8
6i pasa a #NTIN ;
a8 "e debe esperar -ue el /lanco de relo< ba<e para detectar una nue)a subida
b8 "e debe preparar el registro !!set con una rotacin iz-uierda pre)io borrar el bit de
carr,
para la e)entual llegada de un uno en el prximo ciclo
c9 "e debe contar si no se llego al octa)o 6ultimo8 bit de la palabra a en)iar registro
RC$#ADC
SC)*:1L
Q0
SI
,O
CS:0
RA$TADC 900000100
!!"#T91
?C'-ADCP0
RA$TADC a T$TADC
O;
.OI,O +A0:0
+A0:1
9OU9ADC
-spera para Keneraci3n de flanco
?egistro +,;-?T 8sale por ?A29
)!eg8 &n 1;
(,9I,O
(,9I,O
(serar %!anco de <a6ada
?otar )MM6-T
Descontar
CS:1
,O
loop +,;-61
6loop IN7#"08
,O
SI
+CU(ADC:4
+A1:1
%ectura del ?andom
7RT-
SC)*
%oop
+,;-61
)oo
I,-(S0
CS

También podría gustarte