Está en la página 1de 4

Manual de Prácticas

Microprocesadores
División: Ingeniería Eléctrica Departamento: Ingeniería
Electrónica

N.° de práctica: 7

Nombre completo del alumno Firma

García Hernández Carlos.

N.° de brigada: Fecha de elaboración: 15/12/20 Grupo: 4


1. Objetivos de aprendizaje.
El alumno empleara el ADC del microcontrolador TM4C1294 para
capturar señales analógicas proveniente de algún sensor y
posteriormente procesarlas con el microcontrolador.

2. Material y equipo.
Tarjeta de desarrollo TM4C1294
8 Leds y resistencias, 1 potenciómetro.

3. Actividad previa.

¿Cuantos ADC tiene la tarjeta de desarrollo Tiva TM4C1294?


* Tiene dos convertidores analógicos digitales ADC0 y ADC1

¿Cual es la resolución en bits de los ADC?


* Tiene una resolución de 12 bits.

¿Que operación lógica se tiene que hacer para truncar un valor de 12


bits a 8 bits?
* Hacer una and con el valor 0xFF de este modo volvemos cero los 4
MSB del resultado.

¿Cual es la resolución en volts/lsb de los ADC?


* es 80.5 mV/lsb si usamos como referencia 3.3V.

¿Cual es el voltaje de referencia del ADC y su rango de entrada?


* Tiene un voltaje de referencia interno que es de 3.3V y podemos
poner una referencia externa máxima de 3.3V.

Para un ADC. ¿Que significa que sea Single-Ended o Diferencial?


*Que puede convertir señales referenciadas a tierra o señales
diferenciales.

¿Cuantas entradas multiplexadas tiene el ADC del Tiva?


* Cuenta con 20 canales.

¿Cual es el procedimiento de configuración de las entradas para que


funcione con entradas analógicas?
*Se habilita el reloj del puerto a utilizar.
*Se configura el pin a utilizar como entrada.
*Se deshabilita la función digital.
*Se configura función alternativa AFSEL.
*Se configura el modo analógico AMSEL.

¿Cuando se sabe que un ADC ha terminado la conversión de una


muestra?
El secuenciador genera una interrupción la cual podemos habilitar
para que procese la muestra de forma automatice o estar vigilando por
medio de un ciclo el registros RIS el cual genera una interrupción no
procesada.
En el ADC del Tiva, ¿Que es un secuenciador y cuantas muestras puede
tomar cada uno?
*Es un registro que indica el orden en que se tomaran las muestras y
de que canales, el ADC del Tiva tiene 4 secuenciadores, el secuenciador
0 puede tomar hasta 8 muestras, el secuenciador 1 y 2 4 muestras y el
secuenciador 3 solo una muestra.

4. Desarrollo.

# in c lu d e < s t d in t .h >
# in c lu d e < s t d b o o l.h >
# in c lu d e "in c /t m 4 c1 2 9 4 n c p d t .h "

u in t 3 2 _t re s u lt ;

v o id m a in (v o id ){
SYSCTL_RCGCGPIO_R | = 0 x2 1 0 ; // 1 ) Ha b ilit a re lo j p a ra Pu e rt o E, K
w h ile ( (SYSCTL_PRGPIO_R & 0 x2 1 0 ) = = 0 );

GPIO_PORTE_AHB_DIR_R = 0 x0 0 ; // 2 ) PE4 e n t ra d a (a n a ló g ic a )
GPIO_PORTE_AHB_AFSEL_R | = 0 x1 0 ; // 3 ) Ha b ilit a Fu n c ió n Alt e rn a d e PE4
GPIO_PORTE_AHB_DEN_R = 0 x0 0 ; // 4 ) De s h a b ilit a Fu n c ió n Dig it a l d e PE4
GPIO_PORTE_AHB_AMSEL_R | = 0 x1 0 ; // 5 ) Ha b ilit a Fu n c ió n An a ló g ica d e PE4

GPIO_PORTK_DIR_R = 0 xFF; // 5 a ) p u e rt o K t o d o s lo s b it s s a lid a s d ig it a le s


GPIO_PORTK_DEN_R = 0 xFF; // t o d o s d ig it a le s .
GPIO_PORTK_DATA_R = 0 x0 0 ;

SYSCTL_RCGCADC_R = 0 x0 1 ; // 6 ) Ha b ilit a re lo j p a ra ló g ic a d e ADC0


w h ile ((SYSCTL_PRADC_R&0 x 0 1 )= = 0 );

ADC0 _PC_R = 0 x0 1 ; // 7 ) Co n fig u ra p a ra 1 2 5 Ks a m p /s


ADC0 _SSPRI_R = 0 x0 1 2 3 ; // 8 ) SS3 co n la m á s a lt a p rio rid a d
ADC0 _ACTSS_R = 0 x0 0 0 0 ; // 9 ) De s h a b ilit a SS3 a n t e s d e ca m b ia r
co n fig u ra ció n d e re g is t ro s
ADC0 _EMUX_R = 0 x0 0 0 0 ; // 1 0 ) in ic ia r m u e s t re o p o r s o ft w a re
ADC0 _SSEMUX3 _R = 0 x0 0 ; // 1 1 )En t ra d a s AIN(1 5 :0 )
ADC0 _SSMUX3 _R = (ADC0 _SSMUX3 _R & 0 xFFFFFFF0 ) + 9 ; // 1 1 a ) ca n a l AIN9
(PE4 )
ADC0 _SSCTL3 _R = 0 x0 0 0 6 ; // 1 2 ) n o TS0 D0 , ye s IE0 END0
ADC0 _IM_R = 0 x0 0 0 0 ; // 1 3 ) De s h a b ilit a in t e rru p cio n e s d e SS3
ADC0 _SAC_R = 0 x0 4 ;
ADC0 _ACTSS_R | = 0 x0 0 0 8 ; // 1 4 ) Ha b ilit a SS3

SYSCTL_PLLFREQ0 _R | = SYSCTL_PLLFREQ0 _PLLPWR; // 1 5 ) e n ce n d e r PLL


w h ile ((SYSCTL_PLLSTAT_R&0 x0 1 )= = 0 ); // e s p e ra a q u e e l PLL fije s u
fre c u e n c ia
SYSCTL_PLLFREQ0 _R &= ~ SYSCTL_PLLFREQ0 _PLLPWR; // a p a g a r PLL

ADC0 _ISC_R = 0 x0 0 0 8 ; // 1 6 ) Se re c o m ie n d a Lim p ia r la b a n d e ra


RIS d e l ADC0
f o r(;;){
ADC0 _PSSI_R = 0 x0 8 ; // 1 7 ) In ic ia co n ve rs ió n d e l SS3
w h ile ((ADC0 _RIS_R & 0 x0 8 )= = 0 ); // Es p e ra a q u e SS3 t e rm in e co n ve rs ió n
(p o llin g )
re s u lt = (ADC0 _SSFIFO3 _R & 0 xFFF);// Re s u lt a d o e n FIFO3 s e a s ig n a a
va ria b le "re s u lt "
ADC0 _ISC_R = 0 x0 0 0 8 ; // 1 8 ) Lim p ia la b a n d e ra RIS d e l ADC0
GPIO_PORTK_DATA_R = 0 x0 0 ;
GPIO_PORTK_DATA_R = (re s u lt > > 4 ); // 1 9 ) d e s p lie g a e n 8 b it s re s u lt a d o e n
PTO K.
}
}

5. Cuestionario

¿Como se inicia el muestre por software? Si se requiere conversión


continua, escriba la sentencia que la configura y el valor correcto.
*Escribiendo un 1 en el registro PSSI de acuerdo al secuenciador que
se este utilizando, para poder utilizarlo de forma continua se mete la
siguiente instrucción en un ciclo infinito como se muestra:

¿Cuales registros se configurarían y cual seria su valor, si requiere que


la entrada analógica sea la PE0?
* El registro AFSEL_GPIO_PORTE_AHB_AFSEL_R |= 0x01.
* El registro AMSEL_GPIO_PORTE_AHB_AMSEL_R |= 0x01.
* El registro SSMUX3 ADC0_SSMUX3_R = (ADC_SSMUX3_R &
0xFFFFFFF0)+3.

6. Conclusiones.

El uso de convertidores analógicos-digitales es necesario en


cualquier aplicación que requiera de estar monitoreando algún
fenómeno o una variable, con esta practica podemos verificar que
el microcontrolador contiene ya todo lo necesario a lo cual solo
debemos configurar y hacer uso de este periférico para poder
convertir cualquier señal.

También podría gustarte