Logotipo da NXPUM11942
Camada de instrução PN5190
Controlador Frontend NFC

Manual do usuário

Controlador Frontend NFC PN5190

Informações do documento

Informação Contente
Palavras-chave PN5190, NFC, frontend NFC, controlador, camada de instrução
Resumo Este documento descreve os comandos e respostas da camada de instruções para trabalhar a partir de um controlador host, para avaliar a operação do controlador frontend NFC NXP PN5190. PN5190 é um controlador frontend NFC de próxima geração. O escopo deste documento é descrever os comandos de interface para trabalhar com o controlador frontend NFC PN5190. Para mais informações sobre o funcionamento do controlador frontend NFC PN5190, consulte a ficha técnica e suas informações complementares.

Histórico de revisão

Rev Data Descrição
3.7 20230525 • O tipo e o título do documento foram alterados do adendo da folha de dados do produto para o manual do usuário
• Limpeza editorial
• Termos editoriais atualizados para sinais SPI
• Adicionado comando GET_CRC_USER_AREA na Tabela 8 na Seção 4.5.2.3
• Vários detalhes diferenciados atualizados para PN5190B1 e PN5190B2 na Seção 3.4.1
• Resposta atualizada da Seção 3.4.7
3.6 20230111 Descrição da resposta de verificação de integridade aprimorada na Seção 3.4.7
3.5 20221104 Seção 4.5.4.6.3 “Evento”: adicionada
3.4 20220701 • Adicionado comando CONFIGURE_MULTIPLE_TESTBUS_DIGITAL na Tabela 8 na Seção 4.5.9.3
• Seção 4.5.9.2.2 atualizada
3.3 20220329 Descrição do hardware melhorada na Seção 4.5.12.2.1 “Comando” e Seção 4.5.12.2.2 “Resposta”
3.2 20210910 Números de versão de firmware atualizados de 2.1 para 2.01 e 2.3 para 2.03
3.1 20210527 Descrição do comando RETRIEVE_RF_FELICA_EMD_DATA adicionada
3 20210118 Primeira versão oficial lançada

Introdução

1.1 Introdução
Este documento descreve a interface do host PN5190 e as APIs. A interface física do host usada na documentação é SPI. A característica física do SPI não é considerada no documento.
A separação de quadros e o controle de fluxo fazem parte deste documento.
1.1.1 Âmbito
O documento descreve a camada lógica, o código de instrução e as APIs que são relevantes para o cliente.

Comunicação do anfitrião encerradaview

O PN5190 possui dois modos principais de operação para se comunicar com o controlador host.

  1. A comunicação baseada em HDLL é usada quando o dispositivo é acionado para entrar:
    a. Modo de download seguro criptografado para atualizar seu firmware
  2. Comunicação baseada em comando-resposta TLV (fornecida como um exampe).

2.1 Modo HDLL
O modo HDLL é usado para que o formato de troca de pacotes funcione com os modos de operação IC abaixo:

  1. Modo de download seguro de firmware (SFWU), consulte a Seção 3

2.1.1 Descrição do HDLL
HDLL é a camada de link desenvolvida pela NXP para garantir um download confiável de FW.
Uma mensagem HDLL é composta por um cabeçalho de 2 bytes, seguido por um quadro, contendo o opcode e o Payload do comando. Cada mensagem termina com um CRC de 16 bits, conforme descrito na figura abaixo:Controlador Frontend NFC NXP PN5190 -O cabeçalho HDL contém:

  • Um pedaço. O que indica se esta mensagem é o único ou o último pedaço de uma mensagem (pedaço = 0). Ou se, pelo menos, um outro pedaço segue (pedaço = 1).
  • O comprimento da carga útil codificada em 10 bits. Portanto, a carga útil do quadro HDL pode ir até 1023 bytes.

A ordem dos bytes foi definida como big-endian, ou seja, Ms Byte primeiro.
O CRC16 é compatível com o padrão X.25 (CRC-CCITT, ISO/IEC13239) com polinômio x^16 + x^12 + x^5 +1 e valor de pré-carga 0xFFFF.
É calculado sobre todo o quadro HDLL, ou seja, Cabeçalho + Quadro.
Sampimplementação do código C:
uint16_t estático phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_t eu;
uint16_t crc_new;
uint16_t crc = 0xffffU;
para (I = 0; i <dwLength; i++)
{
crc_new = (uint8_t)(crc >> 8) | (crc << 8);
crc_new ^= p[i];
crc_new ^= (uint8_t)(crc_new & 0xff) >> 4;
crc_new ^= crc_new << 12;
crc_new ^= (crc_new & 0xff) << 5;
crc = crc_novo;
}
retornar crc;
}
2.1.2 Mapeamento de transporte no SPI
Para cada asserção NTS, o primeiro byte é sempre um HEADER (byte de indicação de fluxo), pode ser 0x7F/0xFF em relação à operação de gravação/leitura.
2.1.2.1 Sequência de gravação do host (direção DH => PN5190)Controlador Frontend NFC NXP PN5190 - Sequência de gravação SPI.2.1.2.2 Sequência de leitura do host (Direção PN5190 => DH)Controlador Frontend NFC NXP PN5190 - Sequência de leitura2.1.3 Protocolo HDLL
HDLL é um protocolo de resposta de comando. Todas as operações citadas acima são acionadas através de um comando específico e validadas com base na resposta.
Os comandos e respostas seguem a sintaxe da mensagem HDLL, sendo o comando enviado pelo host do dispositivo, a resposta pelo PN5190. O opcode indica o comando e o tipo de resposta.
Comunicações baseadas em HDLL, usadas apenas quando o PN5190 é acionado para entrar no modo “Download seguro de firmware”.
2.2 Modo TLV
TLV significa Tag Valor do comprimento.
2.2.1 Definição de quadro
Um quadro SPI começa com a borda descendente do NTS e termina com a borda ascendente do NTS. SPI é full duplex por definição física, mas PN5190 usa SPI em modo half-duplex. O modo SPI é limitado a CPOL 0 e CPHA 0 com uma velocidade de clock máxima especificada em [2]. Cada quadro SPI é composto por um cabeçalho de 1 byte e n bytes de corpo.
2.2.2 Indicação de fluxoControlador Frontend NFC NXP PN5190 - Indicação de fluxoO HOST sempre envia como primeiro byte o byte de indicação de fluxo, seja para escrever ou ler dados do PN5190.
Se houver uma solicitação de leitura e nenhum dado estiver disponível, a resposta conterá 0xFF.
Os dados após o byte de indicação de fluxo são uma ou várias mensagens.
Para cada asserção NTS, o primeiro byte é sempre um HEADER (byte de indicação de fluxo), pode ser 0x7F/0xFF em relação à operação de gravação/leitura.
2.2.3 Tipo de mensagem
Um controlador host deve se comunicar com o PN5190 usando mensagens que são transportadas dentro de quadros SPI.
Existem três tipos diferentes de mensagens:

  • Comando
  • Resposta
  • Evento

Controlador Frontend NFC NXP PN5190 - controlador hostO diagrama de comunicação acima mostra as direções permitidas para os diferentes tipos de mensagens conforme abaixo:

  • Comando e resposta.
  • Os comandos são enviados apenas do controlador host para PN5190.
  • Respostas e eventos são enviados apenas do PN5190 para o controlador host.
  • As respostas dos comandos são sincronizadas usando o pino IRQ.
  • O host pode enviar os comandos somente quando o IRQ estiver baixo.
  • O host pode ler a resposta/evento somente quando o IRQ estiver alto.

2.2.3.1 Sequências e regras permitidasControlador Frontend NFC NXP PN5190 - Sequências permitidasSequências permitidas de comando, resposta e eventos

  • Um comando é sempre confirmado por uma resposta, ou um evento, ou ambos.
  • O controlador host não tem permissão para enviar outro comando antes de não ter recebido uma resposta ao comando anterior.
  • Os eventos podem ser enviados de forma assíncrona a qualquer momento (NÃO intercalados em um par comando/resposta).
  • As mensagens EVENT nunca são combinadas com as mensagens RESPONSE dentro de um quadro.

Observação: A disponibilidade de uma mensagem (seja RESPONSE ou EVENT) é sinalizada com o IRQ indo de alto para baixo. O IRQ permanece alto até que toda a resposta ou event frame seja lida. Somente depois que o sinal IRQ estiver baixo, o host poderá enviar o próximo comando.
2.2.4 Formato da mensagem
Cada mensagem é codificada em uma estrutura TLV com carga útil de n bytes para cada mensagem, exceto para o comando SWITCH_MODE_NORMAL.Controlador Frontend NFC NXP PN5190 - Formato de mensagemCada TLV é composto por:Controlador Frontend NFC NXP PN5190 - TLV é composto porTipo (T) => 1 byte
Bit[7] Tipo de Mensagem
0: Mensagem de COMANDO ou RESPOSTA
1: Mensagem do EVENTO
Bit[6:0]: Código de instrução
Comprimento (L) => 2 bytes (deve estar no formato big-endian)
Valor (V) => N bytes de valor/dados do TLV (Parâmetros de Comando/Dados de Resposta) com base no campo Comprimento (formato big-endian)
2.2.4.1 Quadro dividido
A mensagem COMMAND deve ser enviada em um quadro SPI.
As mensagens RESPONSE e EVENT podem ser lidas em vários quadros SPI, por exemplo, para ler o byte de comprimento.Controlador Frontend NFC NXP PN5190 - vários quadros SPIAs mensagens RESPONSE ou EVENT podem ser lidas em um único quadro SPI, mas atrasadas por NO-CLOCK entre elas, por exemplo, para ler o byte de comprimento.Controlador Frontend NFC NXP PN5190 - quadro SPI único

Modo de inicialização operacional IC – modo de download de FW seguro

3.1 Introdução
Parte do código do firmware PN5190 é armazenado permanentemente na ROM, enquanto o restante do código e dos dados são armazenados no flash incorporado. Os dados do usuário são armazenados em flash e protegidos por mecanismos anti-tearing que garantem a integridade e disponibilidade dos dados. Para fornecer aos clientes dos NXPs recursos compatíveis com os padrões mais recentes (EMVCo, NFC Forum e assim por diante), tanto o código quanto os dados do usuário em FLASH podem ser atualizados.
A autenticidade e integridade do firmware criptografado são protegidas por assinatura de chave assimétrica/simétrica e mecanismo de hash de cadeia reversa. O primeiro comando DL_SEC_WRITE contém o hash do segundo comando e é protegido por uma assinatura RSA na carga do primeiro quadro. O firmware PN5190 usa a chave pública RSA para autenticar o primeiro comando. O hash encadeado em cada comando é usado para autenticar o comando subsequente, para garantir que o código e os dados do firmware não sejam acessados ​​por terceiros.
As cargas dos comandos DL_SEC_WRITE são criptografadas com uma chave AES-128. Após a autenticação de cada comando, o conteúdo da carga útil é descriptografado e gravado em flash pelo firmware PN5190.
Para firmware NXP, a NXP é responsável por fornecer novas atualizações seguras de firmware, juntamente com novos dados do usuário.
O procedimento de atualização está equipado com um mecanismo para proteger a autenticidade, integridade e confidencialidade do código e dos dados da NXP.
O esquema de pacote de quadros baseado em HDLL é usado para todos os comandos e respostas para o modo de atualização de firmware seguro.
A Seção 2.1 fornece maisview do esquema de pacote de quadros HDLL usado.
Os ICs PN5190 suportam download de firmware seguro e criptografado herdado e protocolo de download de firmware seguro criptografado assistido por hardware, dependendo da variante usada.
Os dois tipos são:

  • Protocolo legado de download de firmware seguro que funciona apenas com a versão PN5190 B0/B1 IC.
  • Protocolo de download de firmware seguro assistido por criptografia de hardware que funciona apenas com a versão PN5190B2 IC, que usa blocos de criptografia de hardware no chip

As seções a seguir explicam os comandos e respostas do modo de download seguro de firmware.
3.2 Como acionar o modo “Download seguro de firmware”
O diagrama abaixo e as etapas subsequentes mostram como acionar o modo de download de firmware seguro.Controlador Frontend NFC NXP PN5190 - modo de download de firmwarePré-condição: PN5190 está no estado Operação.
Cenário principal:

  1. Condição de entrada onde o pino DWL_REQ é usado para entrar no modo “Download seguro de firmware”.
    a. O host do dispositivo puxa o pino DWL_REQ alto (válido somente se a atualização segura do firmware for feita através do pino DWL_REQ) OU
    b. O host do dispositivo executa uma reinicialização forçada para inicializar o PN5190
  2. Condição de entrada onde o pino DWL_REQ não é usado para entrar no modo “Download seguro de firmware” (download sem pino).
    a. O host do dispositivo executa uma reinicialização forçada para inicializar o PN5190
    b. O host do dispositivo envia SWITCH_MODE_NORMAL (Seção 4.5.4.5) para entrar no modo normal de aplicação.
    c. Agora, quando o IC está no modo normal de aplicação, o host do dispositivo envia SWITCH_MODE_DOWNLOAD (Seção 4.5.4.9) para entrar no modo de download seguro.
  3. O host do dispositivo envia o comando DL_GET_VERSION (Seção 3.4.4), ou DL_GET_DIE_ID (Seção 3.4.6) ou DL_GET_SESSION_STATE (Seção 3.4.5).
  4. O host do dispositivo lê a versão atual de hardware e firmware, sessão e Die-id do dispositivo.
    a. O host do dispositivo verifica o status da sessão se o último download foi concluído
    b. O host do dispositivo aplica as regras de verificação de versão para decidir se deseja iniciar ou sair do download.
  5. O host do dispositivo é carregado de um file o código binário do firmware a ser baixado
  6. O host do dispositivo fornece um primeiro comando DL_SEC_WRITE (Seção 3.4.8) que contém:
    a. A versão do novo firmware,
    b. Um nonce de 16 bytes de valores arbitrários usado para ofuscação de chave de criptografia
    c. Um valor resumido do próximo quadro,
    d. A assinatura digital do próprio quadro
  7. O host do dispositivo carrega a sequência do protocolo de download seguro para o PN5190 com comandos DL_SEC_WRITE (Seção 3.4.8)
  8. Quando o último comando DL_SEC_WRITE (Seção 3.4.8) for enviado, o host do dispositivo executa o comando DL_CHECK_INTEGRITY (Seção 3.4.7) para verificar se as memórias foram escritas com sucesso.
  9. O host do dispositivo lê a nova versão do firmware e verifica o status da sessão, se fechada, para reportar à camada superior
  10. O host do dispositivo puxa o pino DWL_REQ para baixo (se o pino DWL_REQ for usado para entrar no modo de download)
  11. O host do dispositivo executa uma reinicialização total (alternando o pino VEN) no dispositivo para reinicializar o PN5190
    Pós-condição: O firmware está atualizado; o novo número da versão do firmware é relatado.

3.3 Assinatura de firmware e controle de versão
No modo de download de firmware PN5190, um mecanismo garante que apenas um firmware assinado e entregue pela NXP será aceito para firmware NXP.
O seguinte é aplicável apenas para o firmware NXP seguro e criptografado.
Durante uma sessão de download, uma nova versão de firmware de 16 bits é enviada. É composto por um número maior e um número menor:

  • Número principal: 8 bits (MSB)
  • Número menor: 8 bits (LSB)

O PN5190 verifica se o novo número da versão principal é maior ou igual ao atual. Caso contrário, o download seguro do firmware será rejeitado e a sessão será mantida fechada.
3.4 Comandos HDLL para download criptografado legado e assistido por criptografia de hardware download criptografado
Esta seção fornece informações sobre os comandos e respostas que foram usados ​​para ambos os tipos de download do firmware NXP.
3.4.1 Códigos OP de comando HDLL
Observação: Os quadros de comando HDLL são alinhados em 4 bytes. Bytes de carga útil não utilizados são deixados nulos.
Tabela 1. Lista de códigos OP de comando HDLL

PN5190 B0/B1
(Baixar legado)
PN5190 B2
(Download assistido por criptografia)
Alias ​​de Comando Descrição
0xF0 0xE5 DL_REINICIAR Executa uma reinicialização suave
0xF1 0xE1 DL_OBTER_VERSÃO Retorna os números de versão
0xF2 0xDB DL_OBTER_ESTADO_DA_SESSÃO Retorna o estado atual da sessão
0xF4 0xDF DL_OBTER_ID_DA_MORTE Retorna o ID do dado
0xE0 0xE7 DL_VERIFICAR_INTEGRIDADE Verifica e retorna os CRCs nas diferentes áreas, bem como sinalizadores de status de aprovação/reprovação para cada
0xC0 0x8C DL_SEC_GRAVAÇÃO Grava x bytes na memória começando no endereço absoluto y

3.4.2 Opcodes de resposta HDLL
Observação: Os quadros de resposta HDLL são alinhados em 4 bytes. Bytes de carga útil não utilizados são deixados nulos. Somente respostas DL_OK podem conter valores de carga útil.
Tabela 2. Lista de códigos OP de resposta HDLL

opcode Alias ​​de resposta Descrição
0x00 DL_OK Comando aprovado
0x01 DL_ENDEREÇO_INVÁLIDO Endereço não permitido
0x0B DL_DESCONHECIDO_CMD Comando desconhecido
0x0C DL_ABORTED_CMD A sequência de pedaços é muito grande
0x1E DL_ADDR_RANGE_OFL_ERROR Endereço fora do alcance
0x1F DL_BUFFER_OFL_ERROR O buffer é muito pequeno
0x20 DL_MEM_BSY Memória ocupada
0x21 ERRO_DE_ASSINATURA_DL Incompatibilidade de assinatura
0x24 DL_ERRO_VERSÃO_FIRMWARE Versão atual igual ou superior
0x28 ERRO_DE_PROTOCOLO_DL Erro de protocolo
0x2A DL_SFWU_DEGRADADO Corrupção de dados flash
0x2D PH_STATUS_DL_PRIMEIRO_BLOCO Primeiro pedaço recebido
0x2E PH_STATUS_DL_PRÓXIMO_BLOCO Aguarde o próximo pedaço
0xC5 PH_STATUS_ERRO_INTERNO_5 Incompatibilidade de comprimento

3.4.3 Comando DL_RESET
Troca de quadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF0 0x00 0x00 0x00 0x18 0x5B] PN5190B2: [HDLL] -> [0x00 0x04 0xE5 0x00 0x00 0x00 0xBF 0xB9] [HDLL] <- [0x00 0x04 STAT 0x00 CRC16] A redefinição impede que o PN5190 envie a resposta DL_STATUS_OK. Portanto, apenas um status incorreto pode ser recebido.
STAT é o status de retorno.
3.4.4 Comando DL_GET_VERSION
Troca de quadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF] PN5190B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU2 CRC16] O quadro de carga útil da resposta GetVersion é:
Tabela 3. Resposta ao comando GetVersion

Campo Byte Descrição
ESTATÍSTICA 1 Status
HW_V 2 Versão do hardware
RO_V 3 Código ROM
MODELO_ID 4 ID do modelo
FMxV 5-6 Versão do firmware (usada para download)
RFU1-RFU2 7-8

Os valores esperados dos diferentes campos de resposta e seu mapeamento são os seguintes:
Tabela 4. Valores esperados da resposta do comando GetVersion

Tipo de CI Versão HW (hexadecimal) Versão ROM (hexadecimal) ID do modelo (hexadecimal) Versão FW (hexadecimal)
PN5190 B0 0x51 0x02 0x00 xx.aa
PN5190 B1 0x52 0x02 0x00 xx.aa
PN5190 B2 0x53 0x03 0x00 xx.aa

3.4.5 Comando DL_GET_SESSION_STATE
Troca de quadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF2 0x00 0x00 0x00 0xF5 0x33] PN5190B2: [HDLL] -> [0x00 0x04 0xDB 0x00 0x00 0x00 0x31 0x0A] [HDLL] <- [0x00 0x04 STAT SSTA RFU CRC16] O quadro de carga útil da resposta GetSession é:
Tabela 5. Resposta ao comando GetSession

Campo Byte Descrição
ESTATÍSTICA 1 Status
SSTA 2 Estado da sessão
• 0x00: fechado
• 0x01: aberto
• 0x02: bloqueado (download não permitido)
RFUs 3-4

3.4.6 Comando DL_GET_DIE_ID
Troca de quadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA] PN5190B2: [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] O quadro de carga útil da resposta GetDieId é:
Tabela 6. Resposta ao comando GetDieId

Campo Byte Descrição
ESTATÍSTICA 1 Status
RFUs 2-4
MORRE 5-20 ID do dado (16 bytes)

3.4.7 Comando DL_CHECK_INTEGRITY
Troca de quadros:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xE0 0x00 0x00 0x00 CRC16] PN5190B2: [HDLL] -> [0x00 0x04 0xE7 0x00 0x00 0x00 0x52 0xD1] [HDLL] <- [0x00 0x20 STAT LEN_DATA LEN_CODE 0x00 [CRC_INFO] [CRC32] CRC16] O quadro de carga útil da resposta CheckIntegrity é:
Tabela 7. Resposta ao comando CheckIntegrity

Campo Byte Valor / Descrição
ESTATÍSTICA 1 Status
DADOS DE LENÇA 2 Número total de seções de dados
CÓDIGO LEN 3 Número total de seções de código
RFUs 4 Reservado
[INFO_CRC] 58 32 bits (little endian). Se um bit for definido, o CRC da seção correspondente está OK, caso contrário, não está OK.
Pedaço Status de integridade da área
[31:28] Reservado [3]
[27:23] Reservado [1]
[22] Reservado [3]
[21:20] Reservado [1]
[19] Área de configuração de RF (PN5190 B0/B1) [2] Reservada (PN5190 B2) [3]
[18] Área de configuração de protocolo (PN5190 B0/B1) [2] Área de configuração de RF (PN5190 B2) [2]
[17] Reservado (PN5190 B0/B1) [3] Área de configuração do usuário (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 das 32 seções. Cada CRC tem 4 bytes armazenados no formato little-endian.
Os primeiros 4 bytes do CRC são do bit CRC_INFO[31], os próximos 4 bytes do CRC são do bit CRC_INFO[30] e assim por diante.
  • [1] Este bit deve ser 1 para que o PN5190 funcione corretamente (com recursos e/ou download de FW criptografado).
  • [2] Este bit é definido como 1 por padrão, mas as configurações modificadas pelo usuário invalidam o CRC. Nenhum efeito na funcionalidade do PN5190.
  • [3] Este valor de bit, mesmo que seja 0, não é relevante. Este valor de bit pode ser ignorado.

3.4.8 Comando DL_SEC_WRITE
O comando DL_SEC_WRITE deve ser considerado no contexto de uma sequência de comandos de gravação segura: o “download de firmware seguro” criptografado (frequentemente referido como eSFWu).
O comando de gravação segura primeiro abre a sessão de download e passa na autenticação RSA. Os próximos são passar endereços e bytes criptografados para gravar no Flash PN5190. Todos, exceto o último, contêm o hash dos próximos, informando, portanto, que não são os últimos e unindo criptograficamente os quadros da sequência.
Outros comandos (exceto DL_RESET e DL_CHECK_INTEGRITY) podem ser inseridos entre os comandos de gravação segura de uma sequência sem quebrá-la.
3.4.8.1 Primeiro comando DL_SEC_WRITE
Um comando de gravação segura é o primeiro se e somente se:

  1. O comprimento do quadro é de 312 bytes
  2. Nenhum comando de gravação segura foi recebido desde a última reinicialização.
  3. A assinatura incorporada foi verificada com sucesso pelo PN5190.

A resposta ao comando do primeiro quadro seria a seguinte: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT é o status de retorno.
Observação: Pelo menos um pedaço de dados deve ser gravado durante um eSFWu, mesmo que os dados gravados possam ter apenas um byte. Portanto, o primeiro comando sempre conterá o hash do próximo comando, pois serão pelo menos dois comandos.
3.4.8.2 Comandos DL_SEC_WRITE intermediários
Um comando de gravação seguro é 'intermediário' se e somente se:

  1. O opcode é descrito na Seção 3.4.1 para o comando DL_SEC_WRITE.
  2. Um primeiro comando de gravação seguro já foi recebido e verificado com sucesso antes
  3. Nenhuma redefinição ocorreu desde o recebimento do primeiro comando de gravação segura
  4. O comprimento do quadro é igual ao tamanho dos dados + tamanho do cabeçalho + tamanho do hash: FLEN = SIZE + 6 + 32
  5. O resumo de todo o quadro é igual ao valor de hash recebido no quadro anterior

A resposta ao comando do primeiro quadro seria a seguinte: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT é o status de retorno.
3.4.8.3 Último comando DL_SEC_WRITE
Um comando de gravação segura é o último se e somente se:

  1. O opcode é descrito na Seção 3.4.1 para o comando DL_SEC_WRITE.
  2. Um primeiro comando de gravação seguro já foi recebido e verificado com sucesso antes
  3. Nenhuma redefinição ocorreu desde o recebimento do primeiro comando de gravação segura
  4. O comprimento do quadro é igual ao tamanho dos dados + tamanho do cabeçalho: FLEN = SIZE + 6
  5. O resumo de todo o quadro é igual ao valor de hash recebido no quadro anterior

A resposta ao comando do primeiro quadro seria a seguinte: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT é o status de retorno.

Modo de inicialização operacional IC – Modo de operação normal

4.1 Introdução
Geralmente o IC PN5190 deve estar no modo normal de operação para obter a funcionalidade NFC dele.
Quando o IC PN5190 é inicializado, ele está sempre aguardando o recebimento de comandos de um host para executar a operação, a menos que eventos gerados no IC PN5190 resultem na inicialização do IC PN5190.
4.2 Lista de comandos acimaview
Tabela 8. Lista de comandos PN5190

Código de comando Nome do comando
0x00 ESCREVER_REGISTRAR
0x01 ESCREVER_REGISTRO_OU_MASCARAR
0x02 ESCREVER_REGISTRO_E_MASCARAR
0x03 ESCREVER_REGISTRO_MÚLTIPLO
0x04 READ_REGISTER
0x05 LEITURA_REGISTRO_MÚLTIPLO
0x06 ESCREVER_E2PROM
0x07 LEIA_E2PROM
0x08 TRANSMITIR_DADOS_RF
0x09 RECUPERAR_DADOS_RF
0x0A TROCA_DADOS_RF
0x0B MFC_AUTENTICAR
0x0C EPC_GEN2_INVENTÁRIO
0x0D LOAD_RF_CONFIGURAÇÃO
0x0E ATUALIZAÇÃO_RF_CONFIGURAÇÃO
0x0F GET_RF_CONFIGURAÇÃO
0x10 RF_ON
0x11 RF_DESLIGADO
0x12 CONFIGURAR TESTBUS_DIGITAL
0x13 CONFIGURAR_TESTBUS_ANALOG
0x14 CTS_ATIVAR
0x15 CTS_CONFIGURAR
0x16 CTS_RECUPERAR_LOG
0x17-0x18 RFUs
0x19 até FW v2.01: RFU
do FW v2.03 em diante: RETRIEVE_RF_FELICA_EMD_DATA
0x1A RECEBER_DADOS_RF
0x1B-0x1F RFUs
0x20 MODO_DE_TROCA_NORMAL
0x21 SWITCH_MODE_AUTOCOLL
0x22 INTERRUPTOR_MODO_ESPERA
0x23 MODO_DE_TROCA_LPCD
0x24 RFUs
0x25 SWITCH_MODE_DOWNLOAD
0x26 OBTER_DIEID
0x27 GET_VERSION
0x28 RFUs
0x29 até FW v2.05: RFU
do firmware v2.06 em diante: GET_CRC_USER_AREA
0x2A até FW v2.03: RFU
do firmware v2.05 em diante: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
0x2B-0x3F RFUs
0x40 ANTENNA_SELF_TEST (não compatível)
0x41 TESTE_PRBS
0x42-0x4F RFUs

4.3 Valores de status de resposta
A seguir estão os valores de status de resposta, que são retornados como parte da resposta do PN5190 após a operacionalização do comando.
Tabela 9. Valores de status de resposta do PN5190

Status de resposta Valor do status da resposta Descrição
PN5190_STATUS_SUCESSO 0x00 Indica que a operação foi concluída com sucesso
PN5190_STATUS_TEMPO LIMITE 0x01 Indica que a operação do comando resultou em timeout
PN5190_STATUS_INTEGRIDADE_ERROR 0x02 Indica que a operação do comando resultou em erro de integridade de dados de RF
PN5190_STATUS_RF_COLLISION_ERROR 0x03 Indica que a operação do comando resultou em erro de colisão de RF
PN5190_STATUS_RFU1 0x04 Reservado
PN5190_STATUS_COMANDO_INVÁLIDO 0x05 Indica que o comando fornecido é inválido/não implementado
PN5190_STATUS_RFU2 0x06 Reservado
PN5190_STATUS_ERRO_AUTH 0x07 Indica que a autenticação MFC falhou (permissão negada)
PN5190_STATUS_ERRO_DE_MEMÓRIA 0x08 Indica que a operação do comando resultou em erro de programação ou erro de memória interna
PN5190_STATUS_RFU4 0x09 Reservado
PN5190_STATUS_SEM_CAMPO_RF 0x0A Indica que não há ou há erro na presença do campo RF interno (aplicável somente se estiver no modo iniciador/leitor)
PN5190_STATUS_RFU5 0x0B Reservado
PN5190_STATUS_SYNTAX_ERROR 0x0C Indica que um comprimento de quadro de comando inválido foi recebido
PN5190_STATUS_ERRO_DE_RECURSOS 0x0D Indica que ocorreu um erro de recurso interno
PN5190_STATUS_RFU6 0x0E Reservado
PN5190_STATUS_RFU7 0x0F Reservado
PN5190_STATUS_SEM_CAMPO_RF_EXTERNO 0x10 Indica que nenhum campo RF externo está presente durante a execução do comando (aplicável apenas no modo cartão/alvo)
PN5190_STATUS_RX_TEMPO LIMITE 0x11 Indica que os dados não são recebidos depois que o RFExchange é iniciado e o RX atinge o tempo limite.
PN5190_STATUS_USUÁRIO_CANCELADO 0x12 Indica que o comando atual em andamento foi abortado
PN5190_STATUS_PREVENIR_ESPERA 0x13 Indica que o PN5190 está impedido de entrar no modo Standby
PN5190_STATUS_RFU9 0x14 Reservado
PN5190_STATUS_CLOCK_ERROR 0x15 Indica que o relógio do CLIF não começou
PN5190_STATUS_RFU10 0x16 Reservado
PN5190_STATUS_PRBS_ERROR 0x17 Indica que o comando PRBS retornou um erro
PN5190_STATUS_INSTR_ERROR 0x18 Indica que a operação do comando falhou (pode incluir erro nos parâmetros da instrução, erro de sintaxe, erro na própria operação, pré-requisitos para a instrução não atendidos, etc.)
PN5190_STATUS_ACESSO_NEGADO 0x19 Indica que o acesso à memória interna foi negado
PN5190_STATUS_TX_FALHA 0x1A Indica que o TX sobre RF falhou
PN5190_STATUS_NO_ANTENA 0x1B Indica que nenhuma antena está conectada/presente
PN5190_STATUS_TXLDO_ERROR 0x1C Indica que há um erro no TXLDO quando o VUP não está disponível e o RF está LIGADO.
PN5190_STATUS_RFCFG_NÃO_APLICADO 0x1D Indica que a configuração de RF não é carregada quando o RF está ligado
PN5190_STATUS_TIMEOUT_COM_ERRO_EMD 0x1E até FW 2.01: não esperado
do FW 2.03 em diante:
Indica que durante a troca com LOG ENABLE BIT definido no registro FeliCa EMD, foi observado erro FeliCa EMD
PN5190_STATUS_ERRO_INTERNO 0x7F Indica que a operação NVM falhou
PN5190_STATUS_SUCESSO_ENCADEAMENTO 0xAF Indica que, além disso, os dados estão pendentes para serem lidos

4.4 Eventos encerradosview
Existem duas maneiras pelas quais os eventos são notificados ao host.
4.4.1 Eventos normais sobre pin IRQ
Esses eventos são categorias conforme abaixo:

  1. Sempre ativado – o host é sempre notificado
  2. Controlado pelo Host – O Host é notificado, caso o respectivo bit Event Enable esteja setado no registrador (EVENT_ENABLE (01h)).

Interrupções de baixo nível dos IPs periféricos, incluindo o CLIF, serão completamente tratadas dentro do firmware e o host será notificado apenas dos eventos listados na seção de eventos.
O firmware implementa dois registradores de eventos como registradores RAM que podem ser escritos/lidos usando os comandos da Seção 4.5.1.1/Seção 4.5.1.5.
O registro EVENT_ENABLE (0x01) => Habilitar notificações específicas/de todos os eventos.
O registro EVENT_STATUS (0x02) => Parte da carga útil da mensagem do evento.
Os eventos serão apagados pelo host assim que a mensagem do evento for lida pelo host.
Os eventos são de natureza assíncrona e são notificados ao host, se estiverem habilitados no registro EVENT_ENABLE.
A seguir está a lista de eventos que estarão disponíveis para o anfitrião como parte da mensagem do evento.
Tabela 10. Eventos PN5190 (conteúdo de EVENT_STATUS)

Bit – Faixa Campo [1] Sempre Habilitado (S/N)
31 12 RFUs NA
11 11 EVENTO_CTS [2] N
10 10 EVENTO_INATIVO Y
9 9 LPCD_CALIBRAÇÃO_CONCLUÍDA_EVENTO Y
8 8 LPCD_EVENTO Y
7 7 AUTOCOLL_EVENTO Y
6 6 TIMER0_EVENTO N
5 5 EVENTO_DE_SOBRE_CORRENTE_TX N
4 4 RFON_DET_EVENTO [2] N
3 3 RFOFF_DET_EVENTO [2] N
2 2 STANDBY_PREV_EVENTO Y
1 1 EVENTO_DE_ERRO_GERAL Y
0 0 EVENTO_DE_BOOT Y
  1. Observe que dois eventos não são eliminados, exceto em caso de erros. Em caso de erros durante a operação, serão definidos eventos funcionais (ex. BOOT_EVENT, AUTOCALL_EVENT etc.) e GENERAL_ERROR_EVENT.
  2. Este evento será desativado automaticamente após ser postado no host. O host deve habilitar novamente esses eventos se desejar que eles sejam notificados.

4.4.1.1 Formatos de mensagens de eventos
O formato da mensagem de evento difere dependendo das ocorrências de um evento e do estado diferente do PN5190.
O anfitrião deve ler tag (T) e comprimento da mensagem (L) e depois lê o número correspondente de bytes como valor (V) dos eventos.
Em geral, a mensagem de evento (ver Figura 12) contém EVENT_STATUS conforme definido na Tabela 11 e os dados do evento correspondem ao respectivo bit de evento definido em EVENT_STATUS.
Observação:
Para alguns eventos, a carga útil não existe. Por exemplo, se TIMER0_EVENT for acionado, apenas EVENT_STATUS será fornecido como parte da mensagem do evento.
A Tabela 11 também detalha se os dados do evento estão presentes para o evento correspondente na mensagem do evento.Controlador Frontend NFC NXP PN5190 - erros ocorreramGENERAL_ERROR_EVENT também pode ocorrer com outros eventos.
Neste cenário, a mensagem de evento (consulte a Figura 13) contém EVENT_STATUS conforme definido na Tabela 11 e GENERAL_ERROR_STATUS_DATA conforme definido na Tabela 14 e então os dados do evento correspondem ao respectivo bit de evento definido em EVENT_STATUS conforme definido na Tabela 11.Controlador Frontend NFC NXP PN5190 - formato quando ocorreu um erroObservação:
Somente após BOOT_EVENT ou após POR, STANDBY, ULPCD o host poderá trabalhar no modo de operação normal emitindo os comandos listados acima.
No caso de abortar um comando em execução existente, somente após IDLE_EVENT o host poderá trabalhar no modo de operação normal emitindo os comandos listados acima.
4.4.1.2 Diferentes definições de status de EVENTO
4.4.1.2.1 Definições de bits para EVENT_STATUS
Tabela 11. Definições para bits EVENT_STATUS

Bit (Para – De) Evento Descrição Dados do evento do evento correspondente
(se houver)
31 12 RFUs Reservado
11 11 EVENTO_CTS Este bit é ativado quando o evento CTS é gerado. Tabela 86
10 10 EVENTO_INATIVO Este bit é definido quando o comando em andamento é cancelado devido à emissão do comando SWITCH_MODE_NORMAL. Nenhum dado de evento
9 9 LPCD_CALIBRAÇÃO_CONCLUÍDA_
EVENTO
Este bit é energizado quando o evento LPCDCalibrationdone é gerado. Tabela 16
8 8 LPCD_EVENTO Este bit é energizado quando o evento LPCD é gerado. Tabela 15
7 7 AUTOCOLL_EVENTO Este bit é energizado quando a operação AUTOCOLL é concluída. Tabela 52
6 6 TIMER0_EVENTO Este bit é energizado quando ocorre o evento TIMER0. Nenhum dado de evento
5 5 TX_OVERCURRENT_ERROR_
EVENTO
Este bit é ativado quando a corrente no driver TX é superior ao limite definido na EEPROM. Nessa condição, o campo é automaticamente desligado antes da notificação ao host. Consulte a Seção 4.4.2.2. Nenhum dado de evento
4 4 RFON_DET_EVENTO Este bit é ativado quando o campo RF externo é detectado. Nenhum dado de evento
3 3 RFOFF_DET_EVENTO Este bit é definido quando o campo RF externo já existente desaparece. Nenhum dado de evento
2 2 STANDBY_PREV_EVENTO Este bit é definido quando o modo de espera é evitado devido à existência de condições de prevenção Tabela 13
1 1 EVENTO_DE_ERRO_GERAL Este bit é definido quando existe alguma condição geral de erro Tabela 14
0 0 EVENTO_DE_BOOT Este bit é ativado quando o PN5190 é inicializado com POR/Standby Tabela 12

4.4.1.2.2 Definições de bits para BOOT_STATUS_DATA
Tabela 12. Definições para bits BOOT_STATUS_DATA

Pouco a Pouco de Status de inicialização Motivo da inicialização devido a
31 27 RFUs Reservado
26 26 ULP_ESPERA Motivo de inicialização devido à saída de ULP_STANDBY.
25 23 RFUs Reservado
22 22 BOOT_RX_ULPDET RX ULPDET resultou em inicialização no modo ULP-Standby
21 21 RFUs Reservado
20 20 BOOT_SPI Motivo de inicialização devido ao sinal SPI_NTS sendo reduzido
19 17 RFUs Reservado
16 16 BOOT_GPIO3 Motivo de inicialização devido à transição do GPIO3 de baixo para alto.
15 15 BOOT_GPIO2 Motivo de inicialização devido à transição do GPIO2 de baixo para alto.
14 14 BOOT_GPIO1 Motivo de inicialização devido à transição do GPIO1 de baixo para alto.
13 13 BOOT_GPIO0 Motivo de inicialização devido à transição do GPIO0 de baixo para alto.
12 12 BOOT_LPDET Motivo de inicialização devido à presença de campo RF externo durante STANDBY/SUSPEND
11 11 RFUs Reservado
10 8 RFUs Reservado
7 7 REINICIALIZAÇÃO_SUAVE_DE_BOOT Motivo de inicialização devido à reinicialização suave do IC
6 6 PERDA_DE_DIA_DE_BOOT Motivo de inicialização devido à perda de VDDIO. Consulte a Seção 4.4.2.3
5 5 BOOT_VDDIO_INÍCIO Motivo de inicialização se STANDBY for inserido com VDDIO LOSS.
Consulte a Seção 4.4.2.3
4 4 BOOT_WUC Motivo de inicialização devido ao contador de ativação decorrido durante a operação STANDBY.
3 3 TEMP_DE_BOOT O motivo da inicialização devido à temperatura do IC é superior ao limite configurado. Consulte a Seção 4.4.2.1
2 2 BOOT_WDG Motivo de inicialização devido à redefinição do watchdog
1 1 RFUs Reservado
0 0 BOOT_POR Motivo da inicialização devido à redefinição da inicialização

4.4.1.2.3 Definições de bits para STANDBY_PREV_STATUS_DATA
Tabela 13. Definições para bits STANDBY_PREV_STATUS_DATA

Pouco a  Pouco de  Prevenção de espera Modo de espera impedido devido a
31 26 RFUs RESERVADO
25 25 RFUs RESERVADO
24 24 TEMP_ANTERIOR A temperatura operacional do IC está fora do limite
23 23 RFUs RESERVADO
22 22 PREV_HOSTCOMM Comunicação de interface de host
21 21 PREV_SPI Sinal SPI_NTS sendo puxado para baixo
20 18 RFUs RESERVADO
17 17 ANTERIOR_GPIO3 Sinal GPIO3 em transição de baixo para alto
16 16 ANTERIOR_GPIO2 Sinal GPIO2 em transição de baixo para alto
15 15 ANTERIOR_GPIO1 Sinal GPIO1 em transição de baixo para alto
14 14 ANTERIOR_GPIO0 Sinal GPIO0 em transição de baixo para alto
13 13 ANTERIOR_WUC Contador de despertar decorrido
12 12 PREV_LPDET Detecção de baixa potência. Ocorre quando um sinal de RF externo é detectado no processo de entrada em espera.
11 11 PREV_RX_ULPDET Detecção de potência ultrabaixa RX. Ocorre quando o sinal de RF é detectado no processo de passagem para ULP_STANDBY.
10 10 RFUs RESERVADO
9 5 RFUs RESERVADO
4 4 RFUs RESERVADO
3 3 RFUs RESERVADO
2 2 RFUs RESERVADO
1 1 RFUs RESERVADO
0 0 RFUs RESERVADO

4.4.1.2.4 Definições de bits para GENERAL_ERROR_STATUS_DATA
Tabela 14. Definições para bits GENERAL_ERROR_STATUS_DATA

Pouco a  Pouco de  Status de erro Descrição
31 6 RFUs Reservado
5 5 XTAL_START_ERROR A inicialização do XTAL falhou durante a inicialização
4 4 ERRO_DE_RECUPERAÇÃO_SYS_TRIM Ocorreu um erro interno de memória de corte do sistema, mas a recuperação falhou. O sistema funciona em modo downgrade.
3 3 SYS_TRIM_RECUPERAÇÃO_SUCESSO Ocorreu um erro de memória interna do sistema e a recuperação foi bem-sucedida. O host deve reinicializar o PN5190 para que a recuperação entre em vigor.
2 2 TXLDO_ERROR Erro TXLDO
1 1 ERRO_DE_RELÓGIO Erro de relógio
0 0 GPADC_ERROR Erro ADC

4.4.1.2.5 Definições de bits para LPCD_STATUS_DATA
Tabela 15. Definições para bytes LPCD_STATUS_DATA

Pouco a Pouco de Aplicabilidade dos bits de status de acordo com a operação subjacente de LPCD ou ULPCD A descrição do bit correspondente é definida no byte de status.
CDLP ULPCD
31 7 RFUs Reservado
6 6 Abortar_HIF Y N Abortado devido à atividade do HIF
5 5 Erro CLKDET N Y Abortado devido a erro CLKDET ocorrido
4 4 Tempo limite do XTAL N Y Abortado devido ao tempo limite do XTAL ter ocorrido
3 3 Sobrecorrente VDDPA LDO N Y Abortado devido à ocorrência de sobrecorrente VDDPA LDO
2 2 Campo RF externo Y Y Abortado devido a campo RF externo
1 1 Abortar GPIO3 N Y Abortado devido à mudança de nível GPIO3
0 0 Cartão detectado Y Y O cartão foi detectado

4.4.1.2.6 Definições de bits para dados de status LPCD_CALIBRATION_DONE
Tabela 16. Definições para bytes de dados de status LPCD_CALIBRATION_DONE para ULPCD

Pouco a Pouco de Status de LPCD_CALIBRATION CONCLUÍDO evento A descrição do bit correspondente é definida no byte de status.
31 11 Reservado
10 0 Valor de referência da calibração ULPCD O valor RSSI medido durante a calibração ULPCD que é usado como referência durante ULPCD

Tabela 17. Definições para bytes de dados de status LPCD_CALIBRATION_DONE para LPCD

Pouco a Pouco de Aplicabilidade dos bits de status de acordo com a operação subjacente de LPCD ou ULPCD A descrição do bit correspondente é definida no byte de status.
2 2 Campo RF externo Y Y Abortado devido a campo RF externo
1 1 Abortar GPIO3 N Y Abortado devido à mudança de nível GPIO3
0 0 Cartão detectado Y Y O cartão foi detectado

4.4.2 Tratamento de diferentes cenários de inicialização
O IC PN5190 lida com diferentes condições de erro relacionadas aos parâmetros do IC, conforme abaixo.
4.4.2.1 Tratamento do cenário de superaquecimento quando o PN5190 está em operação
Sempre que a temperatura interna do IC PN5190 atingir o valor limite configurado no campo EEPROM TEMP_WARNING [2], o IC entra em standby. E, conseqüentemente, se o campo EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] estiver configurado para gerar uma notificação ao host, então o GPIO0 será aumentado para notificar o IC sobre temperatura.
À medida que a temperatura do IC cair abaixo do valor limite configurado no campo EEPROM TEMP_WARNING [2], o IC será inicializado com BOOT_EVENT como na Tabela 11 e o bit de status de inicialização BOOT_TEMP será definido como na Tabela 12 e o GPIO0 será puxado para baixo.
4.4.2.2 Tratamento de sobrecorrente
Se o IC PN5190 detectar a condição de sobrecorrente, o IC desliga a alimentação de RF e envia TX_OVERCURRENT_ERROR_EVENT como na Tabela 11.
A duração da condição de sobrecorrente pode ser controlada modificando o campo EEPROM TXLDO_CONFIG [2].
Para obter informações sobre IC acima do limite de corrente, consulte o documento [2].
Observação:
Se houver outros eventos ou respostas pendentes, eles serão enviados ao host.
4.4.2.3 Perda de VDDIO durante a operação
Se o IC PN5190 descobrir que não há VDDIO (perda de VDDIO), o IC entra em espera.
O IC inicializa somente quando o VDDIO está disponível, com BOOT_EVENT como na Tabela 11 e o bit de status de inicialização BOOT_VDDIO_START é definido como na Tabela 12.
Para obter informações sobre as características estáticas do IC PN5190, consulte o documento [2].
4.4.3 Tratamento de cenários de aborto
O IC PN5190 tem suporte para abortar os comandos de execução atuais e o comportamento do IC PN5190, quando tal comando de abortar como a Seção 4.5.4.5.2 é enviado para o IC PN5190 é mostrado na Tabela 18.
Observação:
Quando o IC PN5190 está no modo ULPCD e ULP-Standby, ele não pode ser abortado enviando uma Seção 4.5.4.5.2 OU iniciando uma transação SPI (puxando para baixo o sinal SPI_NTS).
Tabela 18. Resposta de evento esperada quando comandos diferentes terminam com a Seção 4.5.4.5.2

Comandos Comportamento quando o comando Switch Mode Normal é enviado
Todos os comandos onde baixa potência não é inserida EVENT_STAUS está definido como “IDLE_EVENT”
Modo de comutação LPCD EVENT_STATUS é definido como “LPCD_EVENT” com “LPCD_ STATUS_DATA” indicando bits de status como “Abort_HIF”
Alternar modo de espera EVENT_STAUS é definido como “BOOT_EVENT” com “BOOT_STATUS_DATA” indicando bits “BOOT_SPI”
Switch Mode Autocoll (sem modo autônomo, modo autônomo com espera e modo autônomo sem espera) EVENT_STAUS é definido como “AUTOCOLL_EVENT” com bits STATUS_DATA indicando que o comando foi cancelado pelo usuário.

4.5 Detalhes das instruções de operação no modo normal
4.5.1 Manipulação de Registro
As instruções desta seção são utilizadas para acessar os registros lógicos do PN5190.
4.5.1.1 GRAVAÇÃO_REGISTRO
Esta instrução é usada para escrever um valor de 32 bits (little-endian) em um registrador lógico.
4.5.1.1.1 condições
O endereço do registrador deve existir, e o registrador deve ter o atributo READ-WRITE ou WRITE-ONLY.
4.5.1.1.2 Comando
Tabela 19. Valor do comando WRITE_REGISTER Grava um valor de 32 bits em um registro.

Campo de carga útil Comprimento Valor / Descrição
Endereço de registro 1 Byte Endereço do registro.

Tabela 19. Valor do comando WRITE_REGISTER…continuação
Escreva um valor de 32 bits em um registro.

Campo de carga útil Comprimento Valor / Descrição
Valor 4 Byte Valor de registro de 32 bits que deve ser escrito. (Pequeno endian)

4.5.1.1.3 Resposta
Tabela 20. Valor de resposta WRITE_REGISTER

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR

4.5.1.1.4 Evento
Não há eventos para este comando.
4.5.1.2 ESCREVER_REGISTRO_OU_MÁSCARA
Esta instrução é usada para modificar o conteúdo do registro usando uma operação lógica OR. O conteúdo do registrador é lido e uma operação lógica OR é executada com a máscara fornecida. O conteúdo modificado é gravado de volta no registro.
4.5.1.2.1 condições
O endereço do registrador deve existir, e o registrador deve ter o atributo READ-WRITE.
4.5.1.2.2 Comando
Tabela 21. Valor do comando WRITE_REGISTER_OR_MASK Execute uma operação lógica OR em um registro usando a máscara fornecida.

Campo de carga útil Comprimento Valor/descrição
Endereço de registro 1 Byte Endereço do registro.
Máscara 4 Byte Bitmask usado como operando para operação lógica OR. (Pequeno endian)

4.5.1.2.3 Resposta
Tabela 22. Valor de resposta WRITE_REGISTER_OR_MASK

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR

4.5.1.2.4 Evento
Não há eventos para este comando.
4.5.1.3 ESCREVER_REGISTRO_E_MÁSCARA
Esta instrução é usada para modificar o conteúdo do registro usando uma operação lógica AND. O conteúdo do registro é lido e uma operação lógica AND é executada com a máscara fornecida. O conteúdo modificado é gravado de volta no registro.
4.5.1.3.1 condições
O endereço do registrador deve existir, e o registrador deve ter o atributo READ-WRITE.
4.5.1.3.2 Comando
Tabela 23. Valor do comando WRITE_REGISTER_AND_MASK Execute uma operação AND lógica em um registro usando a máscara fornecida.

Campo de carga útil Comprimento Valor/descrição
Endereço de registro 1 Byte Endereço do registro.
Máscara 4 Byte Bitmask usado como operando para operação lógica AND. (Pequeno endian )

4.5.1.3.3 Resposta
Tabela 24. Valor de resposta WRITE_REGISTER_AND_MASK

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR

4.5.1.3.4 Evento
Não há eventos para este comando.
4.5.1.4 ESCREVER_REGISTRO_MÚLTIPLO
A funcionalidade desta instrução é semelhante à Seção 4.5.1.1, Seção 4.5.1.2, Seção 4.5.1.3, com a possibilidade de combiná-las. Na verdade, ele pega uma matriz de conjunto de valores de tipo de registro e executa a ação apropriada. O tipo reflete a ação que é gravação de registro, operação lógica OR em um registro ou operação lógica AND em um registro.
4.5.1.4.1 condições
O respectivo endereço lógico do registrador dentro de um conjunto deve existir.
O atributo de acesso ao registro deve permitir a execução da ação necessária (tipo):

  • Ação de gravação (0x01): atributo READ-WRITE ou WRITE-ONLY
  • OU ação de máscara (0x02): atributo READ-WRITE
  • E ação de máscara (0x03): atributo READ-WRITE

O tamanho do array 'Set' deve estar no intervalo de 1 a 43, inclusive.
O campo 'Tipo' deve estar no intervalo de 1 a 3, inclusive

4.5.1.4.2 Comando
Tabela 25. Valor do comando WRITE_REGISTER_MULTIPLE Execute uma operação de gravação de registro usando um conjunto de pares Registro-Valor.

Campo de carga útil Comprimento Valor/descrição
Definir [1…n] 6 Byte Endereço de registro 1 Byte Endereço lógico do registrador.
Tipo 1 Byte 0x1 Gravar Registro
0x2 Escreva Registro OU Máscara
0x3 Escreva Registro E Máscara
Valor 4 Byte 32 Valor do registrador de bits que deve ser escrito ou máscara de bits usada para operação lógica. (Pequeno endian)

Nota: No caso de uma exceção, a operação não é revertida, ou seja, os registros que foram modificados até ocorrer a exceção permanecem no estado modificado. O host deve tomar as ações adequadas para recuperar para um estado definido.
4.5.1.4.3 Resposta
Tabela 26. Valor de resposta WRITE_REGISTER_MULTIPLE

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR

4.5.1.4.4 Evento
Não há eventos para este comando.
4.5.1.5 LEITURA_REGISTRO
Esta instrução é usada para ler o conteúdo de um registrador lógico. O conteúdo está presente na resposta, como valor de 4 bytes no formato little-endian.
4.5.1.5.1 condições
O endereço do registrador lógico deve existir. O atributo de acesso do registrador deve ser READ-WRITE ou READ-ONLY.
4.5.1.5.2 Comando
Tabela 27. Valor do comando READ_REGISTER
Leia o conteúdo de um registro.

Campo de carga útil Comprimento Valor / Descrição
Endereço de registro 1 Byte Endereço do registrador lógico

4.5.1.5.3 Resposta
Tabela 28. Valor de resposta READ_REGISTER

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Registrar valor 4 Byte Valor de registro de 32 bits que foi lido. (Pequeno endian)

4.5.1.5.4 Evento
Não há eventos para este comando.
4.5.1.6 LEITURA_REGISTRO_MÚLTIPLO
Esta instrução é usada para ler vários registradores lógicos de uma só vez. O resultado (conteúdo de cada registro) é fornecido na resposta à instrução. O endereço de registro em si não está incluído na resposta. A ordem do conteúdo do registrador na resposta corresponde à ordem dos endereços dos registradores na instrução.
4.5.1.6.1 condições
Todos os endereços de registro na instrução devem existir. O atributo de acesso para cada registro deve ser READ-WRITE ou READ-ONLY. O tamanho da matriz 'Endereço de Registro' deve estar no intervalo de 1 a 18, inclusive.
4.5.1.6.2 Comando
Tabela 29. Valor do comando READ_REGISTER_MULTIPLE Execute uma operação de leitura de registro em um conjunto de registros.

Campo de carga útil Comprimento Valor / Descrição
Registrar endereço[1…n] 1 Byte Endereço de registro

4.5.1.6.3 Resposta
Tabela 30. Valor de resposta READ_REGISTER_MULTIPLE

Campo de carga útil Comprimento Valor/descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Valor de registro [1…n] 4 Byte Valor 4 Byte Valor de registro de 32 bits que foi lido (little-endian).

4.5.1.6.4 Evento
Não há eventos para este comando.
4.5.2 Manipulação E2PROM
A área acessível na E2PROM é de acordo com o mapa da EEPROM e o tamanho endereçável.
Observação:
1. Sempre que o 'Endereço E2PROM' for mencionado nas instruções abaixo, deverá referir-se ao tamanho da área EEPROM endereçável.
4.5.2.1 ESCREVER_E2PROM
Esta instrução é utilizada para escrever um ou mais valores na E2PROM. O campo 'Valores' contém os dados a serem gravados na E2PROM começando no endereço fornecido pelo campo 'Endereço E2PROM'. Os dados são gravados em ordem sequencial.
Observação:
Observe que este é um comando de bloqueio, isso significa que o NFC FE está bloqueado durante a operação de gravação. Isso pode levar vários milissegundos.
4.5.2.1.1 condições
O campo 'Endereço E2PROM' deve estar no intervalo conforme [2]. O número de bytes no campo 'Valores' deve estar no intervalo de 1 a 1024 (0x0400), inclusive. A operação de gravação não deve ultrapassar o endereço EEPROM mencionado em [2]. A resposta de erro deve ser enviada ao host se o endereço exceder o espaço de endereço EEPROM como em [2].
4.5.2.1.2 Comando
Tabela 31. Valor do comando WRITE_E2PROM Grava valores fornecidos sequencialmente em E2PROM.

Campo de carga útil Comprimento Valor/descrição
Endereço E2PROM 2 Byte Endereço na EEPROM a partir do qual a operação de escrita deve ser iniciada. (Pequeno endian )
Valores 1 – 1024 bytes Valores que devem ser escritos na E2PROM em ordem sequencial.

4.5.2.1.3 Resposta
Tabela 32. Valor de resposta WRITE_EEPROM

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.2.1.4 Evento
Não há eventos para este comando.
4.5.2.2 LEITURA_E2PROM
Esta instrução é usada para ler dados da área de memória E2PROM. O campo 'Endereço E2PROM' indica o endereço inicial da operação de leitura. A resposta contém os dados lidos do E2PROM.
4.5.2.2.1 condições
O campo 'Endereço E2PROM' deve estar em um intervalo válido.
O campo 'Número de bytes' deve estar no intervalo de 1 a 256, inclusive.
A operação de leitura não deve ultrapassar o último endereço EEPROM acessível.
A resposta de erro será enviada ao host, se o endereço exceder o espaço de endereço EEPROM.
4.5.2.2.2 Comando
Tabela 33. Valor do comando READ_E2PROM Ler valores de E2PROM sequencialmente.

Campo de carga útil Comprimento Valor/descrição
Endereço E2PROM 2 Byte Endereço na E2PROM a partir do qual será iniciada a operação de leitura. (Pequeno endian )
Número de bytes 2 Byte Número de bytes a serem lidos. (Pequeno endian)

4.5.2.2.3 Resposta
Tabela 34. Valor de resposta READ_E2PROM

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Valores 1 – 1024 bytes Valores que foram lidos em ordem sequencial.

4.5.2.2.4 Evento
Não há eventos para este comando.
4.5.2.3 OBTER_ÁREA_DO_USUÁRIO_CRC
Esta instrução é usada para calcular o CRC para toda a área de configuração do usuário, incluindo a área de protocolo do IC PN5190.
4.5.2.3.1 Comando
Tabela 35. Valor do comando GET_CRC_USER_AREA
Leia o CRC da área de configuração do usuário, incluindo a área de protocolo.

Campo de carga útil Comprimento Valor / Descrição
Nenhum dado na carga útil

4.5.2.3.2 Resposta
Tabela 36. Valor de resposta GET_CRC_USER_AREA

Campo de carga útil Comprimento Valor/descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Valores 4 Byte 4 bytes de dados CRC em formato little-endian.

4.5.2.3.3 Evento
Não há eventos para este comando.
4.5.3 Manipulação de dados CLIF
As instruções descritas nesta seção descrevem os comandos para transmissão e recepção de RF.
4.5.3.1 TROCA_RF_DADOS
A função de troca de RF realiza uma transmissão dos dados TX e aguarda a recepção de quaisquer dados RX.
A função retorna em caso de recepção (errônea ou correta) ou de timeout. O cronômetro é iniciado com o FIM da TRANSMISSÃO e parado com o INÍCIO da RECEPÇÃO. O valor de timeout pré-configurado na EEPROM deverá ser utilizado caso o timeout não seja configurado antes da execução do comando Exchange.
Se transceptor_state for

  • em IDLE, o modo TRANSCEIVE é inserido.
  • Em WAIT_RECEIVE, o estado do transceptor é redefinido para TRANSCEIVE MODE caso o bit inicializador seja definido
  • Em WAIT_TRANSMIT, o estado do transceptor é redefinido para TRANSCEIVE MODE caso o bit inicializador NÃO esteja definido

O campo 'Número de bits válidos no último byte' indica o comprimento exato dos dados a serem transmitidos.

4.5.3.1.1 condições
O tamanho do campo 'TX Data' deve estar no intervalo de 0 a 1024, inclusive.
O campo 'Número de bits válidos no último byte' deve estar no intervalo de 0 a 7.
O comando não deve ser chamado durante uma transmissão de RF em andamento. O comando deve garantir o estado correto do transceptor para transmitir os dados.
Observação:
Este comando é válido apenas para modo Leitor e modo iniciador P2P” Passivo/Ativo.
4.5.3.1.2 Comando
Tabela 37. Valor do comando EXCHANGE_RF_DATA
Grave os dados TX no buffer interno de transmissão de RF e inicie a transmissão usando o comando transceive e aguarde até a recepção ou o tempo limite para preparar uma resposta ao host.

Campo de carga útil Comprimento Valor / Descrição
Número de bits válidos no último byte 1 Byte 0 Todos os bits do último byte são transmitidos
1 – 7 Número de bits no último byte a ser transmitido.
Configuração do RFExchange 1 Byte Configuração da função RFExchange. Detalhes veja abaixo

Tabela 37. Valor do comando EXCHANGE_RF_DATA…continuação
Grave os dados TX no buffer interno de transmissão de RF e inicie a transmissão usando o comando transceive e aguarde até a recepção ou o tempo limite para preparar uma resposta ao host.

Campo de carga útil Comprimento Valor / Descrição
Dados TX n bytes Dados TX que devem ser enviados via CLIF usando o comando transceive. n = 0 – 1024 bytes

Tabela 38. Máscara de bits RFexchangeConfig

b7 b6 b5 b4 b3 b2 b1 b0 Descrição
Bits 4 – 7 são RFU
X Inclui dados RX na resposta com base em RX_STATUS, se o bit estiver definido como 1b.
X Inclui o registro EVENT_STATUS na resposta, se o bit estiver definido como 1b.
X Inclui o registro RX_STATUS_ERROR na resposta, se o bit estiver definido como 1b.
X Inclui o registro RX_STATUS na resposta, se o bit estiver definido como 1b.

4.5.3.1.3 Resposta
Tabela 39. Valor de resposta EXCHANGE_RF_DATA

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO
PN5190_STATUS_INSTR_ERROR (Nenhum dado adicional está presente) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR
RX_STATUS 4 Byte Se RX_STATUS for solicitado (little-endian)
RX_STATUS_ERROR 4 Byte Se RX_STATUS_ERROR for solicitado (little-endian)
STATUS_DO_EVENTO 4 Byte Se EVENT_STATUS for solicitado (little-endian)
Dados RX 1 – 1024 bytes Se forem solicitados dados RX. Dados RX recebidos durante a fase de recepção de RF da troca de RF.

4.5.3.1.4 Evento
Não há eventos para este comando.
4.5.3.2 TRANSMITIR_RF_DADOS
Esta instrução é usada para gravar dados no buffer de transmissão CLIF interno e iniciar a transmissão usando o comando transceive internamente. O tamanho desse buffer é limitado a 1024 bytes. Após esta instrução ter sido executada, uma recepção de RF é iniciada automaticamente.
O comando retorna imediatamente após a conclusão da transmissão, sem aguardar a conclusão da recepção.
4.5.3.2.1 condições
O número de bytes no campo 'TX Data' deve estar no intervalo de 1 a 1024, inclusive.
O comando não deve ser chamado durante uma transmissão de RF em andamento.
4.5.3.2.2 Comando
Tabela 40. Valor do comando TRANSMIT_RF_DATA Grava dados TX no buffer de transmissão CLIF interno.

Campo de carga útil Comprimento Valor / Descrição
Número de bits válidos no último byte 1 Byte 0 Todos os bits do último byte são transmitidos 1 – 7 Número de bits do último byte a serem transmitidos.
RFUs 1 Byte Reservado
Dados TX 1 – 1024 bytes Dados TX que serão usados ​​durante a próxima transmissão de RF.

4.5.3.2.3 Resposta
Tabela 41. Valor de resposta TRANSMIT_RF_DATA

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO PN5190_STATUS_INSTR_ERROR PN5190_STATUS_SEM_CAMPO_RF PN5190_STATUS_SEM_CAMPO_RF_EXTERNO

4.5.3.2.4 Evento
Não há eventos para este comando.
4.5.3.3 RECUPERAR_DADOS_RF
Esta instrução é usada para ler dados do buffer CLIF RX interno, que contém os dados de resposta de RF (se houver) postados nele da execução anterior da Seção 4.5.3.1 com opção de não incluir os dados recebidos na resposta ou Seção 4.5.3.2 .XNUMX comando.
4.5.3.3.1 Comando
Tabela 42. Valor do comando RETRIEVE_RF_DATA Lê dados RX do buffer de recepção de RF interno.

Campo de carga útil Comprimento Valor / Descrição
Vazio Vazio Vazio

4.5.3.3.2 Resposta
Tabela 43. Valor de resposta RETRIEVE_RF_DATA

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
Campo de carga útil Comprimento Valor / Descrição
PN5190_STATUS_INSTR_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Dados RX 1 – 1024 bytes Dados RX que foram recebidos durante a última recepção de RF bem-sucedida.

4.5.3.3.3 Evento
Não há eventos para este comando.
4.5.3.4 RECEBER_DADOS_RF
Esta instrução aguarda os dados recebidos através da Interface RF do leitor.
No modo leitor, esta instrução retorna se houver uma recepção (errônea ou correta) ou se ocorreu um timeout do FWT. O cronômetro é iniciado com o FIM da TRANSMISSÃO e parado com o INÍCIO da RECEPÇÃO. O valor de timeout padrão pré-configurado na EEPROM deverá ser utilizado caso o timeout não seja configurado antes da execução do comando Exchange.
No modo alvo, esta instrução retorna em caso de recepção (errônea ou correta) ou erro de RF externo.
Observação:
Esta instrução deve ser utilizada com o comando TRANSMIT_RF_DATA para realizar operações TX e RX…
4.5.3.4.1 Comando
Tabela 44. Valor do comando RECEIVE_RF_DATA

Campo de carga útil Comprimento Valor / Descrição
ReceberRFConfig 1 Byte Configuração da função ReceiveRFConfig. Ver Tabela 45

Tabela 45. Máscara de bits ReceiveRFConfig

b7 b6 b5 b4 b3 b2 b1 b0 Descrição
Bits 4 – 7 são RFU
X Inclui dados RX na resposta com base em RX_STATUS, se o bit estiver definido como 1b.
X Inclui o registro EVENT_STATUS na resposta, se o bit estiver definido como 1b.
X Inclui o registro RX_STATUS_ERROR na resposta, se o bit estiver definido como 1b.
X Inclui o registro RX_STATUS na resposta, se o bit estiver definido como 1b.

4.5.3.4.2 Resposta
Tabela 46. Valor de resposta RECEIVE_RF_DATA

Campo de carga útil Comprimento Valor/descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
PN5190_STATUS_TEMPO LIMITE
Campo de carga útil Comprimento Valor/descrição
PN5190_STATUS_SEM_CAMPO_RF
PN5190_STATUS_SEM_CAMPO_RF_EXTERNO
RX_STATUS 4 Byte Se RX_STATUS for solicitado (little-endian)
RX_STATUS_ERROR 4 Byte Se RX_STATUS_ERROR for solicitado (little-endian)
STATUS_DO_EVENTO 4 Byte Se EVENT_STATUS for solicitado (little-endian)
Dados RX 1 – 1024 bytes Se forem solicitados dados RX. Dados RX recebidos por RF.

4.5.3.4.3 Evento
Não há eventos para este comando.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (Configuração FeliCa EMD)
Esta instrução é usada para ler dados do buffer CLIF RX interno, que contém dados de resposta FeliCa EMD (se houver) postados nele da execução anterior do comando EXCHANGE_RF_DATA retornando com Status 'PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR'.
Observação: Este comando está disponível a partir do PN5190 FW v02.03.
4.5.3.5.1 Comando
Leia dados RX do buffer interno de recepção de RF.
Tabela 47. Valor do comando RETRIEVE_RF_FELICA_EMD_DATA

Campo de carga útil Comprimento Valor / Descrição
Configuração FeliCaRFRetrieve 1 Byte 00 – FF Configuração da função RETRIEVE_RF_FELICA_EMD_DATA
descrição da configuração (máscara de bits) bit 7..2: RFU
bit 1: Inclui o registro RX_STATUS_ERROR na resposta, se o bit estiver definido como 1b.
bit 0: Inclui o registro RX_STATUS na resposta, se o bit estiver definido como 1b.

4.5.3.5.2 Resposta
Tabela 48. Valor de resposta RETRIEVE_RF_FELICA_EMD_DATA

Campo de carga útil Comprimento Valor/descrição
Status 1 Byte Status da operação. Os valores esperados são os seguintes: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
RX_STATUS 4 Byte Se RX_STATUS for solicitado (little-endian)
RX_STATUS_ERRO 4 Byte Se RX_STATUS_ERROR for solicitado (little-endian)
Campo de carga útil Comprimento Valor/descrição
Dados RX 1…1024 bytes Dados FeliCa EMD RX que foram recebidos durante a última recepção de RF malsucedida usando o Exchange Command.

4.5.3.5.3 Evento
Não há eventos para este comando.
4.5.4 Alternando Modo de Operação
PN5190 suporta 4 modos de operação diferentes:
4.5.4.1 Normal
Este é o modo padrão, onde todas as instruções são permitidas.
4.5.4.2 Em espera
O PN5190 está no estado de espera/suspensão para economizar energia. As condições de despertar devem ser definidas para definir quando sair do modo de espera novamente.
4.5.4.3 CDLP
O PN5190 está no modo de detecção de cartão de baixo consumo de energia, onde tenta detectar um cartão que está entrando no volume operacional, com o menor consumo de energia possível.
4.5.4.4 Coleta automática
O PN5190 atua como ouvinte de RF, realizando a ativação do modo alvo de forma autônoma (para garantir restrições em tempo real)
4.5.4.5 MODO_DE_TROCA_NORMAL
O comando Switch Mode Normal tem três casos de uso.
4.5.4.5.1 UseCase1: Entre no modo de operação normal ao ligar (POR)
Use para redefinir para o estado inativo para receber/processar o próximo comando entrando no modo de operação normal.
4.5.4.5.2 UseCase2: Encerrando o comando já em execução para mudar para o modo de operação normal (comando de abortar)
Use para redefinir para o estado inativo para receber/processar o próximo comando, encerrando os comandos já em execução.
Comandos como standby, LPCD, Exchange, PRBS e Autocoll poderão ser finalizados usando este comando.
Este é o único comando especial que não tem resposta. Em vez disso, possui uma notificação de EVENTO.
Consulte a Seção 4.4.3 para obter mais informações sobre os tipos de eventos que ocorrem durante a execução de diferentes comandos subjacentes.
4.5.4.5.2.1 Caso de uso2.1:
Este comando deve redefinir todos os registros CLIF TX, RX e Field Control para o estado de inicialização. A emissão deste comando desligará qualquer campo RF existente.
4.5.4.5.2.2 Caso de uso2.2:
Disponível a partir do PN5190 FW v02.03:
Este comando não modificará os registros CLIF TX, RX e Field Control, mas apenas moverá o transceptor para o estado IDLE.
4.5.4.5.3 UseCase3: Modo de operação normal ao reiniciar/sair do modo de espera, LPCD Neste caso, o PN5190 entra diretamente no modo de operação normal, enviando o IDLE_EVENT para o host (Figura 12 ou Figura 13) e “ IDLE_EVENT” é definido na Tabela 11.
Não há nenhum requisito para enviar o comando SWITCH_MODE_NORMAL.
Observação:
Depois que o IC é alterado para o modo normal, todas as configurações de RF são modificadas para o estado padrão. É imperativo que a respectiva configuração de RF e outros registros relacionados sejam carregados com valores apropriados antes de executar uma operação RF ON ou RF Exchange.
4.5.4.5.4 Quadro de comando a ser enviado para diferentes casos de uso
4.5.4.5.4.1 UseCase1: Comando entra no modo de operação normal ao ligar (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: Comando para encerrar comandos já em execução para mudar para o modo de operação normal
Caso de uso 2.1:
0x20 0x00 0x00
Caso de uso 2.2: (do FW v02.02 em diante):
0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: Comando para modo de operação normal após reinicialização suave/saída do modo de espera, LPCD, ULPCD
Nenhum. PN5190 entra diretamente no modo de operação normal.
4.5.4.5.5 Resposta
Nenhum
4.5.4.5.6 Evento
Um BOOT_EVENT (no registro EVENT_STATUS) é definido indicando que o modo normal foi inserido e enviado ao host. Consulte a Figura 12 e a Figura 13 para obter os dados do evento.

Controlador Frontend NFC NXP PN5190 - Operação Normal

Um IDLE_EVENT (no registro EVENT_STATUS) é definido indicando que o modo normal foi inserido e enviado ao host. Consulte a Figura 12 e a Figura 13 para obter os dados do evento.Controlador Frontend NFC NXP PN5190 - já encerrando

Um BOOT_EVENT (no registro EVENT_STATUS) é definido indicando que o modo normal foi inserido e enviado ao host. Consulte a Figura 12 e a Figura 13 para obter os dados do evento.

Controlador Frontend NFC NXP PN5190 - Modo de operação em aquecimento

4.5.4.6 MODO_DE_TROCA_AUTOCOLL
O Switch Mode Autocoll executa automaticamente o procedimento de ativação do cartão no modo alvo.
O campo 'Autocoll Mode' deve estar no intervalo de 0 a 2, inclusive.
Caso o campo 'Autocoll Mode' esteja definido como 2 (Autocoll): O campo 'RF Technologies' (Tabela 50) deve conter uma máscara de bits indicando as tecnologias de RF a serem suportadas durante o Autocoll.
Nenhuma instrução deve ser enviada enquanto estiver neste modo.
A terminação é indicada por meio de uma interrupção.
4.5.4.6.1 Comando
Tabela 49. Valor do comando SWITCH_MODE_AUTOCOLL

Parâmetro Comprimento Valor / Descrição
Tecnologias de RF 1 Byte Bitmask indicando a tecnologia RF a ser escutada durante o Autocoll.
Modo de coleta automática 1 Byte 0 Sem modo autônomo, ou seja, o Autocoll termina quando o campo RF externo não está presente.
Rescisão em caso de
• NENHUM CAMPO RF ou CAMPO RF desapareceu
• PN5190 está ATIVADO no modo TARGET
1 Modo autônomo com standby. Quando nenhum campo RF estiver presente, o Autocoll entra automaticamente no modo Standby. Assim que o campo RF externo for detectado, o PN5190 entra novamente no modo Autocoll.
Rescisão em caso de
• PN5190 está ATIVADO no modo TARGET
De PN5190 FW v02.03 em diante: Se o campo EEPROM “bCard ModeUltraLowPowerEnabled” no endereço '0xCDF' estiver definido como '1', então o PN5190 entra no modo de espera de ultra baixo consumo de energia.
2 Modo autônomo sem standby. Quando nenhum campo RF está presente, o PN5190 espera até que o campo RF esteja presente antes de iniciar o algoritmo Autocoll. O modo de espera não é usado neste caso.
Rescisão em caso de
• PN5190 está ATIVADO no modo TARGET

Tabela 50. Máscara de bits de tecnologias de RF

b7 b6 b5 b4 b3 b2 b1 b0 Descrição
0 0 0 0 RFUs
X Se definido como 1b, a escuta de NFC-F Active será habilitada. (Não disponível).
X Se definido como 1b, a escuta de NFC-A Active será habilitada. (Não disponível).
X Se definido como 1b, a escuta de NFC-F estará habilitada.
X Se definido como 1b, a escuta de NFC-A estará habilitada.

4.5.4.6.2 Resposta
A resposta apenas sinaliza que o comando foi processado.
Tabela 51. Valor de resposta SWITCH_MODE_AUTOCOLL

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO
PN5190_STATUS_INSTR_ERROR (o modo Switch não foi inserido devido a configurações erradas)

4.5.4.6.3 Evento
A notificação de evento é enviada quando o comando é concluído e o modo normal é inserido. O host deve ler os bytes de resposta com base no valor do evento.
Observação:
Quando o status não for “PN5190_STATUS_INSTR_SUCCESS”, então outros bytes de dados “Protocol” e “Card_Activated” não estarão presentes.
As informações de tecnologia são recuperadas dos registros usando os comandos da Seção 4.5.1.5, Seção 4.5.1.6.
A tabela a seguir mostra os dados do evento que são enviados como parte da mensagem de evento Figura 12 e Figura 13.
Tabela 52. EVENT_SWITCH_MODE_AUTOCOLL – Dados AUTOCOLL_EVENT Alternar modo de operação Evento Autocoll

Campo de carga útil Comprimento Valor / Descrição
Status 1 byte Situação da operação
PN5190_STATUS_INSTR_SUCESSO PN5190 está ATIVADO no modo TARGET.
Outros dados neste evento são válidos.
PN5190_STATUS_PREVENIR_ESPERA Indica que o PN5190 está impedido de entrar no modo Standby. Este status é válido somente quando o modo Autocoll está selecionado como “Modo autônomo com standby”.
PN5190_STATUS_NO_EXTERNAL_RF_FIELD Indica que nenhum campo RF externo está presente durante a execução do Autocoll no modo Não Autônomo
PN5190_STATUS_USUÁRIO_CANCELADO Indica que o comando atual em andamento foi abortado pelo comando normal do modo de comutação
Protocolo 1 byte 0x10 Ativado como passivo TypeA
0x11 Ativado como Passivo TypeF 212
0x12 Ativado como Passivo TypeF 424
0x20 Ativado como ativo TypeA
0x21 Ativado como ativo TypeF 212
0x22 Ativado como ativo TypeF 424
Outros valores Inválido
Cartão_Ativado 1 byte 0x00 Nenhum processo de ativação de cartão conforme ISO 14443-3
0x01 Indica que o dispositivo está ativado no modo Passivo

Observação:
Após a leitura dos dados do evento, os dados recebidos do cartão/dispositivo que foi ativado (como 'n' bytes de ATR_REQ/RATS conforme ISO18092/ISO1443-4), devem ser lidos usando o comando da Seção 4.5.3.3.
4.5.4.6.4 Comunicação example

Controlador Frontend NFC NXP PN5190 - Comunicação example

4.5.4.7 MODO_DE_TROCA_EM_ESPERA
O Switch Mode Standby coloca automaticamente o IC no modo Standby. O IC será ativado depois que as fontes de ativação configuradas atenderem às condições de ativação.
Observação:
A expiração do contador para ULP STANDBY e a interrupção HIF para STANDBY estão disponíveis por padrão para sair dos modos de espera.

4.5.4.7.1 Comando
Tabela 53. Valor do comando SWITCH_MODE_STANDBY

Parâmetro Comprimento Valor / Descrição
Configuração 1 Byte Bitmask controlando a fonte de ativação a ser usada e o modo Standby para entrar. Referir-se Tabela 54
Valor do contador 2 Byte Valor usado para contador de ativação em milissegundos. O valor máximo suportado é 2690 para espera. O valor máximo suportado é 4095 para espera ULP. O valor a ser fornecido está no formato little-endian.
O conteúdo deste parâmetro é válido somente se o “Config Bitmask” estiver habilitado para ativação no contador expirar.

Tabela 54. Configuração de máscara de bits

b7 b6 b5 b4 b3 b2 b1 b0 Descrição
X Entre no modo de espera ULP se o bit estiver definido como 1b Entre no modo de espera se o bit estiver definido como 0b.
0 RFUs
X Ative no GPIO-3 quando estiver alto, se o bit estiver definido como 1b. (Não aplicável para espera ULP)
X Ative no GPIO-2 quando estiver alto, se o bit estiver definido como 1b. (Não aplicável para espera ULP)
X Ative no GPIO-1 quando estiver alto, se o bit estiver definido como 1b. (Não aplicável para espera ULP)
X Ative no GPIO-0 quando estiver alto, se o bit estiver definido como 1b. (Não aplicável para espera ULP)
X O contador de ativação expira, se o bit estiver definido como 1b. Para ULP-Standby, esta opção está habilitada por padrão.
X Ativação no campo RF externo, se o bit estiver definido como 1b.

Observação: A partir do PN5190 FW v02.03, se o campo EEPROM “CardModeUltraLowPowerEnabled” no endereço '0xCDF' estiver definido como '1', a configuração de espera ULP não poderá ser usada com o comando SWITCH_MODE_STANDBY.
4.5.4.7.2 Resposta
A resposta apenas sinaliza que o comando foi processado e o estado de espera será inserido somente após a resposta ser totalmente lida pelo host.
Tabela 55. Valor de resposta SWITCH_MODE_STANDBY Alternar modo de operação em espera

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO
PN5190_STATUS_INSTR_ERROR (o modo Switch não foi inserido – devido a configurações erradas)

4.5.4.7.3 Evento
A notificação de evento é enviada quando o comando é concluído e o modo normal é inserido. Consulte o formato do evento que será enviado após a conclusão do comando conforme Figura 12 e Figura 13.
Caso o PN5190 seja impedido de entrar no modo Standby, então o bit do evento “STANDBY_PREV_EVENT” definido em EVENT_STATUS conforme mencionado na Tabela 11 é enviado ao host juntamente com o motivo da prevenção de standby conforme mencionado na Tabela 13.
4.5.4.7.4 Comunicação Example

Controlador Frontend NFC NXP PN5190 - Comunicação Example1

4.5.4.8 MODO_DE_TROCA_LPCD
O Switch Mode LPCD realiza uma detecção de desafinação na antena devido às mudanças no ambiente ao redor da antena.
Existem 2 modos diferentes de LPCD. A solução baseada em HW (ULPCD) oferece um consumo de energia competitivo com sensibilidade reduzida. A solução baseada em FW (LPCD) oferece a melhor sensibilidade da categoria com maior consumo de energia.
No modo único baseado em FW (LPCD), não há evento de calibração enviado ao host.
Quando o modo Único é invocado, a calibração e as medições sucessivas são feitas após sair do modo de espera.
Para evento de calibração em modo único, primeiro emita modo único com comando de evento de calibração. Após a calibração, um evento de calibração LPCD é recebido, após o qual o comando de modo único deve ser enviado com o valor de referência obtido na etapa anterior como parâmetro de entrada.
A configuração do LPCD é feita nas configurações EEPROM/Flash Data antes do comando ser chamado.
Observação:
A interrupção GPIO3 para ULPCD e a interrupção HIF para LPCD estão disponíveis por padrão para sair dos modos de baixo consumo de energia.
O despertar devido à expiração do contador está sempre ativado.
Para ULPCD, a configuração DC-DC deve ser desabilitada nas configurações de EEPROM/Flash Data e deve fornecer alimentação VUP através de VBAT. As configurações de jumper necessárias devem ser feitas. Para configurações de dados EEPROM/Flash, consulte o documento [2].
Se o comando for para calibração LPCD/ULPCD, o host ainda terá que enviar o quadro completo.

4.5.4.8.1 Comando
Tabela 56. Valor do comando SWITCH_MODE_LPCD

Parâmetro Comprimento Valor/descrição
bControle 1 Byte 0x00 Insira a calibração ULPCD. O comando para após a calibração e um evento com valor de referência é enviado ao host.
0x01 Digite ULPCD
0x02 Calibração LPCD. O comando para após a calibração e um evento com valor de referência é enviado ao host.
0x03 Entre no CDLP
0x04 Modo único
0x0C Modo único com evento de calibração
Outros valores RFUs
Controle de despertar 1 Byte Bitmask controlando a fonte de ativação a ser usada para LPCD/ULPCD. O conteúdo deste campo não é considerado para calibração. Referir-se Tabela 57
Valor de referência 4 Byte Valor de referência a ser utilizado durante ULPCD/LPCD.
Para ULPCD, o byte 2 que contém o valor do atenuador de HF é usado durante a fase de calibração e medição.
Para LPCD, o conteúdo deste campo não é considerado para calibração e modo Single. Referir-se Tabela 58 para obter as informações corretas sobre todos os 4 bytes.
Valor do contador 2 Byte Valor do contador de ativação em milissegundos. O valor máximo suportado é 2690 para LPCD. O valor máximo suportado é 4095 para ULPCD. O valor a ser fornecido está no formato little-endian.
O conteúdo deste campo não é considerado para calibração do LPCD.
Para modo único e modo único com evento de calibração, a duração do standby antes da calibração pode ser configurada na configuração da EEPROM: LPCD_SETTINGS->wCheck Period.
Para modo único com calibração, o valor WUC deve ser diferente de zero.

Tabela 57. Máscara de bits de controle de ativação

b7 b6 b5 b4 b3 b2 b1 b0 Descrição
0 0 0 0 0 0 0 RFUs
X Ativação no campo RF externo, se o bit estiver definido como 1b.

Tabela 58. Informações de bytes do valor de referência

Bytes de valor de referência ULPCD CDLP
bytes 0 Byte de referência 0 Canal 0 Byte de referência 0
bytes 1 Byte de referência 1 Canal 0 Byte de referência 1
bytes 2 Valor do atenuador HF Canal 1 Byte de referência 0
bytes 3 NA Canal 1 Byte de referência 1

4.5.4.8.2 Resposta
Tabela 59. Valor de resposta SWITCH_MODE_LPCD

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO
PN5190_STATUS_INSTR_ERROR (o modo Switch não foi inserido – devido a configurações erradas)

4.5.4.8.3 Evento
A notificação de evento é enviada quando o comando é concluído e o modo normal é inserido com os seguintes dados como parte do evento mencionado na Figura 12 e Figura 13.
Tabela 60. EVT_SWITCH_MODE_LPCD

Campo de carga útil Comprimento Valor / Descrição
Status do CDLP Consulte a Tabela 15 Consulte a Tabela 154.5.4.8.4 Comunicação Example

Controlador Frontend NFC NXP PN5190 - Example

4.5.4.9 MODO_DE_TROCA_DOWNLOAD
O comando Switch Mode Download entra no modo de download de firmware.
A única maneira de sair do modo de download é redefinir para PN5190.
4.5.4.9.1 Comando
Tabela 61. Valor do comando SWITCH_MODE_DOWNLOAD

Parâmetro Comprimento Valor / Descrição
Sem valor

4.5.4.9.2 Resposta
A resposta apenas sinaliza que o comando foi processado e o modo Download deverá ser inserido após a resposta ser lida pelo host.
Tabela 62. Valor de resposta SWITCH_MODE_DOWNLOAD
Alternar modo de operação Autocoll

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (o modo Switch não foi inserido)

4.5.4.9.3 Evento
Nenhuma geração de eventos.
4.5.4.9.4 Comunicação Example
4.5.5 Autenticação Clássica MIFARE
4.5.5.1 MFC_AUTENTICAR
Esta instrução é usada para realizar uma autenticação MIFARE Classic em um cartão ativado. São necessários a chave, o UID do cartão e o tipo de chave para autenticar em determinado endereço de bloco. A resposta contém um byte que indica o status de autenticação.
4.5.5.1.1 condições
A chave do campo deve ter 6 bytes de comprimento. O campo Tipo de chave deve conter o valor 0x60 ou 0x61. O endereço do bloco pode conter qualquer endereço de 0x0 a 0xff, inclusive. O campo UID deve ter bytes e conter o UID de 4 bytes do cartão. Uma placa baseada em produto ISO14443-3 MIFARE Classic deve ser colocada no estado ATIVO ou ATIVO* antes da execução desta instrução.
No caso de um erro de tempo de execução relacionado à autenticação, este campo 'Status de Autenticação' é definido adequadamente.
4.5.5.1.2 Comando
Tabela 63. Comando MFC_AUTHENTICATE
Execute a autenticação em um cartão baseado em produto MIFARE Classic ativado.

Campo de carga útil Comprimento Valor / Descrição
Chave 6 Byte Chave de autenticação a ser usada.
Tipo de chave 1 Byte 0x60 Chave Tipo A
0x61 Chave Tipo B
Bloquear endereço 1 Byte O endereço do bloco para o qual a autenticação deve ser realizada.
ID único 4 Byte UID do cartão.

4.5.5.1.3 Resposta
Tabela 64. Resposta MFC_AUTHENTICATE
Resposta a MFC_AUTHENTICATE.

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_INSTR_SUCESSO PN5190_STATUS_INSTR_ERRO PN5190_STATUS_TEMPO LIMITE PN5190_STATUS_ERRO_AUTH

4.5.5.1.4 Evento
Não há evento para esta instrução.
4.5.6 Suporte ISO 18000-3M3 (EPC GEN2)
4.5.6.1 EPC_GEN2_INVENTÁRIO
Esta instrução é usada para realizar um inventário da ISO18000-3M3 tags. Implementa uma execução autónoma de vários comandos de acordo com a norma ISO18000-3M3 de forma a garantir as temporizações especificadas por aquela norma.
Se presente na carga útil da instrução, primeiro um comando Select é executado seguido por um comando BeginRound.
Se houver uma resposta válida no primeiro intervalo de tempo (sem timeout, sem colisão), a instrução envia um ACK e salva o PC/XPC/UII recebido. A instrução então executa uma ação de acordo com o campo 'Timeslot Processed Behavior':

  • Se este campo for definido como 0, um comando NextSlot será emitido para tratar o próximo intervalo de tempo. Isso é repetido até que o buffer interno esteja cheio
  • Se este campo for definido como 1, o algoritmo pausa
  • Se este campo for definido como 2, um comando Req_Rn será emitido se, e somente se, houver um valor válido tag resposta neste timeslotCommand

O campo 'Select Command Length' deve conter o comprimento do campo 'Select Command', que deve estar no intervalo de 1 a 39, inclusive. Se 'Select Command Length' for 0, os campos 'Valid Bits in last Byte' e 'Select Command' não deverão estar presentes.
O campo Bits no último Byte deverá conter a quantidade de bits a serem transmitidos no último byte do campo 'Selecionar Comando'. O valor deve estar no intervalo de 1 a 7, inclusive. Se o valor for 0, todos os bits do último byte do campo 'Select Command' serão transmitidos.
O campo 'Select Command' deverá conter um comando Select conforme ISO18000-3M3 sem o final do CRC-16c e deverá ter o mesmo comprimento indicado no campo 'Select Command Length'.
O campo 'BeginRound Command' deve conter um comando BeginRound de acordo com ISO18000-3M3 sem seguir CRC-5. Os últimos 7 bits do último byte do 'Comando BeginRound' são ignorados porque o comando tem um comprimento real de 17 bits.
'Comportamento processado do intervalo de tempo' deve conter um valor de 0 a 2, inclusive.
Tabela 65. Valor do comando EPC_GEN2_INVENTORY Executar um inventário ISO 18000-3M3

Campo de carga útil Comprimento Valor/descrição
Retomar inventário 1 Byte 00 GEN2_INVENTORY inicial
01 Retome o comando GEN2_INVENTORY – o restante

os campos abaixo estão vazios (qualquer carga útil é ignorada)

Selecione o comprimento do comando 1 Byte 0 Nenhum comando Select é definido antes do comando BeginRound. Os campos 'Valid Bits in last Byte' e 'Select command' não devem estar presentes.
1 – 39 Comprimento (n) do campo 'Selecionar comando'.
Bits válidos no último byte 1 Byte 0 Todos os bits do último byte do campo 'Select command' são transmitidos.
1 – 7 Número de bits a serem transmitidos no último byte do campo 'Selecionar comando'.
Selecione o comando n bytes Se presente, este campo contém o comando Select (conforme ISO18000-3, Tabela 47) que é enviado antes do comando BeginRound. CRC-16c não deve ser incluído.
Comando BeginRound 3 Byte Este campo contém o comando BeginRound (conforme ISO18000-3, Tabela 49). CRC-5 não será incluído.
Comportamento processado de intervalo de tempo 1 Byte 0 A resposta contém no máximo. Número de intervalos de tempo que podem caber no buffer de resposta.
1 A resposta contém apenas um intervalo de tempo.
2 A resposta contém apenas um intervalo de tempo. Se o intervalo de tempo contiver uma resposta de cartão válida, o identificador do cartão também será incluído.

4.5.6.1.1 Resposta
O comprimento da Resposta pode ser “1” no caso de retomar o Inventário.
Tabela 66. Valor de resposta EPC_GEN2_INVENTORY

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCCESS (Lê o status do intervalo de tempo no próximo byte para Tag resposta)
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Intervalo de tempo [1…n] 3 – 69 bytes Status do intervalo de tempo 1 Byte 0 Tag resposta disponível. 'Tag Campo Comprimento da resposta', campo 'Bits válidos no último byte' e 'Tag campo de resposta' presente.
1 Tag resposta disponível.
2 Não tag respondeu no intervalo de tempo. 'Tag Os campos Reply Length' e 'Valid bits in last byte' devem ser definidos como zero. 'Tag campo de resposta' não deve estar presente.
3 Dois ou mais tags respondeu no intervalo de tempo. (Colisão). 'Tag Os campos Reply Length' e 'Valid bits in last byte' devem ser definidos como zero. 'Tag campo de resposta' não deve estar presente.
Tag Comprimento da resposta 1 Byte 0-66 Comprimento de 'Tag Campo 'Responder' (i). Se Tag O comprimento da resposta é 0, então o Tag O campo de resposta não está presente.
Bits válidos no último byte 1 Byte 0 Todos os bits do último byte de 'Tag campo de resposta' são válidos.
1-7 Número de bits válidos do último byte de 'Tag campo de resposta'. Se Tag O comprimento da resposta é zero, o valor deste byte deve ser ignorado.
Tag Responder 'n' Bytes Resposta do tag de acordo com ISO18000-3_2010, Tabela 56.
Tag Lidar 0 ou 2 bytes Alça do tag, caso o campo ‘Timeslot Status’ esteja definido como ‘1’. Caso contrário, o campo não estará presente.

4.5.6.1.2 Evento
Não há eventos para este comando.
4.5.7 Gerenciamento de configuração de RF
Consulte a Seção 6 para configuração de TX e RX para diferentes tecnologias de RF e taxas de dados suportadas pelo PN5190. Os valores que não estiverem presentes na faixa mencionada abaixo devem ser considerados como RFU.
4.5.7.1 LOAD_RF_CONFIGURAÇÃO
Esta instrução é usada para carregar a configuração de RF da EEPROM nos registradores CLIF internos. A configuração de RF refere-se a uma combinação exclusiva de tecnologia RF, modo (alvo/iniciador) e taxa de transmissão. A configuração de RF pode ser carregada separadamente para o caminho do receptor CLIF (configuração RX) e do transmissor (configuração TX). O valor 0xFF deve ser utilizado se a configuração correspondente para um caminho não deve ser alterada.
4.5.7.1.1 condições
O campo ‘Configuração TX’ deve estar no intervalo de 0x00 – 0x2B, inclusive. Se o valor for 0xFF, a configuração do TX não será alterada.
O campo ‘Configuração RX’ deve estar no intervalo de 0x80 – 0xAB, inclusive. Se o valor for 0xFF, a configuração RX não será alterada.
Uma configuração especial com Configuração TX = 0xFF e Configuração RX = 0xAC é usada para carregar os registros de inicialização uma vez.
Esta configuração especial é necessária para atualizar as configurações de registro (TX e RX) que são diferentes dos valores de redefinição do IC.

4.5.7.1.2 Comando
Tabela 67. Valor do comando LOAD_RF_CONFIGURATION
Carregue as configurações de RF TX e RX do E2PROM.

Campo de carga útil Comprimento Valor / Descrição
Configuração TX 1 Byte 0xFF Configuração de RF TX não alterada.
0x0 – 0x2B Configuração TX RF correspondente carregada.
Configuração RX 1 Byte 0xFF Configuração RX RF não alterada.
0x80 – 0xAB Configuração RX RF correspondente carregada.

4.5.7.1.3 Resposta
Tabela 68. Valor de resposta LOAD_RF_CONFIGURATION

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO PN5190_STATUS_INSTR_ERROR

4.5.7.1.4 Evento
Não há eventos para este comando.
4.5.7.2 ATUALIZAÇÃO_RF_CONFIGURAÇÃO
Esta instrução é utilizada para atualizar a configuração de RF (ver definição na Seção 4.5.7.1) dentro da E2PROM. A instrução permite a atualização no valor de granularidade do registrador, ou seja, não é necessário atualizar o conjunto completo (embora seja possível fazê-lo).
4.5.7.2.1 condições
O tamanho da configuração da matriz de campos deve estar no intervalo de 1 a 15, inclusive. A configuração do array de campos deve conter um conjunto de configuração de RF, endereço de registro e valor. O campo Configuração RF deve estar na faixa de 0x0 – 0x2B para Configuração TX e 0x80 – 0xAB para configuração RX, inclusive. O endereço dentro do campo Register Address deve existir dentro da respectiva configuração de RF. O campo Valor deve conter um valor que deve ser escrito no registro fornecido e deve ter 4 bytes de comprimento (formato little-endian).
4.5.7.2.2 Comando
Tabela 69. Valor do comando UPDATE_RF_CONFIGURATION
Atualizar a configuração de RF

Campo de carga útil Comprimento Valor / Descrição
Configuração[1…n] 6 Byte Configuração de RF 1 Byte Configuração de RF para a qual o registro deve ser alterado.
Endereço de registro 1 Byte Registre o endereço dentro da tecnologia RF fornecida.
Valor 4 Byte Valor que deve ser escrito no registrador. (Pequeno endian)

4.5.7.2.3 Resposta
Tabela 70. Valor de resposta UPDATE_RF_CONFIGURATION

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.7.2.4 Evento
Não há eventos para este comando.
4.5.7.3 GET_RF_CONFIGURATION
Esta instrução é usada para ler uma configuração de RF. Os pares endereço-valor do registro estão disponíveis na resposta. Para saber quantos pares são esperados, as informações do primeiro tamanho podem ser recuperadas do primeiro TLV, que indica o comprimento total da carga útil.
4.5.7.3.1 condições
A configuração de campo RF deve estar na faixa de 0x0 – 0x2B para configuração TX e 0x80 –0xAB para configuração RX, inclusive.
4.5.7.3.2 Comando
Tabela 71. Valor do comando GET_ RF_CONFIGURATION Recupera a configuração de RF.

Campo de carga útil Comprimento Valor / Descrição
Configuração de RF 1 Byte Configuração RF para a qual o conjunto de pares de valores de registro deve ser recuperado.

4.5.7.3.3 Resposta
Tabela 72. GET_ RF_CONFIGURATION Valor de resposta

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Par[1…n] 5 Byte Endereço de registro 1 Byte Registre o endereço dentro da tecnologia RF fornecida.
Valor 4 Byte Valor de registro de 32 bits.

4.5.7.3.4 Evento
Não há evento para a instrução.
4.5.8 Tratamento de Campo RF
4.5.8.1 RF_ON
Esta instrução é usada para ativar o RF. A regulação DPC no FieldOn inicial deve ser tratada neste comando.
4.5.8.1.1 Comando
Tabela 73. Valor do comando RF_FIELD_ON
Configurar RF_FIELD_ON.

Campo de carga útil Comprimento Valor / Descrição
RF_na_configuração 1 Byte Bit 0 0 Utilize a prevenção de colisões
1 Desativar prevenção de colisão
Bit 1 0 Nenhum P2P ativo
1 P2P ativo

4.5.8.1.2 Resposta
Tabela 74. Valor de resposta RF_FIELD_ON

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO PN5190_STATUS_INSTR_ERROR
PN5190_STATUS_RF_COLLISION_ERROR (o campo RF não está ativado devido à colisão de RF)
PN5190_STATUS_TIMEOUT (campo RF não está ativado devido ao tempo limite) PN5190_STATUS_TXLDO_ERROR (erro TXLDO devido a VUP não está disponível)
PN5190_STATUS_RFCFG_NOT_APPLIED (a configuração de RF não é aplicada antes deste comando)

4.5.8.1.3 Evento
Não há evento para esta instrução.
4.5.8.2 RF_DESLIGADO
Esta instrução é usada para desabilitar o Campo RF.
4.5.8.2.1 Comando
Tabela 75. Valor do comando RF_FIELD_OFF

Campo de carga útil Comprimento Valor / Descrição
Vazio Vazio vazio

4.5.8.2.2 Resposta
Tabela 76. Valor de resposta RF_FIELD_OFF

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)

4.5.8.2.3 Evento
Não há evento para esta instrução.
4.5.9 Configuração do barramento de teste
Os sinais de barramento de teste disponíveis nas configurações PAD selecionadas estão listados na Seção 7 para referência.
Eles devem ser consultados para fornecer as instruções de configuração do barramento de teste conforme mencionado abaixo.
4.5.9.1 CONFIGURAR _TESTBUS_DIGITAL
Esta instrução é usada para alternar o sinal do barramento de teste digital disponível nas configurações de bloco selecionadas.
4.5.9.1.1 Comando
Tabela 77. Valor do comando CONFIGURE_TESTBUS_DIGITAL

Campo de carga útil Comprimento Valor/descrição
TB_Índice de sinal 1 Byte Consulte Seção 7
TB_BitIndex 1 Byte Consulte Seção 7
Índice do TB_Pad 1 Byte O pad index, no qual o sinal digital será emitido
0x00 Pino AUX1
0x01 Pino AUX2
0x02 Pino AUX3
0x03 pino GPIO0
0x04 pino GPIO1
0x05 pino GPIO2
0x06 pino GPIO3
0x07-0xFF RFUs

4.5.9.1.2 Resposta
Tabela 78. Valor de resposta CONFIGURE_TESTBUS_DIGITAL

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)

4.5.9.1.3 Evento
Não há evento para esta instrução.
4.5.9.2 CONFIGURAR_TESTBUS_ANALOG
Esta instrução é usada para obter sinal de barramento de teste analógico disponível em configurações de bloco selecionadas.
O sinal no barramento de teste analógico pode ser obtido em diferentes modos. Eles são:
4.5.9.2.1 Modo RAW
Neste modo, o sinal escolhido por TB_SignalIndex0 é deslocado por Shift_Index0, mascarado com Mask0 e emitido em AUX1. Da mesma forma, o sinal escolhido por TB_SignalIndex1 é deslocado por Shift_Index1, mascarado com Mask1 e emitido em AUX2.
Este modo oferece flexibilidade para o cliente emitir qualquer sinal com largura de 8 bits ou menos e não requer conversão de sinal para saída nos blocos analógicos.
4.5.9.2.2 Modo COMBINADO
Neste modo, o sinal analógico será o valor ADCI/ADCQ/pcrm_if_rssi assinado de 10 bits convertido em um valor não assinado, reduzido para 8 bits e então emitido nos blocos AUX1 ou AUX2.
Apenas um dos valores convertidos ADCI/ADCQ (10 bits) pode ser enviado para AUX1/AUX2 a qualquer momento.
Se o valor do campo de carga útil do sinal Combined_Mode for 2 (Analógico e Digital Combinado), então o barramento de teste analógico e digital será roteado em AUX1 (Sinal Analógico) e GPIO0 (Sinal Digital).
Os sinais a serem roteados são configurados no endereço EEPROM mencionado abaixo:
0xCE9 – Índice de sinal TB
0xCEA – TB_BitIndex
0xCEB – TB_Index analógico
O índice do barramento de teste e o bit do barramento de teste devem ser configurados na EEPROM antes de emitirmos o modo combinado com a opção 2.
Observação:
O host deverá fornecer todos os campos, independentemente da aplicabilidade do campo no modo “bruto” ou “combinado”. O IC PN5190 considera apenas os valores dos campos aplicáveis.
4.5.9.2.3 Comando
Tabela 79. Valor do comando CONFIGURE_TESTBUS_ANALOG

Campo de carga útil Comprimento Valor/descrição Aplicabilidade de campo para modo combinado
bConfig 1 Byte Bits configuráveis. Referir-se Tabela 80 Sim
Sinal de modo_combinado 1 Byte 0 – ADCI/ADCQ
1 – pcrm_if_rssi
Sim
2 – Analógico e Digital Combinados
3 – 0xFF –Reservado
TB_Índice de sinal0 1 Byte Índice de sinal do sinal analógico. Referir-se Seção 7 Sim
TB_Índice de sinal1 1 Byte Índice de sinal do sinal analógico. Referir-se Seção 7 Sim
Índice_de_deslocamento0 1 Byte Posições de mudança de entrada DAC0. A direção será decidida bit a bit em bConfig[1]. Não
Índice_de_deslocamento1 1 Byte Posições de mudança de entrada DAC1. A direção será decidida bit a bit em bConfig[2]. Não
Máscara0 1 Byte Máscara DAC0 Não
Máscara1 1 Byte Máscara DAC1 Não

Tabela 80. Configuração da máscara de bits

b7 b6 b5 b4 b3 b2 b1 b0 Descrição Aplicável ao modo
X X Faixa de mudança de saída DAC1 – 0, 1, 2 Cru
X X Faixa de mudança de saída DAC0 – 0, 1, 2 Cru
X No modo combinado, sinal no pino AUX1/AUX2
0 ➜ Sinal em AUX1
1 ➜ Sinal em AUX2
Combinado
X Direção de mudança de entrada DAC1
0 ➜ Deslocar para a direita
1 ➜ Deslocar para a esquerda
Cru
X Direção de mudança de entrada DAC0
0 ➜ Deslocar para a direita
1 ➜ Deslocar para a esquerda
Cru
X Modo.
0 ➜ Modo bruto
1 ➜ Modo combinado
Cru/Combinado

4.5.9.2.4 Resposta
Tabela 81. Valor de resposta CONFIGURE_TESTBUS_ANALOG

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)

4.5.9.2.5 Evento
Não há evento para esta instrução.
4.5.9.3 CONFIGURAR_VÁRIOS_TESTBUS_DIGITAL
Esta instrução é usada para alternar vários sinais de barramento de teste digital disponíveis em configurações de bloco selecionadas.
Observação: Se este comprimento for ZERO, então um barramento de teste digital é RESET.
4.5.9.3.1 Comando
Tabela 82. Valor do comando CONFIGURE_MULTIPLE_TESTBUS_DIGITAL

Campo de carga útil Comprimento Valor/descrição
TB_SignalIndex #1 1 Byte Consulte 8 abaixo
TB_BitIndex #1 1 Byte Consulte 8 abaixo
TB_PadÍndice #1 1 Byte O pad index, no qual o sinal digital será emitido
0x00 Pino AUX1
0x01 Pino AUX2
0x02 Pino AUX3
0x03 pino GPIO0
0x04 pino GPIO1
0x05 pino GPIO2
0x06 pino GPIO3
0x07-0xFF RFUs
TB_SignalIndex #2 1 Byte Consulte 8 abaixo
TB_BitIndex #2 1 Byte Consulte 8 abaixo
TB_PadÍndice #2 1 Byte O pad index, no qual o sinal digital será emitido
0x00 Pino AUX1
0x01 Pino AUX2
0x02 Pino AUX3
0x03 pino GPIO0
0x04 pino GPIO1
0x05 pino GPIO2
0x06 pino GPIO3
0x07-0xFF RFUs

4.5.9.3.2 Resposta
Tabela 83. Valor de resposta CONFIGURE_MULTIPLE_TESTBUS_DIGITAL

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 2]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)

4.5.9.3.3 Evento
Não há evento para esta instrução.
4.5.10 Configuração CTS
4.5.10.1 CTS_ATIVAR
Esta instrução é usada para ativar/desativar o recurso de registro CTS.
4.5.10.1.1 Comando
Tabela 84. Valor do comando CTS_ENABLE

Campo de carga útil                            Comprimento                                         Valor/Descrição
Habilitar/Desabilitar 1 Byte Bit 0 0 Desative o recurso de registro CTS

1 Habilite o recurso de registro CTS

Parte 1-7 RFUs

4.5.10.1.2 Resposta
Tabela 85. Valor de resposta CTS_ENABLE

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)

4.5.10.1.3 Evento
A tabela a seguir mostra os dados do evento que serão enviados como parte da mensagem do evento, conforme mostrado na Figura 12 e Figura 13.
Tabela 86. Isso informa ao host que os dados foram recebidos. EVT_CTS_DONE

Campo de carga útil Comprimento Valor / Descrição
Evento 1 byte 00… Ocorreu TRIGGER, os dados estão prontos para recepção.

4.5.10.2 CTS_CONFIGURAÇÃO
Esta instrução é usada para configurar todos os registros CTS necessários, como triggers, registros de barramento de teste, sampconfiguração de ling etc.,
Observação:
[1] fornece uma melhor compreensão da configuração do CTS. Os dados capturados serão enviados como parte da resposta ao comando da Seção 4.5.10.3.

4.5.10.2.1 Comando
Tabela 87. Valor do comando CTS_CONFIGURE

Campo de carga útil Comprimento Valor / Descrição
PRÉ_DESLOCAMENTO_DE_GATILHO 1 Byte Define o comprimento da sequência de aquisição pós-trigger em unidades de 256 bytes.
0 significa sem mudança; n significa deslocamento de bloco de n*256 bytes.
Nota: Válido somente se TRIGGER_MODE for modo de disparo “PRE” ou “COMB”
MODO_GATURADOR 1 Byte Especifica o modo de aquisição a ser usado.
0x00 – modo POST
0x01 – RFU
0x02 – Modo PRÉ
0x03 – 0xFF – Inválido
LARGURA_DA_PÁGINA_RAM 1 Byte Especifica a quantidade de memória no chip coberta por uma aquisição. A granularidade é escolhida por design como 256 bytes (ou seja, 64 palavras de 32 bits).
Os valores válidos são os seguintes:
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 Byte O valor decimal deste campo especifica o fator de divisão da taxa de clock a ser usado durante a aquisição.
Relógio 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 Byte Esses bits são usados ​​para especificar quais bytes dos dois barramentos de entrada de 16 bits contribuem para o mecanismo de intercalação que gera dados a serem transferidos para a memória no chip. O significado e o uso deles dependem do SAMPValores LE_MODE_SEL.

Nota: O valor fornecido é sempre mascarado com 0x0F e então o valor efetivo é considerado.

SAMPLE_MODO_SEL 1 Byte Seleciona o sampmodo de intercalação conforme descrito pelas especificações de design do CTS. O valor decimal 3 é reservado e será tratado como 0.
Nota: O valor fornecido é sempre mascarado com 0x03, e então o valor efetivo é considerado.
TB0 1 Byte Seleciona qual barramento de teste será conectado ao TB0. Referir-se Seção 7 (Valor TB_ Signal_Index)
TB1 1 Byte Seleciona qual barramento de teste será conectado ao TB1. Referir-se Seção 7 (Valor TB_ Signal_Index)
TB2 1 Byte Seleciona qual barramento de teste será conectado ao TB2. Referir-se Seção 7 (Valor TB_ Signal_Index)
TB3 1 Byte Seleciona qual barramento de teste será conectado ao TB3. Referir-se Seção 7 (Valor TB_ Signal_Index)
TTB_SELECIONAR 1 Byte Seleciona qual TB será conectado às fontes de disparo. Referir-se Seção 7 (valor TB_Signal_Index)
RFUs 4 Byte Enviar sempre 0x00000000
CONFIGURAÇÃO_MISC 24 Byte Ocorrências de disparo, polaridade, etc. Consulte [1] para compreensão da configuração do CTS a ser usada.

4.5.10.2.2 Resposta
Tabela 88. Valor de resposta CTS_CONFIGURE

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO PN5190_STATUS_INSTR_ERROR

4.5.10.2.3 Evento
Não há evento para esta instrução.
4.5.10.3 CTS_RECUPERAR_LOG
Esta instrução recupera o registro de dados dos dados do barramento de teste capturadosamparquivos armazenados no buffer de memória.
4.5.10.3.1 Comando
Tabela 89. Valor do comando CTS_RETRIEVE_LOG

Campo de carga útil Comprimento Valor / Descrição
Tamanho do pedaço 1 byte 0x01-0xFF Contém o número de bytes de dados esperados.

4.5.10.3.2 Resposta
Tabela 90. Valor de resposta CTS_RETRIEVE_LOG

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
PN5190_STATUS_SUCESSO_ENCADEAMENTO
Dados de registro [1…n] Solicitação CTS Capturado Sampo pedaço de dados

Observação:
O tamanho máximo de ‘Log Data’ depende do ‘ChunkSize’ que foi fornecido como parte do comando.
O tamanho total do log deve estar disponível na resposta do cabeçalho TLV.
4.5.10.3.3 Evento
Não há evento para esta instrução.
4.5.11 Comandos TEST_MODE
4.5.11.1 AUTO_TESTE_ANTENA
Esta instrução é usada para verificar se a antena está conectada e se os componentes correspondentes estão preenchidos/montados.
Observação:
Este comando ainda não está disponível. Consulte as notas de lançamento para saber a disponibilidade.
4.5.11.2 PRBS_TESTE
Esta instrução é usada para gerar a sequência PRBS para as diferentes configurações dos protocolos e taxas de bits do modo Leitor. Assim que a instrução for executada, a sequência de teste PRBS estará disponível em RF.
Observação:
O host deve certificar-se de que a configuração da tecnologia RF apropriada seja carregada usando a Seção 4.5.7.1 e que o RF esteja LIGADO usando o comando da Seção 4.5.8.1 antes de enviar este comando.
4.5.11.2.1 Comando
Tabela 91. Valor do comando PRBS_TEST

Campo de carga útil Comprimento Valor / Descrição
tipo_prbs 1 Byte 00 PRBS9 (padrão)
01 PRBS15
02-FF RFUs

4.5.11.2.2 Resposta
Tabela 92. Valor de resposta PRBS_TEST

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD

4.5.11.2.3 Evento
Não há evento para esta instrução.
4.5.12 Comandos de informações do chip
4.5.12.1 OBTER_DIEID
Esta instrução é usada para ler o ID da matriz do chip PN5190.
4.5.12.1.1 Comando
Tabela 93. Valor do comando GET_DIEID

Campo de carga útil Comprimento Valor / Descrição
Nenhum dado na carga útil

4.5.12.1.2 Resposta
Tabela 94. Valor de resposta GET_DIEID

Campo de carga útil Comprimento Valor/descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
Valores 16 Byte 16 bytes morrem ID.

4.5.12.1.3 Evento
Não há eventos para este comando.
4.5.12.2 OBTER_VERSÃO
Esta instrução é usada para ler a versão HW, versão ROM e versão FW do chip PN5190.
4.5.12.2.1 Comando
Tabela 95. Valor do comando GET_VERSION

Campo de carga útil Comprimento Valor / Descrição
Nenhum dado na carga útil

Existe um comando DL_GET_VERSION (Seção 3.4.4) disponível no modo download que pode ser usado para ler a versão HW, versão ROM e versão FW.
4.5.12.2.2 Resposta
Tabela 96. Valor de resposta GET_VERSION

Campo de carga útil Comprimento Valor / Descrição
Status 1 Byte Status da operação [Tabela 9]. Os valores esperados são os seguintes:
PN5190_STATUS_SUCESSO
PN5190_STATUS_INSTR_ERROR (nenhum dado adicional está presente)
HW_V 1 byte Versão do hardware
RO_V 1 byte Código ROM
FW_V 2 bytes Versão do firmware (usada para download)
RFU1-RFU2 1-2 bytes

A resposta esperada para diferentes versões do IC PN5190 é mencionada na (Seção 3.4.4)
4.5.12.2.3 Evento
Não há eventos para este comando.

Apêndice (Ex.ampa)

Este apêndice consiste no examparquivos para os comandos mencionados acima. O exampOs arquivos são apenas para fins ilustrativos para mostrar o conteúdo do comando.
5.1 Examparquivo para WRITE_REGISTER
Seguindo a sequência de dados enviados do host para escrever um valor 0x12345678 no registro 0x1F.
Quadro de comando enviado para PN5190: 0000051F78563412
Host para aguardar uma interrupção.
Quando o host lê o quadro de resposta recebido do PN5190 (indicando operação bem-sucedida): 00000100 5.2 Examparquivo para WRITE_REGISTER_OR_MASK
Seguindo a sequência de dados enviados do host para realizar a operação lógica OR no registro 0x1F com uma máscara como 0x12345678
Quadro de comando enviado para PN5190: 0100051F78563412
Host para aguardar uma interrupção.
Quando o host lê o quadro de resposta recebido do PN5190 (indicando operação bem-sucedida): 01000100
5.3 Examparquivo para WRITE_REGISTER_AND_MASK
Seguindo a sequência de dados enviados do host para realizar a operação lógica AND no registro 0x1F com uma máscara como 0x12345678
Quadro de comando enviado para PN5190: 0200051F78563412
Host para aguardar uma interrupção.
Quando o host lê o quadro de resposta recebido do PN5190 (indicando operação bem-sucedida): 02000100
5.4 Examparquivo para WRITE_REGISTER_MULTIPLE
Seguindo a sequência de dados enviados do host para realizar a operação lógica AND no registro 0x1F com uma máscara como 0x12345678, e na operação lógica OR no registro 0x20 com uma máscara como 0x11223344, e uma gravação no registro 0x21 com um valor como 0xAABBCCDD.
Quadro de comando enviado para PN5190: 0300121F03785634122002443322112101DDCCBBAA
Host para aguardar uma interrupção.
Quando o host lê o quadro de resposta recebido do PN5190 (indicando operação bem-sucedida): 03000100
5.5 Examparquivo para READ_REGISTER
Seguindo a sequência de dados enviados do host para ler o conteúdo do registrador 0x1F e assumindo que o registrador tem o valor 0x12345678
Quadro de comando enviado para PN5190: 0400011F
Host para aguardar uma interrupção.
Quando o host lê o quadro de resposta recebido do PN5190 (indicando operação bem-sucedida): 0400050078563412
5.6 Examparquivo para READ_REGISTER_MULTIPLE
Seguindo a sequência de dados enviados do host para ler o conteúdo dos registros 0x1F que contém o valor de 0x12345678 e do registro 0x25 que contém o valor de 0x11223344
Quadro de comando enviado para PN5190: 0500021F25
Host para aguardar uma interrupção.
Quando o host leu a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 050009007856341244332211
5.7 Examparquivo para WRITE_E2PROM
Seguindo a sequência de dados enviados do host para gravação nos locais E2PROM 0x0130 a 0x0134 com o conteúdo como 0x11, 0x22, 0x33, 0x44, 0x55
Quadro de comando enviado para PN5190: 06000730011122334455
Host para aguardar uma interrupção.
Quando o host lê a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 06000100
5.8 Examparquivo para READ_E2PROM
Seguinte sequência de dados enviados do host para leitura dos locais E2PROM 0x0130 a 0x0134 onde os conteúdos armazenados são: 0x11, 0x22, 0x33, 0x44, 0x55
Quadro de comando enviado para PN5190: 07000430010500
Host para aguardar uma interrupção.
Quando o host leu a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 070006001122334455
5.9 Examparquivo para TRANSMIT_RF_DATA
Seguindo a sequência de dados enviados do host para enviar um comando REQA (0x26), com o número de bits a serem transmitidos como ‘0x07’, assumindo que os registros necessários sejam configurados antes e o RF esteja ligado.
Quadro de comando enviado para PN5190: 0800020726
Host para aguardar uma interrupção.
Quando o host lê a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 08000100
5.10 Examparquivo para RETREIVE_RF_DATA
Seguindo a sequência de dados enviados do host para receber os dados recebidos/armazenados no buffer CLIF interno (assumindo que 0x05 foi recebido), assumindo que um TRANSMIT_RF_DATA já foi enviado após o RF ser ligado.
Quadro de comando enviado para PN5190: 090000
Host para aguardar uma interrupção.
Quando o host lê a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 090003000400
5.11 Examparquivo para EXCHANGE_RF_DATA
Segue sequência de dados enviados do host para transmitir um REQA (0x26), com número de bits no último byte a enviar definido como 0x07, com todos os status a serem recebidos junto com os dados. A suposição é que os registros de RF necessários já estão configurados e o RF está ligado.
Quadro de comando enviado para PN5190: 0A0003070F26
Host para aguardar uma interrupção.
Quando o host leu a resposta, quadro recebido de PN5190 (indicando operação bem-sucedida): 0A000 F000200000000000200000000004400
5.12 Examparquivo para LOAD_RF_CONFIGURATION
Seguindo a sequência de dados enviados do host para definir a configuração de RF. Para TX, 0x00 e para RX, 0x80
Quadro de comando enviado para PN5190: 0D00020080
Host para aguardar uma interrupção.
Quando o host lê a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 0D000100
5.13 Examparquivo para UPDATE_RF_CONFIGURATION
Seguindo a sequência de dados enviados do host para atualizar a configuração de RF. Para TX, 0x00, com endereço de registro para CLIF_CRC_TX_CONFIG e valor como 0x00000001
Quadro de comando enviado para PN5190: 0E0006001201000000
Host para aguardar uma interrupção.
Quando o host leu a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 0E000100
5.14 Examparquivo para RF_ON
Seguindo a sequência de dados enviados do host para ligar o campo RF usando prevenção de colisão e sem P2P ativo. Presume-se que a configuração RF TX e RX correspondente já esteja definida no PN5190.
Quadro de comando enviado para PN5190: 10000100
Host para aguardar uma interrupção.
Quando o host lê a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 10000100
5.15 Examparquivo para RF_OFF
Seguindo a sequência de dados enviados do host para desligar o campo RF.
Quadro de comando enviado para PN5190: 110000
Host para aguardar uma interrupção.
Quando o host lê a resposta, quadro recebido do PN5190 (indicando operação bem-sucedida): 11000100

Apêndice (índices de configuração do protocolo RF)

Este apêndice consiste nos índices de configuração do protocolo RF suportados pelo PN5190.
As configurações de TX e RX devem ser usadas nos comandos da Seção 4.5.7.1, Seção 4.5.7.2, Seção 4.5.7.3.

Controlador Frontend NFC NXP PN5190 - índices de configuração

Apêndice (sinais CTS e TESTBUS)

A tabela abaixo especifica os diferentes sinais disponíveis no PN5190 para captura usando instruções CTS (Seção 4.5.10) e instruções TESTBUS.

Controlador Frontend NFC NXP PN5190 - Apêndice

Eles devem ser usados ​​para o comando da Seção 4.5.9.1, Seção 4.5.9.2, Seção 4.5.10.2.

Abreviações

Tabela 97. Abreviaturas

Abr. Significado
CLK Relógio
DWL_REQ Pin de solicitação de download (também chamado de DL_REQ)
EEPROM Memória somente leitura programável apagável eletricamente
FW Firmware
Terra Chão
GPIO Entrada/Saída de Propósito Geral
HW Hardware
I²C Circuito Interintegrado (barramento de dados serial)
IRQ Pedido de interrupção
ISO / IEC Organização Internacional de Padrões/Comunidade Eletrotécnica Internacional
NFC Comunicação de campo próximo
OS Sistema operacional
PCD Dispositivo de acoplamento de proximidade (leitor sem contato)
PICC Placa de circuito integrado de proximidade (cartão sem contato)
UGP Unidade de gerenciamento de energia
POR Reinicialização de inicialização
RF Frequência de rádio
RST Reiniciar
Universidade Federal do Espírito Santo modo de download seguro de firmware
SPI Interface Periférica Serial
VEN V Habilitar pino

Referências

[1] Configuração CTS parte do NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT
[2] folha de dados PN5190 IC, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf

Informações legais

10.1 Definições
Rascunho — Um status de rascunho em um documento indica que o conteúdo ainda está sob revisão internaview e sujeito à aprovação formal, o que pode resultar em modificações ou adições. A NXP Semiconductors não fornece nenhuma representação ou garantia quanto à precisão ou integridade das informações incluídas em uma versão de rascunho de um documento e não terá nenhuma responsabilidade pelas consequências do uso de tais informações.
10.2 Isenção de responsabilidade
Garantia e responsabilidade limitadas — Acredita-se que as informações contidas neste documento sejam precisas e confiáveis. No entanto, a NXP Semiconductors não oferece nenhuma representação ou garantia, expressa ou implícita, quanto à precisão ou integridade de tais informações e não terá nenhuma responsabilidade pelas consequências do uso de tais informações. A NXP Semiconductors não se responsabiliza pelo conteúdo deste documento se fornecido por uma fonte de informação fora da NXP Semiconductors.
Em nenhum caso a NXP Semiconductors será responsável por quaisquer danos indiretos, incidentais, punitivos, especiais ou consequentes (incluindo - sem limitação lucros cessantes, economias perdidas, interrupção de negócios, custos relacionados à remoção ou substituição de quaisquer produtos ou cobranças de retrabalho) sejam ou tais danos não são baseados em delito (incluindo negligência), garantia, quebra de contrato ou qualquer outra teoria legal.
Não obstante quaisquer danos que o cliente possa incorrer por qualquer motivo, a responsabilidade agregada e cumulativa da NXP Semiconductors perante o cliente pelos produtos aqui descritos será limitada de acordo com o
Termos e condições de venda comercial da NXP Semiconductors.
Direito de fazer alterações — A NXP Semiconductors reserva-se o direito de fazer alterações nas informações publicadas neste documento, incluindo, sem limitação, especificações e descrições de produtos, a qualquer momento e sem aviso prévio. Este documento substitui e substitui todas as informações fornecidas antes da sua publicação.
Adequação para uso — Os produtos NXP Semiconductors não são projetados, autorizados ou garantidos para serem adequados para uso em sistemas ou equipamentos de suporte à vida, críticos para a vida ou para a segurança, nem em aplicações em que a falha ou mau funcionamento de um produto NXP Semiconductors possa ser razoavelmente esperado resultar em ferimentos pessoais, morte ou danos materiais ou ambientais graves. A NXP Semiconductors e seus fornecedores não aceitam qualquer responsabilidade pela inclusão e/ou uso de produtos NXP Semiconductors em tais equipamentos ou aplicações e, portanto, tal inclusão e/ou uso é por conta e risco do cliente.
Aplicações — Os aplicativos aqui descritos para qualquer um desses produtos são apenas para fins ilustrativos. A NXP Semiconductors não faz nenhuma declaração ou garantia de que tais aplicativos serão adequados para o uso especificado sem mais testes ou modificações.
Os clientes são responsáveis ​​pelo projeto e operação de seus aplicativos e produtos usando produtos da NXP Semiconductors, e a NXP Semiconductors não se responsabiliza por qualquer assistência com aplicativos ou projeto de produtos do cliente. É responsabilidade exclusiva do cliente determinar se o produto NXP Semiconductors é adequado e adequado para as aplicações e produtos planejados do cliente, bem como para a aplicação planejada e uso de terceiros clientes do cliente. Os clientes devem fornecer proteções de projeto e operação apropriadas para minimizar os riscos associados a seus aplicativos e produtos.
A NXP Semiconductors não aceita qualquer responsabilidade relacionada a qualquer inadimplência, dano, custo ou problema que seja baseado em qualquer fraqueza ou inadimplência nos aplicativos ou produtos do cliente, ou no aplicativo ou uso por terceiros do cliente. O cliente é responsável por fazer todos os testes necessários para os aplicativos e produtos do cliente usando os produtos da NXP Semiconductors para evitar um padrão dos aplicativos e dos produtos ou do aplicativo ou uso por terceiros clientes do cliente. A NXP não aceita qualquer responsabilidade a este respeito.

NXP BV – A NXP BV não é uma empresa operacional e não distribui ou vende produtos.

Licenças 10.3
Compra de ICs NXP com tecnologia NFC — A compra de um IC NXP Semiconductors que esteja em conformidade com um dos padrões de Near Field Communication (NFC) ISO/IEC 18092 e ISO/IEC 21481 não confere uma licença implícita sob qualquer direito de patente infringido pela implementação de qualquer um desses padrões. A compra do IC da NXP Semiconductors não inclui uma licença para qualquer patente da NXP (ou outro direito de propriedade intelectual) cobrindo combinações desses produtos com outros produtos, seja hardware ou software.

Marcas Registradas 10.4
Aviso: Todas as marcas referenciadas, nomes de produtos, nomes de serviços e marcas registradas são de propriedade de seus respectivos proprietários.
NXP — marca nominativa e logotipo são marcas registradas da NXP BV
EdgeVerse — é uma marca comercial da NXP BV
FeliCa — é uma marca registrada da Sony Corporation.
MIFARE — é uma marca comercial da NXP BV
MIFARE Classic — é uma marca registrada da NXP BV

Esteja ciente de que avisos importantes relativos a este documento e aos produtos aqui descritos foram incluídos na seção "Informações legais".
© 2023 NXP BV
Para mais informações, visite: http://www.nxp.com
Todos os direitos reservados.
Data de lançamento: 25 de maio de 2023
Identificador do documento: UM11942

Documentos / Recursos

Controlador de front-end NFC NXP PN5190 [pdf] Manual do Usuário
PN5190, PN5190 Controlador Frontend NFC, Controlador Frontend NFC, Controlador, UM11942

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *