SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Sistemas de timers con RFID
Zaraos V´azquez Jorge Alejandro , Toala Hern´andez Jahaziel,
Rodr´ıguez Morales Guillermo de Jesus, Mendoza P´erez Cristian Uziel
Instituto Tecnol´ogico de Tuxtla Gutierrez, Chiapas
aleh.kz@hotmail.com
angelblack 035@hotmail.com
uziel batery92@hotmail.com
nemesis rmgj@hotmail.com
Resumen – En esta pr´actica utilizaremos un
Stellaris, donde se quiere manipular la trama de
datos que recibir´a del RFID, se configuraran las
UART’s, timers, como objetivo principal es man-
dar una trama desde el Stellaris y dependiendo del
RFID si hay un tag cerca responder con una trama
con lo bits del tag e indicar en qu´e momento llego.
I. INTRODUCCI´ON
UART es el componente clave del subsistema de comunica-
ciones series. El UART toma bytes de datos y transmite los
bits individuales de forma secuencial. En el destino, un segundo
UART reensambla los bits en bytes completos. La transmisi´on
serie de la informaci´on digital (bits) a trav´es de un cable ´unico
u otros medios es mucho m´as efectiva en cuanto a costo que la
transmisi´on en paralelo a trav´es de m´ultiples cables. Se utiliza
un UART para convertir la informaci´on transmitida entre su
forma secuencial y paralela en cada terminal de enlace. Cada
UART contiene un registro de desplazamiento que es el m´etodo
fundamental de conversi´on entre las forma serie y paralelo. La
transmisi´on serial es aquella donde la informaci´on es enviada
bit por bit hacia un determinado destino. Es lenta pero mucho
m´as confiable por lo que tiende a usarse para transmisiones
a larga distancia que no requieran de altas velocidades de
respuesta.
De tal manera el reloj interno del receptor, que conoce la
velocidad de transmisi´on de los bits examina la l´ınea de tiem-
pos y puede reconocer el inicio y fin de una trama. El tiempo
del bit de paro puede ser el concerniente a uno o dos bits, que
es el tiempo que necesitar´an las unidades para sincronizarse
de nuevo. Las etiquetas o tags son unos dispositivos peque˜nos,
similares a una pegatina, que pueden ser adheridas o incor-
poradas a un producto, un animal o una persona. Contienen
antenas para permitirles recibir y responder a peticiones por
radiofrecuencia desde un emisor-receptor RFID. Las etiquetas
pasivas no necesitan alimentaci´on el´ectrica interna, mientras
que las activas s´ı lo requieren. Una de las ventajas del uso
de radiofrecuencia (en lugar, por ejemplo, de infrarrojos) es
que no se requiere visi´on directa entre emisor y receptor.
II. FUNDAMENTOS TE´ORICOS
A. Stellaris LM4F120
El stellairs LM4F120 LaunchPad Evaluation Board
es una plataforma de evaluacion de bajo costo para
ARM Cortex -M4F basados en microcontroladores de
Texas Instrument, el dise˜no de el LaunchPad stellaris
destaca LM4F120H5QR microcontrolador con un dispos-
itivo de interfaz USB 2,0 y un m´odulo de hibernaci´on.
El EK-LM4F120XL tambi´en cuenta con botones pro-
gramables de usuario y un LED RGB para aplicaciones
personalizadas, las cabeceras de la apilables Stellaris R
LM4F120 LaunchPad BoosterPack XL hace que sea f´acil
y sencillo para ampliar la funcionalidad de la Stellaris
R LaunchPad, al conectarse a otros perif´ericos con
Stellaris R BoosterPacks y BoosterPacks MSP430 TM
.
El Stellaris R LM4F120 LaunchPad funciona a bordo
de emulaci´on, lo que significa que se puede programar y
depurar sus proyectos sin la necesidad de herramientas
adicionales.Compatibilidad del BoosterPackDos de doble-
genero, 20-pines de cabeceras apilables ofrecen grandes
opciones de conexi´on de la caja.
Estos 40 pines permiten a˜nadir soporte de pantallas,
interfaces inal´ambricas, sensores y otras capacidades a los
proyectos muy f´acilmente y tambi´en ofrecen compatibili-
dad b´asica con los actuales MSP430 y C2000 LaunchPad’s.
El microcontrolador Stellaris ofrece una LM4F120H5QR
80 MHz, 32-bit ARM Cortex-M4 CPU con pun-
to flotante, 256Kbytes de 100.000 FLASH ciclo de
escritura-borrado y muchos perif´ericos tales como ADC
1MSPS, 8 UARTs, 4 SPIs, 4 I2Cs, USB y hasta 27
timers, algunos configurable hasta 64 bits. Dos in-
terruptores de uso general de usuarios, un bot´on de
reinicio, LED de encendido y LED programable RGB.
Fig. 1 Stellaris LM4120 LaunchPad
B. UART
UART son las siglas de ¨Universal Asynchronous
Receiver-Transmitter”( en espa˜nol, Transmisor-Receptor
As´ıncrono Universal ). ´Este controla los puertos y dis-
positivos serie. Se encuentra integrado en la placa base
o en la tarjeta adaptadora del dispositivo. Un UART
dual, o DUART, combina dos UARTs en un solo chip. El
receptor / transmisor as´ıncrono (UART) API universal
proporciona un conjunto de funciones para el uso de los
m´odulos UART Stellaris. Se proporcionan funciones para
configurar y controlar los m´odulos UART, para enviar y
recibir datos, y para gestionar las interrupciones para los
m´odulos UART.
El Stellaris UART realiza las funciones de conversiones
de paralelo a serie y serie-paralelo. Es muy similar en fun-
cionalidad a un 16C550 UART, pero no es compatible.
Algunas de las caracter´ısticas de la Stellaris UART son:
Un poco 16x12 FIFO de recepci´on y un poco 16x8
transmisi´on FIFO.
Generador de velocidad en baudios programable.
Generaci´on autom´atica y extracci´on de inicio,
parada y bits de paridad.
Interfaz serial programable.
5, 6, 7, o 8 bits de datos, par, impar, palo o ningu-
na generaci´on bit de paridad y detecci´on, 1 o 2
bits de parada generaci´on generaci´on de velocidad
de transmisi´on, de la CC a procesador clock/16
Este controlador se encuentra en driverlib/uart.c, con
driverlib/uart.h que contiene las definiciones de API para
el uso de aplicaciones.
Fig. 2 Diagrama Bloques UART
C. Timer
Temporizadores programables se pueden usar para con-
tar o tiempo de acontecimientos externos que impulsan
los pines de entrada del temporizador. El m´odulo tempo-
rizador de uso general Stellaris R (GPTM) contiene seis
bloques GPTM 16/32-bit y seis 32/64-bit bloques GPTM
anchas. Cada bloque GPTM 16/32-bit proporciona dos
temporizadores / contadores de 16 bits (denominado tem-
porizador Temporizador A y B) que se puede configurar
para funcionar de forma independiente o como tempo-
rizadores contadores de eventos, o concatenados para op-
erar como un temporizador de 32 bits o de 32 bits de un
reloj (RTC) en tiempo real. Cada bloque 32/64-bit Amplia
GPTM ofrece temporizadores de 32 bits para el Timer A
y B del temporizador que puede ser concatenados para
operar como un temporizador de 64 bits. Temporizadores
tambi´en se pueden utilizar para desencadenar transferen-
cias uDMA.
Fig. 3 Diagrama Bloques TIMER
D. Comunicaci´on Serial As´ıncrona
El otro m´etodo, el utilizado en las computadoras,
consiste en agregar marcadores dentro del flujo de bits
para ayudar a seguir cada bit de datos. al introducir
un bit de inicio que indica el inicio de un corto flujo
de datos, la posici´on de cada bit puede ser determinado
cronometrando los bits a intervalos regulares, enviando
bits de inicio al comienzo de cada flujo de 8 bits los
dos sistemas pueden no estar sincronizados por una
se˜nal de reloj, lo ´unico que es importante es que am-
bos sistemas est´en configurados a la misma velocidad.
Cuando el dispositivo receptor de la comunicaci´on recibe
el bit de inicio comienza un temporizador de corto tiempo.
Al mantener los flujos cortos no hay suficiente tiempo para
que el reloj salga de sincron´ıa. Este m´etodo es conocido
como comunicaci´on as´ıncrona debido a que las terminales
de la comunicaci´on no est´an sincronizados por una l´ınea
de se˜nal.
Cada flujo de bits es separado en grupos de 5
a 8 bits llamados palabras. Usualmente en el am-
biente de la computaci´on se encuentran palabras
de 7 y 8 bits, el primero es para acomodar to-
das las letras may´usculas y min´usculas del alfabeto
en c´odigo ASCII, con un total de 127 caracteres.
Las palabras de 8 bits son utilizadas para corresponder
a un byte. Por convenci´on, el bit menos significativo de
la palabra es enviado primero y el m´as significativo al
final. Durante la comunicaci´on, el transmisor codifica
cada palabra agreg´andole un bit de inicio al principio
y 1 o 2 bits al final. Algunas ocasiones agregar´a un
bit de paridad entre el ´ultimo bit de la palabra y el
primer bit de paro, esto es utilizado como como verifi-
caci´on de integridad de datos. Al paquete de bits que
se transmiten usualmente se le llama marco de datos.
Fig.4 Marco de datos de comunicaci´on serial as´ıncrona.
E. Interrupciones
La API de controlador de interrupciones proporciona
un conjunto de funciones para hacer frente a la interrup-
ci´on Vectored anidada Controller (CNTV). Se proporcio-
nan funciones para habilitar y deshabilitar las interrup-
ciones, reg´ıstrese interrumpir manipuladores, y establecer
la prioridad de las interrupciones.
La CNTV proporciona enmascaramiento global de
interrupci´on, priorizaci´on y manejador de enviar. Disposi-
tivos dentro la familia Stellaris soporta hasta 154 fuentes
de interrupci´on y ocho niveles de prioridad. interrupci´on
individual fuentes pueden ser enmascarados, y la inter-
rupci´on del procesador se pueden mundo enmascarados
tambi´en (sin afectan las m´ascaras de origen individuales).
La CNTV se acopla perfectamente con el micro-
procesador Cortex-M. Cuando el procesador responde
a una interrupci´on, el NVIC suministra la direcci´on de
la funci´on para gestionar la interrupci´on directamente
a la procesador. Esta acci´on elimina la necesidad de
un controlador de interrupci´on global que consulta la
interrupci´on controlador para determinar la causa de la
interrupci´on y la rama para el controlador apropiado,
reduciendo interrumpir el tiempo de respuesta.
F. RFID
RFID (siglas de Radio Frequency IDentification, en
espa˜nol identificaci´on por radiofrecuencia) es un sistema
de almacenamiento y recuperaci´on de datos remoto
que usa dispositivos denominados etiquetas, tarjetas,
transpondedores o tags RFID. El prop´osito fundamental
de la tecnolog´ıa RFID es transmitir la identidad de un
objeto (similar a un n´umero de serie ´unico) mediante
ondas de radio.
Las tecnolog´ıas RFID se agrupan dentro de las denomi-
nadas Auto ID (automatic identification, o identificaci´on
autom´atica) El tipo de antena utilizado en una etiqueta
depende de la aplicaci´on para la que est´a dise˜nado y de la
frecuencia de operaci´on. Las etiquetas de baja frecuencia
(LF, del ingl´es low frequency) normalmente se sirven de
la inducci´on electromagn´etica. Como el voltaje inducido
es proporcional a la frecuencia, se puede producir el
necesario para alimentar un circuito integrado utilizando
un n´umero suficiente de espiras.
Fig.5 Gen 2 Reader RFID
G. TAG
Las etiquetas RFID (RFID Tag, en ingl´es) son
unos dispositivos peque˜nos, similares a una pegati-
na, que pueden ser adheridas o incorporadas a un
producto, un animal o una persona. Contienen ante-
nas para permitirles recibir y responder a peticiones
por radiofrecuencia desde un emisor-receptor RFID.
Las etiquetas pasivas no necesitan alimentaci´on
el´ectrica interna, mientras que las activas s´ı lo re-
quieren. Una de las ventajas del uso de radiofrecuencia
(en lugar, por ejemplo, de infrarrojos) es que no
se requiere visi´on directa entre emisor y receptor.
La etiqueta RFID, que contiene los datos de identifi-
caci´on del objeto al que se encuentra adherido, genera una
se˜nal de radiofrecuencia con dichos datos. Esta se˜nal puede
ser captada por un lector RFID, el cual se encarga de leer
la informaci´on y pasarla en formato digital a la aplicaci´on
espec´ıfica que utiliza RFID.
Fig.6 Etiqueta o TAG
III. DESARROLLO DE LA PR´ACTICA
Para hacer el desarrollo de una manera entendible es
realizado un diagrama de procesos donde se muestra de
forma estructurada como realizamos la pr´actica. Se puede
observar en la siguiente figura.
Fig.7 Diagrama de procesos.
A. Elecci´on de pr´actica
En base en pr´acticas anteriores con avances obtenidos
de transmisi´on y recepci´on de datos, interrupciones
con times, contador con timer con respecto a eso
se fusiona y crea un ´unico proyecto designado a
transmitir una trama al RFID y recibiendo su re-
spuesta dependiendo si la tag est´a cerca o lejos.
B. Dise˜no
Planteamos una propuesta de dise˜no.
Fig.8 Diagrama de la pr´actica
Para poder configurar las UART’s antes debemos saber
en donde est´an ubicadas en que perif´ericos en que pines
realizamos la b´usqueda de estos en el datasheet y los plas-
mamos en un mapa de pines.
Fig.9 Mapa de pines UART
C. Diagrama esquem´atico electr´onico
El dise˜no propuesto en el punto anterior se pasa a un
programa para generar un dise˜no en Ares una herramienta
de dise˜no y modelado de circuitos electr´onicos, en el cual
se establece las conexiones de los circuitos.
Para la creaci´on del dise˜no de nuestra placa primera-
mente se hizo un diagrama de las conexiones necesarias
para despu´es pasarla por una serie de modificaciones,
que al concluir se obtuviera un diagrama evolutivo que
satisfaga nuestra necesidad pero sin poner conexiones
innecesarias.
Despu´es de que se obtuvo el dise˜no final se plasmo
el diagrama de nuestra placa aun software, en este caso
se utiliz´o Proteus 8 para realizar las conexiones de los
dispositivos que se utilizaron y asi se pueda hacer la
creaci´on f´ısica de nuestra placa donde se transforma una
se˜nal RS-232 que estar´a conectado a la placa por medio
de un jack rj11 con una salida convertida por el max232
a una transmisi´on TTL donde alimentaremos la placa con
3.3v
Fig.10 Dise˜no optimo en herramienta Proteus (ARES)
Fig.11 Dise˜no optimo en herramienta Proteus (PISTAS)
Fig.12 Dise˜no utilizado (PISTAS)
D. Dise˜no y fabricaci´on del PCB
Para el desarrollo de la placa se utiliza la herramienta
Proteus ISIS y ARES para hacer las pistas, en esta etapa
se desarrollaran las pistas para poder imprimirlas en papel
couche se crean las pistas lo m´as gruesas posibles para que
las pistas queden bien y no haya ninguna pista quebrada
o causen alg´un puente entre ellas.
Para fabricar la placa necesitamos :
•PCB •Papel couche •Impresora laser •Plancha
•Cloruro f´errico •Taladro •Broca 1/32 •Acetona
•Capacitor 1 mf •Max232 •Jack rj11 •Caut´ın
Primero que nada para fabricar la placa PCB una vez
teniendo el dise˜no se imprime en una impresora laser y en
papel couche para que despu´es de eso se planche el papel
sobre de el PCB aproximadamente de 15 a 20 minutos.
Fig.13 Planchado de el dise˜no en el PCB
cuando el papel ya se esta quemando toda la tinta queda
pegada ala placa se pasa por agua para retirar todo el papel
que tiene
Fig.14 Lavado en agua para retirar papel
Una vez lavado y que se quito la mayor´ıa del papel se
ba˜na de igual forma en cloruro ferrico
Fig.15 Lavado en cloruro ferrico
Para que corroa el cobre y solo donde tiene tinta per-
manezca el cobre una vez terminado esto la pasamos al-
cohol o acetona para limpiar toda la tinta y solo quede el
cobre.
Fig.16 Cobre lavado del PCB
Despu´es de esto procederemos hacer los orificios con el
taldaro donde introduciremos los componentes de la placa
soldamos los materiales y la placa quedara lista.
E. Algoritmo
Ajustar el reloj para que se ejecute desde el cristal Ha-
bilitar perif´ericos de cada UART Habilitar los puertos cor-
respondientes de cada UART Establecer pines GPIO Rx
y Tx de cada UART Configurarlos los pines como UART
Configurar la velocidad de transmisi´on de cada UART Ha-
bilitamos el FIFO para transmisi´on y recepci´on Configu-
ramos la interrupci´on para UART0 Declaramos cuando va
entrar en la interrupci´on Configurar timer Habilitar inter-
rupci´on del timer Habilitar que entre cada segundo Limpia
la direcci´on base de la UART0 Se verifica si hay datos
disponibles en la direcci´on de UART Obtiene el dato que
hay en la direcci´on Si hay tag, mandar el tiempo en que
llego
•Ajustar el reloj para que se ejecute desde el
cristal
•Habilitar perif´ericos de cada UART
•Habilitar los puertos correspondientes de cada
UART
•Establecer pines GPIO Rx y Tx de cada UART
•Configurarlos los pines como UART
•Configurar la velocidad de transmisi´on de cada
UART
•Habilitamos el FIFO para transmisi´on y recep-
ci´on
•Configuramos la interrupci´on para UART0
•Declaramos cuando va entrar en la interrupci´on
•Configurar timer
•Habilitar interrupci´on del timer
•Habilitar que entre cada segundo
•Limpia la direcci´on base de la UART0
•Se verifica si hay datos disponibles en la direc-
ci´on de UART
•Obtiene el dato que hay en la direcci´on
•Si hay tag, mandar el tiempo en que llego
F. Programaci´on
Como en el algoritmo seguimos los pasos primero que
nada ajustamos el reloj para que se ejecute desde el cristal.
Habilitamos los perif´ericos de cada UART poniendo la
palabra UARTx (x el numero de UART), habilitamos los
puertos correspondientes de las UART’s habilitamos puer-
to ”A” para UART0, puerto “B” para UART1, puerto “C”
para UART3 y 4, puerto “D” para UART 2 y 6, puerto “E”
para UART 5 y 7.
Fig.17 Configuraci´on de perif´ericos y puertos UART
Establecemos los pines de UART0 PA0(RX) y PA1(TX)
y los establecemos como tipo UART a este y todos
los pines, establecemos los pines de UART1 PB0(RX) y
PB1(TX), establecemos los pines de UART2 PD6(RX) y
PD7(TX) , establecemos los pines de UART3 PC6(RX)
y PC7(TX), establecemos los pines de UART4 PC4(RX)
y PC5(TX), establecemos los pines de UART5 E4(RX) y
E5(TX),
establecemos los pines de UART6 PD4(RX) y PD5(TX),
establecemos los pines de UART7 E0(RX) y E1(TX). En
el caso de UART1, UART2, UART3, UART4, UART5,
UART6, UART7 configuramos la resistencias pull-up para
que se habiliten.
Fig.18 Configuraci´on de pines y resistencias pull-up UART
Configuramos la velocidad de transmisi´on de datos a
9600 baudios establecemos nuestros bits de paridad y de
parada en cada direcci´on de UART.
Configuramos timer en su direcci´on base, lo estable-
cemos como de 32 bits, e igualamos una variable a
SysctlClockget() que como estamos trabajando a 40
MHz estamos igualando esa variable a 40000000, de-
spu´es de esto con una funci´on del timer definimos de
donde comenzara y hasta donde terminara el timer
declaramos que iniciara en timerA=0 hasta la variable
que declaramos como SysctlClockget() -1 porque menos
uno porque como va empezar desde cero se le resta uno.
Fig.19 Configuraci´on de timer
Habilitamos la interrupci´on para UARTx BASE y para
TIMER y declaramos comova entrar en esas interrup-
ciones, para poder hacer que funcionen estas interrupciones
tenemos que declararlas dentro del startup ccs.c.
Fig.20 Interrupciones TIMER y UART
Dentro de un ciclo while(1) enviamos caracteres con una
funci´on de la UART estableciendo la direcci´on base de la
uart y la trama que nos indicara si hay o no un tag cercano.
Fig.21 Enviar caracteres a cada UART
En la interrupci´on de la UART primero que nada
limpiamos el estado de la UART despu´es de eso con una
condici´on le decimos que si tiene alg´un car´acter disponible
en la direcci´on base de la UART entre en un ciclo, den-
tro de ese ciclo obtenemos lo que tiene esa direcci´on base
y de nuevo con una condici´on si lo que se obtuvo de esa
direcci´on es una trama de respuesta de que hay un tag
cercano que con UARTprintf me imprima en que UART
est´a conectada esa antena y en qu´e tiempo llego.
Fig.22 Interrupcion UART
En la interrupci´on del timer limpiaremos el timer para
que una vez que salga de la interrupci´on vuelve a ejecu-
tarse inmediatamente, dentro de esta interrupci´on de un
segundo mandara a llamar a un m´etodo donde una variable
incrementara en 1 cada que se ejecute as´ı de esta forma lo
´unico que haremos es aplicar formulas de conversi´on para
saber en qu´e hora, minuto y segundo llego.
Fig.23 Interrupcion TIMER
G. Resultados
Ya que en la hyperterminal solo podemos visualizar lo
que tenemos en UART0 esta UART no la utilizamos como
medio de transmisi´on de datos a las antenas. El contador
de timer siempre se est´a ejecutando y mostr´andolo en la
Hyperterminal.
Fig.24 timer: contador
Prueba con una antena conectada a un PCB unico.
Fig.25 primera prueba
Prueba ya con la placa PCB terminada con las antenas
para demostrar la transmicion y recepci´on de datos.
Fig.26 Prueba con las antenas
Muestra en la Hyperterminal de la llegada del TAG.
Fig.27 timer: llegada del tag
IV. CONCLUSIONES
El prop´osito de la proyecto se alcanzo, la comunicaci´on
con la antena se logro enviar y recibir tramas en hexadec-
imal, pudiendo manipular la trama de respuesta de la an-
tena, adem´as de que con eso se puede hacer el sistemas de
competencias en una prueba de nataci´on.
Referencias
[1] Stellaris LM4F120H5QR Microcontroller, Data Sheet Texas In-
struments Incorporated, 108 Wild Basin, Suite 350 Austin, TX
78746
[2] Stellaris peripheral driver library, User’s Guide, Texas Instru-
ments Incorporated, 108 Wild Basin, Suite 350 Austin, TX 78746
[3] http://e2e.ti.com/support/microcontrollers/stellaris arm/f/471/
t/185704.aspx
[4] http://jmnlab.com/usart/usart.htmlhttp://jmnlab.com/usart/
usart.html
[5] http://www.tecnotopia.com.mx/mecatronica/ puertoserialasin-
crono.htm
[6] http://www.ti.com/ww/en/launchpad/stellaris head.html
[7] http://www.ti.com/lit/an/spma017/spma017.pdf
[8] http://www.bluesock.org/ willg/dev/ascii.html
[9] http://www.ti.com/tool/ek-lm4f120xl
[10] http://www.kimaldi.com/productos/sistemas rfid/lectores rfid
y tags 125 khz/pulseras y llaveros rfid de 125 khz
[11] http://www.egomexico.com/tecnologia rfid.htm

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
Intel
IntelIntel
Intel
 
DIAGRAMAS DE UNA ALARMA
DIAGRAMAS DE UNA ALARMADIAGRAMAS DE UNA ALARMA
DIAGRAMAS DE UNA ALARMA
 
Taxímetro con Pic16F887
Taxímetro con Pic16F887Taxímetro con Pic16F887
Taxímetro con Pic16F887
 
Proyecto2
Proyecto2Proyecto2
Proyecto2
 
Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01Curso de microcontroladores capitulo 01
Curso de microcontroladores capitulo 01
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Curso de microcontroladores capitulo 02
Curso de microcontroladores capitulo 02Curso de microcontroladores capitulo 02
Curso de microcontroladores capitulo 02
 
Mm card 7
Mm card 7Mm card 7
Mm card 7
 
Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04
 
Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08Curso de microcontroladores capitulo 08
Curso de microcontroladores capitulo 08
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07Curso de microcontroladores capitulo 07
Curso de microcontroladores capitulo 07
 
Usart 3
Usart 3Usart 3
Usart 3
 
Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430Introducción al microcontrolador MSP430
Introducción al microcontrolador MSP430
 
Proyecto1
Proyecto1Proyecto1
Proyecto1
 
Adc 4
Adc 4Adc 4
Adc 4
 
Curso de microcontroladores capitulo 09
Curso de microcontroladores capitulo 09Curso de microcontroladores capitulo 09
Curso de microcontroladores capitulo 09
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 

Similar a Sistema competencias con el Stellaris

UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdfUNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdfSistemadeEstudiosMed
 
El microprocesador
El microprocesadorEl microprocesador
El microprocesadorILSAlcorcon
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladoresProyesa
 
Componentes del ordenador
Componentes del ordenadorComponentes del ordenador
Componentes del ordenadorzercker
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasAldo Corp
 
Arquitectura de Computadorasv
Arquitectura de ComputadorasvArquitectura de Computadorasv
Arquitectura de ComputadorasvJairo Anton
 
Microcontrolador wiki
Microcontrolador wikiMicrocontrolador wiki
Microcontrolador wikiclides2006
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadoresupc
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadoresupc
 
INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1FRANCIACOCO
 
Dispositivos de interconexión de
Dispositivos de interconexión deDispositivos de interconexión de
Dispositivos de interconexión deMartin Zuñiga
 
Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCFernando Cahueñas
 
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Cristina Urdiales
 
Lo que hay hoy
Lo que hay hoyLo que hay hoy
Lo que hay hoytropicos
 

Similar a Sistema competencias con el Stellaris (20)

UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdfUNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
UNIDAD_III_COMUNICACIÓN SERIAL_2021-1.pdf
 
El microprocesador
El microprocesadorEl microprocesador
El microprocesador
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
3 microcontroladores
3 microcontroladores3 microcontroladores
3 microcontroladores
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 
Taller de Robótica Educativa.pdf
Taller de Robótica Educativa.pdfTaller de Robótica Educativa.pdf
Taller de Robótica Educativa.pdf
 
HARDWARE EN LOS ORDENADORE
HARDWARE EN LOS ORDENADOREHARDWARE EN LOS ORDENADORE
HARDWARE EN LOS ORDENADORE
 
Componentes del ordenador
Componentes del ordenadorComponentes del ordenador
Componentes del ordenador
 
Tutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
 
Arquitectura de Computadorasv
Arquitectura de ComputadorasvArquitectura de Computadorasv
Arquitectura de Computadorasv
 
Microcontrolador wiki
Microcontrolador wikiMicrocontrolador wiki
Microcontrolador wiki
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1INFOSAN Mantenimiento 1
INFOSAN Mantenimiento 1
 
Dispositivos de interconexión de
Dispositivos de interconexión deDispositivos de interconexión de
Dispositivos de interconexión de
 
Comunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PCComunicación Serial entre un microcontrolador y un PC
Comunicación Serial entre un microcontrolador y un PC
 
Micro2 tema 5
Micro2 tema 5Micro2 tema 5
Micro2 tema 5
 
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
Enlace radio bidireccional PC-MICROBOT (E. Rodriguez Regidor)
 
37974105-Componentes-PC
37974105-Componentes-PC37974105-Componentes-PC
37974105-Componentes-PC
 
Lo que hay hoy
Lo que hay hoyLo que hay hoy
Lo que hay hoy
 

Más de Alejandro Zaraos Vázquez (7)

T37 isc zaraos vazquez jorge alejandro
T37 isc zaraos vazquez jorge alejandroT37 isc zaraos vazquez jorge alejandro
T37 isc zaraos vazquez jorge alejandro
 
Tipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según ChomskyTipos de lenguaje formal según Chomsky
Tipos de lenguaje formal según Chomsky
 
Ieee formato
Ieee formatoIeee formato
Ieee formato
 
Formato ieee
Formato ieee Formato ieee
Formato ieee
 
Practica Bases de datos
Practica Bases de datosPractica Bases de datos
Practica Bases de datos
 
Stellaris usando ENERGIA
Stellaris usando ENERGIAStellaris usando ENERGIA
Stellaris usando ENERGIA
 
Gramática y autómatas
Gramática y autómatasGramática y autómatas
Gramática y autómatas
 

Sistema competencias con el Stellaris

  • 1. Sistemas de timers con RFID Zaraos V´azquez Jorge Alejandro , Toala Hern´andez Jahaziel, Rodr´ıguez Morales Guillermo de Jesus, Mendoza P´erez Cristian Uziel Instituto Tecnol´ogico de Tuxtla Gutierrez, Chiapas aleh.kz@hotmail.com angelblack 035@hotmail.com uziel batery92@hotmail.com nemesis rmgj@hotmail.com Resumen – En esta pr´actica utilizaremos un Stellaris, donde se quiere manipular la trama de datos que recibir´a del RFID, se configuraran las UART’s, timers, como objetivo principal es man- dar una trama desde el Stellaris y dependiendo del RFID si hay un tag cerca responder con una trama con lo bits del tag e indicar en qu´e momento llego. I. INTRODUCCI´ON UART es el componente clave del subsistema de comunica- ciones series. El UART toma bytes de datos y transmite los bits individuales de forma secuencial. En el destino, un segundo UART reensambla los bits en bytes completos. La transmisi´on serie de la informaci´on digital (bits) a trav´es de un cable ´unico u otros medios es mucho m´as efectiva en cuanto a costo que la transmisi´on en paralelo a trav´es de m´ultiples cables. Se utiliza un UART para convertir la informaci´on transmitida entre su forma secuencial y paralela en cada terminal de enlace. Cada UART contiene un registro de desplazamiento que es el m´etodo fundamental de conversi´on entre las forma serie y paralelo. La transmisi´on serial es aquella donde la informaci´on es enviada bit por bit hacia un determinado destino. Es lenta pero mucho m´as confiable por lo que tiende a usarse para transmisiones a larga distancia que no requieran de altas velocidades de respuesta. De tal manera el reloj interno del receptor, que conoce la velocidad de transmisi´on de los bits examina la l´ınea de tiem- pos y puede reconocer el inicio y fin de una trama. El tiempo del bit de paro puede ser el concerniente a uno o dos bits, que es el tiempo que necesitar´an las unidades para sincronizarse de nuevo. Las etiquetas o tags son unos dispositivos peque˜nos, similares a una pegatina, que pueden ser adheridas o incor- poradas a un producto, un animal o una persona. Contienen antenas para permitirles recibir y responder a peticiones por radiofrecuencia desde un emisor-receptor RFID. Las etiquetas pasivas no necesitan alimentaci´on el´ectrica interna, mientras que las activas s´ı lo requieren. Una de las ventajas del uso de radiofrecuencia (en lugar, por ejemplo, de infrarrojos) es que no se requiere visi´on directa entre emisor y receptor. II. FUNDAMENTOS TE´ORICOS A. Stellaris LM4F120 El stellairs LM4F120 LaunchPad Evaluation Board es una plataforma de evaluacion de bajo costo para ARM Cortex -M4F basados en microcontroladores de Texas Instrument, el dise˜no de el LaunchPad stellaris destaca LM4F120H5QR microcontrolador con un dispos- itivo de interfaz USB 2,0 y un m´odulo de hibernaci´on. El EK-LM4F120XL tambi´en cuenta con botones pro- gramables de usuario y un LED RGB para aplicaciones personalizadas, las cabeceras de la apilables Stellaris R LM4F120 LaunchPad BoosterPack XL hace que sea f´acil y sencillo para ampliar la funcionalidad de la Stellaris R LaunchPad, al conectarse a otros perif´ericos con Stellaris R BoosterPacks y BoosterPacks MSP430 TM . El Stellaris R LM4F120 LaunchPad funciona a bordo de emulaci´on, lo que significa que se puede programar y depurar sus proyectos sin la necesidad de herramientas adicionales.Compatibilidad del BoosterPackDos de doble- genero, 20-pines de cabeceras apilables ofrecen grandes opciones de conexi´on de la caja. Estos 40 pines permiten a˜nadir soporte de pantallas, interfaces inal´ambricas, sensores y otras capacidades a los proyectos muy f´acilmente y tambi´en ofrecen compatibili- dad b´asica con los actuales MSP430 y C2000 LaunchPad’s. El microcontrolador Stellaris ofrece una LM4F120H5QR 80 MHz, 32-bit ARM Cortex-M4 CPU con pun- to flotante, 256Kbytes de 100.000 FLASH ciclo de escritura-borrado y muchos perif´ericos tales como ADC 1MSPS, 8 UARTs, 4 SPIs, 4 I2Cs, USB y hasta 27 timers, algunos configurable hasta 64 bits. Dos in- terruptores de uso general de usuarios, un bot´on de reinicio, LED de encendido y LED programable RGB.
  • 2. Fig. 1 Stellaris LM4120 LaunchPad B. UART UART son las siglas de ¨Universal Asynchronous Receiver-Transmitter”( en espa˜nol, Transmisor-Receptor As´ıncrono Universal ). ´Este controla los puertos y dis- positivos serie. Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo. Un UART dual, o DUART, combina dos UARTs en un solo chip. El receptor / transmisor as´ıncrono (UART) API universal proporciona un conjunto de funciones para el uso de los m´odulos UART Stellaris. Se proporcionan funciones para configurar y controlar los m´odulos UART, para enviar y recibir datos, y para gestionar las interrupciones para los m´odulos UART. El Stellaris UART realiza las funciones de conversiones de paralelo a serie y serie-paralelo. Es muy similar en fun- cionalidad a un 16C550 UART, pero no es compatible. Algunas de las caracter´ısticas de la Stellaris UART son: Un poco 16x12 FIFO de recepci´on y un poco 16x8 transmisi´on FIFO. Generador de velocidad en baudios programable. Generaci´on autom´atica y extracci´on de inicio, parada y bits de paridad. Interfaz serial programable. 5, 6, 7, o 8 bits de datos, par, impar, palo o ningu- na generaci´on bit de paridad y detecci´on, 1 o 2 bits de parada generaci´on generaci´on de velocidad de transmisi´on, de la CC a procesador clock/16 Este controlador se encuentra en driverlib/uart.c, con driverlib/uart.h que contiene las definiciones de API para el uso de aplicaciones. Fig. 2 Diagrama Bloques UART C. Timer Temporizadores programables se pueden usar para con- tar o tiempo de acontecimientos externos que impulsan los pines de entrada del temporizador. El m´odulo tempo- rizador de uso general Stellaris R (GPTM) contiene seis bloques GPTM 16/32-bit y seis 32/64-bit bloques GPTM anchas. Cada bloque GPTM 16/32-bit proporciona dos temporizadores / contadores de 16 bits (denominado tem- porizador Temporizador A y B) que se puede configurar para funcionar de forma independiente o como tempo- rizadores contadores de eventos, o concatenados para op- erar como un temporizador de 32 bits o de 32 bits de un reloj (RTC) en tiempo real. Cada bloque 32/64-bit Amplia GPTM ofrece temporizadores de 32 bits para el Timer A y B del temporizador que puede ser concatenados para operar como un temporizador de 64 bits. Temporizadores tambi´en se pueden utilizar para desencadenar transferen- cias uDMA. Fig. 3 Diagrama Bloques TIMER
  • 3. D. Comunicaci´on Serial As´ıncrona El otro m´etodo, el utilizado en las computadoras, consiste en agregar marcadores dentro del flujo de bits para ayudar a seguir cada bit de datos. al introducir un bit de inicio que indica el inicio de un corto flujo de datos, la posici´on de cada bit puede ser determinado cronometrando los bits a intervalos regulares, enviando bits de inicio al comienzo de cada flujo de 8 bits los dos sistemas pueden no estar sincronizados por una se˜nal de reloj, lo ´unico que es importante es que am- bos sistemas est´en configurados a la misma velocidad. Cuando el dispositivo receptor de la comunicaci´on recibe el bit de inicio comienza un temporizador de corto tiempo. Al mantener los flujos cortos no hay suficiente tiempo para que el reloj salga de sincron´ıa. Este m´etodo es conocido como comunicaci´on as´ıncrona debido a que las terminales de la comunicaci´on no est´an sincronizados por una l´ınea de se˜nal. Cada flujo de bits es separado en grupos de 5 a 8 bits llamados palabras. Usualmente en el am- biente de la computaci´on se encuentran palabras de 7 y 8 bits, el primero es para acomodar to- das las letras may´usculas y min´usculas del alfabeto en c´odigo ASCII, con un total de 127 caracteres. Las palabras de 8 bits son utilizadas para corresponder a un byte. Por convenci´on, el bit menos significativo de la palabra es enviado primero y el m´as significativo al final. Durante la comunicaci´on, el transmisor codifica cada palabra agreg´andole un bit de inicio al principio y 1 o 2 bits al final. Algunas ocasiones agregar´a un bit de paridad entre el ´ultimo bit de la palabra y el primer bit de paro, esto es utilizado como como verifi- caci´on de integridad de datos. Al paquete de bits que se transmiten usualmente se le llama marco de datos. Fig.4 Marco de datos de comunicaci´on serial as´ıncrona. E. Interrupciones La API de controlador de interrupciones proporciona un conjunto de funciones para hacer frente a la interrup- ci´on Vectored anidada Controller (CNTV). Se proporcio- nan funciones para habilitar y deshabilitar las interrup- ciones, reg´ıstrese interrumpir manipuladores, y establecer la prioridad de las interrupciones. La CNTV proporciona enmascaramiento global de interrupci´on, priorizaci´on y manejador de enviar. Disposi- tivos dentro la familia Stellaris soporta hasta 154 fuentes de interrupci´on y ocho niveles de prioridad. interrupci´on individual fuentes pueden ser enmascarados, y la inter- rupci´on del procesador se pueden mundo enmascarados tambi´en (sin afectan las m´ascaras de origen individuales). La CNTV se acopla perfectamente con el micro- procesador Cortex-M. Cuando el procesador responde a una interrupci´on, el NVIC suministra la direcci´on de la funci´on para gestionar la interrupci´on directamente a la procesador. Esta acci´on elimina la necesidad de un controlador de interrupci´on global que consulta la interrupci´on controlador para determinar la causa de la interrupci´on y la rama para el controlador apropiado, reduciendo interrumpir el tiempo de respuesta. F. RFID RFID (siglas de Radio Frequency IDentification, en espa˜nol identificaci´on por radiofrecuencia) es un sistema de almacenamiento y recuperaci´on de datos remoto que usa dispositivos denominados etiquetas, tarjetas, transpondedores o tags RFID. El prop´osito fundamental de la tecnolog´ıa RFID es transmitir la identidad de un objeto (similar a un n´umero de serie ´unico) mediante ondas de radio. Las tecnolog´ıas RFID se agrupan dentro de las denomi- nadas Auto ID (automatic identification, o identificaci´on autom´atica) El tipo de antena utilizado en una etiqueta depende de la aplicaci´on para la que est´a dise˜nado y de la frecuencia de operaci´on. Las etiquetas de baja frecuencia (LF, del ingl´es low frequency) normalmente se sirven de la inducci´on electromagn´etica. Como el voltaje inducido es proporcional a la frecuencia, se puede producir el necesario para alimentar un circuito integrado utilizando un n´umero suficiente de espiras. Fig.5 Gen 2 Reader RFID
  • 4. G. TAG Las etiquetas RFID (RFID Tag, en ingl´es) son unos dispositivos peque˜nos, similares a una pegati- na, que pueden ser adheridas o incorporadas a un producto, un animal o una persona. Contienen ante- nas para permitirles recibir y responder a peticiones por radiofrecuencia desde un emisor-receptor RFID. Las etiquetas pasivas no necesitan alimentaci´on el´ectrica interna, mientras que las activas s´ı lo re- quieren. Una de las ventajas del uso de radiofrecuencia (en lugar, por ejemplo, de infrarrojos) es que no se requiere visi´on directa entre emisor y receptor. La etiqueta RFID, que contiene los datos de identifi- caci´on del objeto al que se encuentra adherido, genera una se˜nal de radiofrecuencia con dichos datos. Esta se˜nal puede ser captada por un lector RFID, el cual se encarga de leer la informaci´on y pasarla en formato digital a la aplicaci´on espec´ıfica que utiliza RFID. Fig.6 Etiqueta o TAG III. DESARROLLO DE LA PR´ACTICA Para hacer el desarrollo de una manera entendible es realizado un diagrama de procesos donde se muestra de forma estructurada como realizamos la pr´actica. Se puede observar en la siguiente figura. Fig.7 Diagrama de procesos. A. Elecci´on de pr´actica En base en pr´acticas anteriores con avances obtenidos de transmisi´on y recepci´on de datos, interrupciones con times, contador con timer con respecto a eso se fusiona y crea un ´unico proyecto designado a transmitir una trama al RFID y recibiendo su re- spuesta dependiendo si la tag est´a cerca o lejos. B. Dise˜no Planteamos una propuesta de dise˜no. Fig.8 Diagrama de la pr´actica Para poder configurar las UART’s antes debemos saber en donde est´an ubicadas en que perif´ericos en que pines realizamos la b´usqueda de estos en el datasheet y los plas- mamos en un mapa de pines. Fig.9 Mapa de pines UART
  • 5. C. Diagrama esquem´atico electr´onico El dise˜no propuesto en el punto anterior se pasa a un programa para generar un dise˜no en Ares una herramienta de dise˜no y modelado de circuitos electr´onicos, en el cual se establece las conexiones de los circuitos. Para la creaci´on del dise˜no de nuestra placa primera- mente se hizo un diagrama de las conexiones necesarias para despu´es pasarla por una serie de modificaciones, que al concluir se obtuviera un diagrama evolutivo que satisfaga nuestra necesidad pero sin poner conexiones innecesarias. Despu´es de que se obtuvo el dise˜no final se plasmo el diagrama de nuestra placa aun software, en este caso se utiliz´o Proteus 8 para realizar las conexiones de los dispositivos que se utilizaron y asi se pueda hacer la creaci´on f´ısica de nuestra placa donde se transforma una se˜nal RS-232 que estar´a conectado a la placa por medio de un jack rj11 con una salida convertida por el max232 a una transmisi´on TTL donde alimentaremos la placa con 3.3v Fig.10 Dise˜no optimo en herramienta Proteus (ARES) Fig.11 Dise˜no optimo en herramienta Proteus (PISTAS) Fig.12 Dise˜no utilizado (PISTAS) D. Dise˜no y fabricaci´on del PCB Para el desarrollo de la placa se utiliza la herramienta Proteus ISIS y ARES para hacer las pistas, en esta etapa se desarrollaran las pistas para poder imprimirlas en papel couche se crean las pistas lo m´as gruesas posibles para que las pistas queden bien y no haya ninguna pista quebrada o causen alg´un puente entre ellas. Para fabricar la placa necesitamos : •PCB •Papel couche •Impresora laser •Plancha •Cloruro f´errico •Taladro •Broca 1/32 •Acetona •Capacitor 1 mf •Max232 •Jack rj11 •Caut´ın Primero que nada para fabricar la placa PCB una vez teniendo el dise˜no se imprime en una impresora laser y en papel couche para que despu´es de eso se planche el papel sobre de el PCB aproximadamente de 15 a 20 minutos. Fig.13 Planchado de el dise˜no en el PCB cuando el papel ya se esta quemando toda la tinta queda pegada ala placa se pasa por agua para retirar todo el papel que tiene Fig.14 Lavado en agua para retirar papel
  • 6. Una vez lavado y que se quito la mayor´ıa del papel se ba˜na de igual forma en cloruro ferrico Fig.15 Lavado en cloruro ferrico Para que corroa el cobre y solo donde tiene tinta per- manezca el cobre una vez terminado esto la pasamos al- cohol o acetona para limpiar toda la tinta y solo quede el cobre. Fig.16 Cobre lavado del PCB Despu´es de esto procederemos hacer los orificios con el taldaro donde introduciremos los componentes de la placa soldamos los materiales y la placa quedara lista. E. Algoritmo Ajustar el reloj para que se ejecute desde el cristal Ha- bilitar perif´ericos de cada UART Habilitar los puertos cor- respondientes de cada UART Establecer pines GPIO Rx y Tx de cada UART Configurarlos los pines como UART Configurar la velocidad de transmisi´on de cada UART Ha- bilitamos el FIFO para transmisi´on y recepci´on Configu- ramos la interrupci´on para UART0 Declaramos cuando va entrar en la interrupci´on Configurar timer Habilitar inter- rupci´on del timer Habilitar que entre cada segundo Limpia la direcci´on base de la UART0 Se verifica si hay datos disponibles en la direcci´on de UART Obtiene el dato que hay en la direcci´on Si hay tag, mandar el tiempo en que llego •Ajustar el reloj para que se ejecute desde el cristal •Habilitar perif´ericos de cada UART •Habilitar los puertos correspondientes de cada UART •Establecer pines GPIO Rx y Tx de cada UART •Configurarlos los pines como UART •Configurar la velocidad de transmisi´on de cada UART •Habilitamos el FIFO para transmisi´on y recep- ci´on •Configuramos la interrupci´on para UART0 •Declaramos cuando va entrar en la interrupci´on •Configurar timer •Habilitar interrupci´on del timer •Habilitar que entre cada segundo •Limpia la direcci´on base de la UART0 •Se verifica si hay datos disponibles en la direc- ci´on de UART •Obtiene el dato que hay en la direcci´on •Si hay tag, mandar el tiempo en que llego F. Programaci´on Como en el algoritmo seguimos los pasos primero que nada ajustamos el reloj para que se ejecute desde el cristal. Habilitamos los perif´ericos de cada UART poniendo la palabra UARTx (x el numero de UART), habilitamos los puertos correspondientes de las UART’s habilitamos puer- to ”A” para UART0, puerto “B” para UART1, puerto “C” para UART3 y 4, puerto “D” para UART 2 y 6, puerto “E” para UART 5 y 7. Fig.17 Configuraci´on de perif´ericos y puertos UART
  • 7. Establecemos los pines de UART0 PA0(RX) y PA1(TX) y los establecemos como tipo UART a este y todos los pines, establecemos los pines de UART1 PB0(RX) y PB1(TX), establecemos los pines de UART2 PD6(RX) y PD7(TX) , establecemos los pines de UART3 PC6(RX) y PC7(TX), establecemos los pines de UART4 PC4(RX) y PC5(TX), establecemos los pines de UART5 E4(RX) y E5(TX), establecemos los pines de UART6 PD4(RX) y PD5(TX), establecemos los pines de UART7 E0(RX) y E1(TX). En el caso de UART1, UART2, UART3, UART4, UART5, UART6, UART7 configuramos la resistencias pull-up para que se habiliten. Fig.18 Configuraci´on de pines y resistencias pull-up UART Configuramos la velocidad de transmisi´on de datos a 9600 baudios establecemos nuestros bits de paridad y de parada en cada direcci´on de UART. Configuramos timer en su direcci´on base, lo estable- cemos como de 32 bits, e igualamos una variable a SysctlClockget() que como estamos trabajando a 40 MHz estamos igualando esa variable a 40000000, de- spu´es de esto con una funci´on del timer definimos de donde comenzara y hasta donde terminara el timer declaramos que iniciara en timerA=0 hasta la variable que declaramos como SysctlClockget() -1 porque menos uno porque como va empezar desde cero se le resta uno. Fig.19 Configuraci´on de timer Habilitamos la interrupci´on para UARTx BASE y para TIMER y declaramos comova entrar en esas interrup- ciones, para poder hacer que funcionen estas interrupciones tenemos que declararlas dentro del startup ccs.c. Fig.20 Interrupciones TIMER y UART Dentro de un ciclo while(1) enviamos caracteres con una funci´on de la UART estableciendo la direcci´on base de la uart y la trama que nos indicara si hay o no un tag cercano. Fig.21 Enviar caracteres a cada UART En la interrupci´on de la UART primero que nada limpiamos el estado de la UART despu´es de eso con una condici´on le decimos que si tiene alg´un car´acter disponible en la direcci´on base de la UART entre en un ciclo, den- tro de ese ciclo obtenemos lo que tiene esa direcci´on base y de nuevo con una condici´on si lo que se obtuvo de esa direcci´on es una trama de respuesta de que hay un tag cercano que con UARTprintf me imprima en que UART est´a conectada esa antena y en qu´e tiempo llego. Fig.22 Interrupcion UART En la interrupci´on del timer limpiaremos el timer para que una vez que salga de la interrupci´on vuelve a ejecu- tarse inmediatamente, dentro de esta interrupci´on de un segundo mandara a llamar a un m´etodo donde una variable incrementara en 1 cada que se ejecute as´ı de esta forma lo ´unico que haremos es aplicar formulas de conversi´on para saber en qu´e hora, minuto y segundo llego. Fig.23 Interrupcion TIMER
  • 8. G. Resultados Ya que en la hyperterminal solo podemos visualizar lo que tenemos en UART0 esta UART no la utilizamos como medio de transmisi´on de datos a las antenas. El contador de timer siempre se est´a ejecutando y mostr´andolo en la Hyperterminal. Fig.24 timer: contador Prueba con una antena conectada a un PCB unico. Fig.25 primera prueba Prueba ya con la placa PCB terminada con las antenas para demostrar la transmicion y recepci´on de datos. Fig.26 Prueba con las antenas Muestra en la Hyperterminal de la llegada del TAG. Fig.27 timer: llegada del tag IV. CONCLUSIONES El prop´osito de la proyecto se alcanzo, la comunicaci´on con la antena se logro enviar y recibir tramas en hexadec- imal, pudiendo manipular la trama de respuesta de la an- tena, adem´as de que con eso se puede hacer el sistemas de competencias en una prueba de nataci´on. Referencias [1] Stellaris LM4F120H5QR Microcontroller, Data Sheet Texas In- struments Incorporated, 108 Wild Basin, Suite 350 Austin, TX 78746 [2] Stellaris peripheral driver library, User’s Guide, Texas Instru- ments Incorporated, 108 Wild Basin, Suite 350 Austin, TX 78746 [3] http://e2e.ti.com/support/microcontrollers/stellaris arm/f/471/ t/185704.aspx [4] http://jmnlab.com/usart/usart.htmlhttp://jmnlab.com/usart/ usart.html [5] http://www.tecnotopia.com.mx/mecatronica/ puertoserialasin- crono.htm [6] http://www.ti.com/ww/en/launchpad/stellaris head.html [7] http://www.ti.com/lit/an/spma017/spma017.pdf [8] http://www.bluesock.org/ willg/dev/ascii.html [9] http://www.ti.com/tool/ek-lm4f120xl [10] http://www.kimaldi.com/productos/sistemas rfid/lectores rfid y tags 125 khz/pulseras y llaveros rfid de 125 khz [11] http://www.egomexico.com/tecnologia rfid.htm