El MFRC52202HN1 funciona como lector/grabador RFID de 13,56 MHz, implementando las capas física y de enlace de datos del protocolo de comunicación ISO/IEC 14443A entre un microcontrolador host y tarjetas o transpondedores sin contacto.
Funcionamiento del transmisor: El transmisor interno genera la frecuencia portadora de 13,56 MHz utilizando un oscilador de cristal externo de 27,12 MHz (conectado a los pines OSCIN/OSCOUT) con un PLL interno. La portadora se modula utilizando 100% ASK (modificación Tipo A) o varias profundidades de modulación según se configure en el registro TxControlReg. La portadora modulada se conduce a través de dos etapas de salida push-pull (TX1 y TX2) que se conectan a la antena a través de una red de adaptación LC. Cuando TX1 y TX2 están activados (bits TxControlReg 0 y 1 activados), las salidas conducen la antena en configuración push-pull para una máxima entrega de potencia. El transmisor admite velocidades de transferencia ISO/IEC 14443A: 106 kBd, 212 kBd, 424 kBd y 848 kBd.
Funcionamiento del receptor: La entrada del receptor (pin RX) capta la señal de subportadora de la modulación de carga de la tarjeta. La señal pasa por un amplificador de ganancia controlada y, a continuación, por los demoduladores de los canales I y Q mediante detección coherente con señales de referencia generadas internamente. Las señales demoduladas son digitalizadas por un ADC y procesadas por el correlador digital para la decodificación de bits. El receptor gestiona toda la cadena de recepción ISO/IEC 14443A, incluido el encuadre a nivel de bit, el protocolo anticolisión y la detección de colisiones. La detección de colisiones identifica las posiciones de bits en las que varias tarjetas transmiten valores diferentes simultáneamente.
Procesamiento de protocolos: El módulo digital (UART sin contacto) gestiona toda la pila de protocolos ISO/IEC 14443A: (1) transmisión de comandos REQA/WUPA para la activación de tarjetas, (2) secuencia anticolisión para seleccionar una tarjeta de entre varias tarjetas en el campo, (3) comando SELECT para confirmar la selección de tarjetas, (4) autenticación MIFARE (autenticación mutua CRYPTO1 mediante clave secreta), (5) operaciones de lectura/escritura con generación y verificación automática de CRC. El búfer FIFO de 64 bytes almacena los datos transmitidos y recibidos, lo que permite al host leer/escribir grandes bloques de datos sin requisitos de temporización estrictos.
Selección de interfaz host: El modo de interfaz se determina en el encendido por el estado del pin I2C (pin 1) y los pines D1-D7. Cuando el pin I2C está ALTO, se selecciona el interfaz I2C con la dirección esclava de 7 bits determinada por el pin EA y los pines D1-D5. Cuando el pin I2C está BAJO, se selecciona el modo SPI o UART en función de la configuración de los pines. En modo SPI, el dispositivo utiliza SPI estándar de 4 hilos (NSS, SCK, MOSI, MISO) con selección de chip NSS activa-baja. En modo UART, el dispositivo utiliza comunicación serie con velocidad de transmisión configurable.
Autenticación MIFARE: El MFRC52202HN1 implementa el cifrado de flujo CRYPTO1 para la autenticación MIFARE Classic. Durante la secuencia de autenticación, el lector envía un comando de autenticación con el sector y el tipo de clave (A o B), la tarjeta responde con un número aleatorio, y el lector y la tarjeta realizan una autenticación mutua de tres pasos. Tras una autenticación correcta, todas las operaciones de lectura/escritura posteriores en ese sector se cifran utilizando el cifrado CRYPTO1. Los pines MFIN y MFOUT permiten la conexión a un módulo de acceso seguro (SAM) para mejorar la gestión de claves.
Sistema de interrupciones: La patilla IRQ genera interrupciones para varios eventos, entre ellos: expiración del temporizador, fin de la transmisión, receptor FIFO lleno/medio lleno/roto, error CRC y detección de colisión. Los registros de activación de interrupciones y de estado permiten un control preciso de los eventos que activan las interrupciones, lo que posibilita modelos de programación basados en eventos que reducen la sobrecarga de sondeo del procesador host.