UM11942
Capa de instrucción PN5190
Controlador de interfaz NFC
Manual de usuario
Controlador frontal NFC PN5190
Información del documento
Información | Contenido |
Palabras clave | PN5190, NFC, interfaz NFC, controlador, capa de instrucciones |
Abstracto | Este documento describe los comandos y respuestas de la capa de instrucción para trabajar desde un controlador host, para evaluar el funcionamiento del controlador frontend NFC NXP PN5190. PN5190 es un controlador frontal NFC de próxima generación. El alcance de este documento es describir los comandos de interfaz para trabajar con el controlador frontend NFC PN5190. Para obtener más información sobre el funcionamiento del controlador frontend NFC PN5190, consulte la hoja de datos y su información complementaria. |
Historial de revisiones
Rdo | Fecha | Descripción |
3.7 | 20230525 | • El tipo de documento y el título cambiaron del anexo de la hoja de datos del producto al manual del usuario. • Limpieza editorial • Términos editoriales actualizados para señales SPI • Se agregó el comando GET_CRC_USER_AREA en la Tabla 8 en la Sección 4.5.2.3 • Se actualizaron varios detalles diferenciados para PN5190B1 y PN5190B2 en la Sección 3.4.1. • Respuesta actualizada de la Sección 3.4.7 |
3.6 | 20230111 | Descripción mejorada de la respuesta de Verificación de integridad en la Sección 3.4.7 |
3.5 | 20221104 | Sección 4.5.4.6.3 “Evento”: añadido |
3.4 | 20220701 | • Se agregó el comando CONFIGURE_MULTIPLE_TESTBUS_DIGITAL en la Tabla 8 en la Sección 4.5.9.3 • Sección actualizada 4.5.9.2.2 |
3.3 | 20220329 | Descripción del hardware mejorada en la Sección 4.5.12.2.1 "Comando" y la Sección 4.5.12.2.2 "Respuesta" |
3.2 | 20210910 | Números de versión de firmware actualizados de 2.1 a 2.01 y 2.3 a 2.03 |
3.1 | 20210527 | Se agregó la descripción del comando RETRIEVE_RF_FELICA_EMD_DATA |
3 | 20210118 | Primera versión oficial lanzada |
Introducción
1.1 Introducción
Este documento describe la interfaz de host PN5190 y las API. La interfaz de host físico utilizada en la documentación es SPI. La característica física del SPI no se considera en el documento.
La separación de cuadros y el control de flujo son parte de este documento.
1.1.1 Ámbito de aplicación
El documento describe la capa lógica, el código de instrucción y las API que son relevantes para el cliente.
Comunicación con el anfitrión terminadaview
PN5190 tiene dos modos principales de operación para comunicarse con el controlador de host.
- La comunicación basada en HDLL se utiliza cuando se activa el dispositivo para ingresar:
a. Modo de descarga segura cifrada para actualizar su firmware - Comunicación basada en comando-respuesta TLV (dada como example).
2.1 Modo HDLL
El modo HDLL se utiliza para que el formato de intercambio de paquetes funcione con los siguientes modos operativos de IC:
- Modo de descarga segura de firmware (SFWU), consulte la Sección 3
2.1.1 Descripción de HDLL
HDLL es la capa de enlace desarrollada por NXP para garantizar una descarga de FW confiable.
Un mensaje HDLL está formado por un encabezado de 2 bytes, seguido de una trama, que comprende el código de operación y la carga útil del comando. Cada mensaje termina con un CRC de 16 bits, como se describe en la siguiente imagen:El encabezado HDLL contiene:
- Un poco. Lo que indica si este mensaje es el único o el último fragmento de un mensaje (fragmento = 0). O si, al menos, le sigue otro fragmento (fragmento = 1).
- La longitud de la carga útil codificada en 10 bits. Por lo tanto, la carga útil del marco HDLL puede llegar hasta 1023 bytes.
El orden de los bytes se ha definido como big-endian, es decir, Ms Byte primero.
El CRC16 cumple con el estándar X.25 (CRC-CCITT, ISO/IEC13239) con polinomio x^16 + x^12 + x^5 +1 y valor de precarga 0xFFFF.
Se calcula sobre todo el marco HDLL, es decir, Cabecera + Marco.
Sampimplementación del código C:
estático uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_ti;
uint16_t crc_nuevo;
uint16_t crc = 0xffffU;
para (I = 0; i < dwLength; i++)
{
crc_nuevo = (uint8_t)(crc >> 8) | (crc << 8 );
crc_new ^= p[i];
crc_new ^= (uint8_t)(crc_new & 0xff) >> 4;
crc_nuevo ^= crc_nuevo << 12;
crc_nuevo ^= (crc_nuevo & 0xff) << 5;
crc = crc_nuevo;
}
volver crc;
}
2.1.2 Mapeo de transporte sobre el SPI
Para cada aserción NTS, el primer byte es siempre un ENCABEZADO (byte de indicación de flujo), puede ser 0x7F/0xFF con respecto a la operación de escritura/lectura.
2.1.2.1 Secuencia de escritura desde el host (dirección DH => PN5190)2.1.2.2 Secuencia de lectura desde el host (Dirección PN5190 => DH)
2.1.3 Protocolo HDLL
HDLL es un protocolo de comando-respuesta. Todas las operaciones mencionadas anteriormente se activan mediante un comando específico y se validan en función de la respuesta.
Los comandos y las respuestas siguen la sintaxis de mensajes HDLL: el comando lo envía el host del dispositivo y la respuesta el PN5190. El código de operación indica el comando y el tipo de respuesta.
Comunicaciones basadas en HDLL, solo se utilizan cuando se activa el PN5190 para ingresar al modo "Descarga segura de firmware".
2.2 Modo TLV
TLV significa Tag Valor de longitud.
2.2.1 Definición de trama
Un marco SPI comienza con el flanco descendente de NTS y termina con el flanco ascendente de NTS. SPI es dúplex completo por definición física, pero PN5190 usa SPI en un modo semidúplex. El modo SPI está limitado a CPOL 0 y CPHA 0 con una velocidad de reloj máxima como se especifica en [2]. Cada marco SPI se compone de un encabezado de 1 byte y n bytes de cuerpo.
2.2.2 Indicación de caudalEl HOST siempre envía como primer byte el byte de indicación de flujo, ya sea que quiera escribir o leer datos del PN5190.
Si hay una solicitud de lectura y no hay datos disponibles, la respuesta contiene 0xFF.
Los datos después del byte de indicación de flujo son uno o varios mensajes.
Para cada aserción NTS, el primer byte es siempre un ENCABEZADO (byte de indicación de flujo), puede ser 0x7F/0xFF con respecto a la operación de escritura/lectura.
2.2.3 Tipo de mensaje
Un controlador de host se comunicará con PN5190 utilizando mensajes que se transportan dentro de tramas SPI.
Hay tres tipos de mensajes diferentes:
- Dominio
- Respuesta
- Evento
El diagrama de comunicación anterior muestra las direcciones permitidas para los diferentes tipos de mensajes de la siguiente manera:
- Mando y respuesta.
- Los comandos sólo se envían desde el controlador host a PN5190.
- Las respuestas y los eventos solo se envían desde PN5190 al controlador del host.
- Las respuestas a los comandos se sincronizan mediante el pin IRQ.
- El host puede enviar los comandos solo cuando la IRQ es baja.
- El anfitrión puede leer la respuesta/evento solo cuando la IRQ es alta.
2.2.3.1 Secuencias y reglas permitidasSecuencias permitidas de comando, respuesta y eventos
- Un comando siempre se reconoce mediante una respuesta, un evento o ambos.
- El controlador de host no puede enviar otro comando antes de no haber recibido una respuesta al comando anterior.
- Los eventos pueden enviarse de forma asincrónica en cualquier momento (NO entrelazados dentro de un par comando/respuesta).
- Los mensajes de EVENTO nunca se combinan con los mensajes de RESPUESTA dentro de un cuadro.
Nota: La disponibilidad de un mensaje (ya sea RESPUESTA o EVENTO) se señala con la IRQ subiendo desde baja. La IRQ permanece alta hasta que se lee toda la respuesta o marco de evento. Sólo después de que la señal IRQ sea baja, el host puede enviar el siguiente comando.
2.2.4 Formato del mensaje
Cada mensaje está codificado en una estructura TLV con carga útil de n bytes para cada mensaje excepto para el comando SWITCH_MODE_NORMAL.Cada TLV se compone de:
Tipo (T) => 1 byte
Bit[7] Tipo de mensaje
0: Mensaje de COMANDO o RESPUESTA
1: mensaje de EVENTO
Bit[6:0]: código de instrucción
Longitud (L) => 2 bytes (debe estar en formato big-endian)
Valor (V) => N bytes de valor/datos del TLV (Parámetros de comando/datos de respuesta) basados en el campo Longitud (formato big-endian)
2.2.4.1 Marco dividido
El mensaje COMMAND debe enviarse en una trama SPI.
Los mensajes de RESPUESTA y EVENTO se pueden leer en múltiples tramas SPI, por ejemplo para leer el byte de longitud.Los mensajes de RESPUESTA o EVENTO se pueden leer en un solo marco SPI pero retrasados por NO-CLOCK en el medio, por ejemplo, para leer el byte de longitud.
Modo de arranque operativo IC: modo de descarga segura de FW
3.1 Introducción
Parte del código de firmware PN5190 se almacena permanentemente en la ROM, mientras que el resto del código y los datos se almacenan en la memoria flash integrada. Los datos del usuario se almacenan en flash y están protegidos por mecanismos antidesgarro que aseguran la integridad y disponibilidad de los datos. Para proporcionar a los clientes de NXP funciones que cumplan con los estándares más recientes (EMVCo, NFC Forum, etc.), tanto el código como los datos de usuario en FLASH se pueden actualizar.
La autenticidad y la integridad del firmware encriptado están protegidas por una firma de clave asimétrica/simétrica y un mecanismo hash encadenado inverso. El primer comando DL_SEC_WRITE contiene el hash del segundo comando y está protegido por una firma RSA en la carga útil del primer marco. El firmware PN5190 usa la clave pública RSA para autenticar el primer comando. El hash encadenado en cada comando se utiliza para autenticar el comando posterior, para garantizar que terceros no accedan al código de firmware y a los datos.
Las cargas útiles de los comandos DL_SEC_WRITE se cifran con una clave AES-128. Después de la autenticación de cada comando, el contenido de la carga útil se descifra y se escribe en la memoria flash mediante el firmware PN5190.
Para el firmware de NXP, NXP es responsable de entregar nuevas actualizaciones de firmware seguras, junto con nuevos datos de usuario.
El procedimiento de actualización está equipado con un mecanismo para proteger la autenticidad, integridad y confidencialidad del código y los datos de NXP.
El esquema de paquetes de tramas basado en HDLL se utiliza para todos los comandos y respuestas del modo de actualización de firmware seguro.
La Sección 2.1 proporciona másview del esquema de paquetes de tramas HDLL utilizado.
Los circuitos integrados PN5190 admiten tanto la descarga de FW segura cifrada heredada como el protocolo de descarga de FW seguro cifrado asistido por hardware, según la variante utilizada.
Los dos tipos son:
- Protocolo de descarga de FW seguro heredado que funciona solo con la versión IC PN5190 B0/B1.
- Protocolo de descarga de firmware seguro asistido por criptografía de hardware que funciona solo con la versión IC PN5190B2 y que utiliza bloques criptográficos de hardware en el chip.
Las siguientes secciones explican los comandos y las respuestas del modo de descarga segura de firmware.
3.2 Cómo activar el modo "Descarga segura de firmware"
El siguiente diagrama y los pasos posteriores muestran cómo activar el modo de descarga de firmware seguro.Condición previa: PN5190 está en estado de funcionamiento.
Escenario principal:
- Condición de entrada donde se utiliza el pin DWL_REQ para ingresar al modo "Descarga segura de firmware".
a. El host del dispositivo coloca el pin DWL_REQ en alto (válido solo si la actualización del firmware es segura a través del pin DWL_REQ) O
b. El host del dispositivo realiza un reinicio completo para iniciar el PN5190 - Condición de entrada donde el pin DWL_REQ no se utiliza para ingresar al modo "Descarga de firmware segura" (descarga sin PIN).
a. El host del dispositivo realiza un reinicio completo para iniciar el PN5190
b. El host del dispositivo envía SWITCH_MODE_NORMAL (Sección 4.5.4.5) para ingresar al modo de aplicación normal.
C. Ahora, cuando IC está en modo normal de aplicación, el host del dispositivo envía SWITCH_MODE_DOWNLOAD (Sección 4.5.4.9) para ingresar al modo de descarga segura. - El host del dispositivo envía el comando DL_GET_VERSION (Sección 3.4.4), o DL_GET_DIE_ID (Sección 3.4.6), o DL_GET_SESSION_STATE (Sección 3.4.5).
- El host del dispositivo lee la versión actual de hardware y firmware, la sesión y el Die-id del dispositivo.
a. El host del dispositivo verifica el estado de la sesión si se completó la última descarga
b. El host del dispositivo aplica las reglas de verificación de versión para decidir si iniciar o salir de la descarga. - El host del dispositivo se carga desde un file el código binario del firmware que se descargará
- El host del dispositivo proporciona un primer comando DL_SEC_WRITE (Sección 3.4.8) que contiene:
a. La versión del nuevo firmware,
b. Un nonce de 16 bytes de valores arbitrarios utilizados para la ofuscación de la clave de cifrado
C. Un valor de resumen del siguiente fotograma,
d. La firma digital del propio marco. - El host del dispositivo carga la secuencia del protocolo de descarga segura en el PN5190 con los comandos DL_SEC_WRITE (Sección 3.4.8)
- Cuando se ha enviado el último comando DL_SEC_WRITE (Sección 3.4.8), el host del dispositivo ejecuta el comando DL_CHECK_INTEGRITY (Sección 3.4.7) para comprobar si las memorias se han escrito correctamente.
- El host del dispositivo lee la nueva versión del firmware y verifica el estado de la sesión si está cerrada para informar a la capa superior
- El host del dispositivo baja el pin DWL_REQ (si el pin DWL_REQ se usa para ingresar al modo de descarga)
- El host del dispositivo realiza un restablecimiento completo (alternando el pin VEN) en el dispositivo para reiniciar el PN5190
Condición posterior: el firmware está actualizado; se informa el nuevo número de versión del firmware.
3.3 Firma de firmware y control de versiones
En el modo de descarga de firmware PN5190, un mecanismo garantiza que solo se aceptará un firmware firmado y entregado por NXP para el firmware de NXP.
Lo siguiente es aplicable solo para el firmware NXP seguro cifrado.
Durante una sesión de descarga, se envía una nueva versión de firmware de 16 bits. Se compone de un número mayor y un número menor:
- Número mayor: 8 bits (MSB)
- Número menor: 8 bits (LSB)
El PN5190 comprueba si el nuevo número de versión principal es mayor o igual al actual. De lo contrario, se rechaza la descarga segura del firmware y la sesión se mantiene cerrada.
3.4 Comandos HDLL para descargas cifradas heredadas y asistidas por hardware criptográfico descarga cifrada
Esta sección proporciona información sobre los comandos y las respuestas que se usaron para ambos tipos de descargas para la descarga de firmware de NXP.
3.4.1 Códigos OP de comando HDLL
Nota: Los marcos de comando HDLL están alineados con 4 bytes. Los bytes de carga útil no utilizados se dejan en cero.
Tabla 1. Lista de códigos OP de comando HDLL
PN5190 B0/B1 (Descarga heredada) |
PN5190 B2 (Descarga asistida por criptografía) |
Alias de comando | Descripción |
0xF0 | 0xE5 | DL_RESET | Realiza un reinicio por software |
0xF1 | 0xE1 | DL_GET_VERSION | Devuelve los números de versión. |
0xF2 | 0xDB | DL_GET_SESSION_STATE | Devuelve el estado de la sesión actual. |
0xF4 | 0xDF | DL_GET_DIE_ID | Devuelve el ID del troquel |
0xE0 | 0xE7 | DL_CHECK_INTEGRIDAD | Comprueba y devuelve los CRC en las diferentes áreas, así como los indicadores de estado de aprobación/rechazo para cada una. |
0xC0 | 0x8C | DL_SEC_ESCRIBIR | Escribe x bytes en la memoria comenzando en la dirección absoluta y |
3.4.2 Códigos de operación de respuesta HDLL
Nota: Las tramas de respuesta HDLL están alineadas en 4 bytes. Los bytes de carga útil no utilizados se dejan en cero. Solo las respuestas DL_OK pueden contener valores de carga útil.
Tabla 2. Lista de códigos OP de respuesta HDLL
código de operación | Alias de respuesta | Descripción |
0x00 | DL_OK | comando pasado |
0x01 | DL_INVALID_ADDR | Dirección no permitida |
0x0B | DL_UNKNOW_CMD | Comando desconocido |
0x0C | DL_ABORTED_CMD | La secuencia de fragmentos es demasiado grande |
0x1E | DL_ADDR_RANGE_OFL_ERROR | Dirección fuera de rango |
0x1F | DL_BUFFER_OFL_ERROR | El búfer es demasiado pequeño |
0x20 | DL_MEM_BSY | Memoria ocupada |
0x21 | DL_SIGNATURE_ERROR | La firma no coincide |
0x24 | DL_FIRMWARE_VERSION_ERROR | Versión actual igual o superior |
0x28 | DL_PROTOCOL_ERROR | Error de protocolo |
0x2A | DL_SFWU_DEGRADADO | Corrupción de datos flash |
0x2D | PH_STATUS_DL_FIRST_CHUNK | Primer trozo recibido |
0x2E | PH_STATUS_DL_NEXT_CHUNK | Espera el siguiente fragmento |
0xC5 | PH_STATUS_INTERNAL_ERROR_5 | Longitud no coincidente |
3.4.3 Comando DL_RESET
Intercambio de cuadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF0 0x00 0x00 0x00 0x18 0x5B]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE5 0x00 0x00 0x00 0xBF 0xB9] [HDLL] <- [0x00 0x04 STAT 0x00 CRC16] El reinicio evita que el PN5190 envíe la respuesta DL_STATUS_OK. Por lo tanto, sólo se pueden recibir estados erróneos.
STAT es el estado de devolución.
3.4.4 Comando DL_GET_VERSION
Intercambio de cuadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU2 CRC16] La trama de carga útil de la respuesta GetVersion es:
Tabla 3. Respuesta al comando GetVersion
Campo | Byte | Descripción |
ESTADÍSTICA | 1 | Estado |
HW_V | 2 | Versión de hardware |
RO_V | 3 | codigo rom |
MODELO_ID | 4 | Modelo ID |
FM x V | 5-6 | Versión de firmware (utilizada para la descarga) |
RFU1-RFU2 | 7-8 | – |
Los valores esperados de diferentes campos de respuesta y su mapeo son los siguientes:
Tabla 4. Valores esperados de la respuesta del comando GetVersion
Tipo de IC | Versión HW (hexadecimal) | Versión ROM (hexadecimal) | ID del modelo (hexadecimal) | Versión FW (hexadecimal) |
PN5190 B0 | 0x51 | 0x02 | 0x00 | xx.yy |
PN5190 B1 | 0x52 | 0x02 | 0x00 | xx.yy |
PN5190 B2 | 0x53 | 0x03 | 0x00 | xx.yy |
3.4.5 Comando DL_GET_SESSION_STATE
Intercambio de cuadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF2 0x00 0x00 0x00 0xF5 0x33]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDB 0x00 0x00 0x00 0x31 0x0A] [HDLL] <- [0x00 0x04 STAT SSTA RFU CRC16] El marco de carga útil de la respuesta GetSession es:
Tabla 5. Respuesta al comando GetSession
Campo | Byte | Descripción |
ESTADÍSTICA | 1 | Estado |
SSTA | 2 | Estado de la sesión • 0x00: cerrado • 0x01: abierto • 0x02: bloqueado (ya no se permite la descarga) |
RFU | 3-4 |
3.4.6 Comando DL_GET_DIE_ID
Intercambio de cuadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDF 0x00 0x00 0x00 0xFB 0xFB] [HDLL] <- [0x00 0x14 STAT 0x00 0x00 0x00 ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8 ID9
ID10 ID11 ID12 ID13 ID14 ID15 CRC16] El marco de carga útil de la respuesta GetDieId es:
Tabla 6. Respuesta al comando GetDieId
Campo | Byte | Descripción |
ESTADÍSTICA | 1 | Estado |
RFU | 2-4 | |
MUERTO | 5-20 | ID del dado (16 bytes) |
3.4.7 Comando DL_CHECK_INTEGRITY
Intercambio de cuadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xE0 0x00 0x00 0x00 CRC16]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE7 0x00 0x00 0x00 0x52 0xD1] [HDLL] <- [0x00 0x20 STAT LEN_DATA LEN_CODE 0x00 [CRC_INFO] [CRC32] CRC16] El marco de carga útil de la respuesta CheckIntegrity es:
Tabla 7. Respuesta al comando CheckIntegrity
Campo | Byte | Valor / Descripción | |
ESTADÍSTICA | 1 | Estado | |
DATOS DE LEN | 2 | Número total de secciones de datos | |
CÓDIGO LEN | 3 | Número total de secciones de código | |
RFU | 4 | Reservado | |
[CRC_INFO] | 58 | 32 bits (little-endian). Si se establece un bit, el CRC de la sección correspondiente está bien; de lo contrario, no está bien. | |
Poco | Estado de integridad del área | ||
[31:28] | Reservado [3] | ||
[27:23] | Reservado [1] | ||
[22] | Reservado [3] | ||
[21:20] | Reservado [1] | ||
[19] | Área de configuración de RF (PN5190 B0/B1) [2] Reservado (PN5190 B2) [3] | ||
[18] | Área de configuración de protocolo (PN5190 B0/B1) [2] Área de configuración de RF (PN5190 B2) [2] | ||
[17] | Reservado (PN5190 B0/B1) [3] Área de configuración de usuario (PN5190 B2) [2] | ||
[16:6] | Reservado [3] | ||
[5:4] | Reservado para PN5190 B0/B1 [3] Reservado para PN5190 B2 [1] | ||
[3:0] | Reservado [1] | ||
[CRC32] | 9-136 | CRC32 de las 32 secciones. Cada CRC es de 4 bytes almacenados en formato little-endian. Los primeros 4 bytes de CRC son del bit CRC_INFO[31], los siguientes 4 bytes de CRC son del bit CRC_INFO[30] y así sucesivamente. |
- [1] Este bit debe ser 1 para que el PN5190 funcione correctamente (con funciones o descarga de firmware cifrado).
- [2] Este bit está establecido en 1 de forma predeterminada, pero la configuración modificada por el usuario invalida el CRC. Ningún efecto sobre la funcionalidad PN5190.
- [3] Este valor de bit, incluso si es 0, no es relevante. Este valor de bit se puede ignorar.
3.4.8 Comando DL_SEC_WRITE
El comando DL_SEC_WRITE se debe considerar en el contexto de una secuencia de comandos de escritura segura: la "descarga segura de firmware" encriptada (a menudo denominada eSFWu).
El comando de escritura segura primero abre la sesión de descarga y pasa la autenticación RSA. Los siguientes pasan direcciones y bytes encriptados para escribir en el Flash PN5190. Todos, excepto el último, contienen el hash de los siguientes, por lo tanto, informan que no son los últimos y unen criptográficamente los cuadros de secuencia.
Se pueden insertar otros comandos (excepto DL_RESET y DL_CHECK_INTEGRITY) entre los comandos de escritura seguros de una secuencia sin romperla.
3.4.8.1 Primer comando DL_SEC_WRITE
Un comando de escritura seguro es el primero si y solo si:
- La longitud del marco es de 312 bytes.
- No se ha recibido ningún comando de escritura segura desde el último reinicio.
- La firma incorporada es verificada exitosamente por el PN5190.
La respuesta al comando del primer cuadro sería la siguiente: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT es el estado de retorno.
Nota: Se debe escribir al menos un fragmento de datos durante un eSFWu, aunque los datos escritos solo tengan una longitud de un byte. Por tanto, el primer comando siempre contendrá el hash del siguiente comando, ya que habrá al menos dos comandos.
3.4.8.2 Comandos DL_SEC_WRITE intermedios
Un comando de escritura segura es "intermedio" si y sólo si:
- El código de operación es el descrito en la Sección 3.4.1 para el comando DL_SEC_WRITE.
- Ya se recibió y se verificó con éxito un primer comando de escritura segura antes
- No se ha producido ningún reinicio desde que se recibió el primer comando de escritura segura
- La longitud del marco es igual al tamaño de los datos + tamaño del encabezado + tamaño del hash: FLEN = TAMAÑO + 6 + 32
- El resumen de todo el cuadro es igual al valor hash recibido en el cuadro anterior
La respuesta al comando del primer cuadro sería la siguiente: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT es el estado de retorno.
3.4.8.3 Último comando DL_SEC_WRITE
Un comando de escritura segura es el último si y sólo si:
- El código de operación es el descrito en la Sección 3.4.1 para el comando DL_SEC_WRITE.
- Ya se recibió y se verificó con éxito un primer comando de escritura segura antes
- No se ha producido ningún reinicio desde que se recibió el primer comando de escritura segura
- La longitud del marco es igual al tamaño de los datos + tamaño del encabezado: FLEN = TAMAÑO + 6
- El resumen de todo el cuadro es igual al valor hash recibido en el cuadro anterior
La respuesta al comando del primer cuadro sería la siguiente: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT es el estado de retorno.
Modo de arranque operativo IC: modo de funcionamiento normal
4.1 Introducción
Generalmente, el PN5190 IC debe estar en modo de funcionamiento normal para obtener la funcionalidad NFC.
Cuando se inicia el PN5190 IC, siempre está esperando que se reciban comandos de un host para realizar la operación, a menos que los eventos generados dentro del PN5190 IC provoquen el inicio del PN5190 IC.
4.2 Lista de comandosview
Tabla 8. Lista de comandos PN5190
código de comando | Nombre del comando |
0x00 | ESCRIBIR_REGISTRAR |
0x01 | ESCRIBIR_REGISTER_OR_MASK |
0x02 | ESCRIBIR_REGISTRO_Y_MASCARILLA |
0x03 | ESCRIBIR_REGISTER_MULTIPLE |
0x04 | LEER_REGISTRAR |
0x05 | LEER_REGISTER_MULTIPLE |
0x06 | ESCRIBIR_E2PROM |
0x07 | LEER_E2PROM |
0x08 | TRANSMITIR_RF_DATOS |
0x09 | RECUPERAR_RF_DATOS |
0x0A | EXCHANGE_RF_DATA |
0x0B | MFC_AUTENTIFICAR |
0x0C | EPC_GEN2_INVENTARIO |
0x0D | CARGAR_RF_CONFIGURACIÓN |
0x0E | ACTUALIZAR_RF_CONFIGURACIÓN |
0x0F | GET_RF_CONFIGURACIÓN |
0x10 | RF_ON |
0x11 | RF_DESACTIVADO |
0x12 | CONFIGURAR TESTBUS_DIGITAL |
0x13 | CONFIGURE_TESTBUS_ANALOG |
0x14 | CTS_ENABLE |
0x15 | CTS_CONFIGURAR |
0x16 | CTS_RETRIEVE_LOG |
0x17-0x18 | RFU |
0x19 | hasta FW v2.01: RFU |
desde FW v2.03 en adelante: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1A | RECIBIR_RF_DATOS |
0x1B-0x1F | RFU |
0x20 | INTERRUPTOR_MODO_NORMAL |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | INTERRUPTOR_MODO_ESPERA |
0x23 | INTERRUPTOR_MODO_LPCD |
0x24 | RFU |
0x25 | CAMBIAR_MODO_DESCARGAR |
0x26 | GET_DIEID |
0x27 | GET_VERSION |
0x28 | RFU |
0x29 | hasta FW v2.05: RFU |
desde FW v2.06 en adelante: GET_CRC_USER_AREA | |
0x2A | hasta FW v2.03: RFU |
desde FW v2.05 en adelante: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | RFU |
0x40 | ANTENNA_SELF_TEST (No compatible) |
0x41 | PRBS_TEST |
0x42-0x4F | RFU |
4.3 Valores de estado de respuesta
Los siguientes son los valores de estado de respuesta, que se devuelven como parte de la respuesta de PN5190 después de que se pone en funcionamiento el comando.
Tabla 9. Valores de estado de respuesta de PN5190
Estado de respuesta | Valor de estado de respuesta | Descripción |
PN5190_ESTADO_ÉXITO | 0x00 | Indica que la operación se completó con éxito |
PN5190_STATUS_TIMEOUT | 0x01 | Indica que la operación del comando resultó en tiempo de espera |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | Indica que la operación del comando resultó en un error de integridad de datos de RF |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | Indica que la operación del comando resultó en un error de colisión de RF |
PN5190_STATUS_RFU1 | 0x04 | Reservado |
PN5190_STATUS_INVALID_COMMAND | 0x05 | Indica que el comando dado no es válido/no está implementado |
PN5190_STATUS_RFU2 | 0x06 | Reservado |
PN5190_STATUS_AUTH_ERROR | 0x07 | Indica que la autenticación MFC falló (permiso denegado) |
PN5190_STATUS_MEMORY_ERROR | 0x08 | Indica que la operación del comando resultó en un error de programación o error de memoria interna |
PN5190_STATUS_RFU4 | 0x09 | Reservado |
PN5190_STATUS_NO_RF_FIELD | 0x0A | Indica que no hay presencia de campo de RF interno o hay un error (aplicable solo si está en modo iniciador/lector) |
PN5190_STATUS_RFU5 | 0x0B | Reservado |
PN5190_STATUS_SYNTAX_ERROR | 0x0C | Indica que se recibe una longitud de trama de comando no válida |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | Indica que ocurrió un error de recurso interno |
PN5190_STATUS_RFU6 | 0x0E | Reservado |
PN5190_STATUS_RFU7 | 0x0F | Reservado |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | Indica que no hay ningún campo RF externo presente durante la ejecución del comando (Aplicable solo en modo tarjeta/objetivo) |
PN5190_STATUS_RX_TIMEOUT | 0x11 | Indica que los datos no se reciben después de que se inicia RFExchange y se agota el tiempo de RX. |
PN5190_STATUS_USER_CANCELLED | 0x12 | Indica que se abortó el comando actual en curso |
PN5190_STATUS_PREVENT_STANDBY | 0x13 | Indica que se impide que PN5190 entre en modo de espera |
PN5190_STATUS_RFU9 | 0x14 | Reservado |
PN5190_STATUS_CLOCK_ERROR | 0x15 | Indica que reloj al CLIF no arrancó |
PN5190_STATUS_RFU10 | 0x16 | Reservado |
PN5190_STATUS_PRBS_ERROR | 0x17 | Indica que el comando PRBS devolvió un error |
PN5190_STATUS_INSTR_ERROR | 0x18 | Indica que la operación del comando falló (puede incluir un error en los parámetros de la instrucción, un error de sintaxis, un error en la operación en sí, no se cumplen los requisitos previos para la instrucción, etc.) |
PN5190_STATUS_ACCESS_DENIED | 0x19 | Indica que el acceso a la memoria interna está denegado |
PN5190_STATUS_TX_FAILURE | 0x1A | Indica que TX sobre RF ha fallado |
PN5190_STATUS_NO_ANTENA | 0x1B | Indica que no hay antena conectada/presente |
PN5190_STATUS_TXLDO_ERROR | 0x1C | Indica que hay un error en TXLDO cuando el VUP no está disponible y RF está encendido. |
PN5190_ESTADO_RFCFG_NO_APLICADO | 0x1D | Indica que la configuración de RF no se carga cuando se enciende RF |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | hasta FW 2.01: no esperado |
desde FW 2.03 en adelante: Indica que durante el intercambio con LOG ENABLE BIT configurado en el registro FeliCa EMD, se observó un error FeliCa EMD |
||
PN5190_STATUS_INTERNAL_ERROR | 0x7F | Indica que la operación de NVM falló |
PN5190_STATUS_SUCCSES_CHAINING | 0xAF | Indica que, además, hay datos pendientes de leer |
4.4 Eventos finalizadosview
Hay dos formas en que los eventos se notifican al host.
4.4.1 Eventos normales sobre pin IRQ
Estos eventos son categorías de la siguiente manera:
- Siempre habilitado: el host siempre recibe una notificación
- Controlado por el host: se notifica al host si el bit de habilitación de evento respectivo está establecido en el registro (EVENT_ENABLE (01h)).
Las interrupciones de bajo nivel de las IP periféricas, incluida la CLIF, se manejarán por completo dentro del firmware y el host solo será notificado de los eventos enumerados en la sección de eventos.
El firmware implementa dos registros de eventos como registros RAM que se pueden escribir/leer usando los comandos de la Sección 4.5.1.1/Sección 4.5.1.5.
El registro EVENT_ENABLE (0x01) => Habilitar notificaciones específicas/de todos los eventos.
El registro EVENT_STATUS (0x02) => Parte de la carga útil del mensaje de evento.
Los eventos serán borrados por el host una vez que el host lea el mensaje del evento.
Los eventos son de naturaleza asíncrona y se notifican al host, si están habilitados dentro del registro EVENT_ENABLE.
A continuación se muestra la lista de eventos que estarán disponibles para el host como parte del mensaje de evento.
Tabla 10. Eventos PN5190 (contenido de EVENT_STATUS)
Bit – Rango | Campo [1] | Siempre Habilitado (S/N) | |
31 | 12 | RFU | NA |
11 | 11 | CTS_EVENTO [2] | N |
10 | 10 | IDLE_EVENT | Y |
9 | 9 | LPCD_CALIBRATION_DONE_EVENT | Y |
8 | 8 | LPCD_EVENT | Y |
7 | 7 | AUTOCOLL_EVENT | Y |
6 | 6 | TIMER0_EVENT | N |
5 | 5 | TX_OVERCURRENT_EVENT | N |
4 | 4 | RFON_DET_EVENT [2] | N |
3 | 3 | RFOFF_DET_EVENT [2] | N |
2 | 2 | STANDBY_PREV_EVENT | Y |
1 | 1 | GENERAL_ERROR_EVENT | Y |
0 | 0 | BOOT_EVENT | Y |
- Tenga en cuenta que no se superan dos eventos excepto en caso de errores. En caso de errores durante la operación, se establecerán eventos funcionales (por ejemplo, BOOT_EVENT, AUTOCALL_EVENT, etc.) y GENERAL_ERROR_EVENT.
- Este evento se desactivará automáticamente después de que se publique en el anfitrión. El anfitrión debe habilitar nuevamente estos eventos si desea que se le notifiquen.
4.4.1.1 Formatos de mensajes de eventos
El formato del mensaje de evento difiere según las ocurrencias de un evento y el estado diferente del PN5190.
El anfitrión debe leer tag (T) y la longitud del mensaje (L) y luego leer el número correspondiente de bytes como valor (V) de los eventos.
En general, el mensaje de evento (consulte la Figura 12) contiene EVENT_STATUS como se define en la Tabla 11 y los datos del evento corresponden al bit de evento respectivo establecido en EVENT_STATUS.
Nota:
Para algunos eventos, la carga útil no existe. Por ejemplo, si se activa TIMER0_EVENT, solo se proporciona EVENT_STATUS como parte del mensaje de evento.
La Tabla 11 también detalla si los datos del evento están presentes para el evento correspondiente en el mensaje de evento.GENERAL_ERROR_EVENT también puede ocurrir con otros eventos.
En este escenario, el mensaje de evento (consulte la Figura 13) contiene EVENT_STATUS como se define en la Tabla 11 y GENERAL_ERROR_STATUS_DATA como se define en la Tabla 14 y luego los datos del evento corresponden al bit de evento respectivo establecido en EVENT_STATUS como se define en la Tabla 11.Nota:
Solo después de BOOT_EVENT o después de POR, STANDBY, ULPCD, el host podrá trabajar en el modo de operación normal emitiendo los comandos enumerados anteriormente.
En caso de cancelar un comando en ejecución existente, solo después de IDLE_EVENT, el host podrá trabajar en el modo de operación normal emitiendo los comandos enumerados anteriormente.
4.4.1.2 Diferentes definiciones de estado de EVENTO
4.4.1.2.1 Definiciones de bits para EVENT_STATUS
Tabla 11. Definiciones para bits EVENT_STATUS
Bit (A – Desde) | Evento | Descripción | Datos del evento del evento correspondiente. (si hay alguna) |
|
31 | 12 | RFU | Reservado | |
11 | 11 | CTS_EVENTO | Este bit se establece cuando se genera un evento CTS. | Tabla 86 |
10 | 10 | IDLE_EVENT | Este bit se establece cuando el comando en curso se cancela debido a la emisión del comando SWITCH_MODE_NORMAL. | Sin datos de eventos |
9 | 9 | LPCD_CALIBRATION_DONE_ EVENTO |
Este bit se establece cuando se genera el evento de calibración LPCD. | Tabla 16 |
8 | 8 | LPCD_EVENT | Este bit se establece cuando se genera el evento LPCD. | Tabla 15 |
7 | 7 | AUTOCOLL_EVENT | Este bit se establece cuando se completa la operación AUTOCOLL. | Tabla 52 |
6 | 6 | TIMER0_EVENT | Este bit se establece cuando ocurre el evento TIMER0. | Sin datos de eventos |
5 | 5 | TX_OVERCURRENT_ERROR_ EVENTO |
Este bit se establece cuando la corriente en el controlador TX es mayor que el umbral definido en la EEPROM. En esta condición, el campo se apaga automáticamente antes de la notificación al host. Consulte la Sección 4.4.2.2. | Sin datos de eventos |
4 | 4 | RFON_DET_EVENT | Este bit se establece cuando se detecta el campo de RF externo. | Sin datos de eventos |
3 | 3 | RFOFF_DET_EVENT | Este bit se establece cuando desaparece el campo RF externo ya existente. | Sin datos de eventos |
2 | 2 | STANDBY_PREV_EVENT | Este bit se establece cuando se impide el modo de espera debido a que existen condiciones de prevención. | Tabla 13 |
1 | 1 | GENERAL_ERROR_EVENT | Este bit se establece cuando existen condiciones generales de error. | Tabla 14 |
0 | 0 | BOOT_EVENT | Este bit se establece cuando PN5190 se inicia con POR/Standby | Tabla 12 |
4.4.1.2.2 Definiciones de bits para BOOT_STATUS_DATA
Tabla 12. Definiciones para bits BOOT_STATUS_DATA
poco a | Bit de | Estado de arranque | Razón de arranque debido a |
31 | 27 | RFU | Reservado |
26 | 26 | ULP_ESPERA | Motivo de inicio debido a la salida de ULP_STANDBY. |
25 | 23 | RFU | Reservado |
22 | 22 | BOOT_RX_ULPDET | RX ULPDET provocó el arranque en modo ULP-Standby |
21 | 21 | RFU | Reservado |
20 | 20 | BOOT_SPI | Motivo de arranque debido a que la señal SPI_NTS está baja |
19 | 17 | RFU | Reservado |
16 | 16 | BOOT_GPIO3 | Motivo de arranque debido a la transición de GPIO3 de bajo a alto. |
15 | 15 | BOOT_GPIO2 | Motivo de arranque debido a la transición de GPIO2 de bajo a alto. |
14 | 14 | BOOT_GPIO1 | Motivo de arranque debido a la transición de GPIO1 de bajo a alto. |
13 | 13 | BOOT_GPIO0 | Motivo de arranque debido a la transición de GPIO0 de bajo a alto. |
12 | 12 | BOOT_LPDET | Motivo de arranque debido a la presencia de un campo RF externo durante STANDBY/SUSPEND |
11 | 11 | RFU | Reservado |
10 | 8 | RFU | Reservado |
7 | 7 | BOOT_SOFT_RESET | Motivo de arranque debido a un restablecimiento parcial de IC |
6 | 6 | BOOT_VDDIO_LOSS | Motivo de arranque debido a la pérdida de VDDIO. Consulte la Sección 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | Motivo de inicio si se ingresó STANDBY con VDDIO LOSS. Consulte la Sección 4.4.2.3 |
4 | 4 | BOOT_WUC | Motivo de arranque debido a que transcurrió el contador de activación durante cualquiera de las operaciones de ESPERA. |
3 | 3 | BOOT_TEMP | El motivo de arranque debido a que la temperatura del IC supera el límite de umbral configurado. Consulte la Sección 4.4.2.1 |
2 | 2 | BOOT_WDG | Razón de arranque debido al restablecimiento del perro guardián |
1 | 1 | RFU | Reservado |
0 | 0 | BOOT_POR | Razón de arranque debido al reinicio de encendido |
4.4.1.2.3 Definiciones de bits para STANDBY_PREV_STATUS_DATA
Tabla 13. Definiciones para bits STANDBY_PREV_STATUS_DATA
poco a | Bit de | Prevención en espera | Standby impedido debido a |
31 | 26 | RFU | RESERVADO |
25 | 25 | RFU | RESERVADO |
24 | 24 | ANTERIOR_TEMP | La temperatura de funcionamiento de los circuitos integrados está fuera del umbral |
23 | 23 | RFU | RESERVADO |
22 | 22 | ANTERIOR_HOSTCOMM | Comunicación de interfaz de host |
21 | 21 | ANTERIOR_SPI | Señal SPI_NTS baja |
20 | 18 | RFU | RESERVADO |
17 | 17 | ANTERIOR_GPIO3 | Señal GPIO3 en transición de baja a alta |
16 | 16 | ANTERIOR_GPIO2 | Señal GPIO2 en transición de baja a alta |
15 | 15 | ANTERIOR_GPIO1 | Señal GPIO1 en transición de baja a alta |
14 | 14 | ANTERIOR_GPIO0 | Señal GPIO0 en transición de baja a alta |
13 | 13 | ANTERIOR_WUC | Contador de despertador transcurrido |
12 | 12 | ANTERIOR_LPDET | Detección de baja potencia. Ocurre cuando se detecta una señal de RF externa en el proceso de pasar al modo de espera. |
11 | 11 | PREV_RX_ULPDET | Detección de potencia ultrabaja RX. Ocurre cuando se detecta una señal de RF en el proceso de ir a ULP_STANDBY. |
10 | 10 | RFU | RESERVADO |
9 | 5 | RFU | RESERVADO |
4 | 4 | RFU | RESERVADO |
3 | 3 | RFU | RESERVADO |
2 | 2 | RFU | RESERVADO |
1 | 1 | RFU | RESERVADO |
0 | 0 | RFU | RESERVADO |
4.4.1.2.4 Definiciones de bits para GENERAL_ERROR_STATUS_DATA
Tabla 14. Definiciones para bits GENERAL_ERROR_STATUS_DATA
poco a | Un poco de | Estado de error | Descripción |
31 | 6 | RFU | Reservado |
5 | 5 | XTAL_START_ERROR | El inicio de XTAL falló durante el arranque |
4 | 4 | SYS_TRIM_RECOVERY_ERROR | Ocurrió un error de memoria de recorte del sistema interno, pero la recuperación falló. El sistema funciona en modo degradado. |
3 | 3 | SYS_TRIM_RECOVERY_SUCCESS | Se produjo un error de memoria de recorte del sistema interno y la recuperación se realizó correctamente. El host debe reiniciar el PN5190 para que la recuperación surta efecto. |
2 | 2 | TXLDO_ERROR | Error TXLDO |
1 | 1 | ERROR_RELOJ | Error de reloj |
0 | 0 | GPADC_ERROR | error ADC |
4.4.1.2.5 Definiciones de bits para LPCD_STATUS_DATA
Tabla 15. Definiciones para bytes LPCD_STATUS_DATA
poco a | Bit de | Aplicabilidad de los bits de estado según la operación subyacente de LPCD o ULPCD | La descripción del bit correspondiente se establece en el byte de estado. | ||
CDLP | ULPCD | ||||
31 | 7 | RFU | Reservado | ||
6 | 6 | Abortar_HIF | Y | N | Abortado debido a la actividad HIF |
5 | 5 | Error CLKDET | N | Y | Anulado debido a que ocurrió un error CLKDET |
4 | 4 | Tiempo de espera XTAL | N | Y | Anulado debido a que se produjo un tiempo de espera XTAL |
3 | 3 | VDDPA LDO Sobrecorriente | N | Y | Abortado debido a que se produjo una sobrecorriente de LDO de VDDPA |
2 | 2 | Campo de RF externo | Y | Y | Cancelado debido a un campo de RF externo |
1 | 1 | Abortar GPIO3 | N | Y | Anulado debido al cambio de nivel de GPIO3 |
0 | 0 | Tarjeta detectada | Y | Y | Se detecta la tarjeta |
4.4.1.2.6 Definiciones de bits para LPCD_CALIBRATION_DONE Datos de estado
Tabla 16. Definiciones de bytes de datos de estado LPCD_CALIBRATION_DONE para ULPCD
poco a | Bit de | Estado de LPCD_CALIBRATION DONE evento | La descripción del bit correspondiente se establece en el byte de estado. |
31 | 11 | Reservado | |
10 | 0 | Valor de referencia de la calibración ULPCD | El valor RSSI medido durante la calibración ULPCD que se utiliza como referencia durante ULPCD |
Tabla 17. Definiciones de bytes de datos de estado LPCD_CALIBRATION_DONE para LPCD
poco a | Bit de | Aplicabilidad de los bits de estado según la operación subyacente de LPCD o ULPCD | La descripción del bit correspondiente se establece en el byte de estado. | ||
2 | 2 | Campo de RF externo | Y | Y | Cancelado debido a un campo de RF externo |
1 | 1 | Abortar GPIO3 | N | Y | Anulado debido al cambio de nivel de GPIO3 |
0 | 0 | Tarjeta detectada | Y | Y | Se detecta la tarjeta |
4.4.2 Manejo de diferentes escenarios de arranque
El IC PN5190 maneja diferentes condiciones de error relacionadas con los parámetros del IC como se muestra a continuación.
4.4.2.1 Manejo del escenario de sobretemperatura cuando el PN5190 está en funcionamiento
Cada vez que la temperatura interna del PN5190 IC alcanza el valor umbral configurado en el campo EEPROM TEMP_WARNING [2], el IC entra en modo de espera. Y, en consecuencia, si el campo de EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] está configurado para generar una notificación al host, entonces GPIO0 se elevará para notificar el sobrecalentamiento del IC.
A medida que la temperatura del IC cae por debajo del valor umbral configurado en el campo EEPROM TEMP_WARNING [2], el IC se iniciará con BOOT_EVENT como en la Tabla 11 y el bit de estado de inicio BOOT_TEMP se establecerá como en la Tabla 12 y GPIO0 se reducirá.
4.4.2.2 Manejo de sobrecorriente
Si el IC PN5190 detecta la condición de sobrecorriente, el IC desconecta la alimentación de RF y envía TX_OVERCURRENT_ERROR_EVENT como en la Tabla 11.
La duración de la condición de sobrecorriente se puede controlar modificando el campo EEPROM TXLDO_CONFIG [2].
Para obtener información sobre IC por encima del umbral de corriente, consulte el documento [2].
Nota:
Si hay otros eventos o respuestas pendientes, se enviarán al host.
4.4.2.3 Pérdida de VDDIO durante el funcionamiento
Si el IC PN5190 detecta que no hay VDDIO (pérdida de VDDIO), el IC entra en modo de espera.
El IC arranca solo cuando VDDIO está disponible, con BOOT_EVENT como en la Tabla 11 y el bit de estado de inicio BOOT_VDDIO_START está configurado como en la Tabla 12.
Para obtener información sobre las características estáticas del IC PN5190, consulte el documento [2].
4.4.3 Manejo de escenarios de aborto
El PN5190 IC admite la cancelación de los comandos de ejecución actuales y el comportamiento del PN5190 IC, cuando dicho comando de cancelación, como la Sección 4.5.4.5.2, se envía al PN5190 IC es como se muestra en la Tabla 18.
Nota:
Cuando PN5190 IC está en modo ULPCD y ULP-Standby, no se puede cancelar enviando una Sección 4.5.4.5.2 O iniciando una transacción SPI (al bajar la señal SPI_NTS).
Tabla 18. Respuesta de evento esperada cuando diferentes comandos terminaron con la Sección 4.5.4.5.2
Comandos | Comportamiento cuando se envía el comando Switch Mode Normal |
Todos los comandos donde no se ingresa baja potencia | EVENT_STAUS está establecido en "IDLE_EVENT" |
Cambiar modo LPCD | EVENT_STATUS se establece en "LPCD_EVENT" con "LPCD_ STATUS_DATA" que indica los bits de estado como "Abort_HIF" |
Cambiar modo de espera | EVENT_STAUS se establece en "BOOT_EVENT" con "BOOT_ STATUS_DATA" que indica los bits "BOOT_SPI" |
Switch Mode Autocoll (sin modo autónomo, modo autónomo con modo de espera y modo autónomo sin modo de espera) | EVENT_STAUS está configurado en "AUTOCOLL_EVENT" con bits STATUS_DATA que indican que el comando fue cancelado por el usuario. |
4.5 Detalles de las instrucciones de funcionamiento en modo normal
4.5.1 Manipulación de registros
Las instrucciones de esta sección se utilizan para acceder a los registros lógicos de PN5190.
4.5.1.1 ESCRIBIR_REGISTRAR
Esta instrucción se utiliza para escribir un valor de 32 bits (little-endian) en un registro lógico.
4.5.1.1.1 condiciones
La dirección del registro debe existir y el registro debe tener el atributo READ-WRITE o WRITE-ONLY.
4.5.1.1.2 Comando
Tabla 19. Valor del comando WRITE_REGISTER Escribe un valor de 32 bits en un registro.
Campo de carga útil | Longitud | Valor / Descripción |
Dirección de registro | 1 bytes | Dirección del registro. |
Tabla 19. Valor del comando WRITE_REGISTER...continuación
Escriba un valor de 32 bits en un registro.
Campo de carga útil | Longitud | Valor / Descripción |
Valor | 4 bytes | Valor de registro de 32 bits que se debe escribir. (Little-endian) |
4.5.1.1.3 Respuesta
Tabla 20. Valor de respuesta WRITE_REGISTER
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.1.4 Evento
No hay eventos para este comando.
4.5.1.2 ESCRIBIR_REGISTRO_O_MASCARILLA
Esta instrucción se utiliza para modificar el contenido del registro mediante una operación lógica OR. Se lee el contenido del registro y se realiza una operación lógica OR con la máscara proporcionada. El contenido modificado se vuelve a escribir en el registro.
4.5.1.2.1 condiciones
La dirección del registro debe existir y el registro debe tener el atributo LEER-ESCRIBIR.
4.5.1.2.2 Comando
Tabla 21. Valor del comando WRITE_REGISTER_OR_MASK Realice una operación lógica OR en un registro utilizando la máscara proporcionada.
Campo de carga útil | Longitud | Valor/descripción |
Dirección de registro | 1 bytes | Dirección del registro. |
Mascarilla | 4 bytes | Máscara de bits utilizada como operando para la operación lógica OR. (Little-endian) |
4.5.1.2.3 Respuesta
Tabla 22. Valor de respuesta WRITE_REGISTER_OR_MASK
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.2.4 Evento
No hay eventos para este comando.
4.5.1.3 ESCRIBIR_REGISTRO_Y_MÁSCARA
Esta instrucción se utiliza para modificar el contenido del registro mediante una operación lógica AND. Se lee el contenido del registro y se realiza una operación AND lógica con la máscara proporcionada. El contenido modificado se vuelve a escribir en el registro.
4.5.1.3.1 condiciones
La dirección del registro debe existir y el registro debe tener el atributo LEER-ESCRIBIR.
4.5.1.3.2 Comando
Tabla 23. Valor del comando WRITE_REGISTER_AND_MASK Realice una operación AND lógica en un registro utilizando la máscara proporcionada.
Campo de carga útil | Longitud | Valor/descripción |
Dirección de registro | 1 bytes | Dirección del registro. |
Mascarilla | 4 bytes | Máscara de bits utilizada como operando para la operación lógica AND. (Little-endian) |
4.5.1.3.3 Respuesta
Tabla 24. Valor de respuesta WRITE_REGISTER_AND_MASK
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.3.4 Evento
No hay eventos para este comando.
4.5.1.4 ESCRIBIR_REGISTRO_MÚLTIPLES
La funcionalidad de esta instrucción es similar a la Sección 4.5.1.1, Sección 4.5.1.2, Sección 4.5.1.3, con la posibilidad de combinarlas. De hecho, toma una matriz de conjuntos de valores de tipo de registro y realiza la acción apropiada. El tipo refleja la acción que es escribir registro, operación lógica OR en un registro u operación lógica AND en un registro.
4.5.1.4.1 condiciones
Debe existir la dirección lógica respectiva del registro dentro de un conjunto.
El atributo de acceso al registro debe permitir la ejecución de la acción requerida (tipo):
- Acción de escritura (0x01): atributo LECTURA-ESCRITURA o SÓLO ESCRITURA
- O acción de máscara (0x02): atributo LEER-ESCRIBIR
- Acción de máscara AND (0x03): atributo LEER-ESCRIBIR
El tamaño de la matriz 'Set' debe estar en el rango de 1 a 43, inclusive.
El campo 'Tipo' debe estar en el rango de 1 a 3, inclusive
4.5.1.4.2 Comando
Tabla 25. Valor del comando WRITE_REGISTER_MULTIPLE Realice una operación de escritura de registro utilizando un conjunto de pares Registro-Valor.
Campo de carga útil | Longitud | Valor/descripción | |||
Establecer [1…n] | 6 bytes | Dirección de registro | 1 bytes | Dirección lógica del registro. | |
Tipo | 1 bytes | 0x1 | Escribir registro | ||
0x2 | Escribir Registro O Máscara | ||||
0x3 | Escribir Registro Y Máscara | ||||
Valor | 4 bytes | 32 Valor de registro de bits que debe escribirse o máscara de bits utilizada para la operación lógica. (Little-endian) |
Nota: En caso de una excepción, la operación no se revierte, es decir, los registros que se han modificado hasta que se produce la excepción permanecen en estado modificado. El host debe tomar las medidas adecuadas para recuperar un estado definido.
4.5.1.4.3 Respuesta
Tabla 26. Valor de respuesta WRITE_REGISTER_MULTIPLE
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.4.4 Evento
No hay eventos para este comando.
4.5.1.5 LEER_REGISTRO
Esta instrucción se utiliza para leer el contenido de un registro lógico. El contenido está presente en la respuesta, como valor de 4 bytes en formato little-endian.
4.5.1.5.1 condiciones
La dirección del registro lógico debe existir. El atributo de acceso del registro debe ser LECTURA-ESCRITURA o SOLO LECTURA.
4.5.1.5.2 Comando
Tabla 27. Valor del comando READ_REGISTER
Leer el contenido de un registro.
Campo de carga útil | Longitud | Valor / Descripción |
Dirección de registro | 1 bytes | Dirección del registro lógico |
4.5.1.5.3 Respuesta
Tabla 28. Valor de respuesta READ_REGISTER
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) | ||
Valor de registro | 4 bytes | Valor de registro de 32 bits que se ha leído. (Little-endian) |
4.5.1.5.4 Evento
No hay eventos para este comando.
4.5.1.6 LEER_REGISTRO_MULTIPLE
Esta instrucción se utiliza para leer varios registros lógicos a la vez. El resultado (contenido de cada registro) se proporciona en la respuesta a la instrucción. La dirección del registro en sí no está incluida en la respuesta. El orden de los contenidos de registro dentro de la respuesta corresponde al orden de las direcciones de registro dentro de la instrucción.
4.5.1.6.1 condiciones
Todas las direcciones de registro dentro de la instrucción deben existir. El atributo de acceso para cada registro debe ser LECTURA-ESCRITURA o SÓLO LECTURA. El tamaño de la matriz 'Dirección de registro' debe estar en el rango de 1 a 18, inclusive.
4.5.1.6.2 Comando
Tabla 29. Valor del comando READ_REGISTER_MULTIPLE Realizar una operación de lectura de registro en un conjunto de registros.
Campo de carga útil | Longitud | Valor / Descripción |
Dirección de registro[1…n] | 1 bytes | Dirección de registro |
4.5.1.6.3 Respuesta
Tabla 30. Valor de respuesta READ_REGISTER_MULTIPLE
Campo de carga útil | Longitud | Valor/descripción | ||
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) | ||||
Valor de registro [1…n] | 4 bytes | Valor | 4 bytes | Valor de registro de 32 bits que se ha leído (little-endian). |
4.5.1.6.4 Evento
No hay eventos para este comando.
4.5.2 Manipulación de E2PROM
El área accesible en E2PROM es según el mapa de EEPROM y el tamaño direccionable.
Nota:
1. Siempre que se mencione la 'Dirección E2PROM' en las siguientes instrucciones, se hará referencia al tamaño del área EEPROM direccionable.
4.5.2.1 ESCRIBIR_E2PROM
Esta instrucción se utiliza para escribir uno o más valores en E2PROM. El campo 'Valores' contiene los datos que se escribirán en E2PROM comenzando en la dirección proporcionada por el campo 'Dirección E2PROM'. Los datos se escriben en orden secuencial.
Nota:
Tenga en cuenta que este es un comando de bloqueo, lo que significa que NFC FE está bloqueado durante la operación de escritura. Esto puede tardar varios milisegundos.
4.5.2.1.1 condiciones
El campo 'Dirección E2PROM' debe estar en el rango según [2]. La cantidad de bytes dentro del campo 'Valores' debe estar en el rango de 1 a 1024 (0x0400), inclusive. La operación de escritura no debe ir más allá de la dirección EEPROM como se menciona en [2]. Se enviará una respuesta de error al host si la dirección excede el espacio de direcciones EEPROM como en [2].
4.5.2.1.2 Comando
Tabla 31. Valor del comando WRITE_E2PROM Escribe los valores dados secuencialmente en E2PROM.
Campo de carga útil | Longitud | Valor/descripción |
Dirección E2PROM | 2 bytes | Dirección en EEPROM desde la cual se iniciará la operación de escritura. (Little-endian) |
Valores | 1 – 1024 bytes | Valores que deben escribirse en E2PROM en orden secuencial. |
4.5.2.1.3 Respuesta
Tabla 32. Valor de respuesta WRITE_EEPROM
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.2.1.4 Evento
No hay eventos para este comando.
4.5.2.2 LEER_E2PROM
Esta instrucción se utiliza para leer datos del área de memoria E2PROM. El campo 'Dirección E2PROM' indica la dirección de inicio de la operación de lectura. La respuesta contiene los datos leídos de E2PROM.
4.5.2.2.1 condiciones
El campo 'Dirección E2PROM' debe estar en un rango válido.
El campo 'Número de bytes' debe estar en el rango de 1 a 256, inclusive.
La operación de lectura no debe ir más allá de la última dirección EEPROM accesible.
Se enviará una respuesta de error al host si la dirección excede el espacio de direcciones EEPROM.
4.5.2.2.2 Comando
Tabla 33. Valor del comando READ_E2PROM Lee los valores de E2PROM secuencialmente.
Campo de carga útil | Longitud | Valor/descripción |
Dirección E2PROM | 2 bytes | Dirección en E2PROM desde la cual se iniciará la operación de lectura. (Little-endian) |
Número de bytes | 2 bytes | Número de bytes a leer. (Little-endian) |
4.5.2.2.3 Respuesta
Tabla 34. Valor de respuesta READ_E2PROM
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO | ||
PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) | ||
Valores | 1 – 1024 bytes | Valores que se han leído en orden secuencial. |
4.5.2.2.4 Evento
No hay eventos para este comando.
4.5.2.3 GET_CRC_USER_AREA
Esta instrucción se usa para calcular el CRC para el área de configuración de usuario completa, incluida el área de protocolo de PN5190 IC.
4.5.2.3.1 Comando
Tabla 35. Valor del comando GET_CRC_USER_AREA
Lea el CRC del área de configuración del usuario, incluido el área de protocolo.
Campo de carga útil | Longitud | Valor / Descripción |
– | – | No hay datos en la carga útil |
4.5.2.3.2 Respuesta
Tabla 36. Valor de respuesta GET_CRC_USER_AREA
Campo de carga útil | Longitud | Valor/descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO | ||
PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) | ||
Valores | 4 bytes | 4 bytes de datos CRC en formato little-endian. |
4.5.2.3.3 Evento
No hay eventos para este comando.
4.5.3 Manipulación de datos CLIF
Las instrucciones descritas en esta sección describen los comandos para la transmisión y recepción de RF.
4.5.3.1 INTERCAMBIO_RF_DATOS
La función de intercambio de RF realiza una transmisión de los datos TX y espera la recepción de cualquier dato RX.
La función regresa en caso de que se produzca una recepción (errónea o correcta) o se agote el tiempo de espera. El cronómetro se pone en marcha con el FINAL de TRANSMISIÓN y se detiene con el INICIO de RECEPCIÓN. El valor de tiempo de espera preconfigurado en EEPROM se utilizará en caso de que el tiempo de espera no esté configurado antes de la ejecución del comando Exchange.
Si transceiver_state es
- en IDLE se ingresa al modo TRANSCEPCIÓN.
- En WAIT_RECEIVE, el estado del transceptor se restablece al MODO TRANSCEPCIÓN en caso de que se establezca el bit iniciador.
- En WAIT_TRANSMIT, el estado del transceptor se restablece al MODO TRANSCEPCIÓN en caso de que el bit iniciador NO esté configurado
El campo 'Número de bits válidos en el último byte' indica la longitud exacta de los datos que se transmitirán.
4.5.3.1.1 condiciones
El tamaño del campo 'Datos TX' debe estar en el rango de 0 a 1024, inclusive.
El campo 'Número de bits válidos en el último byte' debe estar en el rango de 0 a 7.
El comando no debe llamarse durante una transmisión de RF en curso. El comando garantizará el estado correcto del transceptor para transmitir los datos.
Nota:
Este comando es válido sólo para el modo Lector y el modo iniciador P2P” Pasivo/Activo.
4.5.3.1.2 Comando
Tabla 37. Valor del comando EXCHANGE_RF_DATA
Escriba datos de TX en el búfer de transmisión de RF interno e inicie la transmisión usando el comando transceptor y espere hasta la recepción o el tiempo de espera para preparar una respuesta al host.
Campo de carga útil | Longitud | Valor / Descripción | |
Número de bits válidos en el último byte | 1 bytes | 0 | Todos los bits del último byte se transmiten |
1 – 7 | Número de bits del último byte que se transmitirán. | ||
RFExchangeConfig | 1 bytes | Configuración de la función RFExchange. Detalles ver abajo |
Tabla 37. Valor del comando EXCHANGE_RF_DATA...continuación
Escriba datos de TX en el búfer de transmisión de RF interno e inicie la transmisión usando el comando transceptor y espere hasta la recepción o el tiempo de espera para preparar una respuesta al host.
Campo de carga útil | Longitud | Valor / Descripción |
Datos de transmisión | n bytes | Datos TX que deben enviarse a través de CLIF mediante el comando transceive. norte = 0 – 1024 bytes |
Tabla 38. Máscara de bits RFexchangeConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descripción |
Los bits 4 – 7 son RFU | ||||||||
X | Incluya datos RX en respuesta según RX_STATUS, si el bit está establecido en 1b. | |||||||
X | Incluya el registro EVENT_STATUS en respuesta, si el bit está establecido en 1b. | |||||||
X | Incluya el registro RX_STATUS_ERROR en respuesta, si el bit está establecido en 1b. | |||||||
X | Incluya el registro RX_STATUS en respuesta, si el bit está establecido en 1b. |
4.5.3.1.3 Respuesta
Tabla 39. Valor de respuesta EXCHANGE_RF_DATA
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR |
||
RX_ESTADO | 4 bytes | Si se solicita RX_STATUS (little-endian) |
RX_STATUS_ERROR | 4 bytes | Si se solicita RX_STATUS_ERROR (little-endian) |
EVENTO_ESTADO | 4 bytes | Si se solicita EVENT_STATUS (little-endian) |
Datos RX | 1 – 1024 bytes | Si se solicitan datos RX. Datos RX recibidos durante la fase de recepción de RF del intercambio de RF. |
4.5.3.1.4 Evento
No hay eventos para este comando.
4.5.3.2 TRANSMITIR_RF_DATOS
Esta instrucción se utiliza para escribir datos en el búfer de transmisión CLIF interno e iniciar la transmisión utilizando el comando transceive internamente. El tamaño de este búfer está limitado a 1024 bytes. Después de ejecutar esta instrucción, se inicia automáticamente una recepción de RF.
El comando regresa inmediatamente después de que se completa la transmisión, sin esperar a que se complete la recepción.
4.5.3.2.1 condiciones
La cantidad de bytes dentro del campo 'Datos TX' debe estar en el rango de 1 a 1024, inclusive.
El comando no debe llamarse durante una transmisión de RF en curso.
4.5.3.2.2 Comando
Tabla 40. Valor del comando TRANSMIT_RF_DATA Escribe datos de TX en el búfer de transmisión CLIF interno.
Campo de carga útil | Longitud | Valor / Descripción |
Número de bits válidos en el último byte | 1 bytes | 0 Se transmiten todos los bits del último byte. 1 – 7 Número de bits del último byte que se transmitirán. |
RFU | 1 bytes | Reservado |
Datos de transmisión | 1 – 1024 bytes | Datos de TX que se utilizarán durante la próxima transmisión de RF. |
4.5.3.2.3 Respuesta
Tabla 41. Valor de respuesta TRANSMIT_RF_DATA
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
4.5.3.2.4 Evento
No hay eventos para este comando.
4.5.3.3 RECUPERAR_DATOS_RF
Esta instrucción se usa para leer datos del búfer CLIF RX interno, que contiene los datos de respuesta de RF (si los hay) enviados desde la ejecución anterior de la Sección 4.5.3.1 con la opción de no incluir los datos recibidos en la respuesta o la Sección 4.5.3.2 .XNUMX mando.
4.5.3.3.1 Comando
Tabla 42. Valor del comando RETRIEVE_RF_DATA Leer datos RX del búfer de recepción de RF interno.
Campo de carga útil | Longitud | Valor / Descripción |
Vacío | Vacío | Vacío |
4.5.3.3.2 Respuesta
Tabla 43. Valor de respuesta RETRIEVE_RF_DATA
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
Campo de carga útil | Longitud | Valor / Descripción |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
||
Datos RX | 1 – 1024 bytes | Datos de RX que se han recibido durante la última recepción de RF satisfactoria. |
4.5.3.3.3 Evento
No hay eventos para este comando.
4.5.3.4 RECIBIR_DATOS_RF
Esta instrucción espera los datos recibidos a través de la interfaz RF del lector.
En el modo lector, esta instrucción regresa si hay una recepción (ya sea incorrecta o correcta) o si se agotó el tiempo de espera del FWT. El temporizador se inicia con el FIN de TRANSMISIÓN y se detiene con el INICIO de RECEPCIÓN. El valor de tiempo de espera predeterminado preconfigurado en EEPROM se utilizará en caso de que el tiempo de espera no esté configurado antes de la ejecución del comando Exchange.
En el modo objetivo, esta instrucción regresa en caso de recepción (errónea o correcta) o error de RF externo.
Nota:
Esta instrucción se utilizará con el comando TRANSMIT_RF_DATA para realizar operaciones TX y RX...
4.5.3.4.1 Comando
Tabla 44. Valor del comando RECEIVE_RF_DATA
Campo de carga útil | Longitud | Valor / Descripción |
Recibir RFConfig | 1 bytes | Configuración de la función ReceiverRFConfig. Ver Tabla 45 |
Tabla 45. Máscara de bits de ReceiverRFConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descripción |
Los bits 4 – 7 son RFU | ||||||||
X | Incluya datos RX en respuesta según RX_STATUS, si el bit está establecido en 1b. | |||||||
X | Incluya el registro EVENT_STATUS en respuesta, si el bit está establecido en 1b. | |||||||
X | Incluya el registro RX_STATUS_ERROR en respuesta, si el bit está establecido en 1b. | |||||||
X | Incluya el registro RX_STATUS en respuesta, si el bit está establecido en 1b. |
4.5.3.4.2 Respuesta
Tabla 46. Valor de respuesta RECEIVE_RF_DATA
Campo de carga útil | Longitud | Valor/descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) PN5190_STATUS_TIMEOUT |
Campo de carga útil | Longitud | Valor/descripción |
PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
||
RX_ESTADO | 4 bytes | Si se solicita RX_STATUS (little-endian) |
RX_STATUS_ERROR | 4 bytes | Si se solicita RX_STATUS_ERROR (little-endian) |
EVENTO_ESTADO | 4 bytes | Si se solicita EVENT_STATUS (little-endian) |
Datos RX | 1 – 1024 bytes | Si se solicitan datos RX. Datos RX recibidos por RF. |
4.5.3.4.3 Evento
No hay eventos para este comando.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (Configuración FeliCa EMD)
Esta instrucción se utiliza para leer datos del búfer CLIF RX interno, que contiene datos de respuesta de FeliCa EMD (si los hay) publicados desde la ejecución anterior del comando EXCHANGE_RF_DATA que regresa con el estado 'PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR'.
Nota: Este comando está disponible desde PN5190 FW v02.03 en adelante.
4.5.3.5.1 Comando
Leer datos RX del búfer de recepción de RF interno.
Tabla 47. Valor del comando RETRIEVE_RF_FELICA_EMD_DATA
Campo de carga útil | Longitud | Valor / Descripción | |
FeliCaRFRetrieveConfig | 1 bytes | 00 – FF | Configuración de la función RETRIEVE_RF_FELICA_EMD_DATA |
descripción de la configuración (máscara de bits) | bits 7..2: RFU bit 1: incluye el registro RX_STATUS_ ERROR en respuesta, si el bit se establece en 1b. bit 0: incluye el registro RX_STATUS en respuesta, si el bit se establece en 1b. |
4.5.3.5.2 Respuesta
Tabla 48. Valor de respuesta RETRIEVE_RF_FELICA_EMD_DATA
Campo de carga útil | Longitud | Valor/descripción | |||
Estado | 1 bytes | Estado de la operación. Los valores esperados son los siguientes: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) | |||
RX_ESTADO | 4 bytes | Si se solicita RX_STATUS (little-endian) | |||
RX_STATUS_ERROR | 4 bytes | Si se solicita RX_STATUS_ERROR (little-endian) |
Campo de carga útil | Longitud | Valor/descripción | |||
Datos RX | 1…1024 bytes | Datos de FeliCa EMD RX que se recibieron durante la última recepción de RF fallida usando Exchange Command. |
4.5.3.5.3 Evento
No hay eventos para este comando.
4.5.4 Cambio del modo de operación
PN5190 admite 4 modos de operación diferentes:
4.5.4.1 Normal
Este es el modo predeterminado, donde se permiten todas las instrucciones.
4.5.4.2 En espera
PN5190 está en estado de espera/suspensión para ahorrar energía. Se deben configurar las condiciones de activación para definir cuándo salir nuevamente del modo de espera.
4.5.4.3 LPCD
PN5190 está en modo de detección de tarjeta de bajo consumo, donde intenta detectar una tarjeta que está ingresando al volumen operativo, con el menor consumo de energía posible.
4.5.4.4 Recopilación automática
PN5190 actúa como escucha de RF y realiza la activación del modo objetivo de forma autónoma (para garantizar restricciones en tiempo real)
4.5.4.5 CAMBIAR_MODO_NORMAL
El comando Cambiar modo normal tiene tres casos de uso.
4.5.4.5.1 Caso de uso 1: Ingrese al modo de operación normal al encender (POR)
Úselo para restablecer al estado inactivo para recibir/procesar el siguiente comando ingresando al modo de operación normal.
4.5.4.5.2 Caso de uso 2: Terminar el comando que ya se está ejecutando para cambiar al modo de operación normal (comando de cancelación)
Úselo para restablecer el estado inactivo para recibir/procesar el siguiente comando finalizando los comandos que ya se están ejecutando.
Comandos como standby, LPCD, Exchange, PRBS y Autocoll podrán finalizarse utilizando este comando.
Este es el único comando especial que no tiene respuesta. En cambio, tiene una notificación de EVENTO.
Consulte la Sección 4.4.3 para obtener más información sobre el tipo de eventos que ocurren durante la ejecución de diferentes comandos subyacentes.
4.5.4.5.2.1 Caso de uso 2.1:
Este comando restablecerá todos los registros CLIF TX, RX y de control de campo al estado de inicio. Al emitir este comando, se apagará cualquier campo de RF existente.
4.5.4.5.2.2 Caso de uso 2.2:
Disponible desde PN5190 FW v02.03 en adelante:
Este comando no modificará CLIF TX, RX y los registros de control de campo, sino que solo moverá el transceptor al estado IDLE.
4.5.4.5.3 Caso de uso 3: Modo de operación normal al realizar un reinicio por software/salir del modo de espera, LPCD En este caso, el PN5190 ingresa directamente al modo de operación normal, enviando IDLE_EVENT al host (Figura 12 o Figura 13) y “ El bit IDLE_EVENT” se establece en la Tabla 11.
No es necesario enviar el comando SWITCH_MODE_NORMAL.
Nota:
Después de que el IC cambia al modo normal, todas las configuraciones de RF se modifican al estado predeterminado. Es imperativo que la configuración de RF respectiva y otros registros relacionados se carguen con los valores apropiados antes de realizar una operación de encendido de RF o intercambio de RF.
4.5.4.5.4 Trama de comando para enviar para diferentes casos de uso
4.5.4.5.4.1 UseCase1: el comando ingresa al modo de operación normal al encender (POR) 0x20 0x01 0x00
4.5.4.5.4.2 Caso de uso 2: Comando para finalizar comandos que ya se están ejecutando para cambiar al modo de operación normal
Caso de uso 2.1:
0x20 0x00 0x00
Caso de uso 2.2: (Desde FW v02.02 en adelante):
0x20 0x02 0x00
4.5.4.5.4.3 Caso de uso 3: Comando para el modo de funcionamiento normal al realizar un reinicio por software/salir del modo de espera, LPCD, ULPCD
Ninguno. PN5190 ingresa directamente al modo de operación normal.
4.5.4.5.5 Respuesta
Ninguno
4.5.4.5.6 Evento
Se establece un BOOT_EVENT (en el registro EVENT_STATUS) que indica que se ingresa al modo normal y se envía al host. Consulte la Figura 12 y la Figura 13 para ver los datos del evento.
Se establece un IDLE_EVENT (en el registro EVENT_STATUS) que indica que se ingresa al modo normal y se envía al host. Consulte la Figura 12 y la Figura 13 para ver los datos del evento.
Se establece un BOOT_EVENT (en el registro EVENT_STATUS) que indica que se ingresa al modo normal y se envía al host. Consulte la Figura 12 y la Figura 13 para ver los datos del evento.
4.5.4.6 SWITCH_MODE_AUTOCOLL
El Switch Mode Autocoll realiza automáticamente el procedimiento de activación de la tarjeta en modo objetivo.
El campo 'Modo de recopilación automática' debe estar en el rango de 0 a 2, inclusive.
En caso de que el campo 'Modo Autocoll' esté configurado en 2 (Autocoll): el campo 'Tecnologías RF' (Tabla 50) debe contener una máscara de bits que indique las tecnologías RF que se admitirán durante Autocoll.
No se deben enviar instrucciones mientras se esté en este modo.
La terminación se indica mediante una interrupción.
4.5.4.6.1 Comando
Tabla 49. Valor del comando SWITCH_MODE_AUTOCOLL
Parámetro | Longitud | Valor / Descripción | |
Tecnologías de RF | 1 bytes | Máscara de bits que indica la tecnología de RF para escuchar durante Autocoll. | |
Modo de búsqueda automática | 1 bytes | 0 | Sin modo autónomo, es decir, Autocoll finaliza cuando el campo de RF externo no está presente. |
Terminación en caso de | |||
• NO HAY CAMPO DE RF o CAMPO DE RF ha desaparecido | |||
• PN5190 está ACTIVADO en modo OBJETIVO | |||
1 | Modo autónomo con standby. Cuando no hay ningún campo RF presente, Autocoll ingresa automáticamente al modo de espera. Una vez que se detecta el campo RF externo, PN5190 ingresa nuevamente al modo Autocoll. | ||
Terminación en caso de | |||
• PN5190 está ACTIVADO en modo OBJETIVO | |||
Desde PN5190 FW v02.03 en adelante: Si el campo EEPROM “bCard ModeUltraLowPowerEnabled” en la dirección '0xCDF' está configurado en '1', entonces PN5190 ingresa al modo de espera de energía ultrabaja. | |||
2 | Modo autónomo sin espera. Cuando no hay ningún campo de RF presente, PN5190 espera hasta que esté presente el campo de RF antes de iniciar el algoritmo Autocoll. En este caso no se utiliza el modo de espera. | ||
Terminación en caso de • PN5190 está ACTIVADO en modo OBJETIVO |
Tabla 50. Máscara de bits de tecnologías RF
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descripción |
0 | 0 | 0 | 0 | RFU | ||||
X | Si se establece en 1b, se habilita la escucha de NFC-F Active. (No disponible). | |||||||
X | Si se configura en 1b, se habilita la escucha de NFC-A Active. (No disponible). | |||||||
X | Si se establece en 1b, se habilita la escucha de NFC-F. | |||||||
X | Si se establece en 1b, se habilita la escucha de NFC-A. |
4.5.4.6.2 Respuesta
La respuesta solo indica que el comando ha sido procesado.
Tabla 51. Valor de respuesta SWITCH_MODE_AUTOCOLL
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (no se ingresó al modo de cambio debido a una configuración incorrecta) |
4.5.4.6.3 Evento
La notificación del evento se envía cuando finaliza el comando y se ingresa al modo normal. El host leerá los bytes de respuesta en función del valor del evento.
Nota:
Cuando el estado no es "PN5190_STATUS_INSTR_SUCCESS", no están presentes más bytes de datos de "Protocolo" y "Card_Activated".
La información tecnológica se recupera de los registros utilizando los comandos de la Sección 4.5.1.5, Sección 4.5.1.6.
La siguiente tabla muestra los datos del evento que se envían como parte del mensaje de evento Figura 12 y Figura 13.
Tabla 52. EVENT_SWITCH_MODE_AUTOCOLL – Datos de AUTOCOLL_EVENT Modo de operación del interruptor Evento de Autocoll
Campo de carga útil | Longitud | Valor / Descripción | |
Estado | 1 byte | Estado de la operación | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 está ACTIVADO en modo OBJETIVO. Otros datos en este caso son válidos. |
||
PN5190_STATUS_PREVENT_STANDBY | Indica que el PN5190 no puede pasar al modo de espera. Este estado es válido solo cuando el modo Autocoll está seleccionado como “Modo autónomo con standby”. |
PN5190_STATUS_NO_EXTERNAL_RF_ CAMPO | Indica que no hay ningún campo de RF externo presente durante la ejecución de Autocoll en modo no autónomo | ||
PN5190_STATUS_USER_CANCELLED | Indica que el comando actual en curso es cancelado por el comando normal del modo de conmutación | ||
Protocolo | 1 byte | 0x10 | Activado como Pasivo Tipo A |
0x11 | Activado como tipo pasivo F 212 | ||
0x12 | Activado como tipo pasivo F 424 | ||
0x20 | Activado como Active TypeA | ||
0x21 | Activado como Active TypeF 212 | ||
0x22 | Activado como Active TypeF 424 | ||
Otros valores | Inválido | ||
Tarjeta_activada | 1 byte | 0x00 | Sin proceso de activación de tarjeta según ISO 14443-3 |
0x01 | Indica que el dispositivo está activado en modo Pasivo |
Nota:
Después de leer los datos del evento, los datos recibidos de la tarjeta/dispositivo que se activó (como 'n' bytes de ATR_REQ/RATS según ISO18092/ISO1443-4) se leerán utilizando el comando de la Sección 4.5.3.3.
4.5.4.6.4 Comunicación example
4.5.4.7 CAMBIAR_MODO_ESPERA
El modo de espera del interruptor establece automáticamente el IC en el modo de espera. El IC se activará después de que las fuentes de activación configuradas cumplan las condiciones de activación.
Nota:
La caducidad del contador para ULP STANDBY y la cancelación HIF para STANDBY están disponibles de forma predeterminada para salir de los modos de espera.
4.5.4.7.1 Comando
Tabla 53. Valor del comando SWITCH_MODE_STANDBY
Parámetro | Longitud | Valor / Descripción |
Configuración | 1 bytes | Máscara de bits que controla la fuente de activación que se utilizará y el modo de espera al que ingresar. Referirse a Tabla 54 |
Valor del contador | 2 bytes | Valor utilizado para el contador de despertador en milisegundos. El valor máximo admitido es 2690 para el modo de espera. El valor máximo admitido es 4095 para ULP en espera. El valor que se proporcionará está en formato little-endian. El contenido de este parámetro es válido solo si la "Máscara de bits de configuración" está habilitada para activarse al expirar el contador. |
Tabla 54. Máscara de bits de configuración
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descripción |
X | Ingrese al modo de espera ULP si el bit está configurado en 1b. Ingrese al modo de espera si el bit está configurado en 0b. | |||||||
0 | RFU | |||||||
X | Se activa en GPIO-3 cuando está alto, si el bit está establecido en 1b. (No aplicable para el modo de espera ULP) | |||||||
X | Se activa en GPIO-2 cuando está alto, si el bit está establecido en 1b. (No aplicable para el modo de espera ULP) | |||||||
X | Se activa en GPIO-1 cuando está alto, si el bit está establecido en 1b. (No aplicable para el modo de espera ULP) | |||||||
X | Se activa en GPIO-0 cuando está alto, si el bit está establecido en 1b. (No aplicable para el modo de espera ULP) | |||||||
X | El contador de activación al despertar caduca si el bit se establece en 1b. Para ULP-Standby, esta opción está habilitada de forma predeterminada. | |||||||
X | Activación en un campo de RF externo, si el bit está establecido en 1b. |
Nota: Desde PN5190 FW v02.03, si el campo EEPROM “CardModeUltraLowPowerEnabled” en la dirección '0xCDF' está establecido en '1', la configuración en espera de ULP no se puede usar con el comando SWITCH_MODE_STANDBY.
4.5.4.7.2 Respuesta
La respuesta solo indica que el comando ha sido procesado y el estado de espera se ingresará solo después de que el host lea la respuesta por completo.
Tabla 55. Valor de respuesta de SWITCH_MODE_STANDBY Cambiar el modo de operación en espera
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No se ha ingresado al modo de conmutación debido a una configuración incorrecta) |
4.5.4.7.3 Evento
La notificación del evento se envía cuando el comando ha finalizado y se ingresa al modo normal. Consulte el formato del evento que se enviará después de completar el comando como en la Figura 12 y la Figura 13.
En caso de que se impida que PN5190 entre en modo de espera, entonces el bit de evento “STANDBY_PREV_EVENT” establecido en EVENT_STATUS como se menciona en la Tabla 11 se envía al host junto con el motivo de la prevención de espera como se menciona en la Tabla 13.
4.5.4.7.4 Comunicación Example
4.5.4.8 INTERRUPTOR_MODO_LPCD
El LPCD de modo de conmutación realiza una detección de desafinación en la antena debido al entorno cambiante alrededor de la antena.
Hay 2 modos diferentes de LPCD. La solución basada en HW (ULPCD) ofrece un consumo de energía competitivo con una sensibilidad reducida. La solución basada en FW (LPCD) ofrece la mejor sensibilidad de su clase con un mayor consumo de energía.
En el modo único basado en FW (LPCD), no se envía ningún evento de calibración al host.
Cuando se invoca el modo único, la calibración y las mediciones sucesivas se realizan después de salir del modo de espera.
Para el evento de calibración en modo único, primero emita el modo único con el comando de evento de calibración. Después de la calibración, se recibe un evento de calibración LPCD después del cual se debe enviar el comando de modo único con el valor de referencia obtenido en el paso anterior como parámetro de entrada.
La configuración del LPCD se realiza en la configuración de EEPROM/Flash Data antes de llamar al comando.
Nota:
La cancelación de GPIO3 para ULPCD y la cancelación de HIF para LPCD están disponibles de forma predeterminada para salir de los modos de bajo consumo.
El despertador por caducidad del contador siempre está habilitado.
Para ULPCD, la configuración DC-DC debe estar deshabilitada en la configuración de datos EEPROM/Flash y debe proporcionar suministro de VUP a través de VBAT. Se deben realizar los ajustes necesarios del puente. Para conocer la configuración de datos EEPROM/Flash, consulte el documento [2].
Si el comando es para calibración LPCD/ULPCD, el host aún tiene que enviar la trama completa.
4.5.4.8.1 Comando
Tabla 56. Valor del comando SWITCH_MODE_LPCD
Parámetro | Longitud | Valor/descripción | |
bControl | 1 bytes | 0x00 | Introduzca la calibración ULPCD. El comando se detiene después de la calibración y se envía un evento con un valor de referencia al host. |
0x01 | Entrar ULPCD | ||
0x02 | Calibración de LPCD. El comando se detiene después de la calibración y se envía un evento con un valor de referencia al host. | ||
0x03 | Introduzca LPCD | ||
0x04 | Modo único | ||
0x0C | Modo único con evento de calibración | ||
Otros valores | RFU | ||
Control de despertador | 1 bytes | Máscara de bits que controla la fuente de activación que se utilizará para LPCD/ULPCD. El contenido de este campo no se considera para la calibración. Referirse a Tabla 57 | |
Valor de referencia | 4 bytes | Valor de referencia a utilizar durante la ULPCD/LPCD. Para ULPCD, el byte 2 que contiene el valor del atenuador de HF se utiliza durante la fase de calibración y medición. Para LPCD, el contenido de este campo no se considera para la calibración y el modo único. Referirse a Tabla 58 para obtener la información correcta sobre los 4 bytes. |
|
Valor del contador | 2 bytes | Valor del contador de despertador en milisegundos. El valor máximo admitido es 2690 para LPCD. El valor máximo admitido es 4095 para ULPCD. El valor que se proporcionará está en formato little-endian. El contenido de este campo no se considera para la calibración LPCD. Para modo único y modo único con evento de calibración, la duración del modo de espera antes de la calibración se puede configurar desde la configuración de EEPROM: LPCD_SETTINGS->wCheck Period. Para modo único con calibración, el valor WUC debe ser distinto de cero. |
Tabla 57. Máscara de bits de control de activación
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descripción |
0 | 0 | 0 | 0 | 0 | 0 | 0 | RFU | |
X | Activación en un campo de RF externo, si el bit está establecido en 1b. |
Tabla 58. Información de bytes del valor de referencia
Bytes de valor de referencia | ULPCD | CDLP |
byte 0 | Byte de referencia 0 | Canal 0 Referencia Byte 0 |
byte 1 | Byte de referencia 1 | Canal 0 Referencia Byte 1 |
byte 2 | Valor atenuador HF | Canal 1 Referencia Byte 0 |
byte 3 | NA | Canal 1 Referencia Byte 1 |
4.5.4.8.2 Respuesta
Tabla 59. Valor de respuesta SWITCH_MODE_LPCD
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (No se ha ingresado al modo de conmutación debido a una configuración incorrecta) |
4.5.4.8.3 Evento
La notificación del evento se envía cuando finaliza el comando y se ingresa al modo normal con los siguientes datos como parte del evento mencionado en la Figura 12 y la Figura 13.
Tabla 60. EVT_SWITCH_MODE_LPCD
Campo de carga útil | Longitud | Valor / Descripción |
Estado de CDLP | Consulte la Tabla 15. | Consulte la Tabla 154.5.4.8.4 Comunicación Example |
4.5.4.9 CAMBIAR_MODO_DESCARGAR
El comando Switch Mode Download ingresa al modo de descarga de firmware.
La única forma de salir del modo de descarga es restablecer el PN5190.
4.5.4.9.1 Comando
Tabla 61. Valor del comando SWITCH_MODE_DOWNLOAD
Parámetro | Longitud | Valor / Descripción |
– | – | Sin valor |
4.5.4.9.2 Respuesta
La respuesta solo indica que el comando ha sido procesado y se debe ingresar al modo de descarga después de que el host lea la respuesta.
Tabla 62. Valor de respuesta SWITCH_MODE_DOWNLOAD
Cambiar el modo de operación Autocoll
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No se ha ingresado al modo de conmutación) |
4.5.4.9.3 Evento
Sin generación de eventos.
4.5.4.9.4 Comunicación Example
4.5.5 Autenticación MIFARE Clásica
4.5.5.1 MFC_AUTENTICACIÓN
Esta instrucción se utiliza para realizar una autenticación MIFARE Classic en una tarjeta activada. Se necesita la clave, el UID de la tarjeta y el tipo de clave para autenticarse en la dirección de bloque dada. La respuesta contiene un byte que indica el estado de autenticación.
4.5.5.1.1 condiciones
La clave de campo debe tener una longitud de 6 bytes. El tipo de clave de campo debe contener el valor 0x60 o 0x61. La dirección de bloque puede contener cualquier dirección entre 0x0 y 0xff, inclusive. El campo UID debe tener una longitud de bytes y debe contener el UID de 4 bytes de la tarjeta. Una tarjeta basada en producto ISO14443-3 MIFARE Classic debe ponerse en estado ACTIVA o ACTIVA* antes de ejecutar esta instrucción.
En caso de un error de tiempo de ejecución relacionado con la autenticación, este campo 'Estado de autenticación' se configura en consecuencia.
4.5.5.1.2 Comando
Tabla 63. Comando MFC_AUTHENTICATE
Realice la autenticación en una tarjeta basada en producto MIFARE Classic activada.
Campo de carga útil | Longitud | Valor / Descripción | |
Llave | 6 bytes | Clave de autenticación a utilizar. | |
Tipo de clave | 1 bytes | 0x60 | Tipo de clave A |
0x61 | Tipo de llave B | ||
Dirección de bloque | 1 bytes | La dirección del bloque para el que se debe realizar la autenticación. | |
Identificación única | 4 bytes | UID de la tarjeta. |
4.5.5.1.3 Respuesta
Tabla 64. Respuesta MFC_AUTHENTICATE
Respuesta a MFC_AUTHENTICATE.
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR |
4.5.5.1.4 Evento
No hay ningún evento para esta instrucción.
4.5.6 Compatibilidad con ISO 18000-3M3 (EPC GEN2)
4.5.6.1 EPC_GEN2_INVENTARIO
Esta instrucción se utiliza para realizar un inventario de ISO18000-3M3 tags. Implementa una ejecución autónoma de varios comandos según ISO18000-3M3 para garantizar los tiempos especificados por ese estándar.
Si está presente en la carga útil de la instrucción, primero se ejecuta un comando Seleccionar seguido de un comando BeginRound.
Si hay una respuesta válida en el primer intervalo de tiempo (sin tiempo de espera, sin colisión), la instrucción envía un ACK y guarda el PC/XPC/UII recibido. Luego, la instrucción realiza una acción de acuerdo con el campo 'Comportamiento procesado del intervalo de tiempo':
- Si este campo se establece en 0, se emite un comando NextSlot para manejar el siguiente intervalo de tiempo. Esto se repite hasta que el buffer interno esté lleno.
- Si este campo se establece en 1, el algoritmo se detiene
- Si este campo se establece en 2, se emite un comando Req_Rn si, y sólo si, ha habido una respuesta válida. tag respuesta en este intervalo de tiempo Comando
El campo 'Seleccionar longitud del comando' debe contener la longitud del campo 'Seleccionar comando', que debe estar en el rango de 1 a 39, inclusive. Si 'Seleccionar longitud de comando' es 0, los campos 'Bits válidos en el último byte' y 'Seleccionar comando' no deben estar presentes.
El campo Bits en el último byte debe contener el número de bits que se transmitirán en el último byte del campo 'Seleccionar comando'. El valor debe estar en el rango de 1 a 7, inclusive. Si el valor es 0, se transmiten todos los bits del último byte del campo 'Seleccionar comando'.
El campo 'Seleccionar comando' debe contener un comando de selección de acuerdo con ISO18000-3M3 sin CRC-16c final y debe tener la misma longitud que se indica en el campo 'Seleccionar longitud de comando'.
El campo 'Comando BeginRound' debe contener un comando BeginRound según ISO18000-3M3 sin CRC-5 final. Los últimos 7 bits del último byte del 'Comando BeginRound' se ignoran ya que el comando tiene una longitud real de 17 bits.
El 'Comportamiento procesado del intervalo de tiempo' debe contener un valor de 0 a 2, inclusive.
Tabla 65. Valor del comando EPC_GEN2_INVENTORY Realizar un inventario ISO 18000-3M3
Campo de carga útil | Longitud | Valor/descripción | |
CVInventario | 1 bytes | 00 | GEN2_INVENTARIO inicial |
01 | Reanudar el comando GEN2_INVENTORY – el resto
Los campos siguientes están vacíos (se ignora cualquier carga útil) |
||
Seleccione la longitud del comando | 1 bytes | 0 | No se establece ningún comando Seleccionar antes del comando BeginRound. Los campos 'Bits válidos en el último byte' y 'Seleccionar comando' no estarán presentes. |
1 – 39 | Longitud (n) del campo 'Seleccionar comando'. | ||
Bits válidos en el último byte | 1 bytes | 0 | Se transmiten todos los bits del último byte del campo 'Seleccionar comando'. |
1 – 7 | Número de bits que se transmitirán en el último byte del campo 'Seleccionar comando'. | ||
Seleccionar comando | n bytes | Si está presente, este campo contiene el comando Seleccionar (según ISO18000-3, Tabla 47) que se envía antes del comando BeginRound. No se incluirá CRC-16c. | |
Comando Comenzar Ronda | 3 bytes | Este campo contiene el comando BeginRound (según ISO18000-3, Tabla 49). No se incluirá CRC-5. | |
Comportamiento de procesamiento de intervalos de tiempo | 1 bytes | 0 | La respuesta contiene máx. Número de intervalos de tiempo que pueden caber en el búfer de respuesta. |
1 | La respuesta contiene solo un intervalo de tiempo. | ||
2 | La respuesta contiene solo un intervalo de tiempo. Si el intervalo de tiempo contiene una respuesta de tarjeta válida, también se incluye el identificador de la tarjeta. |
4.5.6.1.1 Respuesta
La longitud de la Respuesta puede ser "1" en el caso de reanudar el Inventario.
Tabla 66. Valor de respuesta EPC_GEN2_INVENTORY
Campo de carga útil | Longitud | Valor / Descripción | |||
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: | |||
PN5190_STATUS_SUCCESS (Leer el estado del intervalo de tiempo en el siguiente byte para Tag respuesta) PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
|||||
Intervalo de tiempo [1…n] | 3 – 69 bytes | Estado del intervalo de tiempo | 1 bytes | 0 | Tag respuesta disponible. 'Tag Campo "Longitud de respuesta", campo "Bits válidos en el último byte" y "Tag presente el campo de respuesta. |
1 | Tag respuesta disponible. | ||||
2 | No tag respondió en el intervalo de tiempo. 'Tag El campo "Longitud de respuesta" y el campo "Bits válidos en el último byte" se pondrán a cero. 'Tag el campo de respuesta no estará presente. | ||||
3 | Dos o más tags respondió en el intervalo de tiempo. (Colisión). 'Tag El campo "Longitud de respuesta" y el campo "Bits válidos en el último byte" se pondrán a cero. 'Tag El campo "respuesta" no estará presente. |
Tag Longitud de la respuesta | 1 bytes | 0-66 | Longitud de 'Tag Campo de respuesta (i). Si Tag La longitud de respuesta es 0, entonces el Tag El campo de respuesta no está presente. | ||
Bits válidos en el último byte | 1 bytes | 0 | Todos los bits del último byte de 'Tag el campo de respuesta son válidos. | ||
1-7 | Número de bits válidos del último byte de 'Tag campo de respuesta. Si Tag La longitud de respuesta es cero, el valor de este byte se ignorará. | ||||
Tag Responder | 'n' bytes | respuesta de la tag según ISO18000-3_2010, Tabla 56. | |||
Tag Manejar | 0 o 2 bytes | mango de la tag, en caso de que el campo 'Estado del intervalo de tiempo' esté establecido en '1'. De lo contrario, el campo no está presente. |
4.5.6.1.2 Evento
No hay eventos para este comando.
4.5.7 Gestión de la configuración de RF
Consulte la Sección 6 para obtener información sobre la configuración de TX y RX para diferentes tecnologías de RF y velocidades de datos compatibles con PN5190. Los valores que no estén presentes en el rango mencionado a continuación, deben ser considerados como RFU.
4.5.7.1 CARGAR_RF_CONFIGURACIÓN
Esta instrucción se utiliza para cargar la configuración de RF desde la EEPROM en los registros CLIF internos. La configuración de RF hace referencia a una combinación única de tecnología de RF, modo (objetivo/iniciador) y velocidad en baudios. La configuración de RF se puede cargar por separado para la ruta del receptor CLIF (configuración RX) y del transmisor (configuración TX). Se debe utilizar el valor 0xFF si no se va a cambiar la configuración correspondiente para una ruta.
4.5.7.1.1 condiciones
El campo 'Configuración TX' debe estar en el rango de 0x00 – 0x2B, inclusive. Si el valor es 0xFF, la configuración de TX no se cambia.
El campo 'Configuración RX' debe estar en el rango de 0x80 – 0xAB, inclusive. Si el valor es 0xFF, la configuración de RX no se cambia.
Se utiliza una configuración especial con Configuración TX = 0xFF y Configuración RX = 0xAC para cargar los registros de arranque una vez.
Esta configuración especial es necesaria para actualizar las configuraciones de registro (tanto TX como RX) que son diferentes de los valores de reinicio de IC.
4.5.7.1.2 Comando
Tabla 67. Valor del comando LOAD_RF_CONFIGURATION
Cargue la configuración RF TX y RX desde E2PROM.
Campo de carga útil | Longitud | Valor / Descripción | |
Configuración de transmisión | 1 bytes | 0xFF | La configuración de TX RF no ha cambiado. |
0x0-0x2B | Configuración TX RF correspondiente cargada. | ||
Configuración de RX | 1 bytes | 0xFF | La configuración de RX RF no ha cambiado. |
0x80 – 0xAB | Se ha cargado la configuración RX RF correspondiente. |
4.5.7.1.3 Respuesta
Tabla 68. Valor de respuesta LOAD_RF_CONFIGURATION
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_ESTADO_INSTR_ERROR |
4.5.7.1.4 Evento
No hay eventos para este comando.
4.5.7.2 ACTUALIZAR_CONFIGURACIÓN_RF
Esta instrucción se utiliza para actualizar la configuración de RF (ver definición en la Sección 4.5.7.1) dentro de E2PROM. La instrucción permite actualizar al valor de granularidad del registro, es decir, no es necesario actualizar el conjunto completo (aunque es posible hacerlo).
4.5.7.2.1 condiciones
El tamaño de la configuración de la matriz de campos debe estar en el rango de 1 a 15, inclusive. La configuración de la matriz de campos debe contener un conjunto de configuración de RF, dirección de registro y valor. La configuración de RF del campo debe estar en el rango de 0x0 – 0x2B para la configuración TX y 0x80 – 0xAB para la configuración RX, inclusive. La dirección dentro del campo Dirección de registro debe existir dentro de la configuración de RF respectiva. El valor del campo debe contener un valor que debe escribirse en el registro dado y debe tener una longitud de 4 bytes (formato little-endian).
4.5.7.2.2 Comando
Tabla 69. Valor del comando UPDATE_RF_CONFIGURATION
Actualizar la configuración de RF
Campo de carga útil | Longitud | Valor / Descripción | ||
Configuración[1…n] | 6 bytes | Configuración de RF | 1 bytes | Configuración de RF para la que se debe cambiar el registro. |
Dirección de registro | 1 bytes | Dirección de registro dentro de la tecnología RF dada. | ||
Valor | 4 bytes | Valor que debe anotarse en el registro. (Little-endian) |
4.5.7.2.3 Respuesta
Tabla 70. Valor de respuesta UPDATE_RF_CONFIGURATION
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.7.2.4 Evento
No hay eventos para este comando.
4.5.7.3 OBTENER_CONFIGURACIÓN_RF
Esta instrucción se utiliza para leer una configuración de RF. Los pares de valor de dirección de registro están disponibles en la respuesta. Para saber cuántos pares se esperan, se puede recuperar la información del primer tamaño del primer TLV, que indica la longitud total de la carga útil.
4.5.7.3.1 condiciones
La configuración de RF del campo debe estar en el rango de 0x0 – 0x2B para la configuración TX y 0x80 –0xAB para la configuración RX, inclusive.
4.5.7.3.2 Comando
Tabla 71. Valor del comando GET_RF_CONFIGURATION Recuperar la configuración de RF.
Campo de carga útil | Longitud | Valor / Descripción |
Configuración de radiofrecuencia | 1 bytes | Configuración de RF para la que se debe recuperar el conjunto de pares de valores de registro. |
4.5.7.3.3 Respuesta
Tabla 72. GET_RF_CONFIGURATION Valor de respuesta
Campo de carga útil | Longitud | Valor / Descripción | ||
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: | ||
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
||||
Par[1…n] | 5 bytes | Dirección de registro | 1 bytes | Dirección de registro dentro de la tecnología RF dada. |
Valor | 4 bytes | Valor de registro de 32 bits. |
4.5.7.3.4 Evento
No hay evento para la instrucción.
4.5.8 Manejo de campos de RF
4.5.8.1 RF_ON
Esta instrucción se utiliza para activar la RF. La regulación DPC en FieldOn inicial se manejará en este comando.
4.5.8.1.1 Comando
Tabla 73. Valor del comando RF_FIELD_ON
Configure RF_FIELD_ON.
Campo de carga útil | Longitud | Valor / Descripción | ||
RF_on_config | 1 bytes | Bit 0 | 0 | Utilice la prevención de colisiones |
1 | Desactivar la prevención de colisiones | |||
Bit 1 | 0 | Sin P2P activo | ||
1 | P2P activo |
4.5.8.1.2 Respuesta
Tabla 74. Valor de respuesta RF_FIELD_ON
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_ESTADO_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (el campo RF no está activado debido a una colisión de RF) PN5190_STATUS_TIMEOUT (el campo RF no está activado debido al tiempo de espera) PN5190_STATUS_TXLDO_ERROR (el error TXLDO debido a que VUP no está disponible) PN5190_STATUS_RFCFG_NOT_APPLIED (la configuración de RF no se aplica antes de este comando) |
4.5.8.1.3 Evento
No hay ningún evento para esta instrucción.
4.5.8.2 RF_OFF
Esta instrucción se utiliza para desactivar el campo RF.
4.5.8.2.1 Comando
Tabla 75. Valor del comando RF_FIELD_OFF
Campo de carga útil | Longitud | Valor / Descripción |
Vacío | Vacío | vacío |
4.5.8.2.2 Respuesta
Tabla 76. Valor de respuesta RF_FIELD_OFF
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
4.5.8.2.3 Evento
No hay ningún evento para esta instrucción.
4.5.9 Configuración del bus de prueba
Las señales del bus de prueba disponibles en las configuraciones de PAD seleccionadas se enumeran en la Sección 7 como referencia.
Se deben consultar estos para proporcionar la configuración para las instrucciones del bus de prueba como se menciona a continuación.
4.5.9.1 CONFIGURAR _TESTBUS_DIGITAL
Esta instrucción se utiliza para cambiar la señal del bus de prueba digital disponible en configuraciones de pad seleccionadas.
4.5.9.1.1 Comando
Tabla 77. Valor del comando CONFIGURE_TESTBUS_DIGITAL
Campo de carga útil | Longitud | Valor/descripción | |
TB_SignalIndex | 1 bytes | Referirse a Sección 7 | |
TB_BitIndex | 1 bytes | Referirse a Sección 7 | |
TB_PadIndex | 1 bytes | El índice del pad, en el que se emitirá la señal digital. | |
0x00 | clavija auxiliar1 | ||
0x01 | clavija auxiliar2 | ||
0x02 | clavija auxiliar3 | ||
0x03 | clavija GPIO0 | ||
0x04 | clavija GPIO1 | ||
0x05 | clavija GPIO2 | ||
0x06 | clavija GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.1.2 Respuesta
Tabla 78. Valor de respuesta de CONFIGURE_TESTBUS_DIGITAL
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
4.5.9.1.3 Evento
No hay ningún evento para esta instrucción.
4.5.9.2 CONFIGURE_TESTBUS_ANALOG
Esta instrucción se utiliza para obtener la señal del bus de prueba analógica disponible en configuraciones de pad seleccionadas.
La señal en el bus de prueba analógico se puede obtener de diferentes modos. Ellos son:
4.5.9.2.1 Modo RAW
En este modo, la señal elegida por TB_SignalIndex0 se desplaza mediante Shift_Index0, se enmascara con Mask0 y se emite en AUX1. De manera similar, la señal elegida por TB_SignalIndex1 se desplaza mediante Shift_Index1, se enmascara con Mask1 y se emite en AUX2.
Este modo ofrece flexibilidad para que el cliente emita cualquier señal de 8 bits de ancho o menos y que no requiera conversión de señal para enviarse a los pads analógicos.
4.5.9.2.2 Modo COMBINADO
En este modo, la señal analógica será el valor ADCI/ADCQ/pcrm_if_rssi con signo de 10 bits convertido a un valor sin signo, reducido a 8 bits y luego emitido en los pads AUX1 o AUX2.
Solo uno de los valores convertidos ADCI/ADCQ (10 bits) puede enviarse a AUX1/AUX2 en cualquier momento.
Si el valor del campo de carga útil de la señal Combined_Mode es 2 (combinación analógica y digital), entonces el bus de prueba analógico y digital se enruta en AUX1 (señal analógica) y GPIO0 (señal digital).
Las señales a enrutar se configuran en la dirección EEPROM que se menciona a continuación:
0xCE9 – TB_SignalIndex
0xCEA – TB_BitIndex
0xCEB – Índice de TB analógico
El índice del bus de prueba y el bit del bus de prueba deben configurarse en EEPROM antes de emitir el modo combinado con la opción 2.
Nota:
El anfitrión deberá proporcionar todos los campos, independientemente de la aplicabilidad del campo en modo "sin procesar" o "combinado". El IC PN5190 solo considera los valores de campo aplicables.
4.5.9.2.3 Comando
Tabla 79. Valor del comando CONFIGURE_TESTBUS_ANALOG
Campo de carga útil | Longitud | Valor/descripción | Aplicabilidad de campo para el modo combinado | |
bConfiguración | 1 bytes | Bits configurables. Referirse a Tabla 80 | Sí | |
Señal de modo combinado | 1 bytes | 0 – ADCI/ADCQ 1 – pcrm_if_rssi |
Sí | |
2 – Analógico y Digital Combinado | ||||
3 – 0xFF –Reservado |
TB_SignalIndex0 | 1 bytes | Índice de señal de la señal analógica. Referirse a Sección 7 | Sí | |
TB_SignalIndex1 | 1 bytes | Índice de señal de la señal analógica. Referirse a Sección 7 | Sí | |
Shift_Index0 | 1 bytes | Posiciones de cambio de entrada DAC0. La dirección se decidirá mediante bits en bConfig[1]. | No | |
Shift_Index1 | 1 bytes | Posiciones de cambio de entrada DAC1. La dirección se decidirá mediante bits en bConfig[2]. | No | |
Máscara0 | 1 bytes | máscara DAC0 | No | |
Máscara1 | 1 bytes | máscara DAC1 | No |
Tabla 80. Máscara de bits de configuración
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descripción | Aplicable al modo |
X | X | Rango de cambio de salida del DAC1: 0, 1, 2 | Crudo | ||||||
X | X | Rango de cambio de salida del DAC0: 0, 1, 2 | Crudo | ||||||
X | En modo combinado, señal en el pin AUX1/AUX2 0 ➜ Señal en AUX1 1 ➜ Señal en AUX2 |
Conjunto | |||||||
X | Dirección de cambio de entrada DAC1 0 ➜ Desplazar a la derecha 1 ➜ Desplazar a la izquierda |
Crudo | |||||||
X | Dirección de cambio de entrada DAC0 0 ➜ Desplazar a la derecha 1 ➜ Desplazar a la izquierda |
Crudo | |||||||
X | Modo. 0 ➜ modo sin formato 1 ➜ Modo combinado |
Crudo/Combinado |
4.5.9.2.4 Respuesta
Tabla 81. Valor de respuesta de CONFIGURE_TESTBUS_ANALOG
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
4.5.9.2.5 Evento
No hay ningún evento para esta instrucción.
4.5.9.3 CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Esta instrucción se utiliza para cambiar múltiples señales de bus de prueba digitales disponibles en configuraciones de pad seleccionadas.
Nota: Si esta longitud es CERO, entonces se RESTABLECE un bus de prueba digital.
4.5.9.3.1 Comando
Tabla 82. Valor del comando CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Campo de carga útil | Longitud | Valor/descripción | |
TB_SignalIndex #1 | 1 bytes | Referirse a 8 por debajo | |
TB_BitIndex #1 | 1 bytes | Referirse a 8 por debajo | |
TB_PadÍndice #1 | 1 bytes | El índice del pad, en el que se emitirá la señal digital. | |
0x00 | clavija auxiliar1 | ||
0x01 | clavija auxiliar2 | ||
0x02 | clavija auxiliar3 | ||
0x03 | clavija GPIO0 | ||
0x04 | clavija GPIO1 | ||
0x05 | clavija GPIO2 | ||
0x06 | clavija GPIO3 | ||
0x07-0xFF | RFU | ||
TB_SignalIndex #2 | 1 bytes | Referirse a 8 por debajo | |
TB_BitIndex #2 | 1 bytes | Referirse a 8 por debajo | |
TB_PadÍndice #2 | 1 bytes | El índice del pad, en el que se emitirá la señal digital. | |
0x00 | clavija auxiliar1 | ||
0x01 | clavija auxiliar2 | ||
0x02 | clavija auxiliar3 | ||
0x03 | clavija GPIO0 | ||
0x04 | clavija GPIO1 | ||
0x05 | clavija GPIO2 | ||
0x06 | clavija GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.3.2 Respuesta
Tabla 83. Valor de respuesta CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 2]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
4.5.9.3.3 Evento
No hay ningún evento para esta instrucción.
4.5.10 Configuración CTS
4.5.10.1 CTS_ENABLE
Esta instrucción se utiliza para habilitar/deshabilitar la función de registro CTS.
4.5.10.1.1 Comando
Tabla 84. Valor del comando CTS_ENABLE
Campo de carga útil Longitud Valor/Descripción | ||||
Habilitar/Deshabilitar | 1 bytes | Bit 0 | 0 | Deshabilite la función de registro CTS |
1 Habilite la función de registro CTS |
||||
Bits 1-7 | RFU |
4.5.10.1.2 Respuesta
Tabla 85. Valor de respuesta CTS_ENABLE
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
4.5.10.1.3 Evento
La siguiente tabla muestra los datos del evento que se enviarán como parte del mensaje del evento, como se muestra en la Figura 12 y la Figura 13.
Tabla 86. Esto informa al host que se han recibido datos. EVT_CTS_DONE
Campo de carga útil | Longitud | Valor / Descripción |
Evento | 1 byte | 00... Se ha producido el DISPARO, los datos están listos para la recepción. |
4.5.10.2 CTS_CONFIGURAR
Esta instrucción se utiliza para configurar todos los registros CTS requeridos, como activadores, registros de bus de prueba, s.ampconfiguración de ling, etc.,
Nota:
[1] proporciona una mejor comprensión de la configuración de CTS. Los datos capturados se enviarán como parte de la respuesta al comando de la Sección 4.5.10.3.
4.5.10.2.1 Comando
Tabla 87. Valor del comando CTS_CONFIGURE
Campo de carga útil | Longitud | Valor / Descripción |
PRE_TRIGGER_SHIFT | 1 bytes | Define la longitud de la secuencia de adquisición posterior al disparo en unidades de 256 bytes. 0 significa que no hay turno; n significa desplazamiento de bloque de n*256 bytes. Nota: Válido sólo si TRIGGER_MODE es el modo de disparo “PRE” o “COMB” |
TRIGGER_MODE | 1 bytes | Especifica el modo de adquisición que se utilizará. |
0x00 – modo POST | ||
0x01 – RFU | ||
0x02 – Modo PRE | ||
0x03 – 0xFF – No válido | ||
RAM_PAGE_WIDTH | 1 bytes | Especifica la cantidad de memoria en chip que cubre una adquisición. La granularidad se elige por diseño en 256 bytes (es decir, 64 palabras de 32 bits). Los valores válidos son los siguientes: 0x00h – 256 bytes 0x02h – 768 bytes 0x01h – 512 bytes 0x03h – 1024 bytes 0x04h – 1280 bytes 0x05h – 1536 bytes 0x06h – 1792 bytes 0x07h – 2048 bytes 0x08h – 2304 bytes 0x09h – 2560 bytes 0x0Ah – 2816 bytes 0x0Bh – 3072 bytes 0x0Ch – 3328 bytes 0x0Dh – 3584 bytes 0x0Eh – 3840 bytes 0x0Fh – 4096 bytes 0x10h – 4352 bytes 0x11h – 4608 bytes 0x12h – 4864 bytes 0x13h – 5120 bytes 0x14h – 5376 bytes 0x15h – 5632 bytes 0x16h – 5888 bytes 0x17h – 6144 bytes 0x18h – 6400 bytes 0x19h – 6656 bytes 0x1Ah – 6912 bytes 0x1Bh – 7168 bytes 0x1Ch – 7424 bytes 0x1Dh – 7680 bytes 0x1Eh – 7936 bytes 0x1Fh – 8192 bytes |
SAMPLE_CLK_DIV | 1 bytes | El valor decimal de este campo especifica el factor de división de la velocidad del reloj que se utilizará durante la adquisición. Reloj CTS = 13.56 MHz / 2SAMPLE_CLK_DIV |
00 – 13560 kHz 01 – 6780 kHz 02 – 3390 kHz 03 – 1695 kHz 04 – 847.5 kHz 05 – 423.75 kHz 06 – 211.875 kHz 07 – 105.9375 kHz 08 – 52.96875 kHz 09 – 26.484375 kHz 10 – 13.2421875 kHz 11 – 6.62109375 kHz 12 – 3.310546875 kHz 13 – 1.6552734375 kHz 14 – 0.82763671875 kHz 15 – 0.413818359375 kHz |
||
SAMPLE_BYTE_SEL | 1 bytes | Estos bits se utilizan para especificar qué bytes de los dos buses de entrada de 16 bits contribuyen al mecanismo de entrelazado que genera datos que se transferirán a la memoria del chip. El significado y uso de ellos depende de la S.AMPValores LE_MODE_SEL.
Nota: El valor dado siempre se enmascara con 0x0F y luego se considera el valor efectivo. |
SAMPLE_MODE_SEL | 1 bytes | Selecciona el sampmodo de intercalado de ling como se describe en las especificaciones de diseño de CTS. El valor decimal 3 está reservado y se tratará como 0. Nota: El valor dado siempre se enmascara con 0x03 y luego se considera el valor efectivo. |
TB0 | 1 bytes | Selecciona qué bus de prueba se conectará a TB0. Referirse a Sección 7 (valor TB_Signal_Index) |
TB1 | 1 bytes | Selecciona qué bus de prueba se conectará a TB1. Referirse a Sección 7 (valor TB_Signal_Index) |
TB2 | 1 bytes | Selecciona qué bus de prueba se conectará a TB2. Referirse a Sección 7 (valor TB_Signal_Index) |
TB3 | 1 bytes | Selecciona qué bus de prueba se conectará a TB3. Referirse a Sección 7 (valor TB_Signal_Index) |
TTB_SELECT | 1 bytes | Selecciona qué TB se conectará a las fuentes de activación. Referirse a Sección 7 (valor TB_Signal_Index) |
RFU | 4 bytes | Enviar siempre 0x00000000 |
MISC_CONFIG | 24 bytes | Ocurrencias de disparo, polaridad, etc. Consulte [1] para comprender la configuración de CTS a utilizar. |
4.5.10.2.2 Respuesta
Tabla 88. Valor de respuesta CTS_CONFIGURE
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_ESTADO_INSTR_ERROR |
4.5.10.2.3 Evento
No hay ningún evento para esta instrucción.
4.5.10.3 CTS_RETRIEVE_LOG
Esta instrucción recupera el registro de datos de los datos del bus de prueba capturados.amparchivos almacenados en el buffer de memoria.
4.5.10.3.1 Comando
Tabla 89. Valor del comando CTS_RETRIEVE_LOG
Campo de carga útil | Longitud | Valor / Descripción | |
Tamaño de porción | 1 byte | 0x01-0xFF | Contiene el número de bytes de datos esperados. |
4.5.10.3.2 Respuesta
Tabla 90. Valor de respuesta CTS_RETRIEVE_LOG
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) PN5190_STATUS_SUCCSES_CHAINING |
||
Datos de registro [1…n] | Solicitud CTS | capturado sampfragmento de datos |
Nota:
El tamaño máximo de los 'Datos de registro' depende del 'ChunkSize' que se proporcionó como parte del comando.
El tamaño total del registro estará disponible en la respuesta del encabezado TLV.
4.5.10.3.3 Evento
No hay ningún evento para esta instrucción.
4.5.11 Comandos TEST_MODE
4.5.11.1 PRUEBA_SELF_ANTENA
Esta instrucción se utiliza para verificar si la antena está conectada y los componentes correspondientes están poblados/ensamblados.
Nota:
Este comando aún no está disponible. Consulte las notas de la versión para conocer la disponibilidad.
4.5.11.2 PRBS_PRUEBA
Esta instrucción se utiliza para generar la secuencia PRBS para las diferentes configuraciones de los protocolos y velocidades de bits del modo Lector. Una vez ejecutada la instrucción, la secuencia de prueba PRBS estará disponible en RF.
Nota:
El host debe asegurarse de que se cargue la configuración de tecnología de RF adecuada usando la Sección 4.5.7.1 y que la RF esté activada usando el comando de la Sección 4.5.8.1 antes de enviar este comando.
4.5.11.2.1 Comando
Tabla 91. Valor del comando PRBS_TEST
Campo de carga útil | Longitud | Valor / Descripción | |
tipo_prbs | 1 bytes | 00 | PRBS9 (predeterminado) |
01 | PRBS15 | ||
02-FF | RFU |
4.5.11.2.2 Respuesta
Tabla 92. Valor de respuesta PRBS_TEST
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD |
4.5.11.2.3 Evento
No hay ningún evento para esta instrucción.
4.5.12 Comandos de información del chip
4.5.12.1 GET_DIEID
Esta instrucción se utiliza para leer el ID del chip del chip PN5190.
4.5.12.1.1 Comando
Tabla 93. Valor del comando GET_DIEID
Campo de carga útil | Longitud | Valor / Descripción |
– | – | No hay datos en la carga útil |
4.5.12.1.2 Respuesta
Tabla 94. Valor de respuesta GET_DIEID
Campo de carga útil | Longitud | Valor/descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (no hay más datos presentes) |
||
Valores | 16 bytes | ID de matriz de 16 bytes. |
4.5.12.1.3 Evento
No hay eventos para este comando.
4.5.12.2 OBTENER_VERSIÓN
Esta instrucción se utiliza para leer la versión de HW, la versión de ROM y la versión de FW del chip PN5190.
4.5.12.2.1 Comando
Tabla 95. Valor del comando GET_VERSION
Campo de carga útil | Longitud | Valor / Descripción |
– | – | No hay datos en la carga útil |
Hay un comando DL_GET_VERSION (Sección 3.4.4) disponible en modo de descarga que se puede utilizar para leer la versión de HW, la versión de ROM y la versión de FW.
4.5.12.2.2 Respuesta
Tabla 96. Valor de respuesta GET_VERSION
Campo de carga útil | Longitud | Valor / Descripción |
Estado | 1 bytes | Estado de la operación [Tabla 9]. Los valores esperados son los siguientes: |
PN5190_ESTADO_ÉXITO PN5190_STATUS_INSTR_ERROR (No hay más datos presentes) |
||
HW_V | 1 byte | Versión de hardware |
RO_V | 1 byte | codigo rom |
FW_V | 2 bytes | Versión de firmware (utilizada para la descarga) |
RFU1-RFU2 | 1-2 bytes | – |
La respuesta esperada para diferentes versiones de PN5190 IC se menciona en la (Sección 3.4.4).
4.5.12.2.3 Evento
No hay eventos para este comando.
Apéndice (Ej.amplos)
Este apéndice consta del examparchivos para los comandos mencionados anteriormente. La exampLos archivos tienen sólo fines ilustrativos para mostrar el contenido del comando.
5.1 Examparchivo para WRITE_REGISTER
Siguiente secuencia de datos enviados desde el host para escribir un valor 0x12345678 en el registro 0x1F.
Trama de comando enviada a PN5190: 0000051F78563412
El anfitrión debe esperar una interrupción.
Cuando el host lee la trama de respuesta recibida de PN5190 (lo que indica una operación exitosa): 00000100 5.2 Examparchivo para WRITE_REGISTER_OR_MASK
Siguiente secuencia de datos enviados desde el host para realizar la operación lógica OR en el registro 0x1F con una máscara como 0x12345678
Trama de comando enviada a PN5190: 0100051F78563412
El anfitrión debe esperar una interrupción.
Cuando el host lee la trama de respuesta recibida de PN5190 (lo que indica una operación exitosa): 01000100
5.3 Examparchivo para WRITE_REGISTER_AND_MASK
Siguiente secuencia de datos enviados desde el host para realizar una operación AND lógica en el registro 0x1F con una máscara como 0x12345678
Trama de comando enviada a PN5190: 0200051F78563412
El anfitrión debe esperar una interrupción.
Cuando el host lee la trama de respuesta recibida de PN5190 (lo que indica una operación exitosa): 02000100
5.4 Examparchivo para WRITE_REGISTER_MULTIPLE
La siguiente secuencia de datos enviados desde el host para realizar una operación lógica Y en el registro 0x1F con una máscara como 0x12345678, y una operación lógica O en el registro 0x20 con una máscara como 0x11223344, y una escritura en el registro 0x21 con un valor como 0xAABBCCDD.
Trama de comando enviada a PN5190: 0300121F03785634122002443322112101DDCCBBAA
El anfitrión debe esperar una interrupción.
Cuando el host lee la trama de respuesta recibida de PN5190 (lo que indica una operación exitosa): 03000100
5.5 Examparchivo para READ_REGISTER
Siguiente secuencia de datos enviados desde el host para leer el contenido del registro 0x1F y asumiendo que el registro tiene el valor de 0x12345678
Trama de comando enviada a PN5190: 0400011F
El anfitrión debe esperar una interrupción.
Cuando el host lee la trama de respuesta recibida de PN5190 (lo que indica una operación exitosa): 0400050078563412
5.6 Examparchivo para READ_REGISTER_MULTIPLE
Siguiente secuencia de datos enviados desde el host para leer el contenido de los registros 0x1F que contienen el valor de 0x12345678 y el registro 0x25 que contiene el valor de 0x11223344
Trama de comando enviada a PN5190: 0500021F25
El anfitrión debe esperar una interrupción.
Cuando el host leyó la respuesta, se recibió una trama de PN5190 (que indica una operación exitosa): 050009007856341244332211
5.7 Examparchivo para WRITE_E2PROM
Siguiente secuencia de datos enviados desde el host para escribir en las ubicaciones E2PROM 0x0130 a 0x0134 con contenidos como 0x11, 0x22, 0x33, 0x44, 0x55
Marco de comando enviado a PN5190: 06000730011122334455
El anfitrión debe esperar una interrupción.
Cuando el host lee la respuesta, se recibe la trama de PN5190 (que indica una operación exitosa): 06000100
5.8 Examparchivo para READ_E2PROM
Siguiente secuencia de datos enviados desde el host para leer desde las ubicaciones de E2PROM 0x0130 a 0x0134 donde los contenidos almacenados son: 0x11, 0x22, 0x33, 0x44, 0x55
Marco de comando enviado a PN5190: 07000430010500
El anfitrión debe esperar una interrupción.
Cuando el host leyó la respuesta, se recibió una trama de PN5190 (que indica una operación exitosa): 070006001122334455
5.9 Examparchivo para TRANSMIT_RF_DATA
La siguiente secuencia de datos enviados desde el host para enviar un comando REQA (0x26), con el número de bits que se transmitirán como '0x07', suponiendo que los registros requeridos estén configurados antes y que RF esté activado.
Marco de comando enviado a PN5190: 0800020726
El anfitrión debe esperar una interrupción.
Cuando el host lee la respuesta, se recibe la trama de PN5190 (que indica una operación exitosa): 08000100
5.10 Examparchivo para RETREIVE_RF_DATA
Siguiente secuencia de datos enviados desde el host para recibir los datos recibidos/almacenados en el búfer CLIF interno (suponiendo que se recibió 0x05), suponiendo que ya se envió un TRANSMIT_RF_DATA después de encender RF.
Marco de comando enviado a PN5190: 090000
El anfitrión debe esperar una interrupción.
Cuando el host lee la respuesta, se recibe la trama de PN5190 (que indica una operación exitosa): 090003000400
5.11 Examparchivo para EXCHANGE_RF_DATA
La siguiente secuencia de datos enviados desde el host para transmitir un REQA (0x26), con el número de bits en el último byte a enviar establecido en 0x07, y todo el estado se recibirá junto con los datos. Se supone que los registros de RF requeridos ya están configurados y la RF está activada.
Trama de comando enviada a PN5190: 0A0003070F26
El anfitrión debe esperar una interrupción.
Cuando el host leyó la respuesta, se recibió una trama de PN5190 (que indica una operación exitosa): 0A000 F000200000000000200000000004400
5.12 Examparchivo para LOAD_RF_CONFIGURATION
Siguiente secuencia de datos enviados desde el host para establecer la configuración de RF. Para TX, 0x00 y para RX, 0x80
Trama de comando enviada a PN5190: 0D00020080
El anfitrión debe esperar una interrupción.
Cuando el host lee la respuesta, se recibe la trama de PN5190 (que indica una operación exitosa): 0D000100
5.13 Examparchivo para UPDATE_RF_CONFIGURATION
Siguiente secuencia de datos enviados desde el host para actualizar la configuración de RF. Para TX, 0x00, con dirección de registro para CLIF_CRC_TX_CONFIG y valor como 0x00000001
Trama de comando enviada a PN5190: 0E0006001201000000
El anfitrión debe esperar una interrupción.
Cuando el host leyó la respuesta, se recibió una trama de PN5190 (que indica una operación exitosa): 0E000100
5.14 Examparchivo para RF_ON
Siguiente secuencia de datos enviados desde el host para encender el campo de RF evitando colisiones y sin P2P activo. Se supone que la configuración RF TX y RX correspondiente ya está configurada en PN5190.
Marco de comando enviado a PN5190: 10000100
El anfitrión debe esperar una interrupción.
Cuando el host lee la respuesta, se recibe la trama de PN5190 (que indica una operación exitosa): 10000100
5.15 Examparchivo para RF_OFF
Siguiente secuencia de datos enviados desde el host para apagar el campo RF.
Marco de comando enviado a PN5190: 110000
El anfitrión debe esperar una interrupción.
Cuando el host lee la respuesta, se recibe la trama de PN5190 (que indica una operación exitosa): 11000100
Apéndice (índices de configuración del protocolo RF)
Este apéndice consta de los índices de configuración del protocolo RF admitidos por el PN5190.
Las configuraciones de TX y RX deben usarse en los comandos de la Sección 4.5.7.1, Sección 4.5.7.2, Sección 4.5.7.3.
Apéndice (señales CTS y TESTBUS)
La siguiente tabla especifica las diferentes señales disponibles desde PN5190 para capturar usando instrucciones CTS (Sección 4.5.10) e instrucciones TESTBUS.
Estos deben usarse para el comando de la Sección 4.5.9.1, Sección 4.5.9.2, Sección 4.5.10.2.
Abreviaturas
Tabla 97. Abreviaturas
Abr. | Significado |
Clic | Reloj |
DWL_REQ | Descargar pin de solicitud (también llamado DL_REQ) |
Memoria EEPROM | Eléctricamente programable y borrable memoria de sólo lectura |
FW | Firmware |
Tierra | Suelo |
Entrada y salida de GP | Entrada y salida de propósito general |
HW | Hardware |
Yo²C | Circuito interintegrado (bus de datos serie) |
IRQ | Solicitud de interrupción |
ISO / IEC | Organización Internacional de Normalización / Comunidad Electrotécnica Internacional |
NFC | Comunicación de campo cercano |
OS | Sistema operativo |
PCD | Dispositivo de acoplamiento de proximidad (lector sin contacto) |
CCP | Tarjeta de Circuito Integrado de Proximidad (Tarjeta sin contacto) |
Unidad de gestión del proyecto | Unidad de administración de energía |
POR | Reinicio de encendido |
RF | Frecuencia de radio |
Primera vez | Reiniciar |
Universidad de San Francisco | modo de descarga segura de firmware |
Inspección de la inducción | Interfaz Periférica Serial |
Ven | V Habilitar pin |
Referencias
[1] Configuración CTS parte de NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT[2] Hoja de datos del circuito integrado PN5190, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf
Información legal
10.1 Definiciones
Borrador — Un estado de borrador en un documento indica que el contenido todavía está bajo revisión internaview y está sujeto a aprobación formal, lo que puede dar lugar a modificaciones o adiciones. NXP Semiconductors no ofrece declaraciones ni garantías en cuanto a la precisión o integridad de la información incluida en una versión preliminar de un documento y no tendrá responsabilidad por las consecuencias del uso de dicha información.
Descargos de responsabilidad de 10.2
Garantía limitada y responsabilidad — Se cree que la información de este documento es precisa y confiable. Sin embargo, NXP Semiconductors no ofrece ninguna representación ni garantía, expresa o implícita, en cuanto a la exactitud o integridad de dicha información y no será responsable de las consecuencias del uso de dicha información. NXP Semiconductors no asume ninguna responsabilidad por el contenido de este documento si lo proporciona una fuente de información externa a NXP Semiconductors.
En ningún caso, NXP Semiconductors será responsable de ningún daño indirecto, incidental, punitivo, especial o consecuente (incluidos, entre otros, la pérdida de ganancias, la pérdida de ahorros, la interrupción del negocio, los costos relacionados con la eliminación o el reemplazo de cualquier producto o los cargos de reelaboración) ya sea dichos daños no se basan en agravio (incluyendo negligencia), garantía, incumplimiento de contrato o cualquier otra teoría legal.
Sin perjuicio de los daños en que pueda incurrir el cliente por cualquier motivo, la responsabilidad total y acumulativa de NXP Semiconductors hacia el cliente por los productos descritos en este documento se limitará de acuerdo con el
Términos y condiciones de venta comercial de NXP Semiconductors.
Derecho a realizar cambios: NXP Semiconductors se reserva el derecho de realizar cambios en la información publicada en este documento, incluidas, entre otras, las especificaciones y descripciones de productos, en cualquier momento y sin previo aviso. Este documento sustituye y reemplaza toda la información suministrada antes de la publicación del mismo.
Idoneidad para el uso: los productos de NXP Semiconductors no están diseñados, autorizados ni garantizados para ser adecuados para su uso en sistemas o equipos de soporte vital, críticos para la vida o críticos para la seguridad, ni en aplicaciones en las que se pueda esperar razonablemente una falla o mal funcionamiento de un producto de NXP Semiconductors. resultar en lesiones personales, muerte o daños severos a la propiedad o al medio ambiente. NXP Semiconductors y sus proveedores no aceptan ninguna responsabilidad por la inclusión y/o el uso de productos de NXP Semiconductors en dichos equipos o aplicaciones y, por lo tanto, dicha inclusión y/o uso es por cuenta y riesgo del cliente.
Aplicaciones — Las aplicaciones que se describen en este documento para cualquiera de estos productos son solo para fines ilustrativos. NXP Semiconductors no representa ni garantiza que dichas aplicaciones sean adecuadas para el uso especificado sin más pruebas o modificaciones.
Los clientes son responsables del diseño y el funcionamiento de sus aplicaciones y productos que utilizan productos de NXP Semiconductors, y NXP Semiconductors no acepta ninguna responsabilidad por la asistencia con las aplicaciones o el diseño de productos del cliente. Es responsabilidad exclusiva del cliente determinar si el producto de NXP Semiconductors es adecuado y apto para las aplicaciones y los productos planificados del cliente, así como para la aplicación y el uso planificados de los clientes externos del cliente. Los clientes deben proporcionar protecciones operativas y de diseño adecuadas para minimizar los riesgos asociados con sus aplicaciones y productos.
NXP Semiconductors no acepta ninguna responsabilidad relacionada con ningún defecto, daño, costo o problema que se base en cualquier debilidad o defecto en las aplicaciones o productos del cliente, o la aplicación o el uso por parte de los clientes externos del cliente. El cliente es responsable de realizar todas las pruebas necesarias para las aplicaciones y los productos del cliente utilizando productos de NXP Semiconductors para evitar un incumplimiento de las aplicaciones y los productos o de la aplicación o el uso por parte de los clientes externos del cliente. NXP no acepta ninguna responsabilidad a este respecto.
NXP BV: NXP BV no es una empresa operativa y no distribuye ni vende productos.
Licencias 10.3
Compra de circuitos integrados de NXP con tecnología NFC: la compra de un circuito integrado de NXP Semiconductors que cumpla con uno de los estándares de comunicación de campo cercano (NFC) ISO/IEC 18092 e ISO/IEC 21481 no transmite una licencia implícita bajo ningún derecho de patente infringido por la implementación de cualquiera de esos estándares. La compra de NXP Semiconductors IC no incluye una licencia de ninguna patente de NXP (u otro derecho de propiedad intelectual) que cubra combinaciones de esos productos con otros productos, ya sean hardware o software.
10.4 Marcas comerciales
Aviso: Todas las marcas, nombres de productos, nombres de servicios y marcas registradas a las que se hace referencia son propiedad de sus respectivos dueños.
NXP: la marca denominativa y el logotipo son marcas comerciales de NXP BV
EdgeVerse: es una marca registrada de NXP BV
FeliCa: es una marca comercial de Sony Corporation.
MIFARE: es una marca registrada de NXP BV
MIFARE Classic: es una marca registrada de NXP BV
Tenga en cuenta que en la sección "Información legal" se han incluido avisos importantes sobre este documento y los productos descritos en él.
© 2023 NXP BV
Para obtener más información, visite: http://www.nxp.com
Reservados todos los derechos.
Fecha de lanzamiento: 25 de mayo de 2023
Identificador del documento: UM11942
Documentos / Recursos
![]() |
Controlador frontal NFC NXP PN5190 [pdf] Manual del usuario PN5190, PN5190 Controlador frontal NFC, Controlador frontal NFC, Controlador, UM11942 |