desktop

Proyecto de RFID, ¿se pude enlazar Un UART con un USART?

Tema del proyecto: Llave electrónica inalámbrica por enlace RFID


Descripción de proyecto

Por medio de tecnología RFID poder accesar o restringir el acceso a una casa habitación, para esto se necesita la llave, que será un tag o etiqueta, En la entrada debe estar el lector del tag, un RFID READER, también un PIC, que analizara el ID de la etiqueta y la comparara con la base de datos que este contenga, por último la cerradura eléctrica que abrirá la puerta en caso de que el código de la etiqueta coincida con algún código de seguridad de la EEPROM del PIC.
Ya adquirí las etiquetas y también el lector de las etiquetas, los dos funcionan a una frecuencia de 125 Khz, las etiquetas son pasivas, para aquellos que no sepan, esto significa que no necesitan baterías, ya que se alimentan por retrodisperción.

Las características de las etiquetas son:

• EM4001 ISO based RFID IC --------------------- Modelo
• 125kHz Carrier--------------------------------- Frecuencia a la que trabaja
• 2kbps ASK ------------------------------------ Velocidad y tipo de codificación
• Manchester encoding -------------------------- Protocolo de comunicación
• 32-bit unique ID---------------------------- Los Bits que transmite únicos para la llave
• 64-bit data stream [Header+ID+Data+Parity]------ Los Bits que transmite en total

Ahora el lector:
• 5V supply
• 125kHz read frequency
• EM4001 64-bit RFID tag compatible
• 9600bps TTL and RS232 output
• Magnetic stripe emulation output
• 100mm read range

Estos ya los tengo, he probado el circuito propuesto por Sparkfun, que es el distribuidor de este material, existe un led indicador que prende cuando detecta la tarjeta, y cada vez que acerco la etiqueta, el led prende. Hasta aquí voy!


MI DUDA…

Ahora viene el problema, la comunicación según la datasheet es que el lector envía una cadena de caracteres en ascci a 96000 baudios en protocolo UART

Esta es la forma de salida del lector en formato ascii.

Output Data Structure – ASCII

STX (02h) - DATA (10 ASCII) - CHECK SUM (2 ASCII) - CR - LF - ETX (03h)
[The 1byte (2 ASCII characters) Check sum is the “Exclusive OR” of the 5 hex bytes (10 ASCII) Data characters.]

Los micros que tengo solo tienen módulos USART, así que me gustaría saber si se puede establecer una comunicación eficaz de esta configurando de alguna forma el modulo USART, Tengo el Pic18F4550, ya he trabajado con el anteriormente programándolo en C18, aunque nunca use su modulo USART, grave error!:eek:


Gracias por adelantado, por tomarse en tiempo de ayudar… ;)
 
Definitivamente lo puedes hacer solo configuras tu puerto a9600baudrate, 8 data bits, 1 stop bit .
Asi que no deberas tener ningun problema, si acaso y en base a mi experiencia me costo un poco de trabajo entender el codigo ascii que recibes y es desconsertante que el dato que recibes no se parece en nada con el numero que viene marcado en el TAG que tienes.

Y para ser franco, lo primero que realize fue conectar mi lector de RFID al puerto serie de mi computadora y desde el Hyperterminal comenzar a entender por completo lo que manda el lector. una ves comprendido solo resta programar en C lo propio y listo.

Buen dia y hasta pronto.
 
primero que nada, Gracias mirarbolla por tu respuesta :)

Eso que comentas sobre la incongruencia de datos marcados en el tag y lo que recibes no lo sabia :eek: , entonces seguire tu consejo, conectare el Lector al puerto serie, disculpa la ignorancia pero podrías indicarme como hago la configuración del HyperTerminal para capturar los datos, ya que nunca he utilizado el programa, ya me emocione ja, y un también que configuracion me recomiendas para conectar la salida del lector a la entrada del puerto serie de la computadora, gracias por adelantado Mirarbolla. :)
 
Hola Santes, pues para conectar tu lector rfid a tu computadora es por medio del puerto rs-232 (si es que tienes alguno todavia) y la mejor manera es por medio de un chip max232, que es asi como lo hice yo. asi que con el datasheet del max232 veras que es de lo mas sencillo, en el hyperterminal solo hay que abrirlo y configurar el puerto correspondiente (com1, com2 o comX) con los 9600 ,8 bits , 1 stop bit y el control de flujo en OFF. de este modo cada que pases una tarjeta TAG por el lector veras en la pantalla todo el tren de datos que recibes.

Saludos y buen dia.
 
Hola miborbolla, que tal, he hecho los ajustes que me dijiste pero no consigo que me muestre un valor coherente, me manda por ejemplo : ?f^æ&¹¹y&.>ÊÖò despues paso un tag distinto y me envía: ?f^æ&iîöê*òöÊÖò, esto es normal, que pude significar, configure algo mal?. Gracias por adelantado :D
 
puede ser que tengas mal conectado el max232, fijate haciendo un corto a la salida y si en el hiperterminal puedes ver lo que escribes quiere decir que esta bien.
saludos
 
Hola que tal, una consulta voy experimentando con el modulo RFID RDM6300, al momento de la simulacion va todo bn, pero al momento de implementar la lectura de Tags saca cualquier caracter como 1µµ1µµ... en el LCD 2*16, probando con diferentes microcontroladores pic persiste el problema.
Como solucionaste ese problema????...gracias de ante mano.
 
Atrás
Arriba