UM11942
Livello di istruzioni PN5190
Controller front-end NFC
Manuale d'uso
Controller front-end NFC PN5190
Informazioni sul documento
Informazioni | Contenuto |
Parole chiave | PN5190, NFC, frontend NFC, controller, livello istruzioni |
Astratto | Questo documento descrive i comandi e le risposte del livello di istruzione da utilizzare da un controller host, per valutare il funzionamento del controller frontend NFC NXP PN5190. PN5190 è un controller frontend NFC di nuova generazione. Lo scopo di questo documento è descrivere i comandi dell'interfaccia per lavorare con il controller frontend NFC PN5190. Per ulteriori informazioni sul funzionamento del controller frontend NFC PN5190, fare riferimento alla scheda tecnica e alle sue informazioni complementari. |
Cronologia delle revisioni
Riv. | Data | Descrizione |
3.7 | 20230525 | • Tipo e titolo del documento modificati da addendum alla scheda tecnica del prodotto al manuale utente • Pulizia editoriale • Termini editoriali aggiornati per i segnali SPI • Aggiunto comando GET_CRC_USER_AREA nella Tabella 8 nella Sezione 4.5.2.3 • Aggiornati vari dettagli differenziati per PN5190B1 e PN5190B2 nella Sezione 3.4.1 • Risposta aggiornata della Sezione 3.4.7 |
3.6 | 20230111 | Migliorata la descrizione della risposta Check Integrity nella Sezione 3.4.7 |
3.5 | 20221104 | Paragrafo 4.5.4.6.3 “Evento”: aggiunto |
3.4 | 20220701 | • Aggiunto comando CONFIGURE_MULTIPLE_TESTBUS_DIGITAL nella Tabella 8 nella Sezione 4.5.9.3 • Sezione 4.5.9.2.2 aggiornata |
3.3 | 20220329 | Migliorata la descrizione dell'hardware nella sezione 4.5.12.2.1 "Command" e nella sezione 4.5.12.2.2 "Response" |
3.2 | 20210910 | Numeri di versione del firmware aggiornati da 2.1 a 2.01 e da 2.3 a 2.03 |
3.1 | 20210527 | Aggiunta la descrizione del comando RETRIEVE_RF_FELICA_EMD_DATA |
3 | 20210118 | Prima versione rilasciata ufficialmente |
Introduzione
1.1 Introduzione
Questo documento descrive l'interfaccia host PN5190 e le API. L'interfaccia host fisica utilizzata nella documentazione è SPI. La caratteristica fisica SPI non è considerata nel documento.
La separazione dei frame e il controllo del flusso fanno parte di questo documento.
1.1.1 Ambito di applicazione
Il documento descrive il livello logico, il codice di istruzione, le API rilevanti per il cliente.
Comunicazione con l'host terminataview
PN5190 ha due modalità operative principali per comunicare con il controller host.
- La comunicazione basata su HDLL viene utilizzata quando il dispositivo viene attivato per inserire:
UN. Modalità di download sicuro crittografato per aggiornare il firmware - Comunicazione basata sulla risposta al comando TLV (data come example).
2.1 Modalità HDLL
La modalità HDLL viene utilizzata affinché il formato di scambio di pacchetti funzioni con le seguenti modalità operative IC:
- Modalità di download sicuro del firmware (SFWU), vedere la sezione 3
2.1.1 Descrizione di HDLL
HDLL è il livello di collegamento sviluppato da NXP per garantire un download FW affidabile.
Un messaggio HDLL è composto da un'intestazione di 2 byte, seguita da un frame, comprendente l'opcode e il Payload del comando. Ogni messaggio termina con un CRC a 16 bit, come descritto nell'immagine seguente:L'intestazione HDLL contiene:
- Un bel po'. Che indica se questo messaggio è l'unico o l'ultimo pezzo di un messaggio (pezzo = 0). O se segue almeno un altro pezzo (pezzo = 1).
- La lunghezza del Payload codificata su 10 bit. Pertanto, il payload del frame HDLL può arrivare fino a 1023 byte.
L'ordine dei byte è stato definito come big-endian, ovvero Ms Byte first.
Il CRC16 è conforme allo standard X.25 (CRC-CCITT, ISO/IEC13239) con polinomio x^16 + x^12 + x^5 +1 e valore di pre-caricamento 0xFFFF.
Viene calcolato sull'intero frame HDLL, ovvero Header + Frame.
Sample Implementazione del codice C:
statico uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_ti ;
uint16_t crc_nuovo;
uint16_t crc = 0xffffU;
for (I = 0; i < dwLength; i++)
{
crc_new = (uint8_t)(crc >> 8) | (cr << 8 );
crc_nuovo ^= p[i];
crc_nuovo ^= (uint8_t)(crc_nuovo & 0xff) >> 4;
crc_nuovo ^= crc_nuovo << 12;
crc_nuovo ^= (crc_nuovo & 0xff) << 5;
crc = crc_nuovo;
}
ritorno crc;
}
2.1.2 Mappatura dei trasporti sullo SPI
Per ogni asserzione NTS, il primo byte è sempre un HEADER (byte di indicazione del flusso), può essere 0x7F/0xFF rispetto all'operazione di scrittura/lettura.
2.1.2.1 Sequenza di scrittura dall'host (direzione DH => PN5190)2.1.2.2 Sequenza di lettura dall'host (direzione PN5190 => DH)
2.1.3 Protocollo HDLL
HDLL è un protocollo di risposta ai comandi. Tutte le operazioni sopra menzionate vengono attivate tramite un comando specifico e validate in base alla risposta.
I comandi e le risposte seguono la sintassi del messaggio HDLL, il comando viene inviato dall'host del dispositivo, la risposta dal PN5190. Il codice operativo indica il tipo di comando e risposta.
Comunicazioni basate su HDLL, utilizzate solo quando il PN5190 viene attivato per accedere alla modalità "Download sicuro del firmware".
2.2 Modalità TLV
TLV sta per Tag Valore di lunghezza.
2.2.1 Definizione del telaio
Un frame SPI inizia con il fronte di discesa di NTS e termina con il fronte di salita di NTS. SPI è full duplex per definizione fisica, ma PN5190 utilizza SPI in modalità half-duplex. La modalità SPI è limitata a CPOL 0 e CPHA 0 con una velocità di clock massima come specificato in [2]. Ogni frame SPI è composto da un'intestazione di 1 byte e n byte di corpo.
2.2.2 Indicazione del flussoL'HOST invia sempre come primo byte il byte di indicazione del flusso, se vuole scrivere o leggere dati dal PN5190.
Se è presente una richiesta di lettura e non sono disponibili dati, la risposta contiene 0xFF.
I dati dopo il byte di indicazione del flusso sono uno o più messaggi.
Per ogni asserzione NTS, il primo byte è sempre un HEADER (byte di indicazione del flusso), può essere 0x7F/0xFF rispetto all'operazione di scrittura/lettura.
2.2.3 Tipo di messaggio
Un controller host comunicherà con PN5190 utilizzando messaggi trasportati all'interno di frame SPI.
Esistono tre diversi tipi di messaggio:
- Comando
- Risposta
- Evento
Il diagramma di comunicazione sopra mostra le direzioni consentite per i diversi tipi di messaggio come di seguito:
- Comando e risposta.
- I comandi vengono inviati solo dal controller host a PN5190.
- Le risposte e gli eventi vengono inviati solo dal PN5190 al controller host.
- Le risposte ai comandi vengono sincronizzate utilizzando il pin IRQ.
- L'host può inviare i comandi solo quando l'IRQ è basso.
- L'host può leggere la risposta/evento solo quando l'IRQ è alto.
2.2.3.1 Sequenze e regole consentiteSequenze consentite di comando, risposta ed eventi
- Un comando viene sempre confermato da una risposta, da un evento o da entrambi.
- Al controller host non è consentito inviare un altro comando prima di non aver ricevuto una risposta al comando precedente.
- Gli eventi possono essere inviati in modo asincrono in qualsiasi momento (NON interlacciati all'interno di una coppia comando/risposta).
- I messaggi EVENT non vengono mai combinati con i messaggi RESPONSE all'interno di un frame.
Nota: La disponibilità di un messaggio (RISPOSTA o EVENTO) è segnalata con l'IRQ che va dall'alto al basso. L'IRQ rimane alto finché non viene letto tutto il frame di risposta o di evento. Solo dopo che il segnale IRQ è basso, l'host può inviare il comando successivo.
2.2.4 Formato del messaggio
Ogni messaggio è codificato in una struttura TLV con payload di n byte per ogni messaggio ad eccezione del comando SWITCH_MODE_NORMAL.Ogni TLV è composto da:
Tipo (T) => 1 byte
Bit[7] Tipo di messaggio
0: Messaggio di COMANDO o RISPOSTA
1: messaggio EVENTO
Bit[6:0]: Codice istruzione
Lunghezza (L) => 2 byte (dovrebbe essere in formato big-endian)
Valore (V) => N byte di valore/dati del TLV (parametri di comando/dati di risposta) in base al campo Lunghezza (formato big-endian)
2.2.4.1 Cornice divisa
Il messaggio COMMAND deve essere inviato in un frame SPI.
I messaggi RESPONSE ed EVENT possono essere letti in più frame SPI, ad esempio per leggere il byte di lunghezza.I messaggi di RISPOSTA o EVENTO possono essere letti in un singolo frame SPI ma ritardati da NO-CLOCK nel mezzo, ad esempio per leggere il byte di lunghezza.
Modalità di avvio operativo IC: modalità di download del FW protetta
3.1 Introduzione
Parte del codice firmware PN5190 è memorizzato in modo permanente nella ROM, mentre il resto del codice e i dati sono memorizzati nella memoria flash incorporata. I dati degli utenti sono archiviati in flash e sono protetti da meccanismi anti-strappo che garantiscono l'integrità e la disponibilità dei dati. Per fornire ai clienti di NXP funzionalità conformi agli standard più recenti (EMVCo, NFC Forum e così via), è possibile aggiornare sia il codice che i dati utente in FLASH.
L'autenticità e l'integrità del firmware crittografato sono protette dalla firma della chiave asimmetrica/simmetrica e dal meccanismo hash concatenato inverso. Il primo comando DL_SEC_WRITE contiene l'hash del secondo comando ed è protetto da una firma RSA sul payload del primo frame. Il firmware PN5190 utilizza la chiave pubblica RSA per autenticare il primo comando. L'hash concatenato in ciascun comando viene utilizzato per autenticare il comando successivo, per garantire che il codice e i dati del firmware non siano accessibili a terzi.
I payload dei comandi DL_SEC_WRITE sono crittografati con una chiave AES-128. Dopo l'autenticazione di ciascun comando, il contenuto del payload viene decrittografato e scritto su flash dal firmware PN5190.
Per il firmware NXP, NXP è responsabile della fornitura di nuovi aggiornamenti firmware sicuri, insieme ai nuovi dati utente.
La procedura di aggiornamento è dotata di un meccanismo per proteggere l'autenticità, l'integrità e la riservatezza del codice e dei dati NXP.
Lo schema del pacchetto frame basato su HDLL viene utilizzato per tutti i comandi e le risposte per la modalità di aggiornamento firmware protetta.
La Sezione 2.1 fornisce quanto sopraview dello schema del pacchetto frame HDLL utilizzato.
I circuiti integrati PN5190 supportano sia il download di FW protetto crittografato legacy sia il protocollo di download FW protetto crittografato hardware a seconda della variante utilizzata.
I due tipi sono:
- Protocollo di download FW sicuro legacy che funziona solo con la versione IC PN5190 B0/B1.
- Protocollo di download sicuro del FW assistito da crittografia hardware che funziona solo con la versione IC PN5190B2, che utilizza i blocchi crittografici hardware su chip
Le sezioni seguenti illustrano i comandi e le risposte della modalità di download del firmware protetto.
3.2 Come attivare la modalità "Download sicuro del firmware".
Il diagramma sottostante e i passaggi successivi mostrano come attivare la modalità di download del firmware protetto.Precondizione: PN5190 è in stato di funzionamento.
Scenario principale:
- Condizione di ingresso in cui il pin DWL_REQ viene utilizzato per accedere alla modalità "Download sicuro del firmware".
UN. L'host del dispositivo imposta il pin DWL_REQ alto (valido solo se si aggiorna il firmware in modo sicuro tramite il pin DWL_REQ) OPPURE
B. L'host del dispositivo esegue un hard reset per avviare il PN5190 - Condizione di ingresso in cui il pin DWL_REQ non viene utilizzato per accedere alla modalità "download firmware protetto" (download senza pin).
UN. L'host del dispositivo esegue un hard reset per avviare il PN5190
B. L'host del dispositivo invia SWITCH_MODE_NORMAL (Sezione 4.5.4.5) per accedere alla modalità di applicazione normale.
C. Ora, quando l'IC è in modalità normale di applicazione, l'host del dispositivo invia SWITCH_MODE_DOWNLOAD (Sezione 4.5.4.9) per accedere alla modalità di download sicuro. - L'host del dispositivo invia il comando DL_GET_VERSION (Sezione 3.4.4) o DL_GET_DIE_ID (Sezione 3.4.6) o DL_GET_SESSION_STATE (Sezione 3.4.5).
- L'host del dispositivo legge la versione corrente dell'hardware e del firmware, la sessione e l'ID Die dal dispositivo.
UN. L'host del dispositivo controlla lo stato della sessione se l'ultimo download è stato completato
B. L'host del dispositivo applica le regole di controllo della versione per decidere se avviare il download o uscire dal download. - L'host del dispositivo viene caricato da a file il codice binario del firmware da scaricare
- L'host del dispositivo fornisce un primo comando DL_SEC_WRITE (Sezione 3.4.8) che contiene:
UN. La versione del nuovo firmware,
B. Un nonce di 16 byte di valori arbitrari utilizzato per l'offuscamento della chiave di crittografia
C. Un valore digest del fotogramma successivo,
D. La firma digitale del telaio stesso - L'host del dispositivo carica la sequenza del protocollo di download sicuro sul PN5190 con i comandi DL_SEC_WRITE (Sezione 3.4.8)
- Una volta inviato l'ultimo comando DL_SEC_WRITE (Sezione 3.4.8), il dispositivo host esegue il comando DL_CHECK_INTEGRITY (Sezione 3.4.7) per verificare se le memorie sono state scritte con successo.
- L'host del dispositivo legge la nuova versione del firmware e controlla lo stato della sessione se chiusa per segnalarlo al livello superiore
- L'host del dispositivo imposta il pin DWL_REQ su un livello basso (se il pin DWL_REQ viene utilizzato per accedere alla modalità download)
- L'host del dispositivo esegue un hard reset (attivando/disattivando il pin VEN) sul dispositivo per riavviare il PN5190
Post-condizione: il firmware è aggiornato; viene segnalato il nuovo numero di versione del firmware.
3.3 Firma del firmware e controllo della versione
Nella modalità di download del firmware PN5190, un meccanismo assicura che solo un firmware firmato e fornito da NXP sarà accettato per il firmware NXP.
Quanto segue è applicabile solo per il firmware NXP sicuro crittografato.
Durante una sessione di download, viene inviata una nuova versione del firmware a 16 bit. È composto da un numero maggiore e uno minore:
- Numero maggiore: 8 bit (MSB)
- Numero minore: 8 bit (LSB)
Il PN5190 controlla se il nuovo numero di versione principale è maggiore o uguale a quello corrente. In caso contrario, il download protetto del firmware viene rifiutato e la sessione viene mantenuta chiusa.
3.4 Comandi HDLL per download crittografato legacy e crittografia hardware assistita download crittografato
Questa sezione fornisce le informazioni sui comandi e le risposte utilizzati per entrambi i tipi di download per il download del firmware NXP.
3.4.1 Codici OP comando HDLL
Nota: I frame di comando HDLL sono allineati a 4 byte. I byte di carico utile non utilizzati vengono lasciati pari a zero.
Tabella 1. Elenco dei codici OP di comando HDLL
PN5190 B0/B1 (Download precedente) |
PN5190B2 (Download assistito da crittografia) |
Comando alias | Descrizione |
0xF0 | 0xE5 | DL_RESET | Esegue un ripristino parziale |
0xF1 | 0xE1 | DL_GET_VERSIONE | Restituisce i numeri di versione |
0xF2 | 0xDB | DL_GET_SESSION_STATE | Restituisce lo stato della sessione corrente |
0xF4 | 0xDF | DL_GET_DIE_ID | Restituisce l'ID della matrice |
0xE0 | 0xE7 | DL_CHECK_INTEGRITÀ | Controlla e restituisce i CRC nelle diverse aree nonché i flag di stato superato/non superato per ciascuna |
0xC0 | 0x8C | DL_SEC_WRITE | Scrive x byte in memoria a partire dall'indirizzo assoluto y |
3.4.2 Codici operativi di risposta HDLL
Nota: I frame di risposta HDLL sono allineati a 4 byte. I byte di carico utile non utilizzati vengono lasciati pari a zero. Solo le risposte DL_OK possono contenere valori di payload.
Tabella 2. Elenco dei codici OP di risposta HDLL
codice operativo | Alias di risposta | Descrizione |
0x00 | DL_OK | Il comando è passato |
0x01 | DL_INVALID_ADDR | Indirizzo non consentito |
0x0B | DL_UNKNOW_CMD | Comando sconosciuto |
0x0C | DL_ABORTED_CMD | La sequenza dei blocchi è troppo grande |
0x1E | DL_ADDR_RANGE_OFL_ERROR | Indirizzo fuori portata |
0x1F | DL_BUFFER_OFL_ERROR | Il buffer è troppo piccolo |
0x20 | DL_MEM_BSY | Memoria occupata |
0x21 | DL_SIGNATURE_ERRORE | Mancata corrispondenza della firma |
0x24 | DL_FIRMWARE_VERSION_ERROR | Versione attuale uguale o superiore |
0x28 | DL_PROTOCOL_ERRORE | Errore di protocollo |
0x2Un | DL_SFWU_DEGRADED | Corruzione dei dati Flash |
0x2D | PH_STATUS_DL_FIRST_CHUNK | Primo pezzo ricevuto |
0x2E | PH_STATUS_DL_NEXT_CHUNK | Aspetta il pezzo successivo |
0xC5 | PH_STATUS_INTERNAL_ERROR_5 | Mancata corrispondenza della lunghezza |
3.4.3 Comando DL_RESET
Scambio di frame:
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] Il ripristino impedisce al PN5190 di inviare la risposta DL_STATUS_OK. Pertanto, è possibile ricevere solo stati errati.
STAT è lo stato di ritorno.
3.4.4 Comando DL_GET_VERSION
Scambio di frame:
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] Il frame del payload della risposta GetVersion è:
Tabella 3. Risposta al comando GetVersion
Campo | Byte | Descrizione |
STATISTICHE | 1 | Stato |
HW_V | 2 | Versione hardware |
RO_V | 3 | codice rom |
ID_MODELLO | 4 | ID modello |
FMxV | 5-6 | Versione firmware (utilizzata per il download) |
RFU1-RFU2 | 7-8 | – |
I valori attesi dei diversi campi di risposta e la loro mappatura sono i seguenti:
Tabella 4. Valori previsti della risposta del comando GetVersion
Tipo di CI | Versione HW (esadecimale) | Versione ROM (esadecimale) | ID modello (esadecimale) | Versione FW (esadecimale) |
PN5190B0 | 0x51 | 0x02 | 0x00 | xx.aa |
PN5190B1 | 0x52 | 0x02 | 0x00 | xx.aa |
PN5190B2 | 0x53 | 0x03 | 0x00 | xx.aa |
3.4.5 Comando DL_GET_SESSION_STATE
Scambio di frame:
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] Il frame del payload della risposta GetSession è:
Tabella 5. Risposta al comando GetSession
Campo | Byte | Descrizione |
STATISTICHE | 1 | Stato |
SSTA | 2 | Stato della sessione • 0x00: chiuso • 0x01: aperto • 0x02: bloccato (download non più consentito) |
RFU | 3-4 |
3.4.6 Comando DL_GET_DIE_ID
Scambio di frame:
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] Il frame del payload della risposta GetDieId è:
Tabella 6. Risposta al comando GetDieId
Campo | Byte | Descrizione |
STATISTICHE | 1 | Stato |
RFU | 2-4 | |
MORTO | 5-20 | ID della matrice (16 byte) |
3.4.7 Comando DL_CHECK_INTEGRITY
Scambio di frame:
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] Il frame del payload della risposta CheckIntegrity è:
Tabella 7. Risposta al comando CheckIntegrity
Campo | Byte | Valore/Descrizione | |
STATISTICHE | 1 | Stato | |
DATI LUNGHEZZA | 2 | Numero totale di sezioni di dati | |
CODICE LENTE | 3 | Numero totale di sezioni di codice | |
RFU | 4 | Prenotato | |
[CRC_INFO] | 58 | 32 bit (little endian). Se un bit è impostato, il CRC della sezione corrispondente è OK, altrimenti Not OK. | |
Morso | Stato di integrità dell'area | ||
[31:28] | Riservato [3] | ||
[27:23] | Riservato [1] | ||
[22] | Riservato [3] | ||
[21:20] | Riservato [1] | ||
[19] | Area di configurazione RF (PN5190 B0/B1) [2] Riservato (PN5190 B2) [3] | ||
[18] | Area di configurazione protocollo (PN5190 B0/B1) [2] Area di configurazione RF (PN5190 B2) [2] | ||
[17] | Riservato (PN5190 B0/B1) [3] Area di configurazione utente (PN5190 B2) [2] | ||
[16:6] | Riservato [3] | ||
[5:4] | Riservato per PN5190 B0/B1 [3] Riservato per PN5190 B2 [1] | ||
[3:0] | Riservato [1] | ||
[CRC32] | 9-136 | CRC32 delle 32 sezioni. Ogni CRC è di 4 byte memorizzati in formato little-endian. I primi 4 byte di CRC sono del bit CRC_INFO[31], i successivi 4 byte di CRC sono del bit CRC_INFO[30] e così via. |
- [1] Questo bit deve essere 1 affinché il PN5190 funzioni correttamente (con funzionalità e/o download FW crittografato).
- [2] Questo bit è impostato su 1 per impostazione predefinita, ma le impostazioni modificate dall'utente invalidano il CRC. Nessun effetto sulla funzionalità del PN5190.
- [3] Questo valore di bit, anche se è 0, non è rilevante. Questo valore di bit può essere ignorato.
3.4.8 Comando DL_SEC_WRITE
Il comando DL_SEC_WRITE deve essere considerato nel contesto di una sequenza di comandi di scrittura sicura: il "download sicuro del firmware" crittografato (spesso indicato come eSFWu).
Il comando di scrittura sicura apre innanzitutto la sessione di download e passa l'autenticazione RSA. I successivi passano indirizzi e byte crittografati da scrivere nella flash PN5190. Tutti tranne l'ultimo contengono l'hash successivo, quindi informano che non sono gli ultimi e uniscono crittograficamente i frame della sequenza.
Altri comandi (tranne DL_RESET e DL_CHECK_INTEGRITY) possono essere inseriti tra i comandi di scrittura protetti di una sequenza senza interromperla.
3.4.8.1 Primo comando DL_SEC_WRITE
Un comando di scrittura protetta è il primo se e solo se:
- La lunghezza del frame è 312 byte
- Nessun comando di scrittura protetta è stato ricevuto dall'ultimo ripristino.
- La firma incorporata è stata verificata con successo dal PN5190.
La risposta al comando del primo frame sarebbe la seguente: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT è lo stato restituito.
Nota: Almeno un blocco di dati deve essere scritto durante un eSFWu anche se i dati scritti possono essere lunghi solo un byte. Pertanto, il primo comando conterrà sempre l'hash del comando successivo, poiché i comandi saranno almeno due.
3.4.8.2 Comandi DL_SEC_WRITE centrali
Un comando di scrittura protetto è "intermedio" se e solo se:
- Il codice operativo è quello descritto nella Sezione 3.4.1 per il comando DL_SEC_WRITE.
- Un primo comando di scrittura protetta è già stato ricevuto e verificato con successo in precedenza
- Non si è verificato alcun ripristino dalla ricezione del primo comando di scrittura protetta
- La lunghezza del frame è uguale alla dimensione dei dati + dimensione dell'intestazione + dimensione dell'hash: FLEN = DIMENSIONE + 6 + 32
- Il digest dell'intero frame è uguale al valore hash ricevuto nel frame precedente
La risposta al comando del primo frame sarebbe la seguente: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT è lo stato restituito.
3.4.8.3 Ultimo comando DL_SEC_WRITE
Un comando di scrittura protetta è l'ultimo se e solo se:
- Il codice operativo è quello descritto nella Sezione 3.4.1 per il comando DL_SEC_WRITE.
- Un primo comando di scrittura protetta è già stato ricevuto e verificato con successo in precedenza
- Non si è verificato alcun ripristino dalla ricezione del primo comando di scrittura protetta
- La lunghezza del frame è uguale alla dimensione dei dati + dimensione dell'intestazione: FLEN = DIMENSIONE + 6
- Il digest dell'intero frame è uguale al valore hash ricevuto nel frame precedente
La risposta al comando del primo frame sarebbe la seguente: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT è lo stato restituito.
Modalità di avvio operativo IC: modalità di funzionamento normale
4.1 Introduzione
Generalmente l'IC PN5190 deve essere in modalità operativa normale per ottenere la funzionalità NFC.
Quando l'IC PN5190 si avvia, attende sempre la ricezione dei comandi da un host per eseguire l'operazione, a meno che gli eventi generati all'interno dell'IC PN5190 non abbiano provocato l'avvio dell'IC PN5190.
4.2 Elenco dei comandi finitoview
Tabella 8. Elenco dei comandi PN5190
codice comando | Nome del comando |
0x00 | SCRIVI_REGISTRA |
0x01 | WRITE_REGISTER_OR_MASK |
0x02 | SCRIVI_REGISTER_AND_MASK |
0x03 | SCRIVI_REGISTER_MULTIPLE |
0x04 | LEGGI_REGISTRAZIONE |
0x05 | READ_REGISTER_MULTIPLE |
0x06 | SCRIVI_E2PROM |
0x07 | LEGGI_E2PROM |
0x08 | TRANSMIT_RF_DATI |
0x09 | RECUPERA_RF_DATA |
0x0Un | SCAMBIO_RF_DATI |
0x0B | MFC_AUTENTICA |
0x0C | EPC_GEN2_INVENTARIO |
0x0D | LOAD_RF_CONFIGURAZIONE |
0x0E | UPDATE_RF_CONFIGURAZIONE |
0x0F | GET_ CONFIGURAZIONE_RF |
0x10 | RF_ON |
0x11 | RF_OFF |
0x12 | CONFIGURA TESTBUS_DIGITAL |
0x13 | CONFIGURE_BUS DI PROVA_ANALOGICO |
0x14 | CTS_ENABLE |
0x15 | CTS_CONFIGURA |
0x16 | CTS_RETRIEVE_LOG |
0x17-0x18 | RFU |
0x19 | fino a FW v2.01: RFU |
da FW v2.03 in poi: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1Un | RICEVI_RF_DATI |
0x1B-0x1F | RFU |
0x20 | COMMUTAZIONE_MODALITÀ_NORMALE |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | SWITCH_MODE_STANDBY |
0x23 | SWITCH_MODE_LPCD |
0x24 | RFU |
0x25 | SWITCH_MODE_DOWNLOAD |
0x26 | OTTIENI_DIEID |
0x27 | OTTIENI_VERSIONE |
0x28 | RFU |
0x29 | fino a FW v2.05: RFU |
da FW v2.06 in poi: GET_CRC_USER_AREA | |
0x2Un | fino a FW v2.03: RFU |
da FW v2.05 in poi: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | RFU |
0x40 | ANTENNA_SELF_TEST (non supportato) |
0x41 | PROVA_PRBS |
0x42-0x4F | RFU |
4.3 Valori dello stato della risposta
Di seguito sono riportati i valori dello stato della risposta, che vengono restituiti come parte della risposta da PN5190 dopo che il comando è stato reso operativo.
Tabella 9. Valori dello stato della risposta PN5190
Stato della risposta | Valore dello stato della risposta | Descrizione |
PN5190_STATUS_SUCCESSO | 0x00 | Indica che l'operazione è stata completata correttamente |
PN5190_STATUS_TIMEOUT | 0x01 | Indica che l'operazione del comando ha provocato un timeout |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | Indica che l'operazione del comando ha provocato un errore di integrità dei dati RF |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | Indica che l'operazione del comando ha provocato un errore di collisione RF |
PN5190_STATUS_RFU1 | 0x04 | Prenotato |
PN5190_STATUS_INVALID_COMMAND | 0x05 | Indica che il comando dato non è valido/non implementato |
PN5190_STATUS_RFU2 | 0x06 | Prenotato |
PN5190_STATUS_AUTH_ERROR | 0x07 | Indica che l'autenticazione MFC non è riuscita (autorizzazione negata) |
PN5190_STATUS_MEMORY_ERROR | 0x08 | Indica che l'operazione del comando ha provocato un errore di programmazione o un errore di memoria interna |
PN5190_STATUS_RFU4 | 0x09 | Prenotato |
PN5190_STATUS_NO_RF_FIELD | 0x0Un | Indica assenza o errore nella presenza del campo RF interno (applicabile solo se modalità iniziatore/lettore) |
PN5190_STATUS_RFU5 | 0x0B | Prenotato |
PN5190_STATUS_SYNTAX_ERROR | 0x0C | Indica che è stata ricevuta una lunghezza del frame di comando non valida |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | Indica che si è verificato un errore di risorsa interna |
PN5190_STATUS_RFU6 | 0x0E | Prenotato |
PN5190_STATUS_RFU7 | 0x0F | Prenotato |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | Indica che non è presente alcun campo RF esterno durante l'esecuzione del comando (Applicabile solo in modalità tessera/bersaglio) |
PN5190_STATUS_RX_TIMEOUT | 0x11 | Indica che i dati non vengono ricevuti dopo l'avvio di RFExchange e il timeout di RX. |
PN5190_STATUS_USER_CANCELLED | 0x12 | Indica che l'attuale comando in corso è stato interrotto |
PN5190_STATUS_PREVENT_STANDBY | 0x13 | Indica che PN5190 non può entrare in modalità Standby |
PN5190_STATUS_RFU9 | 0x14 | Prenotato |
PN5190_STATUS_CLOCK_ERROR | 0x15 | Indica che l'orologio del CLIF non è stato avviato |
PN5190_STATUS_RFU10 | 0x16 | Prenotato |
PN5190_STATUS_PRBS_ERROR | 0x17 | Indica che il comando PRBS ha restituito un errore |
PN5190_STATUS_INSTR_ERROR | 0x18 | Indica che l'operazione del comando non è riuscita (può includere un errore nei parametri dell'istruzione, un errore di sintassi, un errore nell'operazione stessa, i prerequisiti per l'istruzione non sono soddisfatti, ecc.) |
PN5190_STATUS_ACCESS_DENIED | 0x19 | Indica che l'accesso alla memoria interna è negato |
PN5190_STATUS_TX_FAILURE | 0x1Un | Indica che la trasmissione su RF non è riuscita |
PN5190_STATO_NO_ANTENNA | 0x1B | Indica che nessuna antenna è collegata/presente |
PN5190_STATUS_TXLDO_ERROR | 0x1C | Indica che c'è un errore in TXLDO quando il VUP non è disponibile e RF è acceso. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | Indica che la configurazione RF non è caricata quando RF è acceso |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | fino a FW 2.01: non previsto |
dal FW 2.03 in poi: Indica che durante lo scambio con LOG ENABLE BIT impostato nel registro FeliCa EMD, è stato osservato l'errore FeliCa EMD |
||
PN5190_STATUS_INTERNAL_ERROR | 0x7F | Indica che l'operazione NVM non è riuscita |
PN5190_STATUS_SUCCSES_CHAINING | 0xAF | Indica che, inoltre, i dati sono in attesa di lettura |
4.4 Eventi finitiview
Esistono due modi in cui gli eventi vengono notificati all'host.
4.4.1 Eventi normali sul pin IRQ
Questi eventi sono categorie come di seguito:
- Sempre abilitato: l'host riceve sempre una notifica
- Controllato dall'Host – L'Host viene avvisato se il rispettivo bit di abilitazione evento è impostato nel registro (EVENT_ENABLE (01h)).
Gli interrupt di basso livello dagli IP periferici, incluso il CLIF, devono essere completamente gestiti all'interno del firmware e l'host deve ricevere notifiche solo degli eventi elencati nella sezione eventi.
Il firmware implementa due registri di eventi come registri RAM che possono essere scritti/letti utilizzando i comandi della Sezione 4.5.1.1/Sezione 4.5.1.5.
Il registro EVENT_ENABLE (0x01) => Abilita notifiche specifiche/tutte gli eventi.
Il registro EVENT_STATUS (0x02) => Parte del payload del messaggio di evento.
Gli eventi devono essere cancellati dall'host una volta che il messaggio dell'evento è stato letto dall'host.
Gli eventi sono di natura asincrona e vengono notificati all'host, se sono abilitati all'interno del registro EVENT_ENABLE.
Di seguito è riportato l'elenco degli eventi che saranno disponibili per l'host come parte del messaggio di evento.
Tabella 10. Eventi PN5190 (contenuto di EVENT_STATUS)
Bit – Intervallo | Campo [1] | Sempre Abilitato (Sì/No) | |
31 | 12 | RFU | NA |
11 | 11 | CTS_EVENTO [2] | N |
10 | 10 | IDLE_EVENT | Y |
9 | 9 | LPCD_CALIBRATION_DONE_EVENT | Y |
8 | 8 | LPCD_EVENT | Y |
7 | 7 | AUTOCOLL_EVENT | Y |
6 | 6 | TIMER0_EVENTO | N |
5 | 5 | TX_OVERCURRENT_EVENT | N |
4 | 4 | RFON_DET_EVENTO [2] | N |
3 | 3 | RFOFF_DET_EVENT [2] | N |
2 | 2 | STANDBY_PREV_EVENT | Y |
1 | 1 | GENERAL_ERROR_EVENT | Y |
0 | 0 | BOOT_EVENT | Y |
- Tieni presente che non vengono battuti due eventi, tranne in caso di errori. In caso di errori durante l'operazione, verranno impostati gli eventi funzionali (es. BOOT_EVENT, AUTOCALL_EVENT ecc.) e GENERAL_ERROR_EVENT.
- Questo evento verrà automaticamente disabilitato dopo essere stato pubblicato nell'host. L'host deve abilitare nuovamente questi eventi se desidera riceverne la notifica.
4.4.1.1 Formati dei messaggi di evento
Il formato del messaggio di evento varia a seconda delle occorrenze di un evento e del diverso stato di PN5190.
L'host deve leggere tag (T) e lunghezza del messaggio (L) e quindi leggere il corrispondente numero di byte come valore (V) degli eventi.
In generale, il messaggio di evento (vedere Figura 12) contiene EVENT_STATUS come definito nella Tabella 11 ei dati di evento corrispondono al rispettivo bit di evento impostato in EVENT_STATUS.
Nota:
Per alcuni eventi, il carico utile non esiste. Ad esempio, se viene attivato TIMER0_EVENT, come parte del messaggio di evento viene fornito solo EVENT_STATUS.
La Tabella 11 specifica inoltre se i dati dell'evento sono presenti nel messaggio di evento per l'evento corrispondente.GENERAL_ERROR_EVENT può verificarsi anche con altri eventi.
In questo scenario, il messaggio di evento (vedere Figura 13) contiene EVENT_STATUS come definito nella Tabella 11 e GENERAL_ERROR_STATUS_DATA come definito nella Tabella 14 e quindi i dati dell'evento corrispondono al rispettivo bit di evento impostato in EVENT_STATUS come definito nella Tabella 11.Nota:
Solo dopo BOOT_EVENT o dopo POR, STANDBY, ULPCD, l'host sarà in grado di funzionare nella modalità operativa normale emettendo i comandi sopra elencati.
In caso di interruzione di un comando in esecuzione esistente, solo dopo IDLE_EVENT, l'host sarà in grado di lavorare nella modalità operativa normale emettendo i comandi sopra elencati.
4.4.1.2 Diverse definizioni di stato EVENTO
4.4.1.2.1 Definizioni di bit per EVENT_STATUS
Tabella 11. Definizioni per i bit EVENT_STATUS
Bit (A – Da) | Evento | Descrizione | Dati evento dell'evento corrispondente (se presente) |
|
31 | 12 | RFU | Prenotato | |
11 | 11 | CTS_EVENT | Questo bit viene impostato quando viene generato l'evento CTS. | Tabella 86 |
10 | 10 | IDLE_EVENT | Questo bit viene impostato quando il comando in corso viene annullato a causa dell'emissione del comando SWITCH_MODE_NORMAL. | Nessun dato sull'evento |
9 | 9 | LPCD_CALIBRATION_DONE_ EVENTO |
Questo bit viene impostato quando viene generato l'evento calibrazione effettuata LPCD. | Tabella 16 |
8 | 8 | LPCD_EVENT | Questo bit viene impostato quando viene generato l'evento LPCD. | Tabella 15 |
7 | 7 | AUTOCOLL_EVENT | Questo bit viene impostato quando l'operazione AUTOCOLL è completata. | Tabella 52 |
6 | 6 | TIMER0_EVENTO | Questo bit viene impostato quando si verifica l'evento TIMER0. | Nessun dato sull'evento |
5 | 5 | TX_OVERCURRENT_ERROR_ EVENTO |
Questo bit viene impostato quando la corrente sul driver TX è superiore alla soglia definita nella EEPROM. In questa condizione il campo viene automaticamente spento prima della notifica all'host. Fare riferimento alla Sezione 4.4.2.2. | Nessun dato sull'evento |
4 | 4 | RFON_DET_EVENT | Questo bit viene impostato quando viene rilevato il campo RF esterno. | Nessun dato sull'evento |
3 | 3 | RFOFF_DET_EVENT | Questo bit viene impostato quando il campo RF esterno già esistente scompare. | Nessun dato sull'evento |
2 | 2 | STANDBY_PREV_EVENT | Questo bit viene impostato quando lo standby viene impedito a causa della presenza di condizioni di prevenzione | Tabella 13 |
1 | 1 | GENERAL_ERROR_EVENT | Questo bit viene impostato quando esistono condizioni di errore generali | Tabella 14 |
0 | 0 | BOOT_EVENT | Questo bit è impostato quando PN5190 viene avviato con POR/Standby | Tabella 12 |
4.4.1.2.2 Definizioni di bit per BOOT_STATUS_DATA
Tabella 12. Definizioni per i bit BOOT_STATUS_DATA
Un po' a | Un po' da | Stato di avvio | Motivo di avvio dovuto a |
31 | 27 | RFU | Prenotato |
26 | 26 | ULP_STANDBY | Motivo di avvio dovuto all'uscita da ULP_STANDBY. |
25 | 23 | RFU | Prenotato |
22 | 22 | BOOT_RX_ULPDET | RX ULPDET ha provocato l'avvio in modalità ULP-Standby |
21 | 21 | RFU | Prenotato |
20 | 20 | BOOT_SPI | Motivo dell'avvio dovuto al fatto che il segnale SPI_NTS è abbassato |
19 | 17 | RFU | Prenotato |
16 | 16 | BOOT_GPIO3 | Avvio Motivo dovuto alla transizione di GPIO3 da basso ad alto. |
15 | 15 | BOOT_GPIO2 | Avvio Motivo dovuto alla transizione di GPIO2 da basso ad alto. |
14 | 14 | BOOT_GPIO1 | Avvio Motivo dovuto alla transizione di GPIO1 da basso ad alto. |
13 | 13 | BOOT_GPIO0 | Avvio Motivo dovuto alla transizione di GPIO0 da basso ad alto. |
12 | 12 | BOOT_LPDET | Avvio Motivo dovuto alla presenza di campo RF esterno durante STANDBY/SUSPEND |
11 | 11 | RFU | Prenotato |
10 | 8 | RFU | Prenotato |
7 | 7 | BOOT_SOFT_RESET | Bootup Motivo dovuto al soft reset dell'IC |
6 | 6 | BOOT_VDDIO_LOSS | Avvio Motivo dovuto alla perdita di VDDIO. Fare riferimento alla Sezione 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | Motivo di avvio se STANDBY è stato inserito con VDDIO LOSS. Fare riferimento alla Sezione 4.4.2.3 |
4 | 4 | BOOT_WUC | Motivo di avvio dovuto al contatore di riattivazione scaduto durante l'operazione STANDBY. |
3 | 3 | BOOT_TEMP | Il motivo dell'avvio dovuto alla temperatura del circuito integrato è superiore al limite di soglia configurato. Fare riferimento alla Sezione 4.4.2.1 |
2 | 2 | BOOT_WDG | Bootup Motivo dovuto al ripristino del watchdog |
1 | 1 | RFU | Prenotato |
0 | 0 | BOOT_POR | Motivo di avvio dovuto al ripristino all'accensione |
4.4.1.2.3 Definizioni di bit per STANDBY_PREV_STATUS_DATA
Tabella 13. Definizioni per i bit STANDBY_PREV_STATUS_DATA
Un po' a | Un po' da | Prevenzione dello stand-by | Standby impedito a causa di |
31 | 26 | RFU | PRENOTATO |
25 | 25 | RFU | PRENOTATO |
24 | 24 | PREC_TEMP | La temperatura operativa dei circuiti integrati è fuori soglia |
23 | 23 | RFU | PRENOTATO |
22 | 22 | PREV_HOSTCOMM | Comunicazione dell'interfaccia host |
21 | 21 | PREV_SPI | Segnale SPI_NTS abbassato |
20 | 18 | RFU | PRENOTATO |
17 | 17 | PREV_GPIO3 | Segnale GPIO3 che passa da basso ad alto |
16 | 16 | PREV_GPIO2 | Segnale GPIO2 che passa da basso ad alto |
15 | 15 | PREV_GPIO1 | Segnale GPIO1 che passa da basso ad alto |
14 | 14 | PREV_GPIO0 | Segnale GPIO0 che passa da basso ad alto |
13 | 13 | PREV_WUC | Contatore risvegli scaduto |
12 | 12 | PREV_LPDET | Rilevamento a bassa potenza. Si verifica quando viene rilevato un segnale RF esterno durante il passaggio in standby. |
11 | 11 | PREV_RX_ULPDET | Rilevamento di potenza ultra-bassa RX. Si verifica quando viene rilevato un segnale RF durante il passaggio a ULP_STANDBY. |
10 | 10 | RFU | PRENOTATO |
9 | 5 | RFU | PRENOTATO |
4 | 4 | RFU | PRENOTATO |
3 | 3 | RFU | PRENOTATO |
2 | 2 | RFU | PRENOTATO |
1 | 1 | RFU | PRENOTATO |
0 | 0 | RFU | PRENOTATO |
4.4.1.2.4 Definizioni di bit per GENERAL_ERROR_STATUS_DATA
Tabella 14. Definizioni per i bit GENERAL_ERROR_STATUS_DATA
Un po' a | Un po' da | Stato di errore | Descrizione |
31 | 6 | RFU | Prenotato |
5 | 5 | XTAL_START_ERRORE | L'avvio di XTAL non è riuscito durante l'avvio |
4 | 4 | SYS_TRIM_RECOVERY_ERRORE | Si è verificato un errore di memoria di trim del sistema interno, ma il ripristino non è riuscito. Il sistema funziona in modalità ridotta. |
3 | 3 | SYS_TRIM_RECOVERY_SUCCESS | Si è verificato un errore di memoria di trim del sistema interno e il ripristino ha avuto esito positivo. L'host deve eseguire il riavvio della PN5190 affinché il ripristino abbia effetto. |
2 | 2 | TXLDO_ERRORE | Errore TXLDO |
1 | 1 | ERRORE_OROLOGIO | Errore dell'orologio |
0 | 0 | GPADC_ERRORE | Errore ADC |
4.4.1.2.5 Definizioni di bit per LPCD_STATUS_DATA
Tabella 15. Definizioni per byte LPCD_STATUS_DATA
Un po' a | Un po' da | Applicabilità dei bit di stato in base all'operazione sottostante di LPCD o ULPCD | La descrizione del bit corrispondente è impostata nel byte di stato. | ||
LPCD | ULPCD | ||||
31 | 7 | RFU | Prenotato | ||
6 | 6 | Interrompi_HIF | Y | N | Interrotto a causa dell'attività HIF |
5 | 5 | Errore CLKDET | N | Y | Interrotto a causa di un errore CLKDET |
4 | 4 | Tempo scaduto XTAL | N | Y | Interrotto a causa del timeout XTAL verificatosi |
3 | 3 | Sovracorrente LDO VDDPA | N | Y | Interrotta a causa della sovracorrente dell'LDO VDDPA |
2 | 2 | Campo RF esterno | Y | Y | Interrotto a causa di campo RF esterno |
1 | 1 | GPIO3 Interruzione | N | Y | Interrotto a causa della modifica del livello GPIO3 |
0 | 0 | Carta rilevata | Y | Y | Carta rilevata |
4.4.1.2.6 Definizioni di bit per i dati di stato LPCD_CALIBRATION_DONE
Tabella 16. Definizioni per i byte di dati di stato LPCD_CALIBRATION_DONE per ULPCD
Un po' a | Un po' da | Stato di LPCD_CALIBRATION DONE evento | La descrizione del bit corrispondente è impostata nel byte di stato. |
31 | 11 | Prenotato | |
10 | 0 | Valore di riferimento dalla calibrazione UPCD | Il valore RSSI misurato durante la calibrazione dell'ULPCD che viene utilizzato come riferimento durante l'ULPCD |
Tabella 17. Definizioni per i byte di dati di stato LPCD_CALIBRATION_DONE per LPCD
Un po' a | Un po' da | Applicabilità dei bit di stato in base all'operazione sottostante di LPCD o ULPCD | La descrizione del bit corrispondente è impostata nel byte di stato. | ||
2 | 2 | Campo RF esterno | Y | Y | Interrotto a causa di campo RF esterno |
1 | 1 | GPIO3 Interruzione | N | Y | Interrotto a causa della modifica del livello GPIO3 |
0 | 0 | Carta rilevata | Y | Y | Carta rilevata |
4.4.2 Gestione di diversi scenari di avvio
L'IC PN5190 gestisce diverse condizioni di errore relative ai parametri IC come di seguito.
4.4.2.1 Gestione dello scenario di sovratemperatura quando PN5190 è in funzione
Ogni volta che la temperatura interna dell'IC PN5190 raggiunge il valore di soglia configurato nel campo EEPROM TEMP_WARNING [2], l'IC entra in standby. Di conseguenza, se il campo EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] è configurato per inviare una notifica all'host, GPIO0 verrà portato in alto per notificare all'IC la sovratemperatura.
Se e quando la temperatura dell'IC scende al di sotto del valore di soglia configurato nel campo EEPROM TEMP_WARNING [2], l'IC si avvierà con BOOT_EVENT come nella Tabella 11 e il bit di stato di avvio BOOT_TEMP è impostato come nella Tabella 12 e il GPIO0 verrà abbassato.
4.4.2.2 Gestione della sovracorrente
Se l'IC PN5190 rileva la condizione di sovracorrente, l'IC interrompe l'alimentazione RF e invia TX_OVERCURRENT_ERROR_EVENT come nella Tabella 11.
La durata della condizione di sovracorrente può essere controllata modificando il campo EEPROM TXLDO_CONFIG [2].
Per informazioni sulla soglia di sovracorrente IC, fare riferimento al documento [2].
Nota:
Se sono presenti altri eventi o risposte in sospeso, verranno inviati all'host.
4.4.2.3 Perdita di VDDIO durante il funzionamento
Se l'IC PN5190 rileva l'assenza di VDDIO (perdita VDDIO), l'IC entra in standby.
L'IC si avvia solo quando VDDIO è disponibile, con BOOT_EVENT come nella Tabella 11 e il bit di stato di avvio BOOT_VDDIO_START impostato come nella Tabella 12.
Per informazioni sulle caratteristiche statiche del circuito integrato PN5190, fare riferimento al documento [2].
4.4.3 Gestione degli scenari di interruzione
L'IC PN5190 supporta l'interruzione degli attuali comandi in esecuzione e il comportamento dell'IC PN5190, quando tale comando di interruzione come la Sezione 4.5.4.5.2 viene inviato all'IC PN5190 è mostrato nella Tabella 18.
Nota:
Quando l'IC PN5190 è in modalità ULPCD e ULP-Standby, non può essere interrotto inviando una Sezione 4.5.4.5.2 OPPURE avviando una transazione SPI (tirando basso il segnale SPI_NTS).
Tabella 18. Risposta all'evento prevista quando diversi comandi terminavano con la Sezione 4.5.4.5.2
Comandi | Comportamento quando viene inviato il comando Switch Mode Normal |
Tutti i comandi in cui non è inserita la bassa potenza | EVENT_STAUS è impostato su "IDLE_EVENT" |
Cambia modalità LPCD | EVENT_STATUS è impostato su "LPCD_EVENT" con "LPCD_STATUS_DATA" che indica i bit di stato come "Abort_HIF" |
Cambia modalità standby | EVENT_STAUS è impostato su "BOOT_EVENT" con "BOOT_STATUS_DATA" che indica i bit "BOOT_SPI" |
Switch Mode Autocoll (nessuna modalità autonoma, modalità autonoma con standby e modalità autonoma senza standby) | EVENT_STAUS è impostato su "AUTOCOLL_EVENT" con i bit STATUS_DATA che indicano che il comando è stato annullato dall'utente. |
4.5 Dettagli delle istruzioni di funzionamento in modalità normale
4.5.1 Manipolazione dei registri
Le istruzioni di questa sezione vengono utilizzate per accedere ai registri logici del PN5190.
4.5.1.1 SCRITTURA_REGISTRATO
Questa istruzione viene utilizzata per scrivere un valore a 32 bit (little-endian) in un registro logico.
Condizioni 4.5.1.1.1
L'indirizzo del registro deve esistere e il registro deve avere l'attributo READ-WRITE o WRITE-ONLY.
4.5.1.1.2 Comando
Tabella 19. Valore del comando WRITE_REGISTER Scrive un valore a 32 bit in un registro.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Registra indirizzo | 1 byte | Indirizzo del registro. |
Tabella 19. Valore del comando WRITE_REGISTER…continua
Scrivere un valore a 32 bit in un registro.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Valore | 4 byte | Valore del registro a 32 bit che deve essere scritto. (Little endian) |
4.5.1.1.3 Risposta
Tabella 20. Valore della risposta WRITE_REGISTER
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.1.4 Evento
Non ci sono eventi per questo comando.
4.5.1.2 SCRIVI_REGISTER_OR_MASK
Questa istruzione viene utilizzata per modificare il contenuto del registro utilizzando un'operazione logica OR. Viene letto il contenuto del registro e viene eseguita un'operazione logica OR con la maschera fornita. Il contenuto modificato viene riscritto nel registro.
Condizioni 4.5.1.2.1
L'indirizzo del registro deve esistere e il registro deve avere l'attributo READ-WRITE.
4.5.1.2.2 Comando
Tabella 21. Valore comando WRITE_REGISTER_OR_MASK Esegue un'operazione OR logica su un registro utilizzando la maschera fornita.
Campo del carico utile | Lunghezza | Valore/descrizione |
Registra indirizzo | 1 byte | Indirizzo del registro. |
Maschera | 4 byte | Maschera di bit utilizzata come operando per l'operazione OR logica. (Little endian) |
4.5.1.2.3 Risposta
Tabella 22. Valore della risposta WRITE_REGISTER_OR_MASK
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.2.4 Evento
Non ci sono eventi per questo comando.
4.5.1.3 SCRIVI_REGISTRA_E_MASCHERA
Questa istruzione viene utilizzata per modificare il contenuto del registro utilizzando un'operazione logica AND. Viene letto il contenuto del registro e viene eseguita un'operazione logica AND con la maschera fornita. Il contenuto modificato viene riscritto nel registro.
Condizioni 4.5.1.3.1
L'indirizzo del registro deve esistere e il registro deve avere l'attributo READ-WRITE.
4.5.1.3.2 Comando
Tabella 23. Valore comando WRITE_REGISTER_AND_MASK Esegue un'operazione AND logica su un registro utilizzando la maschera fornita.
Campo del carico utile | Lunghezza | Valore/descrizione |
Registra indirizzo | 1 byte | Indirizzo del registro. |
Maschera | 4 byte | Maschera di bit utilizzata come operando per l'operazione logica AND. (Little endian) |
4.5.1.3.3 Risposta
Tabella 24. Valore della risposta WRITE_REGISTER_AND_MASK
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.3.4 Evento
Non ci sono eventi per questo comando.
4.5.1.4 SCRITTURA_REGISTRATO_MULTIPLO
Questa funzionalità di istruzione è simile alla Sezione 4.5.1.1, Sezione 4.5.1.2, Sezione 4.5.1.3, con la possibilità di combinarle. In effetti, prende un array di set di valori di tipo registro ed esegue l'azione appropriata. Il tipo riflette l'azione che è scrittura registro, operazione logica OR su un registro o operazione logica AND su un registro.
Condizioni 4.5.1.4.1
Deve esistere il rispettivo indirizzo logico del registro all'interno di un set.
L'attributo di accesso al registro deve consentire l'esecuzione dell'azione richiesta (tipo):
- Azione di scrittura (0x01): attributo READ-WRITE o WRITE-ONLY
- Azione maschera OR (0x02): attributo READ-WRITE
- Azione maschera AND (0x03): attributo READ-WRITE
La dimensione dell'array 'Set' deve essere compresa tra 1 e 43 inclusi.
Il campo "Tipo" deve essere compreso tra 1 e 3 inclusi
4.5.1.4.2 Comando
Tabella 25. Valore comando WRITE_REGISTER_MULTIPLE Esegue un'operazione di scrittura del registro utilizzando una serie di coppie Registro-Valore.
Campo del carico utile | Lunghezza | Valore/descrizione | |||
Imposta [1…n] | 6 byte | Registra indirizzo | 1 byte | Indirizzo logico del registro. | |
Tipo | 1 byte | 0x1 | Scrivi Registro | ||
0x2 | Scrivi Registro O Maschera | ||||
0x3 | Scrivi Registro E Maschera | ||||
Valore | 4 byte | 32 Valore del registro del morso che deve essere scritto o maschera di bit utilizzata per l'operazione logica. (Little endian) |
Nota: in caso di eccezione, l'operazione non viene annullata, ovvero i registri che sono stati modificati finché non si verifica un'eccezione rimangono nello stato modificato. L'host deve intraprendere le azioni appropriate per ripristinare uno stato definito.
4.5.1.4.3 Risposta
Tabella 26. Valore della risposta WRITE_REGISTER_MULTIPLE
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.4.4 Evento
Non ci sono eventi per questo comando.
4.5.1.5 LEGGI_REGISTRO
Questa istruzione viene utilizzata per rileggere il contenuto di un registro logico. Il contenuto è presente nella risposta, come valore a 4 byte in formato little-endian.
Condizioni 4.5.1.5.1
L'indirizzo del registro logico deve esistere. L'attributo di accesso del registro deve essere READ-WRITE o READ-ONLY.
4.5.1.5.2 Comando
Tabella 27. Valore del comando READ_REGISTER
Rileggere il contenuto di un registro.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Registra indirizzo | 1 byte | Indirizzo del registro logico |
4.5.1.5.3 Risposta
Tabella 28. Valore della risposta READ_REGISTER
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) | ||
Registra valore | 4 byte | Valore di registro a 32 bit che è stato letto. (Little endian) |
4.5.1.5.4 Evento
Non ci sono eventi per questo comando.
4.5.1.6 READ_REGISTER_MULTIPLE
Questa istruzione viene utilizzata per leggere più registri logici contemporaneamente. Il risultato (contenuto di ogni registro) è fornito nella risposta all'istruzione. L'indirizzo del registro stesso non è incluso nella risposta. L'ordine del contenuto del registro all'interno della risposta corrisponde all'ordine degli indirizzi del registro all'interno dell'istruzione.
Condizioni 4.5.1.6.1
Tutti gli indirizzi dei registri all'interno dell'istruzione devono esistere. L'attributo di accesso per ciascun registro deve essere READ-WRITE o READ-ONLY. La dimensione dell'array 'Indirizzo registro' deve essere compresa tra 1 e 18 inclusi.
4.5.1.6.2 Comando
Tabella 29. Valore del comando READ_REGISTER_MULTIPLE Esegue un'operazione di lettura del registro su una serie di registri.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Registra indirizzo[1…n] | 1 byte | Registra indirizzo |
4.5.1.6.3 Risposta
Tabella 30. Valore della risposta READ_REGISTER_MULTIPLE
Campo del carico utile | Lunghezza | Valore/descrizione | ||
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) | ||||
Registro Valore [1…n] | 4 byte | Valore | 4 byte | Valore di registro a 32 bit che è stato letto (little-endian). |
4.5.1.6.4 Evento
Non ci sono eventi per questo comando.
4.5.2 Manipolazione E2PROM
L'area accessibile in E2PROM corrisponde alla mappa EEPROM e alle dimensioni indirizzabili.
Nota:
1. Ovunque nelle istruzioni seguenti venga menzionato l''Indirizzo E2PROM', si farà riferimento alla dimensione dell'area EEPROM indirizzabile.
4.5.2.1 SCRIVI_E2PROM
Questa istruzione viene utilizzata per scrivere uno o più valori su E2PROM. Il campo 'Valori' contiene i dati da scrivere su E2PROM a partire dall'indirizzo fornito dal campo 'Indirizzo E2PROM'. I dati vengono scritti in ordine sequenziale.
Nota:
Si noti che questo è un comando di blocco, ciò significa che l'NFC FE è bloccato durante l'operazione di scrittura. Questo può richiedere diversi millisecondi.
Condizioni 4.5.2.1.1
Il campo 'Indirizzo E2PROM' deve essere compreso nell'intervallo indicato in [2]. Il numero di byte nel campo "Valori" deve essere compreso tra 1 e 1024 (0x0400), inclusi. L'operazione di scrittura non deve andare oltre l'indirizzo EEPROM come menzionato in [2]. La risposta all'errore verrà inviata all'host se l'indirizzo supera lo spazio degli indirizzi EEPROM come in [2].
4.5.2.1.2 Comando
Tabella 31. Valore comando WRITE_E2PROM Scrive i valori dati in sequenza su E2PROM.
Campo del carico utile | Lunghezza | Valore/descrizione |
Indirizzo E2PROM | 2 byte | Indirizzo in EEPROM da cui inizierà l'operazione di scrittura. (Little endian) |
Valori | 1 – 1024 byte | Valori che devono essere scritti in E2PROM in ordine sequenziale. |
4.5.2.1.3 Risposta
Tabella 32. Valore di risposta WRITE_EEPROM
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.2.1.4 Evento
Non ci sono eventi per questo comando.
4.5.2.2 LEGGI_E2PROM
Questa istruzione viene utilizzata per rileggere i dati dall'area di memoria E2PROM. Il campo 'Indirizzo E2PROM' indica l'indirizzo iniziale dell'operazione di lettura. La risposta contiene i dati letti da E2PROM.
Condizioni 4.5.2.2.1
Il campo "Indirizzo E2PROM" deve essere compreso in un intervallo valido.
Il campo "Numero di byte" deve essere compreso tra 1 e 256 inclusi.
L'operazione di lettura non deve andare oltre l'ultimo indirizzo EEPROM accessibile.
La risposta all'errore verrà inviata all'host, se l'indirizzo supera lo spazio degli indirizzi EEPROM.
4.5.2.2.2 Comando
Tabella 33. Valore del comando READ_E2PROM Leggere i valori da E2PROM in sequenza.
Campo del carico utile | Lunghezza | Valore/descrizione |
Indirizzo E2PROM | 2 byte | Indirizzo in E2PROM da cui inizierà l'operazione di lettura. (Little endian) |
Numero di byte | 2 byte | Numero di byte da leggere. (Little endian) |
4.5.2.2.3 Risposta
Tabella 34. Valore di risposta READ_E2PROM
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO | ||
PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) | ||
Valori | 1 – 1024 byte | Valori letti in ordine sequenziale. |
4.5.2.2.4 Evento
Non ci sono eventi per questo comando.
4.5.2.3 GET_CRC_USER_AREA
Questa istruzione viene utilizzata per calcolare il CRC per l'intera area di configurazione utente inclusa l'area del protocollo dell'IC PN5190.
4.5.2.3.1 Comando
Tabella 35. Valore del comando GET_CRC_USER_AREA
Leggere il CRC dell'area di configurazione utente inclusa l'area del protocollo.
Campo di carico utile | Lunghezza | Valore/Descrizione |
– | – | Nessun dato nel carico utile |
4.5.2.3.2 Risposta
Tabella 36. Valore della risposta GET_CRC_USER_AREA
Campo del carico utile | Lunghezza | Valore/descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO | ||
PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) | ||
Valori | 4 byte | 4 byte di dati CRC in formato little-endian. |
4.5.2.3.3 Evento
Non ci sono eventi per questo comando.
4.5.3 Manipolazione dati CLIF
Le istruzioni descritte in questa sezione descrivono i comandi per la trasmissione e la ricezione RF.
4.5.3.1 SCAMBIO_DATI_RF
La funzione di scambio RF esegue una trasmissione dei dati TX ed è in attesa della ricezione di eventuali dati RX.
La funzione ritorna in caso di ricezione (errata o corretta) o di timeout. Il timer viene avviato con la FINE della TRASMISSIONE e fermato con l'INIZIO della RICEZIONE. Il valore di timeout preconfigurato nella EEPROM deve essere utilizzato nel caso in cui il timeout non sia configurato prima dell'esecuzione del comando Exchange.
Se transceiver_state è
- in IDLE si entra nella modalità TRANSCEIVE.
- In WAIT_RECEIVE, lo stato del ricetrasmettitore viene reimpostato su TRANSCEIVE MODE nel caso in cui sia impostato il bit iniziatore
- In WAIT_TRANSMIT, lo stato del ricetrasmettitore viene reimpostato su TRANSCEIVE MODE nel caso in cui il bit iniziatore NON sia impostato
Il campo 'Numero di bit validi nell'ultimo byte' indica l'esatta lunghezza dei dati da trasmettere.
Condizioni 4.5.3.1.1
La dimensione del campo "Dati TX" deve essere compresa tra 0 e 1024 inclusi.
Il campo "Numero di bit validi nell'ultimo byte" deve essere compreso tra 0 e 7.
Il comando non deve essere chiamato durante una trasmissione RF in corso. Il comando dovrà garantire il corretto stato del ricetrasmettitore per la trasmissione dei dati.
Nota:
Questo comando è valido solo per la modalità Lettore e la modalità Iniziatore Passivo/Attivo P2P”.
4.5.3.1.2 Comando
Tabella 37. Valore del comando EXCHANGE_RF_DATA
Scrive i dati TX nel buffer di trasmissione RF interno e avvia la trasmissione utilizzando il comando di ricetrasmissione e attende fino alla ricezione o al timeout per preparare una risposta all'host.
Campo di carico utile | Lunghezza | Valore/Descrizione | |
Numero di bit validi nell'ultimo byte | 1 byte | 0 | Vengono trasmessi tutti i bit dell'ultimo byte |
1 – 7 | Numero di bit nell'ultimo byte da trasmettere. | ||
RFExchangeConfig | 1 byte | Configurazione della funzione RFExchange. Dettagli vedi sotto |
Tabella 37. Valore del comando EXCHANGE_RF_DATA…continua
Scrive i dati TX nel buffer di trasmissione RF interno e avvia la trasmissione utilizzando il comando di ricetrasmissione e attende fino alla ricezione o al timeout per preparare una risposta all'host.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Dati di trasmissione | n byte | Dati TX che devono essere inviati tramite CLIF utilizzando il comando transceive. n = 0 – 1024 byte |
Tabella 38. Maschera di bit RFexchangeConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descrizione |
I bit 4 – 7 sono RFU | ||||||||
X | Include dati RX nella risposta in base a RX_STATUS, se il bit è impostato su 1b. | |||||||
X | Include il registro EVENT_STATUS nella risposta, se il bit è impostato su 1b. | |||||||
X | Include il registro RX_STATUS_ERROR nella risposta, se il bit è impostato su 1b. | |||||||
X | Include il registro RX_STATUS in risposta, se il bit è impostato su 1b. |
4.5.3.1.3 Risposta
Tabella 39. Valore della risposta EXCHANGE_RF_DATA
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR |
||
STATO_RX | 4 byte | Se è richiesto RX_STATUS (little-endian) |
RX_STATO_ERRORE | 4 byte | Se è richiesto RX_STATUS_ERROR (little-endian) |
STATO_EVENTO | 4 byte | Se è richiesto EVENT_STATUS (little-endian) |
Dati RX | 1 – 1024 byte | Se i dati RX sono richiesti. Dati RX ricevuti durante la fase di ricezione RF dello scambio RF. |
4.5.3.1.4 Evento
Non ci sono eventi per questo comando.
4.5.3.2 TRANSMIT_RF_DATI
Questa istruzione viene utilizzata per scrivere i dati nel buffer di trasmissione CLIF interno e avviare la trasmissione utilizzando il comando transceive internamente. La dimensione di questo buffer è limitata a 1024 byte. Dopo che questa istruzione è stata eseguita, viene avviata automaticamente una ricezione RF.
Il comando ritorna immediatamente dopo il completamento della trasmissione, senza attendere il completamento della ricezione.
Condizioni 4.5.3.2.1
Il numero di byte nel campo "Dati TX" deve essere compreso tra 1 e 1024 inclusi.
Il comando non deve essere chiamato durante una trasmissione RF in corso.
4.5.3.2.2 Comando
Tabella 40. Valore del comando TRANSMIT_RF_DATA Scrive i dati TX nel buffer di trasmissione CLIF interno.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Numero di bit validi nell'ultimo byte | 1 byte | 0 Vengono trasmessi tutti i bit dell'ultimo byte. 1 – 7 Numero di bit all'interno dell'ultimo byte da trasmettere. |
RFU | 1 byte | Prenotato |
Dati di trasmissione | 1 – 1024 byte | Dati TX che saranno utilizzati durante la successiva trasmissione RF. |
4.5.3.2.3 Risposta
Tabella 41. Valore della risposta TRANSMIT_RF_DATA
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
4.5.3.2.4 Evento
Non ci sono eventi per questo comando.
4.5.3.3 RETRIEVE_RF_DATI
Questa istruzione viene utilizzata per leggere i dati dal buffer CLIF RX interno, che contiene i dati di risposta RF (se presenti) inviati ad esso dalla precedente esecuzione della Sezione 4.5.3.1 con l'opzione di non includere i dati ricevuti nella risposta o nel comando della Sezione 4.5.3.2.
4.5.3.3.1 Comando
Tabella 42. Valore del comando RETRIEVE_RF_DATA Legge i dati RX dal buffer di ricezione RF interno.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Vuoto | Vuoto | Vuoto |
4.5.3.3.2 Risposta
Tabella 43. Valore della risposta RETRIEVE_RF_DATA
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
Campo di carico utile | Lunghezza | Valore/Descrizione |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
||
Dati RX | 1 – 1024 byte | Dati RX che sono stati ricevuti durante l'ultima ricezione RF riuscita. |
4.5.3.3.3 Evento
Non ci sono eventi per questo comando.
4.5.3.4 RICEZIONE_DATI_RF
Questa istruzione attende i dati ricevuti tramite l'interfaccia RF del lettore.
In modalità lettore, questa istruzione ritorna se c'è una ricezione (errata o corretta) o si è verificato un timeout FWT. Il timer viene avviato con la FINE della TRASMISSIONE e fermato con l'INIZIO della RICEZIONE. Il valore di timeout predefinito preconfigurato in EEPROM deve essere utilizzato nel caso in cui il timeout non sia configurato prima dell'esecuzione del comando Exchange.
In modalità target, questa istruzione ritorna in caso di ricezione (errata o corretta) o errore RF esterno.
Nota:
Questa istruzione deve essere utilizzata con il comando TRANSMIT_RF_DATA per eseguire operazioni TX e RX...
4.5.3.4.1 Comando
Tabella 44. Valore del comando RECEIVE_RF_DATA
Campo di carico utile | Lunghezza | Valore/Descrizione |
RiceviRFConfig | 1 byte | Configurazione della funzione ReceiveRFConfig. Vedere Tabella 45 |
Tabella 45. Maschera di bit ReceiveRFConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descrizione |
I bit 4 – 7 sono RFU | ||||||||
X | Include dati RX nella risposta in base a RX_STATUS, se il bit è impostato su 1b. | |||||||
X | Include il registro EVENT_STATUS nella risposta, se il bit è impostato su 1b. | |||||||
X | Include il registro RX_STATUS_ERROR nella risposta, se il bit è impostato su 1b. | |||||||
X | Include il registro RX_STATUS in risposta, se il bit è impostato su 1b. |
4.5.3.4.2 Risposta
Tabella 46. Valore della risposta RECEIVE_RF_DATA
Campo del carico utile | Lunghezza | Valore/descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) PN5190_STATUS_TIMEOUT |
Campo del carico utile | Lunghezza | Valore/descrizione |
PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
||
STATO_RX | 4 byte | Se è richiesto RX_STATUS (little-endian) |
RX_STATO_ERRORE | 4 byte | Se è richiesto RX_STATUS_ERROR (little-endian) |
STATO_EVENTO | 4 byte | Se è richiesto EVENT_STATUS (little-endian) |
Dati RX | 1 – 1024 byte | Se i dati RX sono richiesti. Dati RX ricevuti su RF. |
4.5.3.4.3 Evento
Non ci sono eventi per questo comando.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (Configurazione FeliCa EMD)
Questa istruzione viene utilizzata per leggere i dati dal buffer CLIF RX interno, che contiene i dati di risposta EMD FeliCa (se presenti) inviati dalla precedente esecuzione del comando EXCHANGE_RF_DATA che restituisce lo stato 'PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR'.
Nota: Questo comando è disponibile da PN5190 FW v02.03 in poi.
4.5.3.5.1 Comando
Legge i dati RX dal buffer di ricezione RF interno.
Tabella 47. Valore del comando RETRIEVE_RF_FELICA_EMD_DATA
Campo di carico utile | Lunghezza | Valore/Descrizione | |
FeliCaRFRetrieveConfig | 1 byte | 00 – FF | Configurazione della funzione RETRIEVE_RF_FELICA_EMD_DATA |
descrizione della configurazione (maschera di bit). | bit 7..2: RFU bit 1: include il registro RX_STATUS_ ERROR nella risposta, se il bit è impostato su 1b. bit 0: include il registro RX_STATUS nella risposta, se il bit è impostato su 1b. |
4.5.3.5.2 Risposta
Tabella 48. Valore della risposta RETRIEVE_RF_FELICA_EMD_DATA
Campo del carico utile | Lunghezza | Valore/descrizione | |||
Stato | 1 byte | Stato dell'operazione. I valori previsti sono i seguenti: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) | |||
STATO_RX | 4 byte | Se è richiesto RX_STATUS (little-endian) | |||
RX_STATUS_ ERRORE | 4 byte | Se è richiesto RX_STATUS_ERROR (little-endian) |
Campo del carico utile | Lunghezza | Valore/descrizione | |||
Dati RX | 1…1024 byte | FeliCa EMD RX dati che sono stati ricevuti durante l'ultima ricezione RF fallita utilizzando Exchange Command. |
4.5.3.5.3 Evento
Non ci sono eventi per questo comando.
4.5.4 Cambio della modalità operativa
PN5190 supporta 4 diverse modalità operative:
4.5.4.1 Normal
Questa è la modalità predefinita, in cui sono consentite tutte le istruzioni.
4.5.4.2 In attesa
PN5190 è in stato standby/sospensione per risparmiare energia. È necessario impostare le condizioni di riattivazione per definire quando lasciare nuovamente lo standby.
4.5.4.3 LPCD
PN5190 è in modalità di rilevamento della scheda a basso consumo, dove tenta di rilevare una scheda che entra nel volume operativo, con il minor consumo energetico possibile.
4.5.4.4 Collez.autom
PN5190 funge da ascoltatore RF, eseguendo l'attivazione della modalità target in modo autonomo (per garantire vincoli in tempo reale)
4.5.4.5 SWITCH_MODE_NORMAL
Il comando Cambia modalità normale ha tre casi d'uso.
4.5.4.5.1 UseCase1: accesso alla modalità operativa normale all'accensione (POR)
Utilizzare per ripristinare lo stato Inattivo per ricevere/elaborare il comando successivo accedendo alla modalità operativa normale.
4.5.4.5.2 UseCase2: terminare il comando già in esecuzione per passare alla modalità operativa normale (comando di interruzione)
Utilizzare per ripristinare lo stato Inattivo per ricevere/elaborare il comando successivo terminando i comandi già in esecuzione.
È possibile terminare comandi come standby, LPCD, Exchange, PRBS e Autocoll utilizzando questo comando.
Questo è l'unico comando speciale, che non ha una risposta. Invece, ha una notifica EVENTO.
Fare riferimento alla Sezione 4.4.3 per ulteriori informazioni sul tipo di eventi che si verificano durante l'esecuzione dei diversi comandi sottostanti.
4.5.4.5.2.1 Caso d'uso2.1:
Questo comando reimposterà tutti i registri CLIF TX, RX e Field Control allo stato Boot. L'emissione di questo comando disattiverà qualsiasi campo RF esistente.
4.5.4.5.2.2 Caso d'uso2.2:
Disponibile da PN5190 FW v02.03 in poi:
Questo comando non modificherà i registri CLIF TX, RX e Field Control ma sposterà solo il ricetrasmettitore nello stato IDLE.
4.5.4.5.3 UseCase3: Modalità di funzionamento normale dopo soft-reset/uscita dallo standby, LPCD In questo caso, il PN5190 entra direttamente nella modalità di funzionamento normale, inviando IDLE_EVENT all'host (Figura 12 o Figura 13) e " IDLE_EVENT” è impostato nella Tabella 11.
Non è necessario inviare il comando SWITCH_MODE_NORMAL.
Nota:
Dopo che l'IC è passato alla modalità normale, tutte le impostazioni di RF vengono modificate allo stato predefinito. È fondamentale che la rispettiva configurazione RF e altri registri correlati siano caricati con valori appropriati prima di eseguire un'operazione RF ON o RF Exchange.
4.5.4.5.4 Frame di comando da inviare per diversi casi d'uso
4.5.4.5.4.1 UseCase1: il comando entra in modalità di funzionamento normale all'accensione (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: comando per terminare i comandi già in esecuzione per passare alla modalità operativa normale
Caso d'uso 2.1:
0x20 0x00 0x00
Caso d'uso 2.2: (dal FW v02.02 in poi):
0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: comando per la modalità di funzionamento normale dopo soft-reset/uscita dallo standby, LPCD, ULPCD
Nessuno. PN5190 entra direttamente nella modalità operativa normale.
4.5.4.5.5 Risposta
Nessuno
4.5.4.5.6 Evento
Viene impostato un BOOT_EVENT (nel registro EVENT_STATUS) che indica che è stata attivata la modalità normale e viene inviato all'host. Fare riferimento alla Figura 12 e alla Figura 13 per i dati dell'evento.
Viene impostato un IDLE_EVENT (nel registro EVENT_STATUS) che indica l'accesso alla modalità normale e viene inviato all'host. Fare riferimento alla Figura 12 e alla Figura 13 per i dati dell'evento.
Viene impostato un BOOT_EVENT (nel registro EVENT_STATUS) che indica l'accesso alla modalità normale e viene inviato all'host. Fare riferimento alla Figura 12 e alla Figura 13 per i dati dell'evento.
4.5.4.6 SWITCH_MODE_AUTOCOLL
Lo Switch Mode Autocoll esegue automaticamente la procedura di attivazione della carta in modalità target.
Il campo "Modalità Autocoll" deve essere compreso tra 0 e 2 inclusi.
Nel caso in cui il campo 'Autocoll Mode' sia impostato su 2 (Autocoll): il campo 'RF Technologies' (Tabella 50) deve contenere una maschera di bit che indica le tecnologie RF da supportare durante l'Autocoll.
Non è necessario inviare istruzioni mentre si è in questa modalità.
La terminazione viene indicata utilizzando un'interruzione.
4.5.4.6.1 Comando
Tabella 49. Valore del comando SWITCH_MODE_AUTOCOLL
Parametro | Lunghezza | Valore/Descrizione | |
Tecnologie RF | 1 byte | Bitmask che indica la tecnologia RF da ascoltare durante l'Autocoll. | |
Modalità di raccolta automatica | 1 byte | 0 | Nessuna modalità autonoma, ovvero l'Autocoll termina quando il campo RF esterno non è presente. |
Risoluzione in caso di | |||
• NESSUN CAMPO RF o CAMPO RF è scomparso | |||
• PN5190 è ATTIVATO in modalità TARGET | |||
1 | Modalità autonoma con standby. Quando non è presente alcun campo RF, Autocoll entra automaticamente in modalità Standby. Una volta rilevato il campo RF esterno, il PN5190 entra nuovamente in modalità Autocoll. | ||
Risoluzione in caso di | |||
• PN5190 è ATTIVATO in modalità TARGET | |||
Da PN5190 FW versione 02.03 in poi: Se il campo EEPROM “bCard ModeUltraLowPowerEnabled” all'indirizzo '0xCDF' è impostato su '1', il PN5190 entra in standby a bassissimo consumo. | |||
2 | Modalità autonoma senza standby. Quando non è presente alcun campo RF, PN5190 attende finché non è presente il campo RF prima di avviare l'algoritmo Autocoll. In questo caso lo standby non viene utilizzato. | ||
Risoluzione in caso di • PN5190 è ATTIVATO in modalità TARGET |
Tabella 50. Maschera di bit delle tecnologie RF
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descrizione |
0 | 0 | 0 | 0 | RFU | ||||
X | Se impostato su 1b, l'ascolto di NFC-F attivo è abilitato. (Non disponibile). | |||||||
X | Se impostato su 1b, l'ascolto di NFC-A attivo è abilitato. (Non disponibile). | |||||||
X | Se impostato su 1b, l'ascolto di NFC-F è abilitato. | |||||||
X | Se impostato su 1b, l'ascolto di NFC-A è abilitato. |
4.5.4.6.2 Risposta
La risposta segnala solo che il comando è stato elaborato.
Tabella 51. Valore della risposta SWITCH_MODE_AUTOCOLL
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (La modalità di commutazione non è stata inserita a causa di impostazioni errate) |
4.5.4.6.3 Evento
La notifica dell'evento viene inviata quando il comando è terminato e si entra nella modalità normale. L'host leggerà i byte di risposta in base al valore dell'evento.
Nota:
Quando lo stato non è “PN5190_STATUS_INSTR_SUCCESS”, non sono presenti ulteriori byte di dati “Protocollo” e “Card_Activated”.
Le informazioni sulla tecnologia vengono recuperate dai registri utilizzando i comandi Sezione 4.5.1.5, Sezione 4.5.1.6.
La tabella seguente mostra i dati dell'evento inviati come parte del messaggio di evento. Figura 12 e Figura 13.
Tabella 52. Dati EVENT_SWITCH_MODE_AUTOCOLL – AUTOCOLL_EVENT Cambia modalità operativa Evento Autocoll
Campo di carico utile | Lunghezza | Valore/Descrizione | |
Stato | 1 byte | Stato dell'operazione | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 è ATTIVATO in modalità TARGET. Ulteriori dati in questo caso sono validi. |
||
PN5190_STATUS_PREVENT_STANDBY | Indica che PN5190 non può entrare in modalità Standby. Questo stato è valido solo quando la modalità Autocoll è selezionata come “Modalità autonoma con standby”. |
PN5190_STATUS_NO_EXTERNAL_RF_ CAMPO | Indica che nessun campo RF esterno è presente durante l'esecuzione di Autocoll in modalità Non Autonoma | ||
PN5190_STATUS_USER_CANCELLED | Indica che il comando attuale in corso viene interrotto dal comando normale di commutazione modalità | ||
Protocollo | 1 byte | 0x10 | Attivato come tipo passivo A |
0x11 | Attivato come tipo passivo F 212 | ||
0x12 | Attivato come tipo passivo F 424 | ||
0x20 | Attivato come Tipo Attivo A | ||
0x21 | Attivato come Active TypeF 212 | ||
0x22 | Attivato come Active TypeF 424 | ||
Altri valori | Non valido | ||
Carta_Attivata | 1 byte | 0x00 | Nessun processo di attivazione della carta secondo ISO 14443-3 |
0x01 | Indica che il dispositivo è attivato in modalità Passiva |
Nota:
Dopo aver letto i dati dell'evento, i dati ricevuti dalla carta/dispositivo che è stato attivato (come 'n' byte di ATR_REQ/RATS secondo ISO18092/ISO1443-4), devono essere letti utilizzando il comando della Sezione 4.5.3.3.
4.5.4.6.4 Comunicazione esample
4.5.4.7 COMMUTAZIONE_MODALITÀ_STANDBY
Switch Mode Standby imposta automaticamente l'IC in modalità Standby. L'IC si riattiverà dopo che le sorgenti di riattivazione configurate soddisfano le condizioni di riattivazione.
Nota:
La scadenza del contatore per ULP STANDBY e l'interruzione HIF per STANDBY sono disponibili per impostazione predefinita per uscire dalle modalità standby.
4.5.4.7.1 Comando
Tabella 53. Valore del comando SWITCH_MODE_STANDBY
Parametro | Lunghezza | Valore/Descrizione |
Configurazione | 1 byte | Maschera di bit che controlla la sorgente di riattivazione da utilizzare e la modalità Standby a cui accedere. Fare riferimento a Tabella 54 |
Controvalore | 2 byte | Valore utilizzato per il contatore delle sveglie in millisecondi. Il valore massimo supportato è 2690 per lo standby. Il valore massimo supportato è 4095 per lo standby ULP. Il valore da fornire è in formato little-endian. Il contenuto di questo parametro è valido solo se la “Config Bitmask” è abilitata per la riattivazione allo scadere del contatore. |
Tabella 54. Bitmask di configurazione
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descrizione |
X | Entra in standby ULP se il bit è impostato su 1b Entra in standby se il bit è impostato su 0b. | |||||||
0 | RFU | |||||||
X | Riattivazione su GPIO-3 quando è alto, se il bit è impostato su 1b. (Non applicabile per lo standby ULP) | |||||||
X | Riattivazione su GPIO-2 quando è alto, se il bit è impostato su 1b. (Non applicabile per lo standby ULP) | |||||||
X | Riattivazione su GPIO-1 quando è alto, se il bit è impostato su 1b. (Non applicabile per lo standby ULP) | |||||||
X | Riattivazione su GPIO-0 quando è alto, se il bit è impostato su 1b. (Non applicabile per lo standby ULP) | |||||||
X | Il contatore di risveglio scade se il bit è impostato su 1b. Per ULP-Standby, questa opzione è abilitata per impostazione predefinita. | |||||||
X | Riattivazione sul campo RF esterno, se il bit è impostato su 1b. |
Nota: Da PN5190 FW v02.03, se il campo EEPROM “CardModeUltraLowPowerEnabled” all'indirizzo '0xCDF' è impostato su '1', la configurazione di standby ULP non può essere utilizzata con il comando SWITCH_MODE_STANDBY.
4.5.4.7.2 Risposta
La risposta segnala solo che il comando è stato elaborato e lo stato di standby verrà inserito solo dopo che la risposta è stata completamente letta dall'host.
Tabella 55. Valore di risposta SWITCH_MODE_STANDBY Cambia la modalità operativa standby
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (La modalità Switch non è stata inserita – a causa di impostazioni errate) |
4.5.4.7.3 Evento
La notifica dell'evento viene inviata al termine del comando e si accede alla modalità normale. Fare riferimento al formato dell'evento che verrà inviato dopo il completamento del comando come in Figura 12 e Figura 13.
Nel caso in cui al PN5190 venga impedito di entrare in modalità Standby, il bit dell'evento “STANDBY_PREV_EVENT” impostato in EVENT_STATUS come menzionato nella Tabella 11 viene inviato all'host insieme al motivo della prevenzione dello standby come menzionato nella Tabella 13.
4.5.4.7.4 Comunicazione Esample
4.5.4.8 COMMUTAZIONE_MODALITÀ_LPCD
Switch Mode LPCD esegue un rilevamento di disaccordo sull'antenna a causa del cambiamento dell'ambiente attorno all'antenna.
Ci sono 2 diverse modalità di LPCD. La soluzione basata su HW (ULPCD) offre un consumo energetico competitivo con una sensibilità ridotta. La soluzione basata su FW (LPCD) offre la migliore sensibilità della categoria con un maggiore consumo energetico.
Nella modalità singola basata su FW (LPCD), non viene inviato alcun evento di calibrazione all'host.
Quando viene richiamata la modalità singola, la calibrazione e le misurazioni successive vengono tutte eseguite dopo essere usciti dallo standby.
Per l'evento di calibrazione in modalità singola, emettere prima la modalità singola con il comando dell'evento di calibrazione. Dopo la calibrazione, viene ricevuto un evento di calibrazione LPCD dopo il quale deve essere inviato il comando di modalità singola con il valore di riferimento ottenuto dal passaggio precedente come parametro di ingresso.
La configurazione dell'LPCD viene eseguita nelle impostazioni EEPROM/Flash Data prima che venga richiamato il comando.
Nota:
L'interruzione GPIO3 per ULPCD e l'interruzione HIF per LPCD sono disponibili per impostazione predefinita per uscire dalle modalità a basso consumo.
La riattivazione per scadenza contatore è sempre abilitata.
Per ULPCD, la configurazione DC-DC deve essere disabilitata nelle impostazioni EEPROM/Flash Data e deve fornire alimentazione VUP tramite VBAT. È necessario effettuare le impostazioni necessarie dei ponticelli. Per le impostazioni dei dati EEPROM/Flash, fare riferimento al documento [2].
Se il comando riguarda la calibrazione LPCD/ULPCD, l'host deve comunque inviare il frame completo.
4.5.4.8.1 Comando
Tabella 56. Valore del comando SWITCH_MODE_LPCD
Parametro | Lunghezza | Valore/descrizione | |
bControllo | 1 byte | 0x00 | Immettere la calibrazione UPCD. Il comando si arresta dopo la calibrazione e viene inviato all'host un evento con valore di riferimento. |
0x01 | Inserisci l'ULPCD | ||
0x02 | Calibrazione LPCD. Il comando si arresta dopo la calibrazione e viene inviato all'host un evento con valore di riferimento. | ||
0x03 | Inserisci LPCD | ||
0x04 | Modalità singola | ||
0x0C | Modalità singola con evento di calibrazione | ||
Altri valori | RFU | ||
Controllo della sveglia | 1 byte | Maschera di bit che controlla la sorgente di riattivazione da utilizzare per LPCD/ULPCD. Il contenuto di questo campo non è considerato per la calibrazione. Fare riferimento a Tabella 57 | |
Valore di riferimento | 4 byte | Valore di riferimento da utilizzare durante ULPCD/LPCD. Per ULPCD, il byte 2 che contiene il valore dell'attenuatore HF viene utilizzato sia durante la fase di calibrazione che di misurazione. Per LPCD, il contenuto di questo campo non è considerato per la calibrazione e la modalità singola. Fare riferimento a Tabella 58 per le informazioni corrette su tutti e 4 i byte. |
|
Controvalore | 2 byte | Valore del contatore delle sveglie in millisecondi. Il valore massimo supportato è 2690 per LPCD. Il valore massimo supportato è 4095 per ULPCD. Il valore da fornire è in formato little-endian. Il contenuto di questo campo non è considerato per la calibrazione LPCD. Per la modalità singola e la modalità singola con evento di calibrazione, la durata dello standby prima della calibrazione può essere configurata dalla configurazione EEPROM: LPCD_SETTINGS->wCheck Period. Per la modalità singola con calibrazione, il valore WUC deve essere diverso da zero. |
Tabella 57. Bitmask di controllo riattivazione
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descrizione |
0 | 0 | 0 | 0 | 0 | 0 | 0 | RFU | |
X | Riattivazione sul campo RF esterno, se il bit è impostato su 1b. |
Tabella 58. Informazioni byte valore di riferimento
Byte del valore di riferimento | ULPCD | LPCD |
byte 0 | Byte di riferimento 0 | Canale 0 Byte di riferimento 0 |
byte 1 | Byte di riferimento 1 | Canale 0 Byte di riferimento 1 |
byte 2 | Valore dell'attenuatore HF | Canale 1 Byte di riferimento 0 |
byte 3 | NA | Canale 1 Byte di riferimento 1 |
4.5.4.8.2 Risposta
Tabella 59. Valore di risposta SWITCH_MODE_LPCD
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (La modalità Switch non è stata inserita – a causa di impostazioni errate) |
4.5.4.8.3 Evento
La notifica dell'evento viene inviata quando il comando è terminato e la modalità normale viene inserita con i seguenti dati come parte dell'evento menzionato in Figura 12 e Figura 13.
Tabella 60. EVT_SWITCH_MODE_LPCD
Campo del carico utile | Lunghezza | Valore/Descrizione |
Stato LPCD | Fare riferimento alla tabella 15 | Fare riferimento alla Tabella 154.5.4.8.4 Comunicazione Esample |
4.5.4.9 COMMUTA_MODALITÀ_DOWNLOAD
Il comando Switch Mode Download consente di accedere alla modalità di download del firmware.
L'unico modo per uscire dalla modalità download è eseguire un ripristino su PN5190.
4.5.4.9.1 Comando
Tabella 61. Valore del comando SWITCH_MODE_DOWNLOAD
Parametro | Lunghezza | Valore/Descrizione |
– | – | Senza valore |
4.5.4.9.2 Risposta
La risposta segnala solo che il comando è stato elaborato e la modalità Download deve essere inserita dopo che la risposta è stata letta dall'host.
Tabella 62. Valore della risposta SWITCH_MODE_DOWNLOAD
Cambia la modalità operativa Autocoll
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (La modalità cambio non è stata inserita) |
4.5.4.9.3 Evento
Nessuna generazione di eventi.
4.5.4.9.4 Comunicazione Esample
4.5.5 Autenticazione classica MIFARE
4.5.5.1 MFC_AUTENTICATA
Questa istruzione viene utilizzata per eseguire un'autenticazione classica MIFARE su una carta attivata. Richiede la chiave, l'UID della carta e il tipo di chiave per l'autenticazione a un dato indirizzo di blocco. La risposta contiene un byte che indica lo stato di autenticazione.
Condizioni 4.5.5.1.1
La chiave del campo deve essere lunga 6 byte. Il tipo di chiave del campo deve contenere il valore 0x60 o 0x61. L'indirizzo del blocco può contenere qualsiasi indirizzo compreso tra 0x0 e 0xff inclusi. Il campo UID deve essere lungo byte e deve contenere l'UID da 4 byte della carta. Una scheda basata sul prodotto ISO14443-3 MIFARE Classic deve essere impostata sullo stato ATTIVO o ATTIVO* prima dell'esecuzione di queste istruzioni.
In caso di errore di runtime relativo all'autenticazione, questo campo "Stato di autenticazione" viene impostato di conseguenza.
4.5.5.1.2 Comando
Tabella 63. Comando MFC_AUTHENTICATE
Eseguire l'autenticazione su una carta basata sul prodotto MIFARE Classic attivata.
Campo di carico utile | Lunghezza | Valore/Descrizione | |
Chiave | 6 byte | Chiave di autenticazione da utilizzare. | |
Tipo di chiave | 1 byte | 0x60 | Chiave tipo A |
0x61 | Chiave di tipo B | ||
Indirizzo di blocco | 1 byte | L'indirizzo del blocco per il quale deve essere eseguita l'autenticazione. | |
Identificativo utente | 4 byte | UID della carta. |
4.5.5.1.3 Risposta
Tabella 64. Risposta MFC_AUTHENTICATE
Risposta a MFC_AUTHENTICATE.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR |
4.5.5.1.4 Evento
Non esiste alcun evento per questa istruzione.
4.5.6 Supporto ISO 18000-3M3 (EPC GEN2).
4.5.6.1 EPC_GEN2_INVENTARIO
Questa istruzione viene utilizzata per eseguire un inventario di ISO18000-3M3 tags. Implementa un'esecuzione autonoma di più comandi secondo ISO18000-3M3 al fine di garantire le tempistiche specificate da tale norma.
Se presente nel payload dell'istruzione, viene eseguito prima un comando Select seguito da un comando BeginRound.
Se c'è una risposta valida nel primo intervallo di tempo (nessun timeout, nessuna collisione), l'istruzione invia un ACK e salva il PC/XPC/UII ricevuto. L'istruzione esegue quindi un'azione in base al campo "Timeslot Processed Behavior":
- Se questo campo è impostato su 0, viene emesso un comando NextSlot per gestire la finestra temporale successiva. Ciò viene ripetuto finché il buffer interno non è pieno
- Se questo campo è impostato su 1, l'algoritmo viene messo in pausa
- Se questo campo è impostato su 2, viene emesso un comando Req_Rn se, e solo se, c'è stato un comando valido tag risposta in questo timeslotCommand
Il campo "Seleziona comando lunghezza" deve contenere la lunghezza del campo "Seleziona comando", che deve essere compreso tra 1 e 39 inclusi. Se 'Seleziona lunghezza comando' è 0, i campi 'Bit validi nell'ultimo byte' e 'Seleziona comando' non devono essere presenti.
Il campo Bits in last Byte dovrebbe contenere il numero di bit da trasmettere nell'ultimo byte del campo 'Seleziona comando'. Il valore deve essere compreso tra 1 e 7 inclusi. Se il valore è 0, vengono trasmessi tutti i bit dell'ultimo byte del campo 'Seleziona comando'.
Il campo "Seleziona comando" deve contenere un comando di selezione secondo ISO18000-3M3 senza CRC-16c finale e deve avere la stessa lunghezza indicata nel campo "Seleziona comando lunghezza".
Il campo "Comando BeginRound" deve contenere un comando BeginRound secondo ISO18000-3M3 senza CRC-5 finale. Gli ultimi 7 bit dell'ultimo byte di 'BeginRound Command' vengono ignorati poiché il comando ha una lunghezza effettiva di 17 bit.
Il "Comportamento elaborato nella fascia oraria" deve contenere un valore compreso tra 0 e 2 inclusi.
Tabella 65. Valore comando EPC_GEN2_INVENTORY Esegui un inventario ISO 18000-3M3
Campo del carico utile | Lunghezza | Valore/descrizione | |
RiprendiInventario | 1 byte | 00 | Iniziale GEN2_INVENTORY |
01 | Riprendi il comando GEN2_INVENTORY – il rimanente
i campi sottostanti sono vuoti (l'eventuale payload viene ignorato) |
||
Seleziona Lunghezza comando | 1 byte | 0 | Nessun comando Select è impostato prima del comando BeginRound. Il campo "Bit validi nell'ultimo byte" e il campo "Seleziona comando" non devono essere presenti. |
1 – 39 | Lunghezza (n) del campo 'Seleziona comando'. | ||
Bit validi nell'ultimo byte | 1 byte | 0 | Vengono trasmessi tutti i bit dell'ultimo byte del campo 'Seleziona comando'. |
1 – 7 | Numero di bit da trasmettere nell'ultimo byte del campo 'Seleziona comando'. | ||
Seleziona Comando | n byte | Se presente, questo campo contiene il comando Select (secondo ISO18000-3, Tabella 47) che viene inviato prima del comando BeginRound. CRC-16c non deve essere incluso. | |
Comando IniziaRound | 3 byte | Questo campo contiene il comando BeginRound (secondo ISO18000-3, Tabella 49). CRC-5 non deve essere incluso. | |
Comportamento elaborato nella fascia oraria | 1 byte | 0 | La risposta contiene max. Numero di intervalli di tempo che possono rientrare nel buffer di risposta. |
1 | La risposta contiene solo una fascia oraria. | ||
2 | La risposta contiene un solo intervallo di tempo. Se la fascia oraria contiene una risposta della carta valida, viene incluso anche l'handle della carta. |
4.5.6.1.1 Risposta
La lunghezza della risposta potrebbe essere "1" in caso di ripresa dell'inventario.
Tabella 66. Valore della risposta EPC_GEN2_INVENTORY
Campo di carico utile | Lunghezza | Valore/Descrizione | |||
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: | |||
PN5190_STATUS_SUCCESS (Leggi lo stato della fascia oraria nel byte successivo per Tag risposta) PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
|||||
Fascia oraria [1…n] | 3 – 69 byte | Stato della fascia oraria | 1 byte | 0 | Tag risposta disponibile. 'Tag Lunghezza della risposta", campo "Bit validi nell'ultimo byte" e "Tag campo di risposta' presente. |
1 | Tag risposta disponibile. | ||||
2 | NO tag risposto entro la fascia oraria. 'Tag I campi "Lunghezza risposta" e "Bit validi nell'ultimo byte" devono essere impostati su zero. 'Tag il campo risposta' non deve essere presente. | ||||
3 | Due o più tags risposto nella fascia oraria. (Collisione). 'Tag I campi "Lunghezza risposta" e "Bit validi nell'ultimo byte" devono essere impostati su zero. 'Tag il campo "risposta" non deve essere presente. |
Tag Lunghezza della risposta | 1 byte | 0-66 | Lunghezza di'Tag Rispondi' campo (i). Se Tag La lunghezza della risposta è 0, quindi il Tag Il campo di risposta non è presente. | ||
Bit validi nell'ultimo byte | 1 byte | 0 | Tutti i bit dell'ultimo byte di 'Tag risposta' sono validi. | ||
1-7 | Numero di bit validi dell'ultimo byte di 'Tag campo "risposta". Se Tag La lunghezza della risposta è zero, il valore di questo byte deve essere ignorato. | ||||
Tag Rispondere | 'n' byte | Risposta del tag secondo ISO18000-3_2010, Tabella 56. | |||
Tag Maniglia | 0 o 2 byte | Maniglia del tag, nel caso in cui il campo "Stato fascia oraria" sia impostato su "1". Altrimenti campo non presente. |
4.5.6.1.2 Evento
Non ci sono eventi per questo comando.
4.5.7 Gestione configurazione RF
Fare riferimento alla Sezione 6, per la configurazione TX e RX per diverse tecnologie RF e velocità dati supportate da PN5190. I valori non sono presenti nel range sotto indicato, sono da considerarsi come RFU.
4.5.7.1 CARICA_RF_CONFIGURAZIONE
Questa istruzione viene utilizzata per caricare la configurazione RF dalla EEPROM nei registri CLIF interni. La configurazione RF si riferisce a una combinazione univoca di tecnologia RF, modalità (target/iniziatore) e baud rate. La configurazione RF può essere caricata separatamente per il percorso del ricevitore CLIF (configurazione RX) e del trasmettitore (configurazione TX). Il valore 0xFF deve essere utilizzato se la configurazione corrispondente per un percorso non deve essere modificata.
Condizioni 4.5.7.1.1
Il campo "Configurazione TX" deve essere compreso nell'intervallo 0x00 – 0x2B incluso. Se il valore è 0xFF, la configurazione TX non viene modificata.
Il campo "Configurazione RX" deve essere compreso nell'intervallo 0x80 – 0xAB incluso. Se il valore è 0xFF, la configurazione RX non viene modificata.
Una configurazione speciale con TX Configuration = 0xFF e RX Configuration = 0xAC viene utilizzata per caricare i registri di avvio una volta.
Questa configurazione speciale è necessaria per aggiornare le configurazioni del registro (sia TX che RX) che sono diverse dai valori di ripristino dell'IC.
4.5.7.1.2 Comando
Tabella 67. Valore del comando LOAD_RF_CONFIGURATION
Carica le impostazioni RF TX e RX da E2PROM.
Campo di carico utile | Lunghezza | Valore/Descrizione | |
Configurazione trasmissione | 1 byte | 0xFF | Configurazione TX RF non modificata. |
0x0 – 0x2B | Configurazione TX RF corrispondente caricata. | ||
Configurazione RX | 1 byte | 0xFF | Configurazione RX RF non modificata. |
0x80 – 0xAB | Configurazione RX RF corrispondente caricata. |
4.5.7.1.3 Risposta
Tabella 68. Valore della risposta LOAD_RF_CONFIGURATION
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR |
4.5.7.1.4 Evento
Non ci sono eventi per questo comando.
4.5.7.2 AGGIORNAMENTO_RF_CONFIGURAZIONE
Questa istruzione viene utilizzata per aggiornare la configurazione RF (vedere la definizione nella Sezione 4.5.7.1) all'interno di E2PROM. L'istruzione consente l'aggiornamento al valore di granularità del registro, cioè non è necessario aggiornare l'insieme completo (sebbene sia possibile farlo).
Condizioni 4.5.7.2.1
La dimensione della configurazione dell'array di campi deve essere compresa tra 1 e 15 inclusi. La configurazione dell'array di campo deve contenere una serie di configurazione RF, indirizzo di registro e valore. La configurazione RF del campo deve essere compresa nell'intervallo 0x0 – 0x2B per la configurazione TX e 0x80 – 0xAB per la configurazione RX, inclusa. L'indirizzo nel campo Indirizzo registro deve esistere nella rispettiva configurazione RF. Il campo Valore deve contenere un valore che deve essere scritto nel registro indicato e deve essere lungo 4 byte (formato little-endian).
4.5.7.2.2 Comando
Tabella 69. Valore del comando UPDATE_RF_CONFIGURATION
Aggiorna la configurazione RF
Campo di carico utile | Lunghezza | Valore/Descrizione | ||
Configurazione[1…n] | 6 byte | Configurazione RF | 1 byte | Configurazione RF per la quale occorre modificare il registro. |
Registra indirizzo | 1 byte | Indirizzo registro all'interno della tecnologia RF specificata. | ||
Valore | 4 byte | Valore che deve essere scritto nel registro. (Little endian) |
4.5.7.2.3 Risposta
Tabella 70. Valore della risposta UPDATE_RF_CONFIGURATION
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.7.2.4 Evento
Non ci sono eventi per questo comando.
4.5.7.3 GET_RF_CONFIGURAZIONE
Questa istruzione viene utilizzata per leggere una configurazione RF. Le coppie indirizzo-valore del registro sono disponibili nella risposta. Per sapere quante coppie sono previste, è possibile recuperare le informazioni sulla prima dimensione dal primo TLV, che indica la lunghezza totale del carico utile.
Condizioni 4.5.7.3.1
La configurazione RF del campo deve essere compresa nell'intervallo compreso tra 0x0 – 0x2B per la configurazione TX e 0x80 –0xAB per la configurazione RX, inclusa.
4.5.7.3.2 Comando
Tabella 71. Valore comando GET_ RF_CONFIGURATION Recupera la configurazione RF.
Campo di carico utile | Lunghezza | Valore/Descrizione |
Configurazione RF | 1 byte | Configurazione RF per la quale deve essere recuperato il set di coppie di valori del registro. |
4.5.7.3.3 Risposta
Tabella 72. GET_ RF_CONFIGURATION Valore di risposta
Campo di carico utile | Lunghezza | Valore/Descrizione | ||
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: | ||
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
||||
Coppia[1…n] | 5 byte | Registra indirizzo | 1 byte | Indirizzo registro all'interno della tecnologia RF specificata. |
Valore | 4 byte | Valore di registro a 32 bit. |
4.5.7.3.4 Evento
Non esiste un evento per l'istruzione.
4.5.8 Gestione del campo RF
4.5.8.1 RF_ON
Questa istruzione viene utilizzata per abilitare l'RF. Il regolamento DPC al FieldOn iniziale deve essere gestito in questo comando.
4.5.8.1.1 Comando
Tabella 73. Valore del comando RF_FIELD_ON
Configura RF_FIELD_ON.
Campo di carico utile | Lunghezza | Valore/Descrizione | ||
RF_on_config | 1 byte | Parte 0 | 0 | Utilizzare la prevenzione delle collisioni |
1 | Disabilita l'evitamento delle collisioni | |||
Parte 1 | 0 | Nessun P2P attivo | ||
1 | P2P attivo |
4.5.8.1.2 Risposta
Tabella 74. Valore di risposta RF_FIELD_ON
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (Il campo RF non è attivato a causa di una collisione RF) PN5190_STATUS_TIMEOUT (il campo RF non è attivato a causa del timeout) PN5190_STATUS_TXLDO_ERROR (l'errore TXLDO dovuto a VUP non è disponibile) PN5190_STATUS_RFCFG_NOT_APPLIED (la configurazione RF non viene applicata prima di questo comando) |
4.5.8.1.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.8.2 RF_OFF
Questa istruzione viene utilizzata per disabilitare il campo RF.
4.5.8.2.1 Comando
Tabella 75. Valore del comando RF_FIELD_OFF
Campo di carico utile | Lunghezza | Valore/Descrizione |
Vuoto | Vuoto | vuoto |
4.5.8.2.2 Risposta
Tabella 76. Valore di risposta RF_FIELD_OFF
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
4.5.8.2.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.9 Testare la configurazione del bus
I segnali del bus di test disponibili sulle configurazioni PAD selezionate sono elencati nella Sezione 7 come riferimento.
È necessario fare riferimento a questi per fornire la configurazione per le istruzioni del bus di prova come menzionato di seguito.
4.5.9.1 CONFIGURA_TESTBUS_DIGITALE
Questa istruzione viene utilizzata per commutare il segnale del bus di test digitale disponibile sulle configurazioni dei pad selezionate.
4.5.9.1.1 Comando
Tabella 77. Valore del comando CONFIGURE_TESTBUS_DIGITAL
Campo del carico utile | Lunghezza | Valore/descrizione | |
TB_SignalIndex | 1 byte | Fare riferimento a Sezione 7 | |
TB_BitIndex | 1 byte | Fare riferimento a Sezione 7 | |
TB_PadIndex | 1 byte | L'indice del pad, su cui deve essere emesso il segnale digitale | |
0x00 | Pin AUX1 | ||
0x01 | Pin AUX2 | ||
0x02 | Pin AUX3 | ||
0x03 | pin GPIO0 | ||
0x04 | pin GPIO1 | ||
0x05 | pin GPIO2 | ||
0x06 | pin GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.1.2 Risposta
Tabella 78. Valore della risposta CONFIGURE_TESTBUS_DIGITAL
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
4.5.9.1.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.9.2 CONFIGURA_TESTBUS_ANALOGICO
Questa istruzione viene utilizzata per ottenere il segnale del bus di test analogico disponibile sulle configurazioni dei pad selezionate.
Il segnale sul bus di test analogico può essere ottenuto in diverse modalità. Sono:
4.5.9.2.1 Modalità RAW
In questa modalità, il segnale scelto da TB_SignalIndex0 viene spostato da Shift_Index0, mascherato con Mask0 ed emesso su AUX1. Allo stesso modo, il segnale scelto da TB_SignalIndex1 viene spostato da Shift_Index1, mascherato con Mask1 ed emesso su AUX2.
Questa modalità offre al cliente la flessibilità di emettere qualsiasi segnale di larghezza pari o inferiore a 8 bit e che non richiede la conversione del segno da emettere sui pad analogici.
4.5.9.2.2 Modalità COMBINATA
In questa modalità, il segnale analogico sarà il valore ADCI/ADCQ/pcrm_if_rssi con segno a 10 bit convertito in un valore senza segno, ridotto a 8 bit e quindi emesso sui pad AUX1 o AUX2.
Solo uno dei valori convertiti ADCI/ADCQ (10 bit) può essere inviato a AUX1/AUX2 in qualsiasi momento.
Se il valore del campo payload del segnale Combined_Mode è 2 (analogico e digitale combinato), il bus di test analogico e digitale viene instradato su AUX1 (segnale analogico) e GPIO0 (segnale digitale).
I segnali da instradare sono configurati nell'indirizzo EEPROM indicato di seguito:
0xCE9 – TB_SignalIndex
0xCEA – TB_BitIndex
0xCEB – TB_Indice analogico
L'indice del bus di prova e il bit del bus di prova devono essere configurati nella EEPROM prima di attivare la modalità combinata con l'opzione 2.
Nota:
L'host dovrà fornire tutti i campi, indipendentemente dall'applicabilità del campo in modalità "grezza" o "combinata". L'IC PN5190 considera solo i valori dei campi applicabili.
4.5.9.2.3 Comando
Tabella 79. Valore del comando CONFIGURE_TESTBUS_ANALOG
Campo del carico utile | Lunghezza | Valore/descrizione | Applicabilità sul campo per la modalità combinata | |
bConfig | 1 byte | Bit configurabili. Fare riferimento a Tabella 80 | SÌ | |
Segnale in modalità_combinata | 1 byte | 0 – ADCI/ADCQ 1 – pcrm_if_rssi |
SÌ | |
2 – Combinazione analogica e digitale | ||||
3 – 0xFF –Riservato |
TB_SignalIndex0 | 1 byte | Indice del segnale analogico. Fare riferimento a Sezione 7 | SÌ | |
TB_SignalIndex1 | 1 byte | Indice del segnale analogico. Fare riferimento a Sezione 7 | SÌ | |
Maiusc_Indice0 | 1 byte | Posizioni shift dell'ingresso DAC0. La direzione sarà decisa a bit in bConfig[1]. | NO | |
Maiusc_Indice1 | 1 byte | Posizioni shift dell'ingresso DAC1. La direzione sarà decisa a bit in bConfig[2]. | NO | |
Maschera0 | 1 byte | Maschera DAC0 | NO | |
Maschera1 | 1 byte | Maschera DAC1 | NO |
Tabella 80. Maschera di bit di configurazione
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Descrizione | Applicabile alla modalità |
X | X | Gamma di spostamento uscita DAC1 – 0, 1, 2 | Crudo | ||||||
X | X | Gamma di spostamento uscita DAC0 – 0, 1, 2 | Crudo | ||||||
X | In modalità combinata, segnale sul pin AUX1/AUX2 0 ➜ Segnale su AUX1 1 ➜ Segnale su AUX2 |
Combinato | |||||||
X | Direzione di spostamento dell'ingresso DAC1 0 ➜ Sposta a destra 1 ➜ Spostarsi a sinistra |
Crudo | |||||||
X | Direzione di spostamento dell'ingresso DAC0 0 ➜ Sposta a destra 1 ➜ Spostarsi a sinistra |
Crudo | |||||||
X | Modalità. 0 ➜ Modalità grezza 1 ➜ Modalità combinata |
Grezzo/Combinato |
4.5.9.2.4 Risposta
Tabella 81. Valore di risposta CONFIGURE_TESTBUS_ANALOG
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
4.5.9.2.5 Evento
Non esiste alcun evento per questa istruzione.
4.5.9.3 CONFIGURA_MULTIPLA_TESTBUS_DIGITALE
Questa istruzione viene utilizzata per commutare più segnali del bus di test digitale disponibili sulle configurazioni dei pad selezionate.
Nota: Se questa lunghezza è ZERO, il bus di test digitale viene RESET.
4.5.9.3.1 Comando
Tabella 82. Valore del comando CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Campo del carico utile | Lunghezza | Valore/descrizione | |
TB_SignalIndex n. 1 | 1 byte | Fare riferimento a 8 sotto | |
TB_BitIndice #1 | 1 byte | Fare riferimento a 8 sotto | |
TB_PadIndex #1 | 1 byte | L'indice del pad, su cui deve essere emesso il segnale digitale | |
0x00 | Pin AUX1 | ||
0x01 | Pin AUX2 | ||
0x02 | Pin AUX3 | ||
0x03 | pin GPIO0 | ||
0x04 | pin GPIO1 | ||
0x05 | pin GPIO2 | ||
0x06 | pin GPIO3 | ||
0x07-0xFF | RFU | ||
TB_SignalIndex n. 2 | 1 byte | Fare riferimento a 8 sotto | |
TB_BitIndice #2 | 1 byte | Fare riferimento a 8 sotto | |
TB_PadIndex #2 | 1 byte | L'indice del pad, su cui deve essere emesso il segnale digitale | |
0x00 | Pin AUX1 | ||
0x01 | Pin AUX2 | ||
0x02 | Pin AUX3 | ||
0x03 | pin GPIO0 | ||
0x04 | pin GPIO1 | ||
0x05 | pin GPIO2 | ||
0x06 | pin GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.3.2 Risposta
Tabella 83. Valore della risposta CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 2]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
4.5.9.3.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.10 Configurazione CTS
4.5.10.1 CTS_ENABLE
Questa istruzione viene utilizzata per abilitare/disabilitare la funzione di registrazione CTS.
4.5.10.1.1 Comando
Tabella 84. Valore comando CTS_ENABLE
Valore/Descrizione della lunghezza del campo payload | ||||
Abilita/Disabilita | 1 byte | Parte 0 | 0 | Disabilita la funzione di registrazione CTS |
1 Abilitare la funzione di registrazione CTS |
||||
Pezzo 1-7 | RFU |
4.5.10.1.2 Risposta
Tabella 85. Valore della risposta CTS_ENABLE
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
4.5.10.1.3 Evento
La tabella seguente mostra i dati dell'evento che verranno inviati come parte del messaggio di evento, come mostrato nella Figura 12 e nella Figura 13.
Tabella 86. Ciò informa l'host che i dati sono stati ricevuti. EVT_CTS_DONE
Campo di carico utile | Lunghezza | Valore/Descrizione |
Evento | 1 byte | 00 … si è verificato il TRIGGER, i dati sono pronti per la ricezione. |
4.5.10.2 CTS_CONFIGURA
Questa istruzione viene utilizzata per configurare tutti i registri CTS richiesti come trigger, registri bus di test, sampconfigurazione ling ecc.,
Nota:
[1] fornisce una migliore comprensione della configurazione CTS. I dati acquisiti da inviare come parte della risposta al comando della Sezione 4.5.10.3.
4.5.10.2.1 Comando
Tabella 87. Valore comando CTS_CONFIGURE
Campo di carico utile | Lunghezza | Valore/Descrizione |
PRE_TRIGGER_SHIFT | 1 byte | Definisce la lunghezza della sequenza di acquisizione post-trigger in unità di 256 byte. 0 significa nessuno spostamento; n significa spostamento di blocco n*256 byte. Nota: valido solo se TRIGGER_MODE è la modalità di trigger "PRE" o "COMB". |
MODALITÀ_TRIGGER | 1 byte | Specifica la modalità di acquisizione da utilizzare. |
0x00 – Modalità POST | ||
0x01 – RFU | ||
0x02 – Modalità PRE | ||
0x03 – 0xFF – Non valido | ||
RAM_PAGE_WIDTH | 1 byte | Specifica la quantità di memoria su chip coperta da un'acquisizione. La granularità scelta in base alla progettazione è di 256 byte (ovvero 64 parole a 32 bit). I valori validi sono i seguenti: 0x00h – 256 byte 0x02h – 768 byte 0x01h – 512 byte 0x03h – 1024 byte 0x04h – 1280 byte 0x05h – 1536 byte 0x06h – 1792 byte 0x07h – 2048 byte 0x08h – 2304 byte 0x09h – 2560 byte 0x0Ah – 2816 byte 0x0Bh – 3072 byte 0x0Ch – 3328 byte 0x0Dh – 3584 byte 0x0Eh – 3840 byte 0x0Fh – 4096 byte 0x10h – 4352 byte 0x11h – 4608 byte 0x12h – 4864 byte 0x13h – 5120 byte 0x14h – 5376 byte 0x15h – 5632 byte 0x16h – 5888 byte 0x17h – 6144 byte 0x18h – 6400 byte 0x19h – 6656 byte 0x1Ah – 6912 byte 0x1Bh – 7168 byte 0x1Ch – 7424 byte 0x1Dh – 7680 byte 0x1Eh – 7936 byte 0x1Fh – 8192 byte |
SAMPLE_CLK_DIV | 1 byte | Il valore decimale di questo campo specifica il fattore di divisione della frequenza di clock da utilizzare durante l'acquisizione. Orologio 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 | Questi bit vengono utilizzati per specificare quali byte dei due bus di ingresso a 16 bit contribuiscono al meccanismo di interleave che genera i dati da trasferire alla memoria su chip. Il significato e l'uso di essi dipende dalla SAMPValori LE_MODE_SEL.
Nota: il valore dato è sempre mascherato con 0x0F e quindi viene considerato il valore effettivo. |
SAMPLE_MODE_SEL | 1 byte | Seleziona la sampmodalità interleave ling come descritto dalle specifiche di progettazione CTS. Il valore decimale 3 è riservato e verrà trattato come 0. Nota: il valore dato è sempre mascherato con 0x03, quindi viene considerato il valore effettivo. |
TB0 | 1 byte | Seleziona quale bus di test collegare a TB0. Fare riferimento a Sezione 7 (valore TB_Segnale_Indice) |
TB1 | 1 byte | Seleziona quale bus di test collegare a TB1. Fare riferimento a Sezione 7 (valore TB_Segnale_Indice) |
TB2 | 1 byte | Seleziona quale bus di test collegare a TB2. Fare riferimento a Sezione 7 (valore TB_Segnale_Indice) |
TB3 | 1 byte | Seleziona quale bus di test collegare a TB3. Fare riferimento a Sezione 7 (valore TB_Segnale_Indice) |
TTB_SELECT | 1 byte | Seleziona quale TB collegare alle sorgenti di trigger. Fare riferimento a Sezione 7 (valore TB_Signal_Index) |
RFU | 4 byte | Invia sempre 0x00000000 |
MISC_CONFIG | 24 byte | Eventi di trigger, polarità, ecc. Fare riferimento a [1] per comprendere la configurazione CTS da utilizzare. |
4.5.10.2.2 Risposta
Tabella 88. Valore della risposta CTS_CONFIGURE
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR |
4.5.10.2.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.10.3 CTS_RETRIEVE_LOG
Questa istruzione recupera il registro dei dati dei dati del bus di prova catturatiampfile memorizzati nel buffer di memoria.
4.5.10.3.1 Comando
Tabella 89. Valore del comando CTS_RETRIEVE_LOG
Campo di carico utile | Lunghezza | Valore/Descrizione | |
Dimensione pezzo | 1 byte | 0x01-0xFF | Contiene il numero di byte di dati previsti. |
4.5.10.3.2 Risposta
Tabella 90. Valore della risposta CTS_RETRIEVE_LOG
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) PN5190_STATUS_SUCCSES_CHAINING |
||
Dati di registro [1…n] | Richiesta CTS | Catturato Sampblocco di dati |
Nota:
La dimensione massima dei "Dati di registro" dipende dal "ChunkSize" fornito come parte del comando.
La dimensione totale del log sarà disponibile nella risposta dell'intestazione TLV.
4.5.10.3.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.11 Comandi TEST_MODE
4.5.11.1 ANTENNA_SELF_TEST
Questa istruzione viene utilizzata per verificare se l'antenna è collegata e i componenti corrispondenti sono popolati/assemblati.
Nota:
Questo comando non è ancora disponibile. Vedere le note di rilascio per la disponibilità.
4.5.11.2 PROVA_PRBS
Questa istruzione viene utilizzata per generare la sequenza PRBS per le diverse configurazioni dei protocolli e dei bit rate della modalità Reader. Una volta eseguita l'istruzione, la sequenza di test PRBS sarà disponibile su RF.
Nota:
L'host deve assicurarsi che la configurazione appropriata della tecnologia RF sia caricata utilizzando la Sezione 4.5.7.1 e che RF sia attivata utilizzando il comando della Sezione 4.5.8.1 prima di inviare questo comando.
4.5.11.2.1 Comando
Tabella 91. Valore del comando PRBS_TEST
Campo di carico utile | Lunghezza | Valore/Descrizione | |
tipo_prbs | 1 byte | 00 | PRBS9(predefinito) |
01 | PRBS15 | ||
02-FF | RFU |
4.5.11.2.2 Risposta
Tabella 92. Valore della risposta PRBS_TEST
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD |
4.5.11.2.3 Evento
Non esiste alcun evento per questa istruzione.
4.5.12 Comandi informazioni chip
4.5.12.1 GET_DIEID
Questa istruzione viene utilizzata per leggere l'ID del die del chip PN5190.
4.5.12.1.1 Comando
Tabella 93. GET_DIEID Valore del comando
Campo di carico utile | Lunghezza | Valore/Descrizione |
– | – | Nessun dato nel carico utile |
4.5.12.1.2 Risposta
Tabella 94. Valore della risposta GET_DIEID
Campo del carico utile | Lunghezza | Valore/descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (non sono presenti ulteriori dati) |
||
Valori | 16 byte | ID matrice da 16 byte. |
4.5.12.1.3 Evento
Non ci sono eventi per questo comando.
4.5.12.2 OTTIENI_VERSIONE
Questa istruzione viene utilizzata per leggere la versione HW, la versione ROM e la versione FW del chip PN5190.
4.5.12.2.1 Comando
Tabella 95. Valore del comando GET_VERSION
Campo di carico utile | Lunghezza | Valore/Descrizione |
– | – | Nessun dato nel carico utile |
In modalità download è disponibile un comando DL_GET_VERSION (Sezione 3.4.4) che può essere utilizzato per leggere la versione HW, la versione ROM e la versione FW.
4.5.12.2.2 Risposta
Tabella 96. Valore della risposta GET_VERSION
Campo di carico utile | Lunghezza | Valore/Descrizione |
Stato | 1 byte | Stato dell'operazione [Tabella 9]. I valori attesi sono i seguenti: |
PN5190_STATUS_SUCCESSO PN5190_STATUS_INSTR_ERROR (Non sono presenti ulteriori dati) |
||
HW_V | 1 byte | Versione hardware |
RO_V | 1 byte | codice rom |
FW_V | 2 byte | Versione firmware (utilizzata per il download) |
RFU1-RFU2 | 1-2 byte | – |
La risposta prevista per la versione diversa dell'IC PN5190 è menzionata nella (Sezione 3.4.4)
4.5.12.2.3 Evento
Non ci sono eventi per questo comando.
Appendice (Esample)
Questa appendice è costituita dall'examples per i comandi sopra menzionati. L'exampi le sono solo a scopo illustrativo per mostrare il contenuto del comando.
5.1 Esample per WRITE_REGISTER
Segue la sequenza di dati inviati dall'host per scrivere un valore 0x12345678 nel registro 0x1F.
Frame di comando inviato a PN5190: 0000051F78563412
Host per attendere un'interruzione.
Quando l'host legge il frame di risposta ricevuto da PN5190 (che indica l'operazione riuscita): 00000100 5.2 Example per WRITE_REGISTER_OR_MASK
Seguente sequenza di dati inviati dall'host per eseguire l'operazione logica OR sul registro 0x1F con una maschera come 0x12345678
Frame di comando inviato a PN5190: 0100051F78563412
Host per attendere un'interruzione.
Quando l'host legge il frame di risposta ricevuto da PN5190 (che indica un'operazione riuscita): 01000100
5.3 Esample per WRITE_REGISTER_AND_MASK
Seguente sequenza di dati inviati dall'host per eseguire l'operazione AND logica sul registro 0x1F con una maschera come 0x12345678
Frame di comando inviato a PN5190: 0200051F78563412
Host per attendere un'interruzione.
Quando l'host legge il frame di risposta ricevuto da PN5190 (che indica un'operazione riuscita): 02000100
5.4 Esample per WRITE_REGISTER_MULTIPLE
Segue la sequenza di dati inviati dall'host per eseguire un'operazione AND logica sul registro 0x1F con una maschera come 0x12345678 e un'operazione OR logica sul registro 0x20 con una maschera come 0x11223344 e una scrittura nel registro 0x21 con un valore come 0xAABBCCDD.
Frame di comando inviato a PN5190: 0300121F03785634122002443322112101DDCCBBAA
Host per attendere un'interruzione.
Quando l'host legge il frame di risposta ricevuto da PN5190 (che indica un'operazione riuscita): 03000100
5.5 Esample per READ_REGISTER
Segue la sequenza di dati inviati dall'host per leggere il contenuto del registro 0x1F e assumendo che il registro abbia il valore 0x12345678
Frame di comando inviato a PN5190: 0400011F
Host per attendere un'interruzione.
Quando l'host legge il frame di risposta ricevuto da PN5190 (che indica un'operazione riuscita): 0400050078563412
5.6 Esample per READ_REGISTER_MULTIPLE
Segue sequenza di dati inviati dall'host per leggere il contenuto dei registri 0x1F che contengono il valore di 0x12345678 e del registro 0x25 che contengono il valore di 0x11223344
Frame di comando inviato a PN5190: 0500021F25
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 050009007856341244332211
5.7 Esample per WRITE_E2PROM
Seguente sequenza di dati inviati dall'host per scrivere nelle posizioni E2PROM da 0x0130 a 0x0134 con i contenuti come 0x11, 0x22, 0x33, 0x44, 0x55
Frame di comando inviato a PN5190: 06000730011122334455
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 06000100
5.8 Esample per READ_E2PROM
Di seguito la sequenza di dati inviati dall'host per leggere dalle posizioni E2PROM da 0x0130 a 0x0134 dove i contenuti memorizzati sono: 0x11, 0x22, 0x33, 0x44, 0x55
Frame di comando inviato a PN5190: 07000430010500
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 070006001122334455
5.9 Esample per TRANSMIT_RF_DATA
Segue la sequenza di dati inviati dall'host per inviare un comando REQA (0x26), con il numero di bit da trasmettere come '0x07', presupponendo che i registri richiesti siano impostati prima e che RF sia acceso.
Frame di comando inviato a PN5190: 0800020726
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 08000100
5.10 Esample per RETREIVE_RF_DATA
Segue la sequenza di dati inviati dall'host per ricevere i dati ricevuti/memorizzati nel buffer CLIF interno (supponendo che sia stato ricevuto 0x05), presupponendo che TRANSMIT_RF_DATA sia già inviato dopo che RF è stato attivato.
Frame di comando inviato a PN5190: 090000
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 090003000400
5.11 Esample per EXCHANGE_RF_DATA
Segue la sequenza di dati inviati dall'host per trasmettere un REQA (0x26), con il numero di bit nell'ultimo byte da inviare impostato come 0x07, con tutto lo stato da ricevere insieme ai dati. Si presuppone che i registri RF richiesti siano già impostati e che RF sia attivato.
Frame di comando inviato a PN5190: 0A0003070F26
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 0A000 F000200000000000200000000004400
5.12 Esample per LOAD_RF_CONFIGURATION
Di seguito la sequenza di dati inviati dall'host per impostare la configurazione RF. Per TX, 0x00 e per RX, 0x80
Frame di comando inviato a PN5190: 0D00020080
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 0D000100
5.13 Esample per UPDATE_RF_CONFIGURATION
Di seguito la sequenza di dati inviati dall'host per aggiornare la configurazione RF. Per TX, 0x00, con indirizzo di registro per CLIF_CRC_TX_CONFIG e valore come 0x00000001
Frame di comando inviato a PN5190: 0E0006001201000000
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 0E000100
5.14 Esample per RF_ON
Segue la sequenza di dati inviati dall'host per attivare il campo RF utilizzando la funzione anticollisione e nessun P2P attivo. Si presuppone che la corrispondente configurazione RF TX e RX sia già impostata in PN5190.
Frame di comando inviato a PN5190: 10000100
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 10000100
5.15 Esample per RF_OFF
Segue sequenza di dati inviati dall'host per spegnere il campo RF.
Frame di comando inviato a PN5190: 110000
Host per attendere un'interruzione.
Quando l'host legge la risposta, frame ricevuto da PN5190 (che indica l'operazione riuscita): 11000100
Appendice (Indici di configurazione del protocollo RF)
Questa appendice è costituita dagli indici di configurazione del protocollo RF supportati dal PN5190.
Le impostazioni di configurazione TX e RX devono essere utilizzate nei comandi Sezione 4.5.7.1, Sezione 4.5.7.2, Sezione 4.5.7.3.
Appendice (Segnali CTS e TESTBUS)
La tabella seguente specifica i diversi segnali disponibili da PN5190 per la cattura utilizzando le istruzioni CTS (Sezione 4.5.10) e le istruzioni TESTBUS.
Questi devono essere usati per il comando Sezione 4.5.9.1, Sezione 4.5.9.2, Sezione 4.5.10.2.
Abbreviazioni
Tabella 97. Abbreviazioni
Abbr. | Senso |
Orologio | Orologio |
DWL_REQ | Pin richiesta download (chiamato anche DL_REQ) |
Memoria EEPROM | Memoria di sola lettura programmabile cancellabile elettricamente |
FW | Firmware |
Terra | Terra |
GPIO | Input/output per uso generale |
HW | Hardware |
I²C | Circuito integrato (bus dati seriale) |
IRQ | Richiesta di interruzione |
ISO / IEC | Organizzazione internazionale per la standardizzazione/Comunità elettrotecnica internazionale |
Non-FC | Comunicazione in prossimità |
OS | Sistema operativo |
PCD | Dispositivo di accoppiamento di prossimità (lettore senza contatto) |
Catetere venoso centrale (PICC) | Scheda a circuito integrato di prossimità (scheda senza contatto) |
PMU | Unità di gestione dell'alimentazione |
PERO | Ripristino all'accensione |
RF | Frequenza radio |
RST | Reset |
SFWU | modalità di download sicuro del firmware |
SPI | Interfaccia periferica seriale |
VEN | V Abilita pin |
Riferimenti
[1] Parte della configurazione CTS di NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT[2] Scheda tecnica IC PN5190, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf
Informazioni legali
10.1 Definizioni
Bozza — Uno stato di bozza su un documento indica che il contenuto è ancora in fase internaview e soggetto ad approvazione formale, che può comportare modifiche o aggiunte. NXP Semiconductors non fornisce alcuna dichiarazione o garanzia circa l'accuratezza o la completezza delle informazioni incluse in una versione bozza di un documento e non avrà alcuna responsabilità per le conseguenze dell'uso di tali informazioni.
Dichiarazione di non responsabilità 10.2
Garanzia limitata e responsabilità — Le informazioni contenute in questo documento sono ritenute accurate e affidabili. Tuttavia, NXP Semiconductors non fornisce alcuna dichiarazione o garanzia, espressa o implicita, in merito all'accuratezza o alla completezza di tali informazioni e non si assume alcuna responsabilità per le conseguenze dell'uso di tali informazioni. NXP Semiconductors non si assume alcuna responsabilità per il contenuto di questo documento se fornito da una fonte di informazioni al di fuori di NXP Semiconductors.
In nessun caso NXP Semiconductors sarà ritenuta responsabile per eventuali danni indiretti, incidentali, punitivi, speciali o consequenziali (inclusi, a titolo esemplificativo, mancati profitti, mancati risparmi, interruzione dell'attività, costi relativi alla rimozione o sostituzione di qualsiasi prodotto o spese di rilavorazione) sia o non tali danni sono basati su illecito (inclusa negligenza), garanzia, violazione del contratto o qualsiasi altra teoria legale.
Nonostante eventuali danni che il cliente potrebbe subire per qualsiasi motivo, la responsabilità complessiva e cumulativa di NXP Semiconductors nei confronti del cliente per i prodotti descritti nel presente documento sarà limitata in conformità con il
Termini e condizioni di vendita commerciale di NXP Semiconductors.
Diritto di apportare modifiche — NXP Semiconductors si riserva il diritto di apportare modifiche alle informazioni pubblicate in questo documento, incluse, a titolo esemplificativo, le specifiche e le descrizioni dei prodotti, in qualsiasi momento e senza preavviso. Il presente documento sostituisce e sostituisce tutte le informazioni fornite prima della pubblicazione del presente documento.
Idoneità all'uso — I prodotti NXP Semiconductors non sono progettati, autorizzati o garantiti per essere idonei all'uso in sistemi o apparecchiature di supporto vitale, critici per la vita o per la sicurezza, né in applicazioni in cui è ragionevolmente prevedibile un guasto o un malfunzionamento di un prodotto NXP Semiconductors causare lesioni personali, morte o gravi danni materiali o ambientali. NXP Semiconductors ei suoi fornitori non si assumono alcuna responsabilità per l'inclusione e/o l'uso dei prodotti NXP Semiconductors in tali apparecchiature o applicazioni e pertanto tale inclusione e/o utilizzo è a rischio e pericolo del cliente.
Applicazioni — Le applicazioni qui descritte per uno qualsiasi di questi prodotti sono solo a scopo illustrativo. NXP Semiconductors non rilascia alcuna dichiarazione o garanzia che tali applicazioni siano adatte all'uso specificato senza ulteriori test o modifiche.
I clienti sono responsabili della progettazione e del funzionamento delle loro applicazioni e prodotti che utilizzano i prodotti NXP Semiconductors e NXP Semiconductors non si assume alcuna responsabilità per l'assistenza con le applicazioni o la progettazione dei prodotti dei clienti. È esclusiva responsabilità del cliente determinare se il prodotto NXP Semiconductors è adatto e idoneo per le applicazioni e i prodotti pianificati del cliente, nonché per l'applicazione pianificata e l'utilizzo di clienti di terze parti del cliente. I clienti devono fornire adeguate protezioni di progettazione e funzionamento per ridurre al minimo i rischi associati alle loro applicazioni e ai loro prodotti.
NXP Semiconductors non si assume alcuna responsabilità relativa a inadempienze, danni, costi o problemi basati su debolezze o inadempienze nelle applicazioni o nei prodotti del cliente, o dall'applicazione o dall'utilizzo da parte di clienti terzi del cliente. Il Cliente è responsabile di eseguire tutti i test necessari per le applicazioni ei prodotti del cliente che utilizzano i prodotti NXP Semiconductors al fine di evitare un'impostazione predefinita delle applicazioni e dei prodotti o dell'applicazione o l'utilizzo da parte di clienti terzi del cliente. NXP non si assume alcuna responsabilità al riguardo.
NXP BV – NXP BV non è una società operativa e non distribuisce né vende prodotti.
Licenze 10.3
Acquisto di circuiti integrati NXP con tecnologia NFC: l'acquisto di un circuito integrato di NXP Semiconductors conforme a uno degli standard Near Field Communication (NFC) ISO/IEC 18092 e ISO/IEC 21481 non trasmette una licenza implicita ai sensi di alcun diritto di brevetto violato dall'implementazione di uno qualsiasi di questi standard. L'acquisto del circuito integrato di NXP Semiconductors non include una licenza per alcun brevetto NXP (o altro diritto di proprietà intellettuale) che copra combinazioni di tali prodotti con altri prodotti, siano essi hardware o software.
Marchi 10.4
Avviso: tutti i marchi di riferimento, i nomi di prodotti, i nomi di servizi e i marchi registrati sono di proprietà dei rispettivi proprietari.
NXP: il marchio denominativo e il logo sono marchi di NXP BV
EdgeVerse — è un marchio di NXP BV
FeliCa — è un marchio di Sony Corporation.
MIFARE — è un marchio di NXP BV
MIFARE Classic — è un marchio di NXP BV
Si prega di notare che avvisi importanti riguardanti il presente documento e i prodotti in esso descritti sono stati inclusi nella sezione "Informazioni legali".
Italiano:
Per maggiori informazioni, visitare: http://www.nxp.com
Tutti i diritti riservati.
Data di rilascio: 25 maggio 2023
Identificativo del documento: UM11942
Documenti / Risorse
![]() |
Controller front-end NFC NXP PN5190 [pdf] Manuale d'uso PN5190, PN5190 Controller front-end NFC, Controller front-end NFC, Controller, UM11942 |