Estoy escribiendo un controlador stm32 para el NXP MFRC522 ISO14443A PCD pero no puedo conseguir que hable con las tarjetas DESFIRE.
Mi código identifica correctamente tanto los PICCs Mifare Classic (4 bytes) como los NTAG203F (7 bytes) y puede leer correctamente el contenido de un NTAG203, así que estoy seguro de que la capa analógica es probablemente correcta y que tengo el protocolo anticolisión en cascada lo suficientemente cerca de lo correcto como para seleccionar una sola tarjeta. Estoy usando una de esas tarjetas MFRC522 de 5 dólares de eBay con una antena de PCB de unos 32x35mm cuadrados, 4 bucles.
Sin embargo, cuando lo presento con una tarjeta DESFIRE, no hay respuesta a REQA o WUPA. A falta de ATQA, el código no inicia el proceso anticolisión, simplemente piensa que no hay PICC presente y sigue haciendo REQA-polling a unos pocos Hz.
Mi Android puede hablar con las tarjetas DESFIRE (MF3ICD81) sin problemas, así que el problema debe estar en mi sistema. Del mismo modo, nuestros pases de autobús locales son DESFIRE y pueden ser detectados por un Android, pero no responden a REQA desde mi sistema.
¿Alguien sabe si hay alguna manera de tratar las tarjetas DESFIRE de forma diferente, por ejemplo, la configuración de la modulación o algo así (he puesto el bit "Forzar 100% ASK")? ¿Algún problema común?