Sei sulla pagina 1di 5

LECTOR RFID PARA SMART CARD 125KHZ

Cristian Riquelme Solar


Resumen: En el presente informe se explica detalladamente la implementacin de un lector RFID de baja frecuencia en base al PSOC CY8C27443 basado en la nota de aplicacin AN52164 y componentes pasivo simples. Los datos adquiridos desde la tarjeta inteligente EM4100 son desplegados en la pantalla del HyperTerminal de Windows.

1. INTRODUCCIN
La tecnologa RFID (Radio Frequency Identification) consiste bsicamente en la identificacin mediante un sistema de radio frecuencia y al igual que un cdigo de barras, este puede identificar de forma nica y confiable un producto, una persona (tarjeta de personal), un animal (chip de implante subcutneo), etc. Este sistema tiene la ventaja de no necesitar un contacto directo ni visual con la etiqueta a identificar, solo basta con que este dentro del rea de cobertura de la antena de nuestro lector. Al tratarse de un sistema de radio frecuencia la tecnologa RFID se encuentra estandarizada por organismos como FCC, ISO, DIN, ANSI, entre otros, los cuales regulan en funcin del espectro de frecuencias en la cual este sistema puede trabajar, dependiendo de su operatividad, uso y lugar geogrfico donde se implemente. En este documento se explicara todo lo necesario para la implementacin de un lector RFID basado en un micro-Controlador PSOC, propsito para el cual nos basaremos en las caractersticas que nos entrega el fabricante de la tarjeta RFID TAG EM4100, sin antes entender ms a fondo como funciona esta tecnologa.

de la antena y, de esta manera, formar un circuito que trabaje a la frecuencia de transmisin del lector. La bobina y el condensador de la antena del TAG forman un circuito resonante sintonizado a la frecuencia de transmisin del lector [1].

Figura 1. Principio de funcionamiento.

3. CARACTERSTICAS TAG EM4100-A6

GENERALES

Frecuencia de operacin de 125 KHz (frecuencia portadora). Capacidad de 64 bit de memoria solo lectura. Modulacin ASK. Codificacin Manchester.

2. PRINCIPIO DE FUNCIONAMIENTO
En este documento se abordara el principio de funcionamiento para un Transpondedor pasivo de acople inductivo, de aqu en adelante llamado TAG. Un TAG acoplado inductivamente comprende un dispositivo electrnico de trasporte de datos, normalmente un microchip, y una gran zona destinada a una bobina que funciona como antena. Para este tipo de TAG es necesaria administracin de energa para el funcionamiento del microchip, la cual es facilitada por el lector. Con este fin, la bobina de la antena del lector genera un fuerte campo electromagntico de alta frecuencia. Una pequea parte del campo emitido induce la bobina o antena del TAG, el cual est a cierta distancia de la bobina del lector, generando un voltaje, el que es rectificado y sirve como la fuente de alimentacin para el dispositivo de transporte de datos (microchip) al interior del TAG. Un condensador est conectado en serie con la bobina del lector, la capacidad de este condensador se selecciona de manera que trabaje en resonancia con la inductancia

3.1. TASA DE RATE

TRANSFERENCIA

BIT

La tasa de transferencia de bits corresponde a 64 periodos de la frecuencia portadora, en otras palabras, para una frecuencia portadora de 125 KHz la tasa de transferencia o Bit Rate" es de aproximadamente 2kbps.

3.2. CODIFICACIN MANCHESTER

Figura 2. Cdigo Manchester. Este tipo de codificacin consiste en la representacin un valor binario mediante el cambio de estado, ya sea desde un estado lgico bajo a uno alto (flanco de subida) o desde un estado lgico alto a uno bajo (flanco de bajada). De esta manera se representa un 1 lgico mediante un flanco de subida justo en la

www.psoc-chile.es.tl

mitad del intervalo de bit . De la mismo forma, se representa un 0 lgico mediante un flanco de bajada en la mitad del intervalo de bit como se muestra en la Fig. 2.

4. DEMODULACION ASK
Se entiende por modulacin ASK a la modulacin por cambio de amplitud de onda para transmisin digital. En este caso, existe una seal ASK modulada sobre una frecuencia portadora de 125kHz. La frecuencia portadora es generada por un PWM a travs de pin 2 del puerto 0, el cual alimenta un circuito resonante serie compuesto por una inductancia, que acta al mismo tiempo como antena, y el condensador C4, circuito del cual se obtiene la siguiente seal en P1 .

3.3. ESTRUCTURA DE MEMORIA


La estructura de la memoria de dato para la tarjeta EM4100-A6 consta bsicamente de tres partes cabecera, datos y paridad (ver Fig. 3), suman un total 64 bits los cuales se transmiten de forma serial y no son modificables, es decir, vienen predefinidos de fabrica.

Figura 3. Mapa de memoria. En trminos de comunicaciones la se puede identificar como prembulo, el cual consta de 9 bits en 1 lgico, e indica que un dato est prximo a transmitirse. Luego de la cabecera se encuentran los datos propiamente tales, los cuales se subdividen en 10 nibbles ms un bit de paridad cada uno. Es decir desde D00 hasta D03 es un DATO y P0 su paridad. De esta manera se repite hasta el ltimo dato desde D09 a D93 ms su paridad P9. En la ltima fila se encuentra la paridad de columnas, siendo PC0 paridad de la columna D00 hasta D90. De la misma manera se repite hasta la columna D03 a D93 con su paridad en PC3. En esta ltima fila no existe paridad y el bit correspondiente a esto S0 es el bit de PARADA que siempre presenta un estado lgico bajo [2]. Por el formato de la memoria de esta tarjeta se garantiza que en ninguna parte de la rfaga serial se repetirn 9 bits en estado 1 lgico, cuando esto suceda solo podr indicar que se trata de la cabecera o prembulo. La rfaga completa se repetir en forma cclica hasta que se retire tarjeta del campo electromagntico al cual se somete.

Figura 4. Seal circuito resonante. De acuerdo la Fig. 5, recortamos la mitad de la seal mediante el diodo D1 y eliminamos, casi en su totalidad, la frecuencia portadora con C1. Luego, mediante un filtro Paso-Alto compuesto por R2 y C2 se eliminan frecuencias bajo la frecuencia calculada como: de corte

(1)

De la misma manera, mediante un filtro pasivo Paso-Bajo compuesto por R3 y C3 se atenan frecuencias sobre la siguiente frecuencia de corte:

(2)

www.psoc-chile.es.tl

Figura 5. Esquemtico lector RFID. A continuacin se desacopla la componente continua de la seal a travs de condensador C5, de esta manera solo rescatamos la oscilacin producida en la banda lateral de la seal modulada. A esta seal se le sumar un voltaje adecuado para ser reingresado al micro-controlador. Para esto ltimo se debe tener en cuenta la seal se ha filtrada anteriormente, por ende, se sebe cuidar que la seal de voltaje a sumar est libre de ruidos e interferencias. Esto se logra sumando la referencia anloga AGND a travs del pin 4 del puerto 2. Para esto se debe especificar en la tabla PinOut de Psoc Designer el propsito ExternalAGND para el pin en cuestin (en el caso del CY8C27443 es el nico pin con esta opcin habilitable). En este punto se est en condiciones de ingresar la seal al Psoc. A travs del pin 0 del puerto 1 se ingresa la seal a un PGA, el cual amplifica la seal con respecto a AGND. Esto ltimo nos permite amplificar la seal varias veces sin saturar el PGA, ya que la diferencia entre el voltaje de entrada y la referencia es cero y amplificar solo la componente alterna de la seal. A continuacin la salida del PGA es conectada a la entrada del filtro activo Paso-Bajo de dos polos tipo Butterworth, el cual es configurado mediante el Filter Design Wizard de Psoc Designer, con el fin de obtener una frecuencia de corte cercana a los 10 KHz, atenuando de esta manera vestigios de la frecuencia portadora de 125 KHz y filtrando la frecuencia que se desea de 2 KHz (Bit Rate). Figura 7. Fun. Transferencia histresis. Para el uso de este modulo se debe obtener la seal desde el exterior del micro-controlador, esto debido a que es necesario establecer una relacin entre las resistencias de realimentacin (R10) y de entrada al comparador (R9). En este caso, la seal fue tomada desde la salida del filtro Butterworth mediante el AnalogBus0 y a travs del pin 3 del puerto 0. Los valores para las resistencias de entrada (R5) y de realimentacin (R6) estn en funcin de los y , de acuerdo a las siguientes valores de ecuaciones:

(3)

(4) Los valores de y son determinados de manera tal que el mximo valor de ruido sea inferior a estos. Estableciendo LowLimit como VSS, RefValue como 0.5 ( = RefValue x ) y respecto de tenemos:

Figura 6. Respuesta filtro Butterworth. Por ltimo, se ingresa la seal, ya filtrada, al comparador con histresis CMPPRG. El uso de este modulo permitir reducir el ruido a la entrada del comparador y por ende evitar falsos cambios de estado a la salida del mismo. El diseo de un comparador con histresis sugiere establecer dos niveles de referencia, denominados tensin de disparo superior e inferior , la diferencia entre estos dos valores se denomina margen de tensin de histresis . La Fig. 7 muestra la curva de transferencia para este comparador [3].

(3)

(4)

La seal de salida del CMPPRG es ingresada al ComparatorBus 1. En este punto la seal ASK se encuentra lista para ser ingresada a cualquier bloque digital.

www.psoc-chile.es.tl

5. DECODIFICADOR MANCHESTER
La seal entregada por el ComparatorBus 1 es ingresada al decodificador Manchester a travs de un

buffer digital DigBuf. El decodificador Manchester entrega a su salida el dato serial en codificacin NRZ y su respectivo DataClock (ver Fig. 8). Para el correcto desempeo de este decodificador es necesario

Figura 8. Decodificador Manchester. establecer un clock correspondiente a 16 veces el bit rate de la seal a decodificar. En este caso la seal posee un bit rate de 2Kbps, por ende, se establece un clock de 32kHz para el contador Retardo [4]. El Dato es ledo en el pin 3 del puerto 1 cada vez que se produce una interrupcin por flanco de subida (DataClock) en pin 6 del puerto 1 (opcin habilitada para este pin por medio de la tabla Pinout de Psoc Designed). Para mayor informacin sobre este decodificador remtase a la nota de aplicacin AN2358. encontrar en los primeros 9 byte de header[], pero cabe la posibilidad que exista interferencia o desincronizacin en este punto. Por este motivo se buscara la cabecera en los primeros 66 bytes de header[], esto ltimo debido a que si la cabecera se encuentra despus de los primeros 66 bytes, el dato no se encontrar completo, ya que header[] solo tiene un largo de 130 bytes y el dato a recibir debe ocupar un largo de 64 bytes. Si la cabecera es encontrada dentro de los primeros 66 bytes de header[], se traspasaran los 64 bytes, correspondientes al dato esperado, al string DATO[], en el cual se realizan las correspondientes verificaciones de paridad tanto de fila como de columna, si el string DATO[] aprueba la verificacin, el dato es desplegado en la pantalla del Hyper-Terminal de Windows, a travs del UART implementado en el micro-controlador Psoc.

6. CDIGO C.
En trminos generales, un cdigo se compone de tres secciones identificables para cualquier cdigo en C: Declaracin de variables; abarca el estereotipado de funciones, declaracin de string y variables globales. La segunda seccin se inicia en la apertura del programa principal main(), en donde se inician todos los bloques a utilizar y en su defecto se configuran, se inicializan variables, hasta llegar a un bucle de espera o inactividad. Dentro de esta seccin se incluyen todas las funciones que se ocupan en el programa, pero que no se encuentran necesariamente dentro del bucle main(). Por ltimo se encuentra la o las rutinas de interrupcin. Particularmente en este programa se encuentra solo una rutina de interrupcin PSoC_GPIO_ISR(), en la cual se debe tener especial cuidado de no exceder, en su ejecucin, el tiempo correspondiente a un intervalo de bit, que en definitiva es la distancia en tiempo de cada flanco de subida del DataClock. De esta forma se asegurara de almacenar todo el dato sin pasar por alto ningn bit. De esta forma al producirse una interrupcin se almacenara el dato, ledo en el pin 3 del puerto 0, en un string llamado header[]. El largo de header[] es equivalente a ms del doble del string que se desea capturar de la tarjeta TAG (Se debe comprender que cada bit de memoria de la tarjeta TAG ocupara un byte en la memoria del Psoc). A continuacin, el siguiente paso es encontrar en el string header[] la cabecera o prembulo del dato recibido, el cual, en el mejor de los casos, se

7. CONFIGURACIN DE UART
El UART es configurado para establecer una comunicacin Half-Duplex, y transmitir un byte ms un bit de parada, sin bit de paridad, a 19200 bits por segundo. Los datos son enviados a travs del pin 1 del puerto 1 y recibidos por el pin 5 del mismo puerto. Usando el kit CY3210 kit board 1, se cuenta con un combersor serial TTL/RS232. El Clock asignado a este modulo es de 153.846,15 Hz, lo cual determina un tasa de transferencia de bit de 19200 bps de acuerdo la siguiente expresin; (5)

www.psoc-chile.es.tl

8. REFERENCIAS
[1] Klaus Finkenzeller, RFID Handbook, 2nd. ed., Wiley, pp.41-42, 2003. [2] Richard Xu, Jemmey Huang, Low Frequency RFID Card Reader, Cypress AN52164, Marzo 2009. [3] Antonio Pertence Junior, Amplificadores Operacionales y Filtros activos, 1a. ed.,McGraw-Hill, pp. 100-104, 1991. [4] Philippe Larcher, Comunication Manchester Decoder Using PSoc, Cypress AN2358, Mayo 2006. [5] Trabajo desarrollado en el curso arquitectura de microcontroladores II de Inacap

www.psoc-chile.es.tl

Potrebbero piacerti anche