Comandi NCI di proprietà di Android

L'interfaccia del controller NFC (NCI) viene utilizzata per interagire con un Controller NFC (NFCC). In questa pagina vengono descritte le specifiche di Android comandi NCI proprietari.

Definizioni NCI

I comandi NCI di proprietà di Android utilizzano l'ID gruppo proprietario (GID) 0xF e lo spazio di codice OID (Opcode Identifier) di Android di 0xC.

Formato pacchetto comune

Il formato del pacchetto NCI Android è conforme alle specifiche NCI per i pacchetti di controllo usando le proprietà proprietarie Group_ID 0xFe Opcode_ID 0x0C. Per ogni dispositivo Android messaggio proprietario, il primo byte del payload del pacchetto deve essere impostato Codice operativo Android (0x0C). I pacchetti di controllo Android utilizzano Message_Type e PBF per identificare comandi, risposte e notifiche in modo simile a tramite comandi standard.

Il formato dei pacchetti Android è mostrato nella seguente tabella:

0 1 2 3 4 5 6 7
Message_Type PBF Group_ID = 0xF (PROPRIETARY)
riservato per uso futuro (RFU) Opcode_ID = 0x0C (ANDROID)
Payload_Length
Android_Opcode_ID
Android_Payload

Gli identificatori opcode Android assegnati sono elencati nella seguente tabella. La le specifiche di ciascun pacchetto nelle prossime sezioni.

OID Android Tipo di messaggio Nome del messaggio
0x00 NCI_MT_CMD NCI_ANDROID_GET_CAPS_CMD
NCI_MT_RSP NCI_ANDROID_GET_CAPS_RSP
0x01 NCI_MT_CMD NCI_ANDROID_POWER_SAVING_CMD
NCI_MT_RSP NCI_ANDROID_POWER_SAVING_RSP
0x02 NCI_MT_CMD NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD
NCI_MT_RSP NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP
0x03 NCI_MT_NTF NCI_ANDROID_POLLING_FRAME_NTF
0x04 NCI_MT_CMD NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD
NCI_MT_RSP NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP

Comando Ottieni funzionalità

L'host utilizza NCI_ANDROID_GET_CAPS_CMD per eseguire query sull'elenco delle funzionalità proprietarie di Android supportate dall'NFCC. La Il comando NCI_ANDROID_GET_CAPS_CMD non accetta parametri.

NFCC deve rispondere con la risposta NCI_ANDROID_GET_CAPS_RSP con uno stato di STATUS_OK e l'elenco di caratteristiche e funzionalità supportate.

Se NFCC non supporta NCI_ANDROID_GET_CAPS_CMD, l'host deve presumere in modo che ciascuna capacità assuma il valore predefinito specificato. Se viene specificato non viene restituita da NFCC nella risposta, l'host deve presupporre che la funzionalità ha il valore predefinito specificato.

NCI_ANDROID_GET_CAPS_CMD

Campi payload Dimensioni Valore/descrizione
N/D 0 ottetti

NCI_ANDROID_GET_CAPS_RSP

Campi payload Dimensioni Valore/descrizione
Stato 1 ottetto Consulta i codici di stato nella tabella 140 della specifica NCI.
Android_Version 2 ottetti Identifica la versione dei requisiti Android implementati dall'NFCC.
0x0000 Android 15
Numero di funzionalità 1 ottetto Numero (n) di funzionalità supportate
Capacità[0..n] (m + 2) * n ottetti Funzionalità supportate
Tipo 1 ottetto L'identificatore della funzionalità
Len 1 ottetto Lunghezza (m) del valore
Valore ottetti Il valore della capacità
Funzionalità proprietarie di Android
Nome funzionalità ID Dimensioni Valore/descrizione
Modalità di osservazione 0x00 1 ottetto Supporto per la modalità di osservazione.
0x00 (valore predefinito): non supporta questa funzionalità.
0x01 - Supporta la funzione con disattivazione RF dall'host (richiesta per Android 15 o versioni successive).
Tutti gli altri valori sono RFU.
Notifica frame di polling 0x01 1 ottetto Supporto per le notifiche del frame di polling. 0x01 se supportato, 0x00 (predefinito) se non supportato. Tutti gli altri valori sono RFU.
Modalità risparmio energetico 0x02 1 ottetto Supporto della modalità di risparmio energetico. 0x01 se supportato, 0x00 (predefinito) se non supportato. Tutti gli altri valori sono RFU.
Filtro loop di polling Auotransact 0x03 1 ottetto Supporto dei filtri loop di polling nel firmware per bypassare la modalità di osservazione per pattern specifici quando questa è abilitata a livello globale.
0 x 00 (valore predefinito). Questa funzionalità non è supportata.
0x01 - Supporta filtri del ciclo di polling
Tutti gli altri valori sono RFU
0x04..0xFF 0 ottetti Riservato per un uso futuro

Comando di risparmio energetico

Per passare dall'NFCC alla modalità di risparmio energetico, l'host può utilizzare Comando NCI_ANDROID_POWER_SAVING_CMD. L'NFCC deve rispondere con NCI_ANDROID_POWER_SAVING_RSP con un codice di stato che indicano un successo o un insuccesso.

In modalità di risparmio energetico, l'host non deve inviare alcun comando all'NFCC e NFCC non deve inviare alcuna notifica o risposta all'host. L'NFCC o Secure Element (eSE) incorporato può accettare automaticamente le richieste di pagamento in entrata in base alla configurazione di routing impostata prima di attivare il risparmio energetico .

Per tornare alla modalità a potenza piena, l'host può reimpostare o reinizializzare l'NFCC.

NCI_ANDROID_POWER_SAVING_CMD

Campi payload Dimensioni Valore/descrizione
Modalità risparmio energetico 1 ottetto 0x00 Disattiva modalità di risparmio energetico
0x01 Attiva modalità di risparmio energetico

NCI_ANDROID_POWER_SAVING_RSP

Campi payload Dimensioni Valore/descrizione
Stato 1 ottetto Consulta i codici di stato nella tabella 140 della specifica NCI.

Imposta comando modalità di osservazione

Per attivare o disattivare la modalità di osservazione, l'organizzatore può utilizzare Comando NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD. L'NFCC deve rispondere con NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP con un codice di stato che indica l'esito positivo o errore.

Quando la modalità di osservazione è disabilitata, l'NFCC deve implementare il parametro le attività della modalità di ascolto standard in base Specifiche tecniche delle attività.

Quando la modalità di osservazione è attiva, l'NFCC non deve rispondere ad alcun sondaggio. durante il loop di polling in modalità di ascolto, fino all'autorizzazione esplicita da parte l'organizzatore. L'NFCC deve inviare la notifica RF_FIELD_INFO_NTF (come definita dalla sezione 5.3 del specifica NCI) quando rileva l'attivazione del campo. Se il rilevamento della modalità di sondaggio è attivo, l'NFCC devi implementare l'attività in modalità poll in base alle Specifiche tecniche delle attività. NFCC può memorizzare nella cache le informazioni del sondaggio per procedere immediatamente con il dispositivo. non appena la modalità di osservazione viene disattivata.

NFCC dovrebbe disattivare la modalità di osservazione se l'host si arresta per qualsiasi motivo (ad esempio, batteria scarica o arresto avviato dall'utente) in modo che SE le transazioni possono essere eseguite.

NCI_ANDROID_PASSIVE_OBSERVE_MODE_CMD

Campi payload Dimensioni Valore/descrizione
modalità di osservazione 1 ottetto 0x00 Disattiva la modalità di osservazione (impostazione predefinita)
0x01 Attiva la modalità di osservazione

NCI_ANDROID_PASSIVE_OBSERVE_MODE_RSP

Campi payload Dimensioni Valore/descrizione
Stato 1 ottetto Consulta i codici di stato nella tabella 140 della specifica NCI.

Notifica loop di polling

L'NFCC deve inviare la notifica NCI_ANDROID_POLLING_FRAME_NTF all'organizzatore dopo ogni frame del loop di polling. Quando RF_FIELD_INFO_NTF e Vengono generate notifiche NCI_ANDROID_POLLING_FRAME_NTF. L'NFCC deve inviare NCI_ANDROID_POLLING_FRAME_NTF dopo RF_FIELD_INFO_NTF.

La notifica NCI_ANDROID_POLLING_FRAME_NTF è indipendente dal fatto che che la modalità di osservazione sia attiva o meno. Quando la modalità di osservazione è attiva, l'NFCC deve sempre inviare una notifica NCI_ANDROID_POLLING_FRAME_NTF prima la transazione.

NCI_ANDROID_POLLING_FRAME_NTF

Campi payload Dimensioni Valore/descrizione
Dati polling[0..n] (m +3) * n ottetti Elenco di richieste di polling ricevute dall'ultima notifica. Ogni risultato fornisce il tipo (tecnologia) dell'oggetto richieste e dati identificabili della richiesta, a seconda della tecnologia.
Tipo 1 ottetto Vedi i tipi di frame.
Bandiere 1 ottetto Vedi byte flag.
Lunghezza 1 ottetto Lunghezza (m) del report sui dati del polling inclusi i campi timestamp e guadagno.
Timestamp 4 ottetti Timestamp misurato in millisecondi di ricezione delle richieste di polling, big endian.
Guadagno 1 ottetto Forza della richiesta di polling.
0xFF indica che il valore non è disponibile.
Dati m-5 ottetti Restituisce i dati identificabili presenti nella richiesta di polling
Tipi di fotogrammi
Sondaggio Tipo Dimensioni Valore/descrizione
Campo remoto 0x00 1 ottetto 0x00 Campo non attivo
0x01 Campo attivato
0x02..0xFF RFU
NFC 0x01 n ottetti Il valore deve includere un comando ISO 14443-3 (ad esempio, REQ o WUP)
NFC 0x02 n ottetti Il valore deve includere un byte AIF e un comando ISO 14443-3 (ad es. REQ o WUP)
NFC 0x03 n ottetti Il valore deve includere un comando ISO 14443-3 (ad esempio, REQ o WUP)
NFC-V 0x04 n ottetti Il valore deve includere un comando ISO 14443-3 (ad esempio, REQ o WUP)
Sconosciuto 0x07 n ottetti Dati frame non elaborati
Definizione dei byte del flag
Bandiere
p B1 B2 B3 B4 B5 B6 B7
0 Fotogramma breve RFU RFU RFU RFU RFU RFU RFU
1 Frame lungo

Comando di stato della modalità di osservazione delle query

Per recuperare lo stato corrente della modalità di ordine passivo, l'organizzatore può usare il comando NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD. L'NFCC deve rispondi con NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP con uno stato che indica l'esito positivo dell'errore.

NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_CMD

Campi payload Dimensioni Valore/descrizione
N/D 0 ottetti

NCI_ANDROID_QUERY_PASSIVE_OBSERVER_STATUS_RSP

Campi payload Dimensioni Valore/descrizione
Stato 1 ottetto Consulta i codici di stato nella tabella 140 della specifica NCI.
modalità di osservazione 1 ottetto 0x00 Modalità di osservazione disabilitata
0x01 Modalità di osservazione attivata