UM11942
PN5190-instructielaag
NFC-frontend-controller
Gebruiksaanwijzing
PN5190 NFC-frontend-controller
Documentinformatie
Informatie | Inhoud |
Trefwoorden | PN5190, NFC, NFC frontend, controller, instructielaag |
Abstract | Dit document beschrijft de opdrachten en reacties op de instructielaag op het werk vanaf een hostcontroller, voor het evalueren van de werking van de NXP PN5190 NFC frontend-controller. PN5190 is een NFC-frontendcontroller van de volgende generatie. Het doel van dit document is het beschrijven van de interface-opdrachten die werken met de PN5190 NFC frontend-controller. Voor meer informatie over de werking van de PN5190 NFC frontend-controller raadpleegt u het gegevensblad en de bijbehorende aanvullende informatie. |
Revisiegeschiedenis
Rev | Datum | Beschrijving |
3.7 | 20230525 | • Documenttype en titel gewijzigd van addendum met productgegevens naar gebruikershandleiding • Redactionele opschoning • Bijgewerkte redactionele voorwaarden voor SPI-signalen • Opdracht GET_CRC_USER_AREA toegevoegd in Tabel 8 in Sectie 4.5.2.3 • Diverse gedifferentieerde details bijgewerkt voor PN5190B1 en PN5190B2 in paragraaf 3.4.1 • Bijgewerkte reactie van paragraaf 3.4.7 |
3.6 | 20230111 | Verbeterde beschrijving van de Check Integrity-reactie in paragraaf 3.4.7 |
3.5 | 20221104 | Paragraaf 4.5.4.6.3 “Gebeurtenis”: toegevoegd |
3.4 | 20220701 | • Opdracht CONFIGURE_MULTIPLE_TESTBUS_DIGITAL toegevoegd in Tabel 8 in Sectie 4.5.9.3 • Bijgewerkte paragraaf 4.5.9.2.2 |
3.3 | 20220329 | Hardwarebeschrijving verbeterd in Paragraaf 4.5.12.2.1 “Opdracht” en Paragraaf 4.5.12.2.2 “Reactie” |
3.2 | 20210910 | Firmwareversienummers bijgewerkt van 2.1 naar 2.01 en 2.3 naar 2.03 |
3.1 | 20210527 | RETRIEVE_RF_FELICA_EMD_DATA opdrachtbeschrijving toegevoegd |
3 | 20210118 | Eerste officieel uitgebrachte versie |
Invoering
1.1 Inleiding
Dit document beschrijft de PN5190-hostinterface en de API's. De fysieke hostinterface die in de documentatie wordt gebruikt, is SPI. Het fysieke kenmerk van SPI wordt in het document niet in aanmerking genomen.
Framescheiding en stroomregeling maken deel uit van dit document.
1.1.1 Bereik
Het document beschrijft de logische laag, instructiecode, API’s die relevant zijn voor de klant.
Hostcommunicatie voorbijview
PN5190 heeft twee hoofdmodi om met de hostcontroller te communiceren.
- Op HDLL gebaseerde communicatie wordt gebruikt wanneer het apparaat wordt getriggerd om het volgende binnen te gaan:
A. Gecodeerde veilige downloadmodus om de firmware bij te werken - TLV-commando-respons-gebaseerde communicatie (gegeven als een example).
2.1 HDLL-modus
De HDLL-modus wordt gebruikt voor het pakketuitwisselingsformaat om te werken met onderstaande IC-bedrijfsmodi:
- Veilige firmware-downloadmodus (SFWU), zie hoofdstuk 3
2.1.1 Beschrijving van HDLL
HDLL is de linklaag die door NXP is ontwikkeld om een betrouwbare FW-download te garanderen.
Een HDLL-bericht bestaat uit een header van 2 bytes, gevolgd door een frame, dat de opcode en de Payload van de opdracht bevat. Elk bericht eindigt met een 16-bits CRC, zoals beschreven in de onderstaande afbeelding:De HDLL-header bevat:
- Een stukkie. Dit geeft aan of dit bericht het enige of het laatste deel van een bericht is (chunk = 0). Of als er tenminste nog één ander deel volgt (deel = 1).
- De lengte van de Payload gecodeerd op 10 bits. De HDLL Frame Payload kan dus oplopen tot 1023 bytes.
De bytevolgorde is gedefinieerd als big-endian, wat betekent: mevrouw Byte eerst.
De CRC16 voldoet aan de X.25-standaard (CRC-CCITT, ISO/IEC13239) met polynoom x^16 + x^12 + x^5 +1 en voorlaadwaarde 0xFFFF.
Het wordt berekend over het gehele HDLL-frame, dat wil zeggen Header + Frame.
Sample C-code-implementatie:
statisch uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLengte)
{
uint32_t ik ;
uint16_t crc_new ;
uint16_t crc = 0xffffU;
voor (I = 0; i < dwLength; i++)
{
crc_new = (uint8_t)(crc >> 8) | (crc<<8);
crc_new ^= p[i];
crc_nieuw ^= (uint8_t)(crc_nieuw & 0xff) >> 4;
crc_nieuw ^= crc_nieuw << 12;
crc_new ^= (crc_new & 0xff) << 5;
crc = crc_nieuw;
}
retour crc;
}
2.1.2 Transportkartering via de SPI
Voor elke NTS-verklaring is de eerste byte altijd een HEADER (stroomindicatiebyte). Deze kan 0x7F/0xFF zijn met betrekking tot de schrijf-/leesbewerking.
2.1.2.1 Schrijfreeks vanaf de host (richting DH => PN5190)2.1.2.2 Leesvolgorde van de host (richting PN5190 => DH)
2.1.3 HDLL-protocol
HDLL is een command-response protocol. Alle hierboven genoemde bewerkingen worden geactiveerd door een specifieke opdracht en gevalideerd op basis van de respons.
Commando's en antwoorden volgen de syntaxis van HDLL-berichten, waarbij de opdracht wordt verzonden door de apparaathost en de reactie door de PN5190. De opcode geeft het commando- en antwoordtype aan.
HDLL-gebaseerde communicatie, alleen gebruikt wanneer de PN5190 wordt geactiveerd om de modus “Veilige firmware downloaden” te activeren.
2.2 TLV-modus
TLV staat voor Tag Lengte Waarde.
2.2.1 Framedefinitie
Een SPI-frame begint met de dalende flank van NTS en eindigt met de stijgende flank van NTS. SPI is per fysieke definitie full-duplex, maar de PN5190 gebruikt SPI in een half-duplex-modus. De SPI-modus is beperkt tot CPOL 0 en CPHA 0 met een maximale kloksnelheid zoals gespecificeerd in [2]. Elk SPI-frame bestaat uit een header van 1 byte en n-bytes body.
2.2.2 StroomindicatieDe HOST verzendt altijd als eerste byte de stroomindicatiebyte, ongeacht of deze gegevens van de PN5190 wil schrijven of lezen.
Als er een leesverzoek is en er geen gegevens beschikbaar zijn, bevat het antwoord 0xFF.
De gegevens na de stroomindicatiebyte bestaan uit één of meerdere berichten.
Voor elke NTS-verklaring is de eerste byte altijd een HEADER (stroomindicatiebyte). Deze kan 0x7F/0xFF zijn met betrekking tot de schrijf-/leesbewerking.
2.2.3 Berichttype
Een hostcontroller communiceert met PN5190 met behulp van berichten die binnen SPI-frames worden getransporteerd.
Er zijn drie verschillende berichttypen:
- Commando
- Antwoord
- Evenement
Het communicatiediagram hierboven toont de toegestane aanwijzingen voor de verschillende berichttypen, zoals hieronder:
- Commando en reactie.
- Commando's worden alleen verzonden van de hostcontroller naar PN5190.
- Reacties en gebeurtenissen worden alleen vanaf de PN5190 naar de hostcontroller verzonden.
- Commandoreacties worden gesynchroniseerd met behulp van de IRQ-pin.
- Host kan de opdrachten alleen verzenden als de IRQ laag is.
- De host kan het antwoord/de gebeurtenis alleen lezen als de IRQ hoog is.
2.2.3.1 Toegestane sequenties en regelsToegestane reeksen commando's, reacties en gebeurtenissen
- Een commando wordt altijd bevestigd door een reactie, of een gebeurtenis, of beide.
- De hostcontroller mag geen ander commando verzenden voordat er geen antwoord is ontvangen op het vorige commando.
- Gebeurtenissen kunnen op elk moment asynchroon worden verzonden (NIET interleaved binnen een commando/antwoord-paar).
- EVENT-berichten worden nooit gecombineerd met de RESPONSE-berichten binnen één frame.
Opmerking: De beschikbaarheid van een bericht (RESPONSE of EVENT) wordt gesignaleerd doordat de IRQ van hoog naar laag gaat. IRQ blijft hoog totdat het hele respons- of gebeurtenisframe is gelezen. Pas nadat het IRQ-signaal laag is, kan de host het volgende commando verzenden.
2.2.4 Berichtformaat
Elk bericht is gecodeerd in een TLV-structuur met een payload van n bytes voor elk bericht, behalve voor de opdracht SWITCH_MODE_NORMAL.Elke TLV bestaat uit:
Type (T) => 1 byte
Bit[7] Berichttype
0: COMMAND- of RESPONSE-bericht
1: EVENEMENT bericht
Bit[6:0]: Instructiecode
Lengte (L) => 2 bytes (moet in big-endian-formaat zijn)
Waarde (V) => N bytes aan waarde/gegevens van de TLV (opdrachtparameters / responsgegevens) op basis van het lengteveld (big-endian-formaat)
2.2.4.1 Frame splitsen
COMMAND-bericht moet in één SPI-frame worden verzonden.
RESPONSE- en EVENT-berichten kunnen in meerdere SPI-frames worden gelezen, bijvoorbeeld om de lengtebyte uit te lezen.RESPONSE- of EVENT-berichten kunnen in één SPI-frame worden gelezen, maar worden tussendoor vertraagd door NO-CLOCK, bijvoorbeeld om de lengtebyte uit te lezen.
IC-opstartmodus – beveiligde FW-downloadmodus
3.1 Inleiding
Een deel van de PN5190-firmwarecode wordt permanent opgeslagen in het ROM, terwijl de rest van de code en de gegevens worden opgeslagen in de ingebouwde flash. Gebruikersgegevens worden in flash opgeslagen en worden beschermd door anti-tearingmechanismen die de integriteit en beschikbaarheid van de gegevens garanderen. Om de klanten van NXP's functies te bieden die voldoen aan de nieuwste standaarden (EMVCo, NFC Forum, enzovoort), kunnen zowel de code als de gebruikersgegevens in FLASH worden bijgewerkt.
De authenticiteit en integriteit van de gecodeerde firmware wordt beschermd door een asymmetrische/symmetrische sleutelhandtekening en een reverse chained hash-mechanisme. Het eerste DL_SEC_WRITE-commando bevat de hash van het tweede commando en wordt beschermd door een RSA-handtekening op de payload van het eerste frame. PN5190-firmware gebruikt de openbare RSA-sleutel om de eerste opdracht te verifiëren. De geketende hash in elke opdracht wordt gebruikt om de volgende opdracht te authenticeren, om ervoor te zorgen dat de firmwarecode en gegevens niet toegankelijk zijn voor derden.
De payloads van de DL_SEC_WRITE-opdrachten zijn gecodeerd met een AES-128-sleutel. Na authenticatie van elke opdracht wordt de inhoud van de payload gedecodeerd en naar flash geschreven door PN5190-firmware.
Voor NXP-firmware is NXP verantwoordelijk voor het leveren van nieuwe, veilige firmware-updates, samen met nieuwe gebruikersgegevens.
De updateprocedure is uitgerust met een mechanisme om de authenticiteit, integriteit en vertrouwelijkheid van NXP-code en gegevens te beschermen.
Op HDLL gebaseerd framepakketschema wordt gebruikt voor alle opdrachten en antwoorden voor de beveiligde firmware-upgrademodus.
Paragraaf 2.1 geeft de overview van het gebruikte HDLL-framepakketschema.
PN5190 IC's ondersteunen zowel het oudere gecodeerde beveiligde FW-download als het door hardware crypto ondersteunde gecodeerde veilige FW-downloadprotocol, afhankelijk van de gebruikte variant.
De twee soorten zijn:
- Verouderd beveiligd FW-downloadprotocol dat alleen werkt met de PN5190 B0/B1 IC-versie.
- Door hardware crypto ondersteund veilig FW-downloadprotocol dat alleen werkt met de PN5190B2 IC-versie, dat gebruikmaakt van de hardwarecryptoblokken op de chip
In de volgende secties worden de opdrachten en reacties van de beveiligde firmware-downloadmodus uitgelegd.
3.2 Hoe u de modus “Beveiligde firmware downloaden” activeert
Het onderstaande diagram en de daaropvolgende stappen laten zien hoe u de beveiligde firmware-downloadmodus activeert.Voorwaarde: PN5190 bevindt zich in de bedrijfsstatus.
Hoofdscenario:
- Toegangsvoorwaarde waarbij de DWL_REQ-pin wordt gebruikt om de modus “Beveiligde firmware downloaden” te openen.
A. Apparaathost haalt DWL_REQ-pin hoog (alleen geldig bij beveiligde firmware-update via DWL_REQ-pin) OF
B. De apparaathost voert een harde reset uit om de PN5190 op te starten - Toegangsvoorwaarde waarbij de DWL_REQ-pin niet wordt gebruikt voor het openen van de modus "Beveiligde firmware downloaden" (pinloze download).
A. De apparaathost voert een harde reset uit om de PN5190 op te starten
b. De apparaathost verzendt SWITCH_MODE_NORMAL (Sectie 4.5.4.5) om de normale toepassingsmodus te openen.
C. Wanneer IC zich nu in de normale toepassingsmodus bevindt, verzendt de apparaathost SWITCH_MODE_DOWNLOAD (sectie 4.5.4.9) om naar de beveiligde downloadmodus te gaan. - Apparaathost verzendt de opdracht DL_GET_VERSION (paragraaf 3.4.4), of DL_GET_DIE_ID (paragraaf 3.4.6) of DL_GET_SESSION_STATE (paragraaf 3.4.5).
- Apparaathost leest de huidige hardware- en firmwareversie, sessie en Die-id van het apparaat.
A. Apparaathost controleert de sessiestatus als de laatste download is voltooid
B. De apparaathost past de versiecontroleregels toe om te beslissen of de download moet worden gestart of afgesloten. - Apparaathost wordt geladen vanaf een file de binaire code van de firmware die moet worden gedownload
- Apparaathost biedt een eerste DL_SEC_WRITE-opdracht (paragraaf 3.4.8) die het volgende bevat:
A. De versie van de nieuwe firmware,
B. Een nonce van 16 bytes aan willekeurige waarden die worden gebruikt voor verduistering van encryptiesleutels
C. Een samenvattingswaarde van het volgende frame,
D. De digitale handtekening van het frame zelf - De apparaathost laadt de beveiligde downloadprotocolsequentie naar de PN5190 met DL_SEC_WRITE-opdrachten (paragraaf 3.4.8)
- Wanneer het laatste DL_SEC_WRITE-commando (paragraaf 3.4.8) is verzonden, voert de apparaathost het commando DL_CHECK_INTEGRITY (paragraaf 3.4.7) uit om te controleren of de herinneringen met succes zijn geschreven.
- Apparaathost leest de nieuwe firmwareversie en controleert de sessiestatus indien gesloten voor rapportage aan de bovenste laag
- Apparaathost trekt de DWL_REQ-pin naar laag (als de DWL_REQ-pin wordt gebruikt om de downloadmodus te openen)
- De apparaathost voert een harde reset uit (wisselen van VEN-pin) op het apparaat om de PN5190 opnieuw op te starten
Post-conditie: de firmware is bijgewerkt; er wordt een nieuw versienummer van de firmware gerapporteerd.
3.3 Firmwarehandtekening en versiebeheer
In de PN5190-firmwaredownloadmodus zorgt een mechanisme ervoor dat alleen door NXP ondertekende en geleverde firmware wordt geaccepteerd voor NXP-firmware.
Het volgende is alleen van toepassing op de gecodeerde, beveiligde NXP-firmware.
Tijdens een downloadsessie wordt een nieuwe 16-bits firmwareversie verzonden. Het is samengesteld uit een groot en een klein getal:
- Hoofdnummer: 8 bits (MSB)
- Klein getal: 8 bits (LSB)
De PN5190 controleert of het nieuwe hoofdversienummer groter of gelijk is aan het huidige. Als dit niet het geval is, wordt de beveiligde firmwaredownload afgewezen en wordt de sessie gesloten gehouden.
3.4 HDLL-opdrachten voor verouderde gecodeerde downloads en hardwarematige crypto-ondersteuning gecodeerd downloaden
In dit gedeelte vindt u informatie over de opdrachten en reacties die zijn gebruikt voor beide soorten downloads voor NXP-firmwaredownloads.
3.4.1 HDLL Commando OP-codes
Opmerking: HDLL-opdrachtframes zijn 4 bytes uitgelijnd. Ongebruikte payloadbytes blijven nul.
Tabel 1. Lijst met OP-codes voor HDLL-opdrachten
PN5190 B0/B1 (Legacy-download) |
PN5190 B2 (Crypto-ondersteunde download) |
Commando-alias | Beschrijving |
0xF0 | 0xE5 | DL_RESET | Voert een zachte reset uit |
0xF1 | 0xE1 | DL_GET_VERSION | Retourneert de versienummers |
0xF2 | 0xDB | DL_GET_SESSION_STATE | Retourneert de huidige sessiestatus |
0xF4 | 0xDF | DL_GET_DIE_ID | Retourneert de dobbelstenen-ID |
0xE0 | 0xE7 | DL_CHECK_INTEGRITY | Controleert en retourneert de CRC's over de verschillende gebieden, evenals de statusvlaggen voor elk gebied |
0xC0 | 0x8C | DL_SEC_WRITE | Schrijft x bytes naar het geheugen, beginnend bij het absolute adres y |
3.4.2 HDLL-responsopcodes
Opmerking: HDLL-responsframes zijn 4 bytes uitgelijnd. Ongebruikte payloadbytes blijven nul. Alleen DL_OK-antwoorden kunnen payload-waarden bevatten.
Tabel 2. Lijst met HDLL-respons-OP-codes
opcode | Reactiealias | Beschrijving |
0x00 | DL_OK | Commando doorgegeven |
0x01 | DL_INVALID_ADDR | Adres niet toegestaan |
0x0B | DL_UNKNOW_CMD | Onbekend commando |
0x0C | DL_ABORTED_CMD | De fragmentreeks is te groot |
0x1E | DL_ADDR_RANGE_OFL_ERROR | Adres buiten bereik |
0x1F | DL_BUFFER_OFL_ERROR | Buffer is te klein |
0x20 | DL_MEM_BSY | Geheugen bezet |
0x21 | DL_SIGNATURE_ERROR | Handtekening komt niet overeen |
0x24 | DL_FIRMWARE_VERSION_ERROR | Huidige versie gelijk of hoger |
0x28 | DL_PROTOCOL_ERROR | Protocolfout |
0x2A | DL_SFWU_DEGRADED | Corruptie van Flash-gegevens |
0x2D | PH_STATUS_DL_FIRST_CHUNK | Eerste stuk ontvangen |
0x2E | PH_STATUS_DL_NEXT_CHUNK | Wacht op het volgende stuk |
0xC5 | PH_STATUS_INTERNAL_ERROR_5 | Lengte komt niet overeen |
3.4.3 DL_RESET-opdracht
Frame-uitwisseling:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF0 0x00 0x00 0x00 0x18 0x5B]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE5 0x00 0x00 0x00 0xBF 0xB9] [HDLL] <- [0x00 0x04 STAT 0x00 CRC16] De reset voorkomt dat de PN5190 het DL_STATUS_OK-antwoord verzendt. Daarom kan alleen een foutieve status worden ontvangen.
STAT is de retourstatus.
3.4.4 DL_GET_VERSION-opdracht
Frame-uitwisseling:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF1 0x00 0x00 0x00 0x6E 0xEF]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE1 0x00 0x00 0x00 0x75 0x48] [HDLL] <- [0x00 0x08 STAT HW_V RO_V MODEL_ID FM1V FM2V RFU1 RFU2 CRC16] Het payloadframe van het GetVersion-antwoord is:
Tabel 3. Reactie op de opdracht GetVersion
Veld | Byte | Beschrijving |
STAAT | 1 | Staat |
HW_V | 2 | Hardwareversie |
RO_V | 3 | ROM-code |
MODEL_ID | 4 | Model ID |
FMxV | 5-6 | Firmwareversie (gebruikt om te downloaden) |
RFU1-RFU2 | 7-8 | – |
De verwachte waarden van verschillende responsvelden en hun mapping zijn als volgt:
Tabel 4. Verwachte waarden van het antwoord van de GetVersion-opdracht
IC-type | HW-versie (hex) | ROM-versie (hex) | Model-ID (hex) | FW-versie (hex) |
PN5190 B0 | 0x51 | 0x02 | 0x00 | xx.jj |
PN5190 B1 | 0x52 | 0x02 | 0x00 | xx.jj |
PN5190 B2 | 0x53 | 0x03 | 0x00 | xx.jj |
3.4.5 DL_GET_SESSION_STATE-opdracht
Frame-uitwisseling:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF2 0x00 0x00 0x00 0xF5 0x33]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDB 0x00 0x00 0x00 0x31 0x0A] [HDLL] <- [0x00 0x04 STAT SSTA RFU CRC16] Het payloadframe van het GetSession-antwoord is:
Tabel 5. Reactie op de GetSession-opdracht
Veld | Byte | Beschrijving |
STAAT | 1 | Staat |
SSTA | 2 | Sessiestatus • 0x00: gesloten • 0x01: geopend • 0x02: vergrendeld (downloaden niet meer toegestaan) |
RFU's | 3-4 |
3.4.6 DL_GET_DIE_ID-opdracht
Frame-uitwisseling:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xF4 0x00 0x00 0x00 0xD2 0xAA]
PN5190 B2: [HDLL] -> [0x00 0x04 0xDF 0x00 0x00 0x00 0xFB 0xFB] [HDLL] <- [0x00 0x14 STAT 0x00 0x00 0x00 ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8 ID9
ID10 ID11 ID12 ID13 ID14 ID15 CRC16] Het payloadframe van het GetDieId-antwoord is:
Tabel 6. Reactie op de opdracht GetDieId
Veld | Byte | Beschrijving |
STAAT | 1 | Staat |
RFU's | 2-4 | |
DIEID | 5-20 | ID van de dobbelsteen (16 bytes) |
3.4.7 DL_CHECK_INTEGRITY-opdracht
Frame-uitwisseling:
PN5190 B0/B1: [HDLL] -> [0x00 0x04 0xE0 0x00 0x00 0x00 CRC16]
PN5190 B2: [HDLL] -> [0x00 0x04 0xE7 0x00 0x00 0x00 0x52 0xD1] [HDLL] <- [0x00 0x20 STAT LEN_DATA LEN_CODE 0x00 [CRC_INFO] [CRC32] CRC16] Het payloadframe van het CheckIntegrity-antwoord is:
Tabel 7. Reactie op de CheckIntegrity-opdracht
Veld | Byte | Waarde/beschrijving | |
STAAT | 1 | Staat | |
LEN-GEGEVENS | 2 | Totaal aantal gegevenssecties | |
LEN-CODE | 3 | Totaal aantal codesecties | |
RFU's | 4 | Gereserveerd | |
[CRC_INFO] | 58 | 32 bits (kleine endian). Als er een bit is ingesteld, is de CRC van de overeenkomstige sectie OK, anders niet OK. | |
Beetje | Status van gebiedsintegriteit | ||
[31:28] | Gereserveerd [3] | ||
[27:23] | Gereserveerd [1] | ||
[22] | Gereserveerd [3] | ||
[21:20] | Gereserveerd [1] | ||
[19] | RF-configuratiegebied (PN5190 B0/B1) [2] Gereserveerd (PN5190 B2) [3] | ||
[18] | Protocolconfiguratiegebied (PN5190 B0/B1) [2] RF-configuratiegebied (PN5190 B2) [2] | ||
[17] | Gereserveerd (PN5190 B0/B1) [3] Gebruikersconfiguratiegebied (PN5190 B2) [2] | ||
[16:6] | Gereserveerd [3] | ||
[5:4] | Gereserveerd voor PN5190 B0/B1 [3] Gereserveerd voor PN5190 B2 [1] | ||
[3:0] | Gereserveerd [1] | ||
[CRC32] | 9-136 | CRC32 van de 32 secties. Elke CRC bestaat uit 4 bytes opgeslagen in little-endian formaat. De eerste 4 bytes van CRC zijn van bit CRC_INFO[31], de volgende 4 bytes van CRC zijn van bit CRC_INFO[30] enzovoort. |
- [1] Deze bit moet 1 zijn om de PN5190 correct te laten functioneren (met functies en/of gecodeerde FW-download).
- [2] Deze bit is standaard ingesteld op 1, maar door de gebruiker gewijzigde instellingen maken de CRC ongeldig. Geen effect op de functionaliteit van de PN5190.
- [3] Deze bitwaarde, zelfs als deze 0 is, is niet relevant. Deze bitwaarde kan worden genegeerd.
3.4.8 DL_SEC_WRITE-opdracht
Het DL_SEC_WRITE-commando moet worden beschouwd in de context van een reeks veilige schrijfopdrachten: de gecodeerde “beveiligde firmware-download” (vaak eSFWu genoemd).
Het beveiligde schrijfcommando opent eerst de downloadsessie en passeert de RSA-authenticatie. De volgende geven gecodeerde adressen en bytes door om naar de PN5190 Flash te schrijven. Alles behalve de laatste bevat de hash van de volgende, waardoor wordt aangegeven dat ze niet de laatste zijn, en de reeksframes cryptografisch aan elkaar worden gekoppeld.
Andere opdrachten (behalve DL_RESET en DL_CHECK_INTEGRITY) kunnen tussen de beveiligde schrijfopdrachten van een reeks worden ingevoegd zonder deze te onderbreken.
3.4.8.1 Eerste DL_SEC_WRITE-opdracht
Een beveiligd schrijfcommando is het eerste dan en slechts dan als:
- De framelengte is 312 bytes
- Er is geen beveiligd schrijfcommando ontvangen sinds de laatste reset.
- De ingebedde handtekening is met succes geverifieerd door de PN5190.
Het antwoord op het eerste framecommando zou als volgt zijn: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT is de retourstatus.
Opmerking: Tijdens een eSFWu moet ten minste één stuk gegevens worden geschreven, ook al mogen de geschreven gegevens slechts één byte lang zijn. Daarom zal het eerste commando altijd de hash van het volgende commando bevatten, aangezien er minimaal twee commando's zullen zijn.
3.4.8.2 Middelste DL_SEC_WRITE-opdrachten
Een beveiligd schrijfcommando is een 'middelste' dan en slechts dan als:
- De opcode is zoals beschreven in Paragraaf 3.4.1 voor de opdracht DL_SEC_WRITE.
- Een eerste beveiligd schrijfcommando is al eerder ontvangen en met succes geverifieerd
- Er heeft geen reset plaatsgevonden sinds het ontvangen van het eerste beveiligde schrijfcommando
- De framelengte is gelijk aan de datagrootte + headergrootte + hashgrootte: FLEN = SIZE + 6 + 32
- De samenvatting van het hele frame is gelijk aan de hashwaarde die in het vorige frame is ontvangen
Het antwoord op het eerste framecommando zou als volgt zijn: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT is de retourstatus.
3.4.8.3 Laatste DL_SEC_WRITE-opdracht
Een beveiligd schrijfcommando is het laatste dan en slechts dan als:
- De opcode is zoals beschreven in Paragraaf 3.4.1 voor de opdracht DL_SEC_WRITE.
- Een eerste beveiligd schrijfcommando is al eerder ontvangen en met succes geverifieerd
- Er heeft geen reset plaatsgevonden sinds het ontvangen van het eerste beveiligde schrijfcommando
- De framelengte is gelijk aan de gegevensgrootte + headergrootte: FLEN = SIZE + 6
- De samenvatting van het hele frame is gelijk aan de hashwaarde die in het vorige frame is ontvangen
Het antwoord op het eerste framecommando zou als volgt zijn: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT is de retourstatus.
IC operationele opstartmodus – Normale bedrijfsmodus
4.1 Inleiding
Over het algemeen moet de PN5190 IC zich in de normale werkingsmodus bevinden om de NFC-functionaliteit te kunnen benutten.
Wanneer de PN5190 IC opstart, wacht deze altijd op opdrachten die van een host worden ontvangen om een bewerking uit te voeren, tenzij gebeurtenissen die binnen de PN5190 IC worden gegenereerd, resulteren in het opstarten van de PN5190 IC.
4.2 Commandolijst voorbijview
Tabel 8. Lijst met PN5190-opdrachten
Command code | Opdrachtnaam |
0x00 | SCHRIJF_REGISTER |
0x01 | SCHRIJF_REGISTER_OR_MASK |
0x02 | SCHRIJF_REGISTER_AND_MASK |
0x03 | SCHRIJF_REGISTER_MEERDER |
0x04 | LEES_REGISTER |
0x05 | READ_REGISTER_MULTIPLE |
0x06 | SCHRIJF_E2PROM |
0x07 | READ_E2PROM |
0x08 | TRANSMIT_RF_DATA |
0x09 | OPHALEN_RF_DATA |
0x0A | UITWISSELING_RF_DATA |
0x0B | MFC_AUTHENTICAAT |
0x0C | EPC_GEN2_INVENTORIE |
0x0D | LOAD_RF_CONFIGURATIE |
0x0E | UPDATE_RF_CONFIGURATIE |
0x0F | GET_RF_CONFIGURATIE |
0x10 | RF_AAN |
0x11 | RF_OFF |
0x12 | CONFIGUREER TESTBUS_DIGITAL |
0x13 | CONFIGURE_TESTBUS_ANALOG |
0x14 | CTS_INSCHAKELEN |
0x15 | CTS_CONFIGURE |
0x16 | CTS_RETRIEVE_LOG |
0x17-0x18 | RFU's |
0x19 | tot FW v2.01: RFU |
vanaf FW v2.03: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1A | ONTVANG_RF_DATA |
0x1B-0x1F | RFU's |
0x20 | SWITCH_MODE_NORMAL |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | SCHAKELMODUS_STANDBY |
0x23 | SWITCH_MODE_LPCD |
0x24 | RFU's |
0x25 | SWITCH_MODE_DOWNLOAD |
0x26 | GET_DIEID |
0x27 | GET_VERSION |
0x28 | RFU's |
0x29 | tot FW v2.05: RFU |
vanaf FW v2.06: GET_CRC_USER_AREA | |
0x2A | tot FW v2.03: RFU |
vanaf FW v2.05: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | RFU's |
0x40 | ANTENNA_SELF_TEST (niet ondersteund) |
0x41 | PRBS_TEST |
0x42-0x4F | RFU's |
4.3 Reactiestatuswaarden
Hieronder volgen de responsstatuswaarden die worden geretourneerd als onderdeel van het antwoord van PN5190 nadat de opdracht is geoperationaliseerd.
Tabel 9. PN5190-responsstatuswaarden
Reactiestatus | Reactiestatuswaarde | Beschrijving |
PN5190_STATUS_SUCCESS | 0x00 | Geeft aan dat de bewerking met succes is voltooid |
PN5190_STATUS_TIMEOUT | 0x01 | Geeft aan dat de uitvoering van de opdracht tot een time-out heeft geleid |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | Geeft aan dat de uitvoering van de opdracht heeft geresulteerd in een RF-gegevensintegriteitsfout |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | Geeft aan dat de uitvoering van de opdracht heeft geresulteerd in een RF-botsingsfout |
PN5190_STATUS_RFU1 | 0x04 | Gereserveerd |
PN5190_STATUS_INVALID_COMMAND | 0x05 | Geeft aan dat het gegeven commando ongeldig/niet geïmplementeerd is |
PN5190_STATUS_RFU2 | 0x06 | Gereserveerd |
PN5190_STATUS_AUTH_ERROR | 0x07 | Geeft aan dat MFC-verificatie is mislukt (toestemming geweigerd) |
PN5190_STATUS_MEMORY_ERROR | 0x08 | Geeft aan dat de uitvoering van de opdracht heeft geresulteerd in een programmeerfout of een interne geheugenfout |
PN5190_STATUS_RFU4 | 0x09 | Gereserveerd |
PN5190_STATUS_NO_RF_FIELD | 0x0A | Geeft aan dat er geen of een fout is in de aanwezigheid van een intern RF-veld (alleen van toepassing in initiator-/lezermodus) |
PN5190_STATUS_RFU5 | 0x0B | Gereserveerd |
PN5190_STATUS_SYNTAX_ERROR | 0x0C | Geeft aan dat er een ongeldige opdrachtframelengte is ontvangen |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | Geeft aan dat er een interne resourcefout is opgetreden |
PN5190_STATUS_RFU6 | 0x0E | Gereserveerd |
PN5190_STATUS_RFU7 | 0x0F | Gereserveerd |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | Geeft aan dat er geen extern RF-veld aanwezig is tijdens de uitvoering van het commando (alleen van toepassing in kaart-/doelmodus) |
PN5190_STATUS_RX_TIMEOUT | 0x11 | Geeft aan dat er geen gegevens worden ontvangen nadat RFExchange is gestart en er een time-out voor de RX is opgetreden. |
PN5190_STATUS_USER_CANCELLED | 0x12 | Geeft aan dat de huidige opdracht die wordt uitgevoerd, is afgebroken |
PN5190_STATUS_PREVENT_STANDBY | 0x13 | Geeft aan dat PN5190 niet in de stand-bymodus kan gaan |
PN5190_STATUS_RFU9 | 0x14 | Gereserveerd |
PN5190_STATUS_CLOCK_ERROR | 0x15 | Geeft aan dat de klok van de CLIF niet is gestart |
PN5190_STATUS_RFU10 | 0x16 | Gereserveerd |
PN5190_STATUS_PRBS_ERROR | 0x17 | Geeft aan dat de PRBS-opdracht een fout heeft geretourneerd |
PN5190_STATUS_INSTR_ERROR | 0x18 | Geeft aan dat de uitvoering van de opdracht is mislukt (dit kan een fout in de instructieparameters, een syntaxisfout, een fout in de uitvoering zelf of het niet voldoen aan de vereisten voor de instructie zijn, etc.) |
PN5190_STATUS_ACCESS_DENIED | 0x19 | Geeft aan dat toegang tot het interne geheugen is geweigerd |
PN5190_STATUS_TX_FAILURE | 0x1A | Geeft aan dat TX via RF is mislukt |
PN5190_STATUS_GEEN_ANTENNE | 0x1B | Geeft aan dat er geen antenne is aangesloten/aanwezig |
PN5190_STATUS_TXLDO_ERROR | 0x1C | Geeft aan dat er een fout is in TXLDO wanneer de VUP niet beschikbaar is en RF is ingeschakeld. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | Geeft aan dat de RF-configuratie niet wordt geladen wanneer RF is ingeschakeld |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | tot FW 2.01: niet verwacht |
vanaf versie 2.03: Geeft aan dat tijdens uitwisseling met LOG ENABLE BIT is ingesteld in het FeliCa EMD-register, een FeliCa EMD-fout is waargenomen |
||
PN5190_STATUS_INTERNAL_ERROR | 0x7F | Geeft aan dat de NVM-bewerking is mislukt |
PN5190_STATUS_SUCCSES_CHAINING | 0xAF | Geeft aan dat er bovendien gegevens in behandeling zijn om te worden gelezen |
4.4 Gebeurtenissen voorbijview
Er zijn twee manieren waarop gebeurtenissen aan de host worden gemeld.
4.4.1 Normale gebeurtenissen via IRQ-pin
Deze evenementen zijn categorieën zoals hieronder:
- Altijd ingeschakeld – Host wordt altijd op de hoogte gesteld
- Gecontroleerd door host – Host wordt op de hoogte gesteld als de betreffende Event Enable-bit in het register is ingesteld (EVENT_ENABLE (01h)).
Interrupts op laag niveau van de perifere IP's, inclusief de CLIF, worden volledig afgehandeld binnen de firmware en de host wordt alleen op de hoogte gebracht van de gebeurtenissen die worden vermeld in de gebeurtenissensectie.
Firmware implementeert twee gebeurtenisregisters als RAM-registers die kunnen worden geschreven/gelezen met behulp van de opdrachten uit Paragraaf 4.5.1.1 / Paragraaf 4.5.1.5.
Het register EVENT_ENABLE (0x01) => Schakel specifieke/alle gebeurtenismeldingen in.
Het register EVENT_STATUS (0x02) => Onderdeel van de payload van het gebeurtenisbericht.
Gebeurtenissen worden door de host gewist zodra het gebeurtenisbericht door de host is uitgelezen.
Gebeurtenissen zijn asynchroon van aard en worden aan de host gemeld als ze zijn ingeschakeld in het register EVENT_ENABLE.
Hieronder vindt u een lijst met gebeurtenissen die voor de host beschikbaar zijn als onderdeel van het gebeurtenisbericht.
Tabel 10. PN5190-gebeurtenissen (inhoud van EVENT_STATUS)
Bit – Bereik | Veld [1] | Altijd Ingeschakeld (J/N) | |
31 | 12 | RFU's | NA |
11 | 11 | CTS_EVENT [2] | N |
10 | 10 | IDLE_EVENT | Y |
9 | 9 | LPCD_CALIBRATION_DONE_EVENT | Y |
8 | 8 | LPCD_EVENT | Y |
7 | 7 | AUTOCOLL_EVENT | Y |
6 | 6 | TIMER0_EVENT | N |
5 | 5 | TX_OVERCURRENT_EVENT | N |
4 | 4 | RFON_DET_EVENT [2] | N |
3 | 3 | RFOFF_DET_EVENT [2] | N |
2 | 2 | STANDBY_PREV_EVENT | Y |
1 | 1 | GENERAL_ERROR_EVENT | Y |
0 | 0 | BOOT_EVENT | Y |
- Houd er rekening mee dat geen twee evenementen worden geknuppeld, behalve in het geval van fouten. In geval van fouten tijdens de bewerking worden functionele gebeurtenissen (bijv. BOOT_EVENT, AUTOCALL_EVENT enz.) en GENERAL_ERROR_EVENT ingesteld.
- Deze gebeurtenis wordt automatisch uitgeschakeld nadat deze op de host is geplaatst. De host moet deze gebeurtenissen opnieuw inschakelen als hij deze gebeurtenissen op de hoogte wil krijgen.
4.4.1.1 Formaten van gebeurtenisberichten
Het formaat van het gebeurtenisbericht verschilt afhankelijk van het optreden van een gebeurtenis en de verschillende status van de PN5190.
Gastheer moet lezen tag (T) en lengte van het bericht (L) en lees vervolgens het overeenkomstige aantal bytes als waarde (V) van de gebeurtenissen.
In het algemeen bevat het gebeurtenisbericht (zie Figuur 12) de EVENT_STATUS zoals gedefinieerd in Tabel 11 en gebeurtenisgegevens komen overeen met de respectieve gebeurtenisbit die is ingesteld in EVENT_STATUS.
Opmerking:
Voor sommige evenementen bestaat er geen payload. Als bijvoorbeeld TIMER0_EVENT wordt geactiveerd, wordt alleen EVENT_STATUS verstrekt als onderdeel van het gebeurtenisbericht.
Tabel 11 geeft ook details of de gebeurtenisgegevens aanwezig zijn voor de overeenkomstige gebeurtenis in het gebeurtenisbericht.GENERAL_ERROR_EVENT kan ook voorkomen bij andere gebeurtenissen.
In dit scenario bevat het gebeurtenisbericht (zie Afbeelding 13) de EVENT_STATUS zoals gedefinieerd in Tabel 11 en GENERAL_ERROR_STATUS_DATA zoals gedefinieerd in Tabel 14 en komen de gebeurtenisgegevens overeen met de respectieve gebeurtenisbit die is ingesteld in EVENT_STATUS zoals gedefinieerd in Tabel 11.Opmerking:
Pas na BOOT_EVENT of na POR, STANDBY, ULPCD kan de host in de normale bedrijfsmodus werken door de hierboven genoemde opdrachten uit te voeren.
In het geval van het afbreken van een bestaande lopende opdracht, kan de host pas na IDLE_EVENT in de normale bedrijfsmodus werken door de hierboven genoemde opdrachten uit te voeren.
4.4.1.2 Verschillende EVENT-statusdefinities
4.4.1.2.1 Bitdefinities voor EVENT_STATUS
Tabel 11. Definities voor EVENT_STATUS-bits
Bit (tot – van) | Evenement | Beschrijving | Gebeurtenisgegevens van de overeenkomstige gebeurtenis (indien van toepassing) |
|
31 | 12 | RFU's | Gereserveerd | |
11 | 11 | CTS_EVENEMENT | Deze bit wordt ingesteld wanneer een CTS-gebeurtenis wordt gegenereerd. | Tabel 86 |
10 | 10 | IDLE_EVENT | Deze bit wordt ingesteld wanneer het lopende commando wordt geannuleerd vanwege het geven van een SWITCH_MODE_NORMAL-commando. | Geen gebeurtenisgegevens |
9 | 9 | LPCD_CALIBRATION_DONE_ EVENEMENT |
Deze bit wordt ingesteld wanneer de gebeurtenis LPCD calibrationdone wordt gegenereerd. | Tabel 16 |
8 | 8 | LPCD_EVENT | Dit bit wordt ingesteld wanneer de LPCD-gebeurtenis wordt gegenereerd. | Tabel 15 |
7 | 7 | AUTOCOLL_EVENT | Deze bit wordt ingesteld wanneer de AUTOCOLL-bewerking is voltooid. | Tabel 52 |
6 | 6 | TIMER0_EVENT | Deze bit wordt ingesteld wanneer de TIMER0-gebeurtenis plaatsvindt. | Geen gebeurtenisgegevens |
5 | 5 | TX_OVERCURRENT_ERROR_ EVENEMENT |
Deze bit wordt ingesteld wanneer de stroom op de TX-driver hoger is dan de gedefinieerde drempel in de EEPROM. Onder deze voorwaarde wordt het veld automatisch uitgeschakeld vóór de melding aan de host. Zie paragraaf 4.4.2.2. | Geen gebeurtenisgegevens |
4 | 4 | RFON_DET_EVENT | Deze bit wordt ingesteld wanneer het externe RF-veld wordt gedetecteerd. | Geen gebeurtenisgegevens |
3 | 3 | RFOFF_DET_EVENT | Deze bit wordt ingesteld wanneer het reeds bestaande externe RF-veld verdwijnt. | Geen gebeurtenisgegevens |
2 | 2 | STANDBY_PREV_EVENT | Deze bit wordt ingesteld als stand-by wordt verhinderd vanwege preventieve omstandigheden | Tabel 13 |
1 | 1 | GENERAL_ERROR_EVENT | Deze bit wordt ingesteld als er algemene foutcondities bestaan | Tabel 14 |
0 | 0 | BOOT_EVENT | Deze bit wordt ingesteld wanneer PN5190 wordt opgestart met POR/Standby | Tabel 12 |
4.4.1.2.2 Bitdefinities voor BOOT_STATUS_DATA
Tabel 12. Definities voor BOOT_STATUS_DATA-bits
Beetje naar | Beetje van | Opstartstatus | Boot reden vanwege |
31 | 27 | RFU's | Gereserveerd |
26 | 26 | ULP_STANDBY | Reden voor opstarten is het afsluiten van ULP_STANDBY. |
25 | 23 | RFU's | Gereserveerd |
22 | 22 | BOOT_RX_ULPDET | RX ULPDET resulteerde in opstarten in ULP-Standby-modus |
21 | 21 | RFU's | Gereserveerd |
20 | 20 | BOOT_SPI | Opstartreden omdat het SPI_NTS-signaal laag wordt getrokken |
19 | 17 | RFU's | Gereserveerd |
16 | 16 | BOOT_GPIO3 | Opstartreden vanwege de overgang van GPIO3 van laag naar hoog. |
15 | 15 | BOOT_GPIO2 | Opstartreden vanwege de overgang van GPIO2 van laag naar hoog. |
14 | 14 | BOOT_GPIO1 | Opstartreden vanwege de overgang van GPIO1 van laag naar hoog. |
13 | 13 | BOOT_GPIO0 | Opstartreden vanwege de overgang van GPIO0 van laag naar hoog. |
12 | 12 | BOOT_LPDET | Opstartreden vanwege de aanwezigheid van een extern RF-veld tijdens STANDBY/SUSPEND |
11 | 11 | RFU's | Gereserveerd |
10 | 8 | RFU's | Gereserveerd |
7 | 7 | BOOT_SOFT_RESET | Opstartreden vanwege zachte reset van IC |
6 | 6 | BOOT_VDDIO_LOSS | Opstartreden vanwege verlies van VDDIO. Zie paragraaf 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | Opstartreden als STANDBY is ingevoerd met VDDIO LOSS. Zie Sectie 4.4.2.3 |
4 | 4 | BOOT_WUC | Opstartreden omdat de wake-up-teller is verstreken tijdens beide STANDBY-bewerkingen. |
3 | 3 | BOOT_TEMP | Opstartreden vanwege IC-temperatuur is hoger dan de geconfigureerde drempellimiet. Zie paragraaf 4.4.2.1 |
2 | 2 | BOOT_WDG | Reden voor opstarten vanwege watchdog-reset |
1 | 1 | RFU's | Gereserveerd |
0 | 0 | BOOT_POR | Opstartreden vanwege reset bij opstarten |
4.4.1.2.3 Bitdefinities voor STANDBY_PREV_STATUS_DATA
Tabel 13. Definities voor STANDBY_PREV_STATUS_DATA-bits
Beetje naar | Beetje van | Stand-by-preventie | Stand-by verhinderd vanwege |
31 | 26 | RFU's | GERESERVEERD |
25 | 25 | RFU's | GERESERVEERD |
24 | 24 | PREV_TEMP | De bedrijfstemperatuur van de IC's ligt buiten de drempelwaarde |
23 | 23 | RFU's | GERESERVEERD |
22 | 22 | PREV_HOSTCOMM | Communicatie met hostinterface |
21 | 21 | PREV_SPI | SPI_NTS signaal wordt laag getrokken |
20 | 18 | RFU's | GERESERVEERD |
17 | 17 | PREV_GPIO3 | GPIO3-signaal gaat over van laag naar hoog |
16 | 16 | PREV_GPIO2 | GPIO2-signaal gaat over van laag naar hoog |
15 | 15 | PREV_GPIO1 | GPIO1-signaal gaat over van laag naar hoog |
14 | 14 | PREV_GPIO0 | GPIO0-signaal gaat over van laag naar hoog |
13 | 13 | PREV_WUC | Wekteller is verstreken |
12 | 12 | VORIGE_LPDET | Detectie met laag vermogen. Treedt op wanneer een extern RF-signaal wordt gedetecteerd tijdens het overschakelen naar stand-by. |
11 | 11 | PREV_RX_ULPDET | RX detectie met ultralaag vermogen. Treedt op wanneer een RF-signaal wordt gedetecteerd terwijl het naar ULP_STANDBY gaat. |
10 | 10 | RFU's | GERESERVEERD |
9 | 5 | RFU's | GERESERVEERD |
4 | 4 | RFU's | GERESERVEERD |
3 | 3 | RFU's | GERESERVEERD |
2 | 2 | RFU's | GERESERVEERD |
1 | 1 | RFU's | GERESERVEERD |
0 | 0 | RFU's | GERESERVEERD |
4.4.1.2.4 Bitdefinities voor GENERAL_ERROR_STATUS_DATA
Tabel 14. Definities voor GENERAL_ERROR_STATUS_DATA-bits
Beetje naar | Beetje van | Foutstatus | Beschrijving |
31 | 6 | RFU's | Gereserveerd |
5 | 5 | XTAL_START_ERROR | XTAL-start mislukt tijdens het opstarten |
4 | 4 | SYS_TRIM_RECOVERY_ERROR | Er is een interne systeemtrimgeheugenfout opgetreden, maar het herstel is mislukt. Systeem werkt in gedowngradede modus. |
3 | 3 | SYS_TRIM_RECOVERY_SUCCESS | Er is een interne systeemtrimgeheugenfout opgetreden en het herstel is gelukt. De host moet de PN5190 opnieuw opstarten voordat het herstel van kracht wordt. |
2 | 2 | TXLDO_ERROR | TXLDO-fout |
1 | 1 | KLOK_ERROR | Klokfout |
0 | 0 | GPADC_FOUT | ADC-fout |
4.4.1.2.5 Bitdefinities voor LPCD_STATUS_DATA
Tabel 15. Definities voor LPCD_STATUS_DATA-bytes
Beetje naar | Beetje van | Toepasbaarheid van statusbits volgens de onderliggende werking van LPCD of ULPCD | De beschrijving voor de overeenkomstige bit wordt in de statusbyte ingesteld. | ||
LPCD | ULPCD | ||||
31 | 7 | RFU's | Gereserveerd | ||
6 | 6 | Afbreken_HIF | Y | N | Afgebroken vanwege HIF-activiteit |
5 | 5 | CLKDET-fout | N | Y | Afgebroken vanwege een CLKDET-fout |
4 | 4 | XTAL-time-out | N | Y | Afgebroken vanwege een XTAL-time-out |
3 | 3 | VDDPA LDO-overstroom | N | Y | Afgebroken vanwege VDDPA LDO-overstroom |
2 | 2 | Extern RF-veld | Y | Y | Afgebroken vanwege extern RF-veld |
1 | 1 | GPIO3 Afbreken | N | Y | Afgebroken vanwege wijziging in GPIO3-niveau |
0 | 0 | Kaart gedetecteerd | Y | Y | Kaart is gedetecteerd |
4.4.1.2.6 Bitdefinities voor LPCD_CALIBRATION_DONE Statusgegevens
Tabel 16. Definities voor LPCD_CALIBRATION_DONE statusgegevensbytes voor ULPCD
Beetje naar | Beetje van | Status van LPCD_CALIBRATION GEREED evenement | De beschrijving voor de overeenkomstige bit wordt in de statusbyte ingesteld. |
31 | 11 | Gereserveerd | |
10 | 0 | Referentiewaarde van ULPCD-kalibratie | De gemeten RSSI-waarde tijdens ULPCD-kalibratie die als referentie wordt gebruikt tijdens ULPCD |
Tabel 17. Definities voor LPCD_CALIBRATION_DONE statusgegevensbytes voor LPCD
Beetje naar | Beetje van | Toepasbaarheid van statusbits volgens de onderliggende werking van LPCD of ULPCD | De beschrijving voor de overeenkomstige bit wordt in de statusbyte ingesteld. | ||
2 | 2 | Extern RF-veld | Y | Y | Afgebroken vanwege extern RF-veld |
1 | 1 | GPIO3 Afbreken | N | Y | Afgebroken vanwege wijziging in GPIO3-niveau |
0 | 0 | Kaart gedetecteerd | Y | Y | Kaart is gedetecteerd |
4.4.2 Behandeling van verschillende opstartscenario's
De PN5190 IC kan omgaan met verschillende foutcondities gerelateerd aan IC-parameters, zoals hieronder.
4.4.2.1 Behandeling van scenario over te hoge temperatuur wanneer PN5190 in bedrijf is
Telkens wanneer de interne temperatuur van het PN5190 IC de drempelwaarde bereikt zoals geconfigureerd in het EEPROM-veld TEMP_WARNING [2], gaat het IC in de stand-bymodus. En als het EEPROM-veld ENABLE_GPIO0_ON_OVERTEMP [2] dus is geconfigureerd om een melding naar de host te sturen, wordt GPIO0 hoog getrokken om de IC te waarschuwen dat de temperatuur te hoog is.
Naarmate en wanneer de IC-temperatuur onder de drempelwaarde daalt zoals geconfigureerd in het EEPROM-veld TEMP_WARNING [2], zal de IC opstarten met BOOT_EVENT zoals in Tabel 11 en wordt de BOOT_TEMP-opstartstatusbit ingesteld zoals in Tabel 12 en wordt GPIO0 laag getrokken.
4.4.2.2 Omgaan met overstroom
Als PN5190 IC de overstroomtoestand waarneemt, schakelt de IC de RF-stroom uit en verzendt de TX_OVERCURRENT_ERROR_EVENT zoals in Tabel 11.
De duur van de overstroomconditie kan worden geregeld door het EEPROM-veld TXLDO_CONFIG [2] te wijzigen.
Voor informatie over IC-overstroomdrempel raadpleegt u document [2].
Opmerking:
Als er nog andere gebeurtenissen of reacties in behandeling zijn, worden deze naar de host verzonden.
4.4.2.3 Verlies van VDDIO tijdens bedrijf
Als de PN5190 IC constateert dat er geen VDDIO is (VDDIO-verlies), gaat de IC in stand-by.
IC start alleen op als de VDDIO beschikbaar is, met BOOT_EVENT zoals in Tabel 11 en de BOOT_VDDIO_START opstartstatusbit is ingesteld zoals in Tabel 12.
Raadpleeg document [5190] voor informatie over de statische kenmerken van het PN2 IC.
4.4.3 Behandeling van afbreekscenario's
De PN5190 IC heeft ondersteuning voor het afbreken van de huidige uitvoeringsopdrachten en het gedrag van de PN5190 IC, wanneer een dergelijk afbreekcommando, zoals paragraaf 4.5.4.5.2, naar de PN5190 IC wordt verzonden, is zoals weergegeven in Tabel 18.
Opmerking:
Wanneer PN5190 IC zich in de ULPCD- en ULP-standbymodus bevindt, kan deze niet worden afgebroken door een sectie 4.5.4.5.2 te verzenden OF door een SPI-transactie te starten (door een laag signaal te trekken op het SPI_NTS-signaal).
Tabel 18. Verwachte gebeurtenisrespons wanneer verschillende opdrachten beëindigd zijn met Sectie 4.5.4.5.2
Opdrachten | Gedrag bij het verzenden van het commando Schakelmodus Normaal |
Alle opdrachten waarbij laag vermogen niet is ingevoerd | EVENT_STAUS is ingesteld op 'IDLE_EVENT' |
Schakelmodus LPCD | EVENT_STATUS is ingesteld op “LPCD_EVENT” waarbij “LPCD_ STATUS_DATA” de statusbits aangeeft als “Abort_HIF” |
Schakelmodus Stand-by | EVENT_STAUS is ingesteld op “BOOT_EVENT” met “BOOT_ STATUS_DATA” die de bits “BOOT_SPI” aangeeft |
Schakelmodus Autocoll (geen autonome modus, autonome modus met stand-by en autonome modus zonder stand-by) | EVENT_STAUS is ingesteld op “AUTOCOLL_EVENT” met STATUS_DATA bits die aangeven dat de opdracht door de gebruiker is geannuleerd. |
4.5 Details van gebruiksinstructies voor normale modus
4.5.1 Registermanipulatie
De instructies in dit gedeelte worden gebruikt om toegang te krijgen tot de logische registers van PN5190.
4.5.1.1 SCHRIJF_REGISTER
Deze instructie wordt gebruikt om een 32-bits waarde (little-endian) naar een logisch register te schrijven.
4.5.1.1.1 Voorwaarden
Het adres van het register moet bestaan en het register moet het READ-WRITE- of WRITE-ONLY-attribuut hebben.
4.5.1.1.2 Opdracht
Tabel 19. WRITE_REGISTER-opdrachtwaarde Schrijf een 32-bits waarde naar een register.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Adres registreren | 1 byte | Adres van het register. |
Tabel 19. WRITE_REGISTER-opdrachtwaarde…vervolg
Schrijf een 32-bitswaarde naar een register.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Waarde | 4 Bytes | 32-bits registerwaarde die moet worden geschreven. (Little-endian) |
4.5.1.1.3 Reactie
Tabel 20. WRITE_REGISTER-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.1.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.1.2 SCHRIJF_REGISTER_OR_MASK
Deze instructie wordt gebruikt om de inhoud van het register te wijzigen met behulp van een logische OF-bewerking. De inhoud van het register wordt gelezen en er wordt een logische OF-bewerking uitgevoerd met het meegeleverde masker. De gewijzigde inhoud wordt teruggeschreven naar het register.
4.5.1.2.1 Voorwaarden
Het adres van het register moet bestaan en het register moet het READ-WRITE-attribuut hebben.
4.5.1.2.2 Opdracht
Tabel 21. WRITE_REGISTER_OR_MASK-opdrachtwaarde Voer een logische OR-bewerking uit op een register met behulp van het meegeleverde masker.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Adres registreren | 1 byte | Adres van het register. |
Masker | 4 Bytes | Bitmasker gebruikt als operand voor logische OF-bewerking. (Little-endian) |
4.5.1.2.3 Reactie
Tabel 22. WRITE_REGISTER_OR_MASK-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.2.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.1.3 SCHRIJF_REGISTER_AND_MASK
Deze instructie wordt gebruikt om de inhoud van het register te wijzigen met behulp van een logische AND-bewerking. De inhoud van het register wordt gelezen en er wordt een logische EN-bewerking uitgevoerd met het meegeleverde masker. De gewijzigde inhoud wordt teruggeschreven naar het register.
4.5.1.3.1 Voorwaarden
Het adres van het register moet bestaan en het register moet het READ-WRITE-attribuut hebben.
4.5.1.3.2 Opdracht
Tabel 23. WRITE_REGISTER_AND_MASK-opdrachtwaarde Voer een logische AND-bewerking uit op een register met behulp van het meegeleverde masker.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Adres registreren | 1 byte | Adres van het register. |
Masker | 4 Bytes | Bitmasker gebruikt als operand voor logische AND-bewerking. (Little-endian) |
4.5.1.3.3 Reactie
Tabel 24. WRITE_REGISTER_AND_MASK-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.3.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.1.4 SCHRIJF_REGISTER_MEERDER
Deze instructiefunctionaliteit is vergelijkbaar met Sectie 4.5.1.1, Sectie 4.5.1.2, Sectie 4.5.1.3, met de mogelijkheid om ze te combineren. In feite neemt het een array van register-type-waarde set en voert de juiste actie uit. Het type weerspiegelt de actie die ofwel schrijfregister, logische OF-bewerking op een register of logische EN-bewerking op een register is.
4.5.1.4.1 Voorwaarden
Het respectieve logische adres van het register binnen een set moet bestaan.
Het registertoegangsattribuut moet uitvoering van de vereiste actie (type) mogelijk maken:
- Schrijfactie (0x01): READ-WRITE of WRITE-ONLY attribuut
- OF maskeractie (0x02): LEES-SCHRIJF-kenmerk
- EN maskeractie (0x03): LEES-SCHRIJF-kenmerk
De grootte van de 'Set'-array moet tussen 1 en 43 liggen.
Veld 'Type' moet tussen 1 en 3 liggen
4.5.1.4.2 Opdracht
Tabel 25. WRITE_REGISTER_MULTIPLE opdrachtwaarde Voer een schrijfregisterbewerking uit met behulp van een set registerwaardeparen.
Laadvermogenveld | Lengte | Waarde/beschrijving | |||
Stel [1…n] in | 6 Bytes | Adres registreren | 1 byte | Logisch adres van het register. | |
Type | 1 byte | 0x1 | Schrijf Registreren | ||
0x2 | Schrijf register OF masker | ||||
0x3 | Schrijf Register EN Masker | ||||
Waarde | 4 Bytes | 32 Biteregisterwaarde die moet worden geschreven, of bitmasker gebruikt voor logische werking. (Little-endian) |
Opmerking: In het geval van een uitzondering wordt de bewerking niet teruggedraaid, dat wil zeggen dat registers die zijn gewijzigd totdat er een uitzondering optreedt, in gewijzigde staat blijven. De host moet de juiste acties ondernemen om te herstellen naar een gedefinieerde staat.
4.5.1.4.3 Reactie
Tabel 26. WRITE_REGISTER_MULTIPLE antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.4.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.1.5 LEES_REGISTER
Deze instructie wordt gebruikt om de inhoud van een logisch register terug te lezen. De inhoud is aanwezig in het antwoord, als een waarde van 4 bytes in Little Endian-indeling.
4.5.1.5.1 Voorwaarden
Het adres van het logische register moet bestaan. Het toegangsattribuut van het register moet READ-WRITE of READ-ONLY zijn.
4.5.1.5.2 Opdracht
Tabel 27. READ_REGISTER-commandowaarde
Inhoud van een register teruglezen.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Adres registreren | 1 byte | Adres van het logische register |
4.5.1.5.3 Reactie
Tabel 28. READ_REGISTER-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) | ||
Waarde registreren | 4 Bytes | 32-bits registerwaarde die is uitgelezen. (Little-endian) |
4.5.1.5.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.1.6 LEES_REGISTREER_MEERDERE
Deze instructie wordt gebruikt om meerdere logische registers tegelijk te lezen. Het resultaat (inhoud van elk register) wordt verstrekt in het antwoord op de instructie. Het registeradres zelf is niet opgenomen in het antwoord. De volgorde van de registerinhoud binnen het antwoord komt overeen met de volgorde van de registeradressen binnen de instructie.
4.5.1.6.1 Voorwaarden
Alle registeradressen binnen de instructie moeten bestaan. Het toegangsattribuut voor elk register moet READ-WRITE of READ-ONLY zijn. De grootte van de array 'Registeradres' moet tussen 1 en 18 liggen.
4.5.1.6.2 Opdracht
Tabel 29. READ_REGISTER_MULTIPLE opdrachtwaarde Voer een leesregisterbewerking uit op een set registers.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Registeradres[1…n] | 1 byte | Adres registreren |
4.5.1.6.3 Reactie
Tabel 30. READ_REGISTER_MULTIPLE antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | ||
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) | ||||
Registerwaarde [1…n] | 4 Bytes | Waarde | 4 Bytes | 32-bits registerwaarde die is uitgelezen (little-endian). |
4.5.1.6.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.2 E2PROM-manipulatie
Het toegankelijke gebied in E2PROM komt overeen met de EEPROM-kaart en adresseerbare grootte.
Opmerking:
1. Waar in de onderstaande instructies het 'E2PROM-adres' wordt vermeld, heeft dit betrekking op de grootte van het adresseerbare EEPROM-gebied.
4.5.2.1 SCHRIJF_E2PROM
Deze instructie wordt gebruikt om een of meer waarden naar E2PROM te schrijven. Het veld 'Waarden' bevat de gegevens die naar E2PROM moeten worden geschreven, beginnend bij het adres dat is opgegeven in het veld 'E2PROM Adres'. De gegevens worden in opeenvolgende volgorde geschreven.
Opmerking:
Houd er rekening mee dat dit een blokkeeropdracht is, dit betekent dat de NFC FE wordt geblokkeerd tijdens de schrijfbewerking. Dit kan enkele milliseconden duren.
4.5.2.1.1 Voorwaarden
Het veld 'E2PROM-adres' moet binnen het bereik liggen zoals aangegeven in [2]. Het aantal bytes in het veld 'Waarden' moet tussen 1 en 1024 (0x0400) liggen. De schrijfbewerking mag niet verder gaan dan het EEPROM-adres zoals vermeld in [2]. Er wordt een foutreactie naar de host verzonden als het adres de EEPROM-adresruimte overschrijdt, zoals in [2].
4.5.2.1.2 Opdracht
Tabel 31. WRITE_E2PROM-opdrachtwaarde Schrijf gegeven waarden opeenvolgend naar E2PROM.
Laadvermogenveld | Lengte | Waarde/beschrijving |
E2PROM-adres | 2 byte | Adres in EEPROM van waaruit de schrijfbewerking moet beginnen. (Little-endian) |
Waarden | 1 – 1024 bytes | Waarden die in opeenvolgende volgorde naar E2PROM moeten worden geschreven. |
4.5.2.1.3 Reactie
Tabel 32. WRITE_EEPROM-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.2.1.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.2.2 READ_E2PROM
Deze instructie wordt gebruikt om gegevens uit het E2PROM-geheugengebied terug te lezen. Het veld 'E2PROM Address' geeft het startadres van de leesoperatie aan. Het antwoord bevat de gegevens die zijn gelezen uit E2PROM.
4.5.2.2.1 Voorwaarden
Het veld 'E2PROM-adres' moet binnen een geldig bereik vallen.
Het veld 'Aantal bytes' moet tussen 1 en 256 liggen.
De leesbewerking mag niet verder gaan dan het laatst toegankelijke EEPROM-adres.
Er wordt een foutreactie naar de host verzonden als het adres de EEPROM-adresruimte overschrijdt.
4.5.2.2.2 Opdracht
Tabel 33. Waarde van de opdracht READ_E2PROM Waarden sequentieel uit E2PROM lezen.
Laadvermogenveld | Lengte | Waarde/beschrijving |
E2PROM-adres | 2 byte | Adres in E2PROM van waaruit de leesbewerking moet beginnen. (Little-endian) |
Aantal bytes | 2 byte | Aantal uit te lezen bytes. (Little-endian) |
4.5.2.2.3 Reactie
Tabel 34. READ_E2PROM-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) | ||
Waarden | 1 – 1024 bytes | Waarden die in opeenvolgende volgorde zijn uitgelezen. |
4.5.2.2.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.2.3 GET_CRC_USER_AREA
Deze instructie wordt gebruikt om de CRC te berekenen voor het volledige gebruikersconfiguratiegebied, inclusief het protocolgebied van PN5190 IC.
4.5.2.3.1 Opdracht
Tabel 35. GET_CRC_USER_AREA-opdrachtwaarde
CRC van gebruikersconfiguratiegebied inclusief protocolgebied uitlezen.
Laadvermogenveld | Lengte | Waarde/beschrijving |
– | – | Geen gegevens in de payload |
4.5.2.3.2 Reactie
Tabel 36. GET_CRC_USER_AREA-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) | ||
Waarden | 4 Bytes | 4 bytes aan CRC-gegevens in Little Endian-formaat. |
4.5.2.3.3 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.3 CLIF-gegevensmanipulatie
De instructies die in dit gedeelte worden beschreven, beschrijven de opdrachten voor RF-verzending en -ontvangst.
4.5.3.1 UITWISSELING_RF_GEGEVENS
De RF-uitwisselingsfunctie voert een verzending van de TX-gegevens uit en wacht op de ontvangst van eventuele RX-gegevens.
De functie keert terug in het geval van een ontvangst (foutief of juist) of als er een time-out heeft plaatsgevonden. De timer wordt gestart met het EINDE van de VERZENDING en gestopt met het BEGIN van de ONTVANGST. De in de EEPROM vooraf geconfigureerde time-outwaarde wordt gebruikt als de time-out niet is geconfigureerd vóór uitvoering van de Exchange-opdracht.
Als transceiver_state is
- in IDLE wordt de TRANSCEIVE-modus geactiveerd.
- In WAIT_RECEIVE wordt de status van de zendontvanger gereset naar TRANSCEIVE MODE als de initiatorbit is ingesteld
- In WAIT_TRANSMIT wordt de status van de zendontvanger gereset naar TRANSCEIVE MODE als de initiatorbit NIET is ingesteld
Het veld 'Aantal geldige bits in laatste byte' geeft de exacte datalengte aan die moet worden verzonden.
4.5.3.1.1 Voorwaarden
De grootte van het veld 'TX-gegevens' moet tussen 0 en 1024 liggen.
Het veld 'Aantal geldige bits in laatste byte' moet tussen 0 en 7 liggen.
Het commando mag niet worden opgeroepen tijdens een lopende RF-transmissie. Het commando zorgt voor de juiste staat van de zendontvanger voor het verzenden van de gegevens.
Opmerking:
Deze opdracht is alleen geldig voor de Reader-modus en de P2P-passieve/actieve initiatormodus.
4.5.3.1.2 Opdracht
Tabel 37. EXCHANGE_RF_DATA-opdrachtwaarde
Schrijf TX-gegevens naar de interne RF-transmissiebuffer en start de verzending met behulp van de zendontvangeropdracht en wacht tot ontvangst of Time-Out om een antwoord naar de host voor te bereiden.
Laadvermogenveld | Lengte | Waarde/beschrijving | |
Aantal geldige bits in laatste byte | 1 byte | 0 | Alle bits van de laatste byte worden verzonden |
1 – 7 | Aantal bits binnen de laatste byte die moet worden verzonden. | ||
RFExchangeConfig | 1 byte | Configuratie van de RFExchange-functie. Details zie hieronder |
Tabel 37. EXCHANGE_RF_DATA-opdrachtwaarde…vervolg
Schrijf TX-gegevens naar de interne RF-transmissiebuffer en start de verzending met behulp van de zendontvangeropdracht en wacht tot ontvangst of Time-Out om een antwoord naar de host voor te bereiden.
Laadvermogenveld | Lengte | Waarde/beschrijving |
TX-gegevens | n-bytes | TX-gegevens die via CLIF moeten worden verzonden met behulp van een transceive-opdracht. n = 0 – 1024 bytes |
Tabel 38. RFexchangeConfig-bitmasker
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Beschrijving |
Bits 4 – 7 zijn RFU | ||||||||
X | Neem RX-gegevens op als reactie op basis van RX_STATUS, als bit is ingesteld op 1b. | |||||||
X | Neem het EVENT_STATUS-register op in het antwoord, als bit is ingesteld op 1b. | |||||||
X | Neem het RX_STATUS_ERROR-register op als reactie, als bit is ingesteld op 1b. | |||||||
X | Neem het RX_STATUS-register op als reactie, als bit is ingesteld op 1b. |
4.5.3.1.3 Reactie
Tabel 39. EXCHANGE_RF_DATA-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCES PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR |
||
RX_STATUS | 4 Bytes | Als RX_STATUS wordt gevraagd (little-endian) |
RX_STATUS_ERROR | 4 Bytes | Als RX_STATUS_ERROR wordt aangevraagd (little-endian) |
EVENEMENTSTATUS | 4 Bytes | Als EVENT_STATUS wordt aangevraagd (little-endian) |
RX-gegevens | 1 – 1024 bytes | Als RX-gegevens worden opgevraagd. RX-gegevens ontvangen tijdens de RF-ontvangstfase van RF-uitwisseling. |
4.5.3.1.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.3.2 TRANSMIT_RF_DATA
Deze instructie wordt gebruikt om gegevens naar de interne CLIF-transmissiebuffer te schrijven en de transmissie intern te starten met behulp van de transceive-opdracht. De grootte van deze buffer is beperkt tot 1024 bytes. Nadat deze instructie is uitgevoerd, wordt automatisch een RF-ontvangst gestart.
Het commando keert onmiddellijk terug nadat de verzending is voltooid en er wordt niet gewacht op voltooiing van de ontvangst.
4.5.3.2.1 Voorwaarden
Het aantal bytes binnen het veld 'TX Data' moet tussen 1 en 1024 liggen.
Het commando mag niet worden opgeroepen tijdens een lopende RF-transmissie.
4.5.3.2.2 Opdracht
Tabel 40. TRANSMIT_RF_DATA-opdrachtwaarde Schrijf TX-gegevens naar de interne CLIF-transmissiebuffer.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Aantal geldige bits in laatste byte | 1 byte | 0 Alle bits van de laatste byte worden verzonden. 1 – 7 Aantal bits binnen de laatste byte dat moet worden verzonden. |
RFU's | 1 byte | Gereserveerd |
TX-gegevens | 1 – 1024 bytes | TX-gegevens die tijdens de volgende RF-transmissie worden gebruikt. |
4.5.3.2.3 Reactie
Tabel 41. TRANSMIT_RF_DATA-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
4.5.3.2.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.3.3 OPHALEN_RF_GEGEVENS
Deze instructie wordt gebruikt om gegevens te lezen uit de interne CLIF RX-buffer, die de RF-antwoordgegevens (indien aanwezig) bevat die ernaar zijn gepost vanuit de vorige uitvoering van Paragraaf 4.5.3.1 met de optie om de ontvangen gegevens niet op te nemen in het antwoord of Paragraaf 4.5.3.2 .XNUMX opdracht.
4.5.3.3.1 Opdracht
Tabel 42. RETRIEVE_RF_DATA commandowaarde Lees RX-gegevens uit de interne RF-ontvangstbuffer.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Leeg | Leeg | Leeg |
4.5.3.3.2 Reactie
Tabel 43. RETRIEVE_RF_DATA-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
Laadvermogenveld | Lengte | Waarde/beschrijving |
PN5190_STATUS_INSTR_SUCCES PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
||
RX-gegevens | 1 – 1024 bytes | RX-gegevens die zijn ontvangen tijdens de laatste succesvolle RF-ontvangst. |
4.5.3.3.3 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.3.4 ONTVANG_RF_DATA
Deze instructie wacht op de gegevens die worden ontvangen via de RF-interface van de lezer.
In de lezermodus keert deze instructie terug als er een ontvangst is (foutief of correct) of als er een FWT-time-out is opgetreden. De timer wordt gestart met het EINDE van de VERZENDING en gestopt met het BEGIN van de ONTVANGST. De standaard time-outwaarde die vooraf is geconfigureerd in EEPROM zal worden gebruikt als de time-out niet is geconfigureerd vóór uitvoering van de Exchange-opdracht.
In de doelmodus keert deze instructie terug in geval van ontvangst (foutief of correct) of bij een externe RF-fout.
Opmerking:
Deze instructie zal worden gebruikt met de opdracht TRANSMIT_RF_DATA om de TX- en RX-bewerking uit te voeren...
4.5.3.4.1 Opdracht
Tabel 44. RECEIVE_RF_DATA-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
OntvangRFConfig | 1 byte | Configuratie van de functie ReceiverRFConfig. Zien Tabel 45 |
Tabel 45. OntvangenRFConfig-bitmasker
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Beschrijving |
Bits 4 – 7 zijn RFU | ||||||||
X | Neem RX-gegevens op als reactie op basis van RX_STATUS, als bit is ingesteld op 1b. | |||||||
X | Neem het EVENT_STATUS-register op in het antwoord, als bit is ingesteld op 1b. | |||||||
X | Neem het RX_STATUS_ERROR-register op als reactie, als bit is ingesteld op 1b. | |||||||
X | Neem het RX_STATUS-register op als reactie, als bit is ingesteld op 1b. |
4.5.3.4.2 Reactie
Tabel 46. RECEIVE_RF_DATA-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCES PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) PN5190_STATUS_TIMEOUT |
Laadvermogenveld | Lengte | Waarde/beschrijving |
PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
||
RX_STATUS | 4 Bytes | Als RX_STATUS wordt gevraagd (little-endian) |
RX_STATUS_ERROR | 4 Bytes | Als RX_STATUS_ERROR wordt aangevraagd (little-endian) |
EVENEMENTSTATUS | 4 Bytes | Als EVENT_STATUS wordt aangevraagd (little-endian) |
RX-gegevens | 1 – 1024 bytes | Als RX-gegevens worden opgevraagd. RX-gegevens ontvangen via RF. |
4.5.3.4.3 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (FeliCa EMD-configuratie)
Deze instructie wordt gebruikt om gegevens te lezen uit de interne CLIF RX-buffer, die FeliCa EMD-antwoordgegevens (indien aanwezig) bevat die ernaar zijn gepost na de vorige uitvoering van de EXCHANGE_RF_DATA-opdracht die terugkeert met de status 'PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR'.
Opmerking: Deze opdracht is beschikbaar vanaf PN5190 FW v02.03.
4.5.3.5.1 Opdracht
Lees RX-gegevens uit de interne RF-ontvangstbuffer.
Tabel 47. RETRIEVE_RF_FELICA_EMD_DATA-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | |
FeliCaRFRetrieveConfig | 1 byte | 00 – FF | Configuratie van de functie RETRIEVE_RF_FELICA_EMD_DATA |
configuratie (bitmasker) beschrijving | bit 7..2: RFU bit 1: Neem het RX_STATUS_ ERROR-register op als reactie, als bit is ingesteld op 1b. bit 0: Neem het RX_STATUS-register op als reactie, als bit is ingesteld op 1b. |
4.5.3.5.2 Reactie
Tabel 48. RETRIEVE_RF_FELICA_EMD_DATA-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | |||
Staat | 1 byte | Status van de operatie. De verwachte waarden zijn als volgt: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) | |||
RX_STATUS | 4 byte | Als RX_STATUS wordt gevraagd (little-endian) | |||
RX_STATUS_FOUT | 4 byte | Als RX_STATUS_ERROR wordt aangevraagd (little-endian) |
Laadvermogenveld | Lengte | Waarde/beschrijving | |||
RX-gegevens | 1…1024 Bytes | FeliCa EMD RX-gegevens die zijn ontvangen tijdens de laatste mislukte RF-ontvangst met behulp van Exchange Command. |
4.5.3.5.3 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.4 Van bedrijfsmodus wisselen
PN5190 ondersteunt 4 verschillende bedrijfsmodi:
4.5.4.1 Normaal
Dit is de standaardmodus, waarin alle instructies zijn toegestaan.
4.5.4.2 Stand-by
De PN5190 bevindt zich in de stand-by-/slaapstand om energie te besparen. Er moeten wekvoorwaarden worden ingesteld om te definiëren wanneer de stand-by weer moet worden verlaten.
4.5.4.3 LPCD
De PN5190 bevindt zich in de kaartdetectiemodus met laag energieverbruik, waarbij hij probeert een kaart te detecteren die het bedrijfsvolume binnengaat, met het laagst mogelijke stroomverbruik.
4.5.4.4 Autocoll
PN5190 fungeert als RF-luisteraar en voert autonoom activering van de doelmodus uit (om real-time beperkingen te garanderen)
4.5.4.5 SWITCH_MODE_NORMAAL
De opdracht Schakelmodus Normaal heeft drie gebruiksscenario's.
4.5.4.5.1 UseCase1: Ga naar de normale bedrijfsmodus bij het opstarten (POR)
Gebruik deze optie om te resetten naar de inactieve status voor het ontvangen/verwerken van de volgende opdracht door naar de normale bedrijfsmodus te gaan.
4.5.4.5.2 UseCase2: Beëindigen van een reeds lopende opdracht om over te schakelen naar de normale bedrijfsmodus (opdracht afbreken)
Gebruik deze optie om de inactieve status te herstellen voor het ontvangen/verwerken van de volgende opdracht, door de reeds lopende opdrachten te beëindigen.
Commando's zoals stand-by, LPCD, Exchange, PRBS en Autocoll kunnen met dit commando worden beëindigd.
Dit is het enige speciale commando dat geen antwoord geeft. In plaats daarvan heeft het een EVENT-melding.
Raadpleeg Paragraaf 4.4.3 voor meer informatie over het type gebeurtenissen dat optreedt tijdens de uitvoering van verschillende onderliggende opdrachten.
4.5.4.5.2.1 UseCase2.1:
Met deze opdracht worden alle CLIF TX-, RX- en veldcontroleregisters teruggezet naar de opstartstatus. Als u dit commando geeft, wordt elk bestaand RF-veld UITGESCHAKELD.
4.5.4.5.2.2 UseCase2.2:
Beschikbaar vanaf PN5190 FW v02.03:
Dit commando zal de CLIF TX-, RX- en veldcontroleregisters niet wijzigen, maar zal de zendontvanger alleen naar de IDLE-status verplaatsen.
4.5.4.5.3 UseCase3: Normale bedrijfsmodus bij zachte reset/verlaten uit stand-by, LPCD In dit geval gaat de PN5190 direct over naar de normale bedrijfsmodus, door de IDLE_EVENT naar de host te sturen (Afbeelding 12 of Afbeelding 13) en “ IDLE_EVENT”-bit is ingesteld in Tabel 11.
Er is geen vereiste om de opdracht SWITCH_MODE_NORMAL te verzenden.
Opmerking:
Nadat het IC naar de normale modus is geschakeld, worden alle RF-instellingen gewijzigd naar de standaardstatus. Het is absoluut noodzakelijk dat de respectievelijke RF-configuratie en andere gerelateerde registers met de juiste waarden worden geladen voordat een RF ON- of RF Exchange-bewerking wordt uitgevoerd.
4.5.4.5.4 Commandoframe dat moet worden verzonden voor verschillende gebruiksscenario's
4.5.4.5.4.1 UseCase1: Commando gaat naar normale bedrijfsmodus bij opstarten (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: Commando voor het beëindigen van reeds lopende commando's om over te schakelen naar de normale bedrijfsmodus
Gebruiksgeval 2.1:
0x20 0x00 0x00
Gebruiksscenario 2.2: (Vanaf FW v02.02):
0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: Commando voor normale bedrijfsmodus bij zachte reset/verlaten uit stand-by, LPCD, ULPCD
Geen. PN5190 gaat direct naar de normale bedrijfsmodus.
4.5.4.5.5 Reactie
Geen
4.5.4.5.6 Event
Er wordt een BOOT_EVENT (in het EVENT_STATUS-register) ingesteld, wat aangeeft dat de normale modus wordt geopend en naar de host wordt verzonden. Raadpleeg Figuur 12 en Figuur 13 voor de gebeurtenisgegevens.
Er wordt een IDLE_EVENT (in het EVENT_STATUS-register) ingesteld, wat aangeeft dat de normale modus wordt geopend en naar de host wordt verzonden. Raadpleeg Figuur 12 en Figuur 13 voor de gebeurtenisgegevens.
Er wordt een BOOT_EVENT (in het EVENT_STATUS-register) ingesteld, wat aangeeft dat de normale modus wordt geopend en naar de host wordt verzonden. Raadpleeg Figuur 12 en Figuur 13 voor de gebeurtenisgegevens.
4.5.4.6 SWITCH_MODE_AUTOCOLL
De Switch Mode Autocoll voert automatisch de kaartactivatieprocedure uit in de doelmodus.
Het veld 'Autocoll Mode' moet tussen 0 en 2 liggen.
Als het veld 'Autocoll-modus' is ingesteld op 2 (Autocoll): moet het veld 'RF-technologieën' (tabel 50) een bitmasker bevatten dat aangeeft welke RF-technologieën moeten worden ondersteund tijdens Autocoll.
In deze modus mogen er geen instructies worden verzonden.
Beëindiging wordt aangegeven met een interrupt.
4.5.4.6.1 Opdracht
Tabel 49. SWITCH_MODE_AUTOCOLL-opdrachtwaarde
Parameter | Lengte | Waarde/beschrijving | |
RF-technologieën | 1 byte | Bitmasker dat de RF-technologie aangeeft waarnaar moet worden geluisterd tijdens Autocoll. | |
Autocoll-modus | 1 byte | 0 | Geen autonome modus, dat wil zeggen dat Autocoll wordt beëindigd wanneer er geen extern RF-veld aanwezig is. |
Beëindiging in geval van | |||
• GEEN RF-VELD of RF-VELD is verdwenen | |||
• PN5190 is GEACTIVEERD in de TARGET-modus | |||
1 | Autonome modus met stand-by. Als er geen RF-veld aanwezig is, gaat Autocoll automatisch naar de standby-modus. Zodra het externe RF-veld wordt gedetecteerd, gaat de PN5190 opnieuw naar de Autocoll-modus. | ||
Beëindiging in geval van | |||
• PN5190 is GEACTIVEERD in de TARGET-modus | |||
Vanaf PN5190 FW v02.03 verder: Als het EEPROM-veld “bCard ModeUltraLowPowerEnabled” op adres '0xCDF' is ingesteld op '1', dan gaat de PN5190 over op de ultra low-power standby. | |||
2 | Autonome modus zonder stand-by. Wanneer er geen RF-veld aanwezig is, wacht PN5190 totdat het RF-veld aanwezig is voordat het Autocoll-algoritme wordt gestart. Stand-by wordt in dit geval niet gebruikt. | ||
Beëindiging in geval van • PN5190 is GEACTIVEERD in de TARGET-modus |
Tabel 50. Bitmasker van RF-technologieën
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Beschrijving |
0 | 0 | 0 | 0 | RFU's | ||||
X | Indien ingesteld op 1b, is het luisteren naar NFC-F Actief ingeschakeld. (Niet beschikbaar). | |||||||
X | Indien ingesteld op 1b, is het luisteren naar NFC-A Actief ingeschakeld. (Niet beschikbaar). | |||||||
X | Indien ingesteld op 1b, is het luisteren naar NFC-F ingeschakeld. | |||||||
X | Indien ingesteld op 1b, is het luisteren naar NFC-A ingeschakeld. |
4.5.4.6.2 Reactie
Het antwoord geeft alleen aan dat de opdracht is verwerkt.
Tabel 51. SWITCH_MODE_AUTOCOLL-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCES PN5190_STATUS_INSTR_ERROR (Schakelmodus is niet geactiveerd vanwege verkeerde instellingen) |
4.5.4.6.3 Event
De gebeurtenismelding wordt verzonden wanneer de opdracht is voltooid en de normale modus wordt geactiveerd. De host zal de antwoordbytes uitlezen op basis van de gebeurteniswaarde.
Opmerking:
Wanneer de status niet “PN5190_STATUS_INSTR_SUCCESS” is, zijn de verdere databytes “Protocol” en “Card_Activated” niet aanwezig.
Technologie-informatie wordt uit de registers opgehaald met behulp van de opdrachten uit Paragraaf 4.5.1.5, Paragraaf 4.5.1.6.
De volgende tabel toont de gebeurtenisgegevens die worden verzonden als onderdeel van het gebeurtenisbericht Afbeelding 12 en Afbeelding 13.
Tabel 52. EVENT_SWITCH_MODE_AUTOCOLL – AUTOCOLL_EVENT-gegevens Schakelmodus Autocoll-gebeurtenis
Laadvermogenveld | Lengte | Waarde/beschrijving | |
Staat | 1 byte | Status van de operatie | |
PN5190_STATUS_INSTR_SUCCES | PN5190 is GEACTIVEERD in de TARGET-modus. Verdere gegevens in dit geval zijn geldig. |
||
PN5190_STATUS_PREVENT_STANDBY | Geeft aan dat de PN5190 niet in de standby-modus kan gaan. Deze status is alleen geldig als de Autocoll-modus is geselecteerd als “Autonome modus met stand-by”. |
PN5190_STATUS_NO_EXTERNAL_RF_ VELD | Geeft aan dat er geen extern RF-veld aanwezig is tijdens de uitvoering van Autocoll in de niet-autonome modus | ||
PN5190_STATUS_USER_CANCELLED | Geeft aan dat het huidige lopende commando wordt afgebroken door het normale commando voor de schakelmodus | ||
Protocol | 1 byte | 0x10 | Geactiveerd als Passief TypeA |
0x11 | Geactiveerd als Passief TypeF 212 | ||
0x12 | Geactiveerd als Passief TypeF 424 | ||
0x20 | Geactiveerd als Actief TypeA | ||
0x21 | Geactiveerd als Actief TypeF 212 | ||
0x22 | Geactiveerd als Actief TypeF 424 | ||
Andere waarden | Ongeldig | ||
Kaart_geactiveerd | 1 byte | 0x00 | Geen kaartactivatieproces volgens ISO 14443-3 |
0x01 | Geeft aan dat het apparaat is geactiveerd in de passieve modus |
Opmerking:
Na het lezen van de gebeurtenisgegevens moeten de gegevens die zijn ontvangen van de kaart/het apparaat dat is geactiveerd (zoals 'n' bytes van ATR_REQ/RATS volgens ISO18092/ISO1443-4), worden gelezen met behulp van de opdracht uit paragraaf 4.5.3.3.
4.5.4.6.4 Communicatie bijvample
4.5.4.7 SWITCH_MODE_STANDBY
De Switch Mode Standby zet de IC automatisch in de standby-modus. De IC wordt wakker nadat geconfigureerde ontwaakbronnen aan de ontwaakvoorwaarden voldoen.
Opmerking:
Tegenvervaldatum voor ULP STANDBY en HIF abort voor STANDBY zijn standaard beschikbaar om de stand-bymodus te verlaten.
4.5.4.7.1 Opdracht
Tabel 53. SWITCH_MODE_STANDBY-opdrachtwaarde
Parameter | Lengte | Waarde/beschrijving |
Configuratie | 1 byte | Bitmasker dat de wekbron bestuurt die moet worden gebruikt en de stand-bymodus die moet worden ingeschakeld. Verwijzen naar Tabel 54 |
Tegenwaarde | 2 Bytes | Gebruikte waarde voor wake-upteller in milliseconden. Maximale ondersteunde waarde is 2690 voor standby. Maximale ondersteunde waarde is 4095 voor ULP standby. De te verstrekken waarde is in little-endian-formaat. De inhoud van deze parameter is alleen geldig als de “Config Bitmask” is ingeschakeld voor ontwaken bij het verlopen van de teller. |
Tabel 54. Bitmasker configureren
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Beschrijving |
X | Ga naar ULP-standby als bit is ingesteld op 1b. Ga naar stand-by als bit is ingesteld op 0b. | |||||||
0 | RFU's | |||||||
X | Wake-up op GPIO-3 wanneer deze hoog is, als bit is ingesteld op 1b. (Niet van toepassing op ULP-stand-by) | |||||||
X | Wake-up op GPIO-2 wanneer deze hoog is, als bit is ingesteld op 1b. (Niet van toepassing op ULP-stand-by) | |||||||
X | Wake-up op GPIO-1 wanneer deze hoog is, als bit is ingesteld op 1b. (Niet van toepassing op ULP-stand-by) | |||||||
X | Wake-up op GPIO-0 wanneer deze hoog is, als bit is ingesteld op 1b. (Niet van toepassing op ULP-stand-by) | |||||||
X | Wake-up on wake-up-teller vervalt als bit is ingesteld op 1b. Voor ULP-Standby is deze optie standaard ingeschakeld. | |||||||
X | Wekken op extern RF-veld, als bit is ingesteld op 1b. |
Opmerking: Vanaf PN5190 FW v02.03 kan, als het EEPROM-veld “CardModeUltraLowPowerEnabled” op adres '0xCDF' is ingesteld op '1', de ULP-stand-byconfiguratie niet worden gebruikt met de SWITCH_MODE_STANDBY-opdracht.
4.5.4.7.2 Reactie
Het antwoord geeft alleen aan dat de opdracht is verwerkt en de standby-status wordt pas bereikt nadat het antwoord volledig door de host is gelezen.
Tabel 55. SWITCH_MODE_STANDBY responswaarde Schakel bedrijfsmodus stand-by
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCES PN5190_STATUS_INSTR_ERROR (Schakelmodus is niet geactiveerd – vanwege verkeerde instellingen) |
4.5.4.7.3 Event
De gebeurtenismelding wordt verzonden wanneer de opdracht is voltooid en de normale modus wordt geactiveerd. Raadpleeg het formaat van de gebeurtenis die wordt verzonden na voltooiing van de opdracht, zoals in Afbeelding 12 en Afbeelding 13.
In het geval dat de PN5190 niet in de standby-modus kan gaan, wordt de gebeurtenis “STANDBY_PREV_EVENT”-bit ingesteld in EVENT_STATUS zoals vermeld in Tabel 11 naar de host verzonden op basis van de reden van standby-preventie zoals vermeld in Tabel 13.
4.5.4.7.4 Communicatie Example
4.5.4.8 SCHAKELMODUS_LPCD
De Switch Mode LPCD voert een ontstemmingsdetectie uit op de antenne als gevolg van de veranderende omgeving rond de antenne.
Er zijn twee verschillende LPCD-modi. De HW-gebaseerde (ULPCD) oplossing biedt een concurrerend stroomverbruik met een verminderde gevoeligheid. De op FW gebaseerde (LPCD) oplossing biedt de beste gevoeligheid in zijn klasse met een hoger stroomverbruik.
In de Single Mode van FW-gebaseerd (LPCD) wordt er geen kalibratiegebeurtenis naar de host verzonden.
Wanneer de Single-modus wordt geactiveerd, worden kalibratie en opeenvolgende metingen allemaal uitgevoerd nadat de stand-by wordt verlaten.
Voor een kalibratiegebeurtenis in de enkele modus geeft u eerst de enkele modus op met het kalibratiegebeurteniscommando. Na kalibratie wordt een LPCD-kalibratiegebeurtenis ontvangen, waarna het commando voor de enkele modus moet worden verzonden met de referentiewaarde verkregen uit de vorige stap als invoerparameter.
De configuratie van de LPCD wordt uitgevoerd in de EEPROM/Flash Data-instellingen voordat het commando wordt aangeroepen.
Opmerking:
GPIO3-afbreken voor ULPCD en HIF-afbreken voor LPCD zijn standaard beschikbaar om de energiebesparende modi te verlaten.
Wekken vanwege het verlopen van de teller is altijd ingeschakeld.
Voor ULPCD moet de DC-DC-configuratie worden uitgeschakeld in de EEPROM/Flash Data-instellingen en moet VUP-voeding via VBAT worden geleverd. De noodzakelijke jumperinstellingen moeten worden gemaakt. Raadpleeg document [2] voor instellingen voor EEPROM/Flash Data.
Als de opdracht voor LPCD/ULPCD-kalibratie is, moet de host nog steeds het volledige frame verzenden.
4.5.4.8.1 Opdracht
Tabel 56. SWITCH_MODE_LPCD-opdrachtwaarde
Parameter | Lengte | Waarde/beschrijving | |
bControle | 1 byte | 0x00 | Voer ULPCD-kalibratie in. Opdracht stopt na kalibratie en een gebeurtenis met referentiewaarde wordt naar de host verzonden. |
0x01 | Voer ULPCD in | ||
0x02 | LPCD-kalibratie. Het commando stopt na kalibratie en een gebeurtenis met referentiewaarde wordt naar de host verzonden. | ||
0x03 | Voer LPCD in | ||
0x04 | Enkele modus | ||
0x0C | Enkele modus met kalibratiegebeurtenis | ||
Andere waarden | RFU's | ||
Wekcontrole | 1 byte | Bitmasker dat de ontwaakbron bestuurt die moet worden gebruikt voor LPCD/ULPCD. De inhoud van dit veld wordt niet in aanmerking genomen voor kalibratie. Verwijzen naar Tabel 57 | |
Referentiewaarde | 4 Bytes | Referentiewaarde die moet worden gebruikt tijdens ULPCD/LPCD. Voor ULPCD wordt byte 2, die de HF-verzwakkerwaarde bevat, gebruikt tijdens zowel de kalibratie- als de meetfase. Voor LPCD wordt de inhoud van dit veld niet in aanmerking genomen voor kalibratie en Single-modus. Verwijzen naar Tabel 58 voor de juiste informatie over alle 4 bytes. |
|
Tegenwaarde | 2 Bytes | Waarde voor de wekteller in milliseconden. De maximaal ondersteunde waarde is 2690 voor LPCD. De maximaal ondersteunde waarde is 4095 voor ULPCD. De op te geven waarde heeft de indeling Little-endian. De inhoud van dit veld wordt niet in aanmerking genomen voor LPCD-kalibratie. Voor enkele modus en enkele modus met kalibratiegebeurtenis kan de duur van de stand-by vóór kalibratie worden geconfigureerd via de EEPROM-configuratie: LPCD_SETTINGS->wCheck Period. Voor enkelvoudige modus met kalibratie mag de WUC-waarde niet nul zijn. |
Tabel 57. Bitmasker voor wekcontrole
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Beschrijving |
0 | 0 | 0 | 0 | 0 | 0 | 0 | RFU's | |
X | Wekken op extern RF-veld, als bit is ingesteld op 1b. |
Tabel 58. Referentiewaarde byte-info
Referentiewaardebytes | ULPCD | LPCD |
Byte 0 | Referentiebyte 0 | Kanaal 0 Referentiebyte 0 |
Byte 1 | Referentiebyte 1 | Kanaal 0 Referentiebyte 1 |
Byte 2 | HF-verzwakkerwaarde | Kanaal 1 Referentiebyte 0 |
Byte 3 | NA | Kanaal 1 Referentiebyte 1 |
4.5.4.8.2 Reactie
Tabel 59. SWITCH_MODE_LPCD-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCES PN5190_STATUS_INSTR_ERROR (Schakelmodus is niet geactiveerd – vanwege verkeerde instellingen) |
4.5.4.8.3 Event
De gebeurtenismelding wordt verzonden wanneer de opdracht is voltooid en de normale modus wordt geopend met de volgende gegevens als onderdeel van de gebeurtenis vermeld in Afbeelding 12 en Afbeelding 13.
Tabel 60. EVT_SWITCH_MODE_LPCD
Laadvermogenveld | Lengte | Waarde/beschrijving |
LPCD-status | Raadpleeg Tabel 15 | Raadpleeg Tabel 154.5.4.8.4 Communicatie Example |
4.5.4.9 SWITCH_MODE_DOWNLOAD
Met de opdracht Switch Mode Download wordt de Firmware-downloadmodus geactiveerd.
De enige manier om uit de downloadmodus te komen, is door een reset uit te voeren naar PN5190.
4.5.4.9.1 Opdracht
Tabel 61. SWITCH_MODE_DOWNLOAD-opdrachtwaarde
Parameter | Lengte | Waarde/beschrijving |
– | – | Geen waarde |
4.5.4.9.2 Reactie
Het antwoord geeft alleen aan dat de opdracht is verwerkt en dat de downloadmodus wordt geactiveerd nadat het antwoord door de host is gelezen.
Tabel 62. SWITCH_MODE_DOWNLOAD-antwoordwaarde
Bedrijfsmodus wijzigen Autocoll
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Schakelmodus is niet geactiveerd) |
4.5.4.9.3 Event
Geen gebeurtenisgeneratie.
4.5.4.9.4 Communicatie Example
4.5.5 MIFARE Klassieke authenticatie
4.5.5.1 MFC_AUTHENTICATE
Deze instructie wordt gebruikt om een MIFARE Classic Authenticatie uit te voeren op een geactiveerde kaart. Er zijn de sleutel, de kaart-UID en het sleuteltype nodig om te authenticeren op een bepaald blokadres. Het antwoord bevat één byte die de authenticatiestatus aangeeft.
4.5.5.1.1 Voorwaarden
Veldsleutel moet 6 bytes lang zijn. Veldsleuteltype moet de waarde 0x60 of 0x61 bevatten. Blokadres kan elk adres van 0x0 tot en met 0xff bevatten. Veld-UID moet bytes lang zijn en moet de 4 bytes UID van de kaart bevatten. Een ISO14443-3 MIFARE Classic-productgebaseerde kaart moet vóór uitvoering van deze instructie in de status ACTIEF of ACTIEF* worden gezet.
In het geval van een runtimefout gerelateerd aan de authenticatie, wordt dit veld 'Authenticatiestatus' overeenkomstig ingesteld.
4.5.5.1.2 Opdracht
Tabel 63. MFC_AUTHENTICATE-opdracht
Voer authenticatie uit op een geactiveerde MIFARE Classic-productgebaseerde kaart.
Laadvermogenveld | Lengte | Waarde/beschrijving | |
Sleutel | 6 Bytes | Authenticatiesleutel die moet worden gebruikt. | |
Sleuteltype | 1 byte | 0x60 | Sleuteltype A |
0x61 | Sleuteltype B | ||
Blokkeer adres | 1 byte | Het adres van het blok waarvoor de authenticatie moet worden uitgevoerd. | |
UID | 4 Bytes | UID van de kaart. |
4.5.5.1.3 Reactie
Tabel 64. MFC_AUTHENTICATE-antwoord
Reactie op MFC_AUTHENTICATE.
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR |
4.5.5.1.4 Event
Er is geen evenement voor deze instructie.
4.5.6 ISO 18000-3M3 (EPC GEN2) Ondersteuning
4.5.6.1 EPC_GEN2_INVENTORIE
Deze instructie wordt gebruikt om een inventarisatie van ISO18000-3M3 uit te voeren tags. Het implementeert een autonome uitvoering van verschillende opdrachten volgens ISO18000-3M3 om de door die norm gespecificeerde timings te garanderen.
Indien aanwezig in de payload van de instructie, wordt eerst een Select-commando uitgevoerd, gevolgd door een BeginRound-commando.
Als er een geldig antwoord is in het eerste tijdslot (geen time-out, geen botsing), verzendt de instructie een ACK en slaat de ontvangen PC/XPC/UII op. De instructie voert vervolgens een actie uit volgens het veld 'Timeslot Processed Behavior':
- Als dit veld is ingesteld op 0, wordt een NextSlot-opdracht gegeven om het volgende tijdslot af te handelen. Dit wordt herhaald totdat de interne buffer vol is
- Als dit veld is ingesteld op 1, pauzeert het algoritme
- Als dit veld is ingesteld op 2, wordt een Req_Rn-opdracht gegeven als en alleen als er een geldige tag reactie in dit tijdslotCommand
Het veld 'Select Command Length' moet de lengte van het veld 'Select Command Length' bevatten, en moet tussen 1 en 39 liggen. Als 'Select Command Length' 0 is, mogen de velden 'Geldige bits in laatste byte' en 'Select Command' niet aanwezig zijn.
Het veld Bits in laatste Byte moet het aantal bits bevatten dat moet worden verzonden in de laatste byte van het veld 'Select Command'. De waarde moet binnen het bereik van 1 tot en met 7 liggen. Als de waarde 0 is, worden alle bits van de laatste byte uit het veld 'Select Command' verzonden.
Het veld 'Select Command' dient een Select commando te bevatten volgens ISO18000-3M3 zonder CRC-16c achteraan en moet dezelfde lengte hebben als aangegeven in veld 'Select Command Length'.
Veld 'BeginRound Command' moet een BeginRound-commando bevatten volgens ISO18000-3M3 zonder CRC-5 achter te laten. De laatste 7 bits van de laatste byte van 'BeginRound Command' worden genegeerd omdat het commando een werkelijke lengte van 17 bits heeft.
'Timeslot Processed Behavior' moet een waarde van 0 t/m 2 bevatten.
Tabel 65. EPC_GEN2_INVENTORY-opdrachtwaarde Voer een ISO 18000-3M3-inventarisatie uit
Laadvermogenveld | Lengte | Waarde/beschrijving | |
HervattenInventaris | 1 byte | 00 | Initiële GEN2_INVENTORY |
01 | Hervat de opdracht GEN2_INVENTORY – de resterende
onderstaande velden zijn leeg (elke payload wordt genegeerd) |
||
Selecteer Commandolengte | 1 byte | 0 | Er is geen Select-commando ingesteld voorafgaand aan het BeginRound-commando. Het veld 'Geldige bits in laatste byte' en het veld 'Selecteer opdracht' mogen niet aanwezig zijn. |
1 – 39 | Lengte (n) van het veld 'Selecteer opdracht'. | ||
Geldige bits in laatste byte | 1 byte | 0 | Alle bits van de laatste byte van het veld 'Selecteer commando' worden verzonden. |
1 – 7 | Aantal bits dat moet worden verzonden in de laatste byte van het veld 'Selecteer commando'. | ||
Selecteer Commando | n Bytes | Indien aanwezig bevat dit veld het Select-commando (volgens ISO18000-3, Tabel 47) dat voorafgaand aan het BeginRound-commando wordt verzonden. CRC-16c wordt niet opgenomen. | |
Commando BeginRound | 3 Bytes | Dit veld bevat de opdracht BeginRound (volgens ISO18000-3, Tabel 49). CRC-5 wordt niet opgenomen. | |
Tijdslot verwerkt gedrag | 1 byte | 0 | Reactie bevat max. Aantal tijdslots dat in de responsbuffer past. |
1 | Het antwoord bevat slechts één tijdslot. | ||
2 | Het antwoord bevat slechts één tijdslot. Als het tijdslot een geldig kaartantwoord bevat, is ook de kaarthandle inbegrepen. |
4.5.6.1.1 Reactie
De lengte van het antwoord kan “1” zijn in het geval van een CV-inventaris.
Tabel 66. EPC_GEN2_INVENTORY-antwoordwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | |||
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: | |||
PN5190_STATUS_SUCCESS (Lees tijdslotstatus in volgende byte voor Tag antwoord) PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
|||||
Tijdslot [1…n] | 3 – 69 bytes | Tijdslotstatus | 1 byte | 0 | Tag reactie beschikbaar. 'Tag Antwoordlengte', veld 'Geldige bits in laatste byte' en 'Tag 'antwoord'-veld aanwezig. |
1 | Tag reactie beschikbaar. | ||||
2 | Nee tag antwoordde in tijdslot. 'Tag Antwoordlengte'-veld en 'Geldige bits in laatste byte'-veld, worden op nul gezet. 'Tag antwoord'-veld mag niet aanwezig zijn. | ||||
3 | Twee of meer tags reageerde in het tijdslot. (Botsing). 'Tag Antwoordlengte'-veld en 'Geldige bits in laatste byte'-veld, worden op nul gezet. 'Tag antwoord'-veld mag niet aanwezig zijn. |
Tag Antwoordlengte | 1 byte | 0-66 | Lengte van 'Tag Antwoordveld (i). Als Tag Antwoordlengte is 0, daarna de Tag Antwoordveld is niet aanwezig. | ||
Geldige bits in laatste byte | 1 byte | 0 | Alle bits van de laatste byte van 'Tag antwoord' veld zijn geldig. | ||
1-7 | Aantal geldige bits van de laatste byte van 'Tag antwoord' veld. Als Tag Antwoordlengte is nul, de waarde van deze byte wordt genegeerd. | ||||
Tag Antwoord | 'n' Bytes | Antwoord van de tag volgens ISO18000-3_2010, Tabel 56. | |||
Tag Hendel | 0 of 2 bytes | Handvat van de tag, als het veld 'Tijdslotstatus' is ingesteld op '1'. Anders is veld niet aanwezig. |
4.5.6.1.2 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.7 RF-configuratiebeheer
Raadpleeg Sectie 6 voor TX- en RX-configuratie voor verschillende RF-technologieën en gegevenssnelheden die worden ondersteund door PN5190. De waarden zijn niet aanwezig in het hieronder genoemde bereik en moeten worden beschouwd als RFU.
4.5.7.1 LOAD_RF_CONFIGURATIE
Deze instructie wordt gebruikt om de RF-configuratie van EEPROM in interne CLIF-registers te laden. RF-configuratie verwijst naar een unieke combinatie van RF-technologie, modus (doel/initiator) en baudrate. RF-configuratie kan afzonderlijk worden geladen voor het CLIF-ontvangerpad (RX-configuratie) en het zenderpad (TX-configuratie). De waarde 0xFF moet worden gebruikt als de overeenkomstige configuratie voor een pad niet mag worden gewijzigd.
4.5.7.1.1 Voorwaarden
Veld 'TX Configuration' moet in het bereik van 0x00 – 0x2B, inclusief, liggen. Als de waarde 0xFF is, wordt de TX-configuratie niet gewijzigd.
Veld 'RX Configuration' moet in het bereik van 0x80 – 0xAB, inclusief, liggen. Als de waarde 0xFF is, wordt de RX-configuratie niet gewijzigd.
Er wordt een speciale configuratie met TX-configuratie = 0xFF en RX-configuratie = 0xAC gebruikt om de opstartregisters eenmalig te laden.
Deze speciale configuratie is vereist om de registerconfiguraties (zowel TX als RX) bij te werken die verschillen van de IC-resetwaarden.
4.5.7.1.2 Opdracht
Tabel 67. Waarde van de opdracht LOAD_RF_CONFIGURATION
Laad RF TX- en RX-instellingen vanuit E2PROM.
Laadvermogenveld | Lengte | Waarde/beschrijving | |
TX-configuratie | 1 byte | 0xFF | TX RF-configuratie niet gewijzigd. |
0x0 – 0x2B | Overeenkomstige TX RF-configuratie geladen. | ||
RX-configuratie | 1 byte | 0xFF | RX RF-configuratie niet gewijzigd. |
0x80 – 0xAB | Overeenkomstige RX RF-configuratie geladen. |
4.5.7.1.3 Reactie
Tabel 68. LOAD_RF_CONFIGURATION-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCES PN5190_STATUS_INSTR_ERROR |
4.5.7.1.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.7.2 UPDATE_RF_CONFIGURATIE
Deze instructie wordt gebruikt om de RF-configuratie (zie definitie in Sectie 4.5.7.1) binnen E2PROM bij te werken. De instructie staat het bijwerken toe op registergranulariteitswaarde, d.w.z. niet de volledige set hoeft te worden bijgewerkt (hoewel het wel mogelijk is om dit te doen).
4.5.7.2.1 Voorwaarden
De grootte van de veldarrayconfiguratie moet in het bereik van 1 - 15 liggen, inclusief. De veldarrayconfiguratie moet een set RF-configuratie, registeradres en waarde bevatten. De veld-RF-configuratie moet in het bereik van 0x0 - 0x2B liggen voor TX-configuratie en 0x80 - 0xAB voor de RX-configuratie, inclusief. Het adres binnen veld Registeradres moet bestaan binnen de betreffende RF-configuratie. Veldwaarde moet een waarde bevatten die in het opgegeven register moet worden geschreven en moet 4 bytes lang zijn (little-endian-indeling).
4.5.7.2.2 Opdracht
Tabel 69. Waarde van de opdracht UPDATE_RF_CONFIGURATION
Werk de RF-configuratie bij
Laadvermogenveld | Lengte | Waarde/beschrijving | ||
Configuratie[1…n] | 6 Bytes | RF-configuratie | 1 byte | RF-configuratie waarvan het register moet worden gewijzigd. |
Adres registreren | 1 byte | Registreer adres binnen de gegeven RF-technologie. | ||
Waarde | 4 Bytes | Waarde die in het register moet worden geschreven. (Little-endian) |
4.5.7.2.3 Reactie
Tabel 70. UPDATE_RF_CONFIGURATION-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.7.2.4 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.7.3 GET_RF_CONFIGURATIE
Deze instructie wordt gebruikt om een RF-configuratie uit te lezen. De registeradres-waarde-paren zijn beschikbaar in de respons. Om te weten hoeveel paren er verwacht kunnen worden, kan de eerste grootte-informatie worden opgehaald uit de eerste TLV, die de totale lengte van de payload aangeeft.
4.5.7.3.1 Voorwaarden
De RF-configuratie van het veld moet binnen het bereik van 0x0 – 0x2B liggen voor de TX-configuratie en 0x80 –0xAB voor de RX-configuratie, inclusief.
4.5.7.3.2 Opdracht
Tabel 71. Waarde van de opdracht GET_ RF_CONFIGURATION Haal de RF-configuratie op.
Laadvermogenveld | Lengte | Waarde/beschrijving |
RF-configuratie | 1 byte | RF-configuratie waarvoor de set registerwaardeparen moet worden opgehaald. |
4.5.7.3.3 Reactie
Tabel 72. GET_ RF_CONFIGURATION Responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | ||
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
||||
Paar[1…n] | 5 Bytes | Adres registreren | 1 byte | Registreer adres binnen de gegeven RF-technologie. |
Waarde | 4 Bytes | 32-bits registerwaarde. |
4.5.7.3.4 Event
Er is geen gebeurtenis voor de instructie.
4.5.8 RF-veldverwerking
4.5.8.1 RF_AAN
Deze instructie wordt gebruikt om RF on in te schakelen. De DPC-regeling bij initiële FieldOn wordt in deze opdracht afgehandeld.
4.5.8.1.1 Opdracht
Tabel 73. RF_FIELD_ON-opdrachtwaarde
Configureer RF_FIELD_ON.
Laadvermogenveld | Lengte | Waarde/beschrijving | ||
RF_op_configuratie | 1 byte | Stukje 0 | 0 | Gebruik botsingsvermijding |
1 | Botsingsvermijding uitschakelen | |||
Stukje 1 | 0 | Geen P2P actief | ||
1 | P2P actief |
4.5.8.1.2 Reactie
Tabel 74. RF_FIELD_ON-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCES PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (RF-veld is niet ingeschakeld vanwege RF-botsing) PN5190_STATUS_TIMEOUT (RF-veld is niet ingeschakeld vanwege time-out) PN5190_STATUS_TXLDO_ERROR (TXLDO-fout vanwege VUP is niet beschikbaar) PN5190_STATUS_RFCFG_NOT_APPLIED (RF-configuratie is niet toegepast vóór deze opdracht) |
4.5.8.1.3 Event
Er is geen evenement voor deze instructie.
4.5.8.2 RF_UIT
Deze instructie wordt gebruikt om het RF-veld uit te schakelen.
4.5.8.2.1 Opdracht
Tabel 75. RF_FIELD_OFF-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Leeg | Leeg | leeg |
4.5.8.2.2 Reactie
Tabel 76. RF_FIELD_OFF-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
4.5.8.2.3 Event
Er is geen evenement voor deze instructie.
4.5.9 Testbusconfiguratie
De beschikbare testbussignalen op de geselecteerde PAD-configuraties worden ter referentie vermeld in hoofdstuk 7.
Deze moeten worden geraadpleegd voor het verstrekken van de configuratie voor de testbusinstructies zoals hieronder vermeld.
4.5.9.1 CONFIGUREREN _TESTBUS_DIGITAL
Deze instructie wordt gebruikt om het beschikbare digitale testbussignaal op geselecteerde padconfiguraties te schakelen.
4.5.9.1.1 Opdracht
Tabel 77. CONFIGURE_TESTBUS_DIGITAL-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | |
TB_SignaalIndex | 1 byte | Verwijzen naar Sectie 7 | |
TB_BitIndex | 1 byte | Verwijzen naar Sectie 7 | |
TB_PadIndex | 1 byte | De padindex, waarop het digitale signaal wordt uitgevoerd | |
0x00 | AUX1-pin | ||
0x01 | AUX2-pin | ||
0x02 | AUX3-pin | ||
0x03 | GPIO0-pin | ||
0x04 | GPIO1-pin | ||
0x05 | GPIO2-pin | ||
0x06 | GPIO3-pin | ||
0x07-0xFF | RFU's |
4.5.9.1.2 Reactie
Tabel 78. CONFIGURE_TESTBUS_DIGITAL-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
4.5.9.1.3 Event
Er is geen evenement voor deze instructie.
4.5.9.2 CONFIGURE_TESTBUS_ANALOOG
Deze instructie wordt gebruikt om het beschikbare analoge testbussignaal op geselecteerde padconfiguraties te verkrijgen.
Het signaal op de analoge testbus kan in verschillende modi worden verkregen. Deze zijn:
4.5.9.2.1 RAW-modus
In deze modus wordt het signaal dat is gekozen door TB_SignalIndex0 verschoven door Shift_Index0, gemaskeerd met Mask0 en uitgevoerd op AUX1. Op dezelfde manier wordt het signaal dat is gekozen door TB_SignalIndex1 verschoven door Shift_Index1, gemaskeerd met Mask1 en uitgevoerd op AUX2.
Deze modus biedt de klant de flexibiliteit om elk signaal van 8 bits of kleiner uit te voeren, zonder dat er signaalconversie nodig is om het naar de analoge pads uit te voeren.
4.5.9.2.2 GECOMBINEERDE modus
In deze modus wordt het analoge signaal de 10-bits signed ADCI/ADCQ/pcrm_if_rssi-waarde, omgezet naar een unsigned-waarde, teruggeschaald naar 8 bits en vervolgens uitgevoerd op de AUX1- of AUX2-pads.
Er kan op elk moment slechts één van de ADCI/ADCQ (10-bits) geconverteerde waarden naar AUX1/AUX2 worden uitgevoerd.
Als de waarde van het Combined_Mode Signal-payloadveld 2 is (Analoog en Digitaal gecombineerd), dan worden de analoge en digitale testbus gerouteerd via AUX1 (Analoog signaal) en GPIO0 (Digitaal signaal).
De te routeren signalen worden geconfigureerd in het hieronder vermelde EEPROM-adres:
0xCE9 – TB_SignaalIndex
0xCEA – TB_BitIndex
0xCEB – Analoge TB_Index
De testbusindex en de testbusbit moeten in EEPROM worden geconfigureerd voordat we de gecombineerde modus met optie 2 uitgeven.
Opmerking:
De host moet alle velden leveren, ongeacht de toepasbaarheid van het veld in de modus "raw" of "combined". De PN5190 IC houdt alleen rekening met de toepasselijke veldwaarden.
4.5.9.2.3 Opdracht
Tabel 79. CONFIGURE_TESTBUS_ANALOG-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | Veld toepasbaarheid voor gecombineerde modus | |
bConfiguratie | 1 byte | Configureerbare bits. Raadpleeg Tabel 80 | Ja | |
Gecombineerd_Modus Signaal | 1 byte | 0 – ADCI/ADCQ 1 – pcrm_als_rssi |
Ja | |
2 – Analoog en digitaal gecombineerd | ||||
3 – 0xFF –Gereserveerd |
TB_SignaalIndex0 | 1 byte | Signaalindex van het analoge signaal. Raadpleeg Sectie 7 | Ja | |
TB_SignaalIndex1 | 1 byte | Signaalindex van het analoge signaal. Raadpleeg Sectie 7 | Ja | |
Verschuiving_Index0 | 1 byte | DAC0-ingangsverschuivingsposities. De richting wordt bepaald door bit in bConfig[1]. | Nee | |
Verschuiving_Index1 | 1 byte | DAC1-ingangsverschuivingsposities. De richting wordt bepaald door bit in bConfig[2]. | Nee | |
Masker0 | 1 byte | DAC0-masker | Nee | |
Masker1 | 1 byte | DAC1-masker | Nee |
Tabel 80. Configuratiebitmasker
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Beschrijving | Van toepassing op de modus |
X | X | DAC1-uitgangsverschuiving Bereik – 0, 1, 2 | Rauw | ||||||
X | X | DAC0-uitgangsverschuiving Bereik – 0, 1, 2 | Rauw | ||||||
X | In gecombineerde modus, signaal op AUX1/AUX2-pin 0 ➜ Signaal op AUX1 1 ➜ Signaal op AUX2 |
Gecombineerd | |||||||
X | DAC1-ingangsverschuivingsrichting 0 ➜ Verplaats naar rechts 1 ➜ Verschuif naar links |
Rauw | |||||||
X | DAC0-ingangsverschuivingsrichting 0 ➜ Verplaats naar rechts 1 ➜ Verschuif naar links |
Rauw | |||||||
X | Modus. 0 ➜ Ruwe modus 1 ➜ Gecombineerde modus |
Rauw/Gecombineerd |
4.5.9.2.4 Reactie
Tabel 81. CONFIGURE_TESTBUS_ANALOG-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
4.5.9.2.5 Event
Er is geen evenement voor deze instructie.
4.5.9.3 CONFIGUREER_MEERDERE_TESTBUS_DIGITAAL
Deze instructie wordt gebruikt om meerdere beschikbare digitale testbussignalen op geselecteerde padconfiguraties te schakelen.
Opmerking: Als deze lengte NUL is, wordt een digitale testbus GERESET.
4.5.9.3.1 Opdracht
Tabel 82. CONFIGURE_MULTIPLE_TESTBUS_DIGITAL-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | |
TB_SignaalIndex #1 | 1 byte | Verwijzen naar 8 onder | |
TB_BitIndex #1 | 1 byte | Verwijzen naar 8 onder | |
TB_PadIndex #1 | 1 byte | De padindex, waarop het digitale signaal wordt uitgevoerd | |
0x00 | AUX1-pin | ||
0x01 | AUX2-pin | ||
0x02 | AUX3-pin | ||
0x03 | GPIO0-pin | ||
0x04 | GPIO1-pin | ||
0x05 | GPIO2-pin | ||
0x06 | GPIO3-pin | ||
0x07-0xFF | RFU's | ||
TB_SignaalIndex #2 | 1 byte | Verwijzen naar 8 onder | |
TB_BitIndex #2 | 1 byte | Verwijzen naar 8 onder | |
TB_PadIndex #2 | 1 byte | De padindex, waarop het digitale signaal wordt uitgevoerd | |
0x00 | AUX1-pin | ||
0x01 | AUX2-pin | ||
0x02 | AUX3-pin | ||
0x03 | GPIO0-pin | ||
0x04 | GPIO1-pin | ||
0x05 | GPIO2-pin | ||
0x06 | GPIO3-pin | ||
0x07-0xFF | RFU's |
4.5.9.3.2 Reactie
Tabel 83. CONFIGURE_MULTIPLE_TESTBUS_DIGITAL-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 2]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
4.5.9.3.3 Event
Er is geen evenement voor deze instructie.
4.5.10 CTS-configuratie
4.5.10.1 CTS_INSCHAKELEN
Met deze instructie kunt u de CTS-loggingfunctie in- of uitschakelen.
4.5.10.1.1 Opdracht
Tabel 84. Waarde van de opdracht CTS_ENABLE
Lengtewaarde/beschrijving van het payloadveld | ||||
Inschakelen/Uitschakelen | 1 byte | Stukje 0 | 0 | Schakel de CTS-loggingfunctie uit |
1 Schakel de CTS-logfunctie in |
||||
Beetje 1-7 | RFU's |
4.5.10.1.2 Reactie
Tabel 85. CTS_ENABLE-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
4.5.10.1.3 Event
In de onderstaande tabel staan de gebeurtenisgegevens die worden verzonden als onderdeel van het gebeurtenisbericht, zoals weergegeven in Afbeelding 12 en Afbeelding 13.
Tabel 86. Dit informeert de host dat gegevens zijn ontvangen. EVT_CTS_DONE
Laadvermogenveld | Lengte | Waarde/beschrijving |
Evenement | 1 byte | 00 … TRIGGER is opgetreden, de gegevens zijn klaar voor ontvangst. |
4.5.10.2 CTS_CONFIGUREREN
Deze instructie wordt gebruikt om alle vereiste CTS-registers te configureren, zoals triggers, testbusregisters, sampling-configuratie enz.,
Opmerking:
[1] biedt een beter begrip van de CTS-configuratie. De vastgelegde gegevens moeten worden verzonden als onderdeel van het antwoord op de opdracht Sectie 4.5.10.3.
4.5.10.2.1 Opdracht
Tabel 87. Waarde van de opdracht CTS_CONFIGURE
Laadvermogenveld | Lengte | Waarde/beschrijving |
PRE_TRIGGER_SHIFT | 1 byte | Definieert de lengte van de acquisitiesequentie na de trigger in eenheden van 256 bytes. 0 betekent geen verschuiving; n betekent n*256 bytes blokverschuiving. Let op: alleen geldig als TRIGGER_MODE de triggermodus “PRE” of “COMB” is |
TRIGGER_MODUS | 1 byte | Geeft aan welke acquisitiemodus moet worden gebruikt. |
0x00 – POST-modus | ||
0x01 – RFU | ||
0x02 – PRE-modus | ||
0x03 – 0xFF – Ongeldig | ||
RAM_PAGINA_BREEDTE | 1 byte | Geeft de hoeveelheid on-chip geheugen aan die wordt gedekt door een acquisitie. Granulariteit is door het ontwerp gekozen als 256 bytes (d.w.z. 64 32-bits woorden). Geldige waarden zijn als volgt: 0x00h – 256 bytes 0x02h – 768 bytes 0x01h – 512 bytes 0x03h – 1024 bytes 0x04h – 1280 bytes 0x05h – 1536 bytes 0x06h – 1792 bytes 0x07h – 2048 bytes 0x08h – 2304 bytes 0x09h – 2560 bytes 0x0Ah – 2816 bytes 0x0Bh – 3072 bytes 0x0Ch – 3328 bytes 0x0Dh – 3584 bytes 0x0Eh – 3840 bytes 0x0Fh – 4096 bytes 0x10h – 4352 bytes 0x11h – 4608 bytes 0x12h – 4864 bytes 0x13h – 5120 bytes 0x14h – 5376 bytes 0x15h – 5632 bytes 0x16h – 5888 bytes 0x17h – 6144 bytes 0x18h – 6400 bytes 0x19h – 6656 bytes 0x1Ah – 6912 bytes 0x1Bh – 7168 bytes 0x1Ch – 7424 bytes 0x1Dh – 7680 bytes 0x1Eh – 7936 bytes 0x1Fh – 8192 bytes |
SAMPLE_CLK_DIV | 1 byte | De decimale waarde van dit veld geeft de kloksnelheidsdelingsfactor aan die tijdens de acquisitie moet worden gebruikt. CTS-klok = 13.56 MHz / 2SAMPLE_CLK_DIV |
00 – 13560kHz 01 – 6780kHz 02 – 3390kHz 03 – 1695kHz 04 – 847.5kHz 05 – 423.75kHz 06 – 211.875kHz 07 – 105.9375kHz 08 – 52.96875kHz 09 – 26.484375kHz 10 – 13.2421875kHz 11 – 6.62109375kHz 12 – 3.310546875kHz 13 – 1.6552734375kHz 14 – 0.82763671875kHz 15 – 0.413818359375kHz |
||
SAMPLE_BYTE_SEL | 1 byte | Deze bits worden gebruikt om te specificeren welke bytes van de twee 16-bits inputbussen bijdragen aan het interleave-mechanisme dat data genereert die naar het on-chip geheugen moet worden overgebracht. De betekenis en het gebruik ervan is afhankelijk van de SAMPLE_MODE_SEL-waarden.
Let op: De opgegeven waarde wordt altijd gemaskeerd met 0x0F en vervolgens wordt de effectieve waarde in aanmerking genomen. |
SAMPLE_MODE_SEL | 1 byte | Selecteert de sampling interleave-modus zoals beschreven in de CTS-ontwerpspecificaties. Decimale waarde 3 is gereserveerd en wordt behandeld als 0. Let op: De opgegeven waarde wordt altijd gemaskeerd met 0x03, waarna de effectieve waarde in aanmerking wordt genomen. |
TB0 | 1 byte | Selecteert welke testbus moet worden aangesloten op TB0. Raadpleeg Sectie 7 (TB_Signaal_Index waarde) |
TB1 | 1 byte | Selecteert welke testbus moet worden aangesloten op TB1. Raadpleeg Sectie 7 (TB_Signaal_Index waarde) |
TB2 | 1 byte | Selecteert welke testbus moet worden aangesloten op TB2. Raadpleeg Sectie 7 (TB_Signaal_Index waarde) |
TB3 | 1 byte | Selecteert welke testbus moet worden aangesloten op TB3. Raadpleeg Sectie 7 (TB_Signaal_Index waarde) |
TTB_SELECT | 1 byte | Selecteert welke TB moet worden aangesloten op de triggerbronnen. Raadpleeg Sectie 7 (TB_Signal_Index-waarde) |
RFU's | 4 Bytes | Stuur altijd 0x00000000 |
MISC_CONFIG | 24 Bytes | Triggervoorvallen, polariteit etc. Raadpleeg [1] voor inzicht in de te gebruiken CTS-configuratie. |
4.5.10.2.2 Reactie
Tabel 88. CTS_CONFIGURE-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCES PN5190_STATUS_INSTR_ERROR |
4.5.10.2.3 Event
Er is geen evenement voor deze instructie.
4.5.10.3 CTS_RETRIEVE_LOG
Met deze instructie wordt het datalogboek van de vastgelegde testbusgegevens opgehaaldampbestanden die in de geheugenbuffer zijn opgeslagen.
4.5.10.3.1 Opdracht
Tabel 89. Waarde van de opdracht CTS_RETRIEVE_LOG
Laadvermogenveld | Lengte | Waarde/beschrijving | |
Brokgrootte | 1 byte | 0x01-0xFF | Bevat het verwachte aantal bytes aan gegevens. |
4.5.10.3.2 Reactie
Tabel 90. CTS_RETRIEVE_LOG-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) PN5190_STATUS_SUCCSES_CHAINING |
||
Loggegevens [1…n] | CTSRequest | Gevangen Samples Data-stuk |
Opmerking:
De maximale grootte van 'Loggegevens' is afhankelijk van de 'ChunkSize' die is opgegeven als onderdeel van de opdracht.
De totale loggrootte moet beschikbaar zijn in de TLV-headerrespons.
4.5.10.3.3 Event
Er is geen evenement voor deze instructie.
4.5.11 TEST_MODE-opdrachten
4.5.11.1 ANTENNE_ZELF_TEST
Met deze instructie kunt u controleren of de antenne is aangesloten en of de bijbehorende componenten zijn geplaatst/geassembleerd.
Opmerking:
Deze opdracht is nog niet beschikbaar. Zie de release notes voor de beschikbaarheid.
4.5.11.2 PRBS_TEST
Deze instructie wordt gebruikt om de PRBS-sequentie te genereren voor de verschillende configuraties van de Reader-modusprotocollen en bitsnelheden. Zodra de instructie is uitgevoerd, is de PRBS-testsequentie beschikbaar op RF.
Opmerking:
De host moet ervoor zorgen dat de juiste RF-technologieconfiguratie is geladen met behulp van sectie 4.5.7.1 en dat RF is ingeschakeld met behulp van de opdracht in sectie 4.5.8.1 voordat deze opdracht wordt verzonden.
4.5.11.2.1 Opdracht
Tabel 91. PRBS_TEST-opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving | |
prbs_type | 1 byte | 00 | PRBS9(standaard) |
01 | PRBS15 | ||
02-FF | RFU's |
4.5.11.2.2 Reactie
Tabel 92. PRBS_TEST-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCES PN5190_STATUS_INSTR_ERROR PN5190_STATUS_GEEN_RF_VELD |
4.5.11.2.3 Event
Er is geen evenement voor deze instructie.
4.5.12 Chipinfo-opdrachten
4.5.12.1 GET_DIEID
Deze instructie wordt gebruikt om de die-ID van de PN5190-chip uit te lezen.
4.5.12.1.1 Opdracht
Tabel 93. GET_DIEID Opdrachtwaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
– | – | Geen gegevens in de payload |
4.5.12.1.2 Reactie
Tabel 94. GET_DIEID-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (geen verdere gegevens aanwezig) |
||
Waarden | 16 Bytes | 16 bytes van de ID. |
4.5.12.1.3 Event
Er zijn geen gebeurtenissen voor deze opdracht.
4.5.12.2 GET_VERSIE
Met deze instructie worden de HW-versie, ROM-versie en FW-versie van de PN5190-chip uitgelezen.
4.5.12.2.1 Opdracht
Tabel 95. Waarde van de opdracht GET_VERSION
Laadvermogenveld | Lengte | Waarde/beschrijving |
– | – | Geen gegevens in de payload |
Er is een opdracht DL_GET_VERSION (Sectie 3.4.4) beschikbaar in de downloadmodus waarmee u de HW-versie, ROM-versie en FW-versie kunt uitlezen.
4.5.12.2.2 Reactie
Tabel 96. GET_VERSION-responswaarde
Laadvermogenveld | Lengte | Waarde/beschrijving |
Staat | 1 byte | Status van de bewerking [Tabel 9]. De verwachte waarden zijn zoals hieronder: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Er zijn geen verdere gegevens aanwezig) |
||
HW_V | 1 byte | Hardwareversie |
RO_V | 1 byte | ROM-code |
FW_V | 2 bytes | Firmwareversie (gebruikt om te downloaden) |
RFU1-RFU2 | 1-2 bytes | – |
De verwachte respons voor verschillende versies van PN5190 IC wordt vermeld in (Sectie 3.4.4)
4.5.12.2.3 Event
Er zijn geen gebeurtenissen voor deze opdracht.
Bijlage (bijvampde)
Deze bijlage bestaat uit de examples voor de hierboven genoemde commando's. De exampDeze dienen slechts ter illustratie en om de inhoud van de opdracht te tonen.
5.1 voorbeeldample voor WRITE_REGISTER
De volgende reeks gegevens die door de host wordt verzonden, schrijft een waarde van 0x12345678 naar register 0x1F.
Opdrachtframe verzonden naar PN5190: 0000051F78563412
Host moet wachten op een interrupt.
Wanneer de host het responsframe leest dat is ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 00000100 5.2 Example voor WRITE_REGISTER_OR_MASK
De volgende reeks gegevens die door de host zijn verzonden, moet een logische OF-bewerking uitvoeren op register 0x1F met een masker als 0x12345678
Opdrachtframe verzonden naar PN5190: 0100051F78563412
Host moet wachten op een interrupt.
Wanneer de host het responsframe leest dat is ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 01000100
5.3 voorbeeldample voor WRITE_REGISTER_AND_MASK
De volgende reeks gegevens die door de host wordt verzonden, voert een logische AND-bewerking uit op register 0x1F met een masker als 0x12345678
Opdrachtframe verzonden naar PN5190: 0200051F78563412
Host moet wachten op een interrupt.
Wanneer de host het responsframe leest dat is ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 02000100
5.4 voorbeeldample voor WRITE_REGISTER_MULTIPLE
De volgende reeks gegevens wordt door de host verzonden om een logische AND-bewerking uit te voeren op register 0x1F met een masker als 0x12345678, en een logische OR-bewerking op register 0x20 met een masker als 0x11223344, en een schrijfbewerking naar register 0x21 met een waarde als 0xAABBCCDD.
Opdrachtframe verzonden naar PN5190: 0300121F03785634122002443322112101DDCCBBAA
Host moet wachten op een interrupt.
Wanneer de host het responsframe leest dat is ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 03000100
5.5 voorbeeldample voor READ_REGISTER
De volgende reeks gegevens die door de host wordt verzonden om de inhoud van register 0x1F te lezen en ervan uitgaande dat het register de waarde 0x12345678 heeft
Commandoframe verzonden naar PN5190: 0400011F
Host moet wachten op een interrupt.
Wanneer de host het responsframe leest dat is ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 0400050078563412
5.6 voorbeeldample voor READ_REGISTER_MULTIPLE
De volgende reeks gegevens die door de host is verzonden, leest de inhoud van registers 0x1F die de waarde 0x12345678 bevatten, en register 0x25 die de waarde 0x11223344 bevatten
Opdrachtframe verzonden naar PN5190: 0500021F25
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, wordt het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 050009007856341244332211
5.7 voorbeeldample voor WRITE_E2PROM
De volgende reeks gegevens die van de host worden verzonden om naar E2PROM-locaties 0x0130 tot 0x0134 te schrijven met de inhoud als 0x11, 0x22, 0x33, 0x44, 0x55
Opdrachtframe verzonden naar PN5190: 06000730011122334455
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, is het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 06000100
5.8 voorbeeldample voor READ_E2PROM
De volgende reeks gegevens die door de host zijn verzonden, worden gelezen vanaf E2PROM-locaties 0x0130 tot 0x0134, waar de opgeslagen inhoud is: 0x11, 0x22, 0x33, 0x44, 0x55
Opdrachtframe verzonden naar PN5190: 07000430010500
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, wordt het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 070006001122334455
5.9 voorbeeldample voor TRANSMIT_RF_DATA
De volgende reeks gegevens wordt door de host verzonden om een REQA-opdracht (0x26) te verzenden, met het aantal te verzenden bits als '0x07', ervan uitgaande dat de vereiste registers vooraf zijn ingesteld en RF is ingeschakeld.
Opdrachtframe verzonden naar PN5190: 0800020726
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, is het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 08000100
5.10 voorbeeldample voor RETREIVE_RF_DATA
De volgende reeks gegevens die door de host worden verzonden, worden ontvangen/opgeslagen in de interne CLIF-buffer (ervan uitgaande dat 0x05 is ontvangen), ervan uitgaande dat er al een TRANSMIT_RF_DATA is verzonden nadat RF is ingeschakeld.
Opdrachtframe verzonden naar PN5190: 090000
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, is het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 090003000400
5.11 voorbeeldample voor EXCHANGE_RF_DATA
Volgende reeks gegevens verzonden vanaf host om een REQA (0x26) te verzenden, met aantal bits in laatste byte om te verzenden ingesteld als 0x07, met alle statussen die samen met de gegevens moeten worden ontvangen. Veronderstelling is dat vereiste RF-registers al zijn ingesteld en RF is ingeschakeld.
Opdrachtframe verzonden naar PN5190: 0A0003070F26
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, wordt het frame ontvangen van PN5190 (wat een succesvolle bewerking aangeeft): 0A000 F000200000000000200000000004400
5.12 voorbeeldample voor LOAD_RF_CONFIGURATION
Volgende reeks gegevens verzonden vanaf host om de RF-configuratie in te stellen. Voor TX, 0x00 en voor RX, 0x80
Commandoframe verzonden naar PN5190: 0D00020080
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, is het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 0D000100
5.13 voorbeeldample voor UPDATE_RF_CONFIGURATION
Volgende reeks gegevens verzonden vanaf host om de RF-configuratie bij te werken. Voor TX, 0x00, met registeradres voor CLIF_CRC_TX_CONFIG en waarde als 0x00000001
Opdrachtframe verzonden naar PN5190: 0E0006001201000000
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, wordt het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 0E000100
5.14 voorbeeldample voor RF_ON
Volgende reeks gegevens verzonden vanaf host om het RF-veld AAN te zetten met behulp van collision avoidance en No P2P actief. Er wordt aangenomen dat de overeenkomstige RF TX- en RX-configuratie al zijn ingesteld in PN5190.
Opdrachtframe verzonden naar PN5190: 10000100
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, is het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 10000100
5.15 voorbeeldample voor RF_OFF
De volgende reeks gegevens wordt door de host verzonden om het RF-veld UIT te schakelen.
Opdrachtframe verzonden naar PN5190: 110000
Host moet wachten op een interrupt.
Wanneer de host het antwoord leest, is het frame ontvangen van PN5190 (wat aangeeft dat de bewerking succesvol is verlopen): 11000100
Bijlage (RF-protocolconfiguratie-indexen)
Deze bijlage bevat de RF-protocolconfiguratie-indexen die door de PN5190 worden ondersteund.
De TX- en RX-configuratie-instellingen moeten worden gebruikt in de opdrachten uit Sectie 4.5.7.1, Sectie 4.5.7.2 en Sectie 4.5.7.3.
Bijlage (CTS- en TESTBUS-signalen)
In de onderstaande tabel worden de verschillende signalen gespecificeerd die beschikbaar zijn via PN5190 voor het vastleggen met behulp van CTS-instructies (paragraaf 4.5.10) en TESTBUS-instructies.
Deze moeten worden gebruikt voor de opdrachten Sectie 4.5.9.1, Sectie 4.5.9.2 en Sectie 4.5.10.2.
Afkortingen
Tabel 97. Afkortingen
Afk. | Betekenis |
KLIK | Klok |
DWL_REQ | Downloadverzoekpin (ook wel DL_REQ genoemd) |
EEPROM | Elektrisch uitwisbaar programmeerbaar alleen-lezen geheugen |
FW | Bedrijfsprogramma |
GND | Grond |
GPIO | Algemene invoer-uitvoer |
HW | Hardware |
Ik²C | Inter-geïntegreerd circuit (seriële databus) |
IRQ | Interruptieverzoek |
ISO / IEC | Internationale Standaardisatie Organisatie / Internationale Elektrotechnische Gemeenschap |
NFC | Communicatie in het nabije veld |
OS | Besturingssysteem |
PCD | Nabijheidskoppelingsapparaat (contactloze lezer) |
PICC | Proximity Integrated Circuit Card (contactloze kaart) |
PMU | Energiebeheereenheid |
POR | Inschakelreset |
RF | Radiofrequentie |
RST | Opnieuw instellen |
SFWU | veilige firmware downloadmodus |
SPI | Seriële randinterface |
VEN | V Pin inschakelen |
Referenties
[1] CTS-configuratieonderdeel van NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT[2] PN5190 IC-gegevensblad, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf
Juridische informatie
10.1 Definities
Voorlopige versie — Een conceptstatus op een document geeft aan dat de inhoud nog intern wordt beoordeeldview en onder voorbehoud van formele goedkeuring, wat kan leiden tot wijzigingen of aanvullingen. NXP Semiconductors geeft geen verklaringen of garanties met betrekking tot de nauwkeurigheid of volledigheid van informatie die is opgenomen in een conceptversie van een document en is niet aansprakelijk voor de gevolgen van het gebruik van dergelijke informatie.
10.2 Vrijwaringen
Beperkte garantie en aansprakelijkheid — De informatie in dit document wordt geacht nauwkeurig en betrouwbaar te zijn. NXP Semiconductors geeft echter geen enkele verklaring of garantie, expliciet of impliciet, met betrekking tot de nauwkeurigheid of volledigheid van dergelijke informatie en is niet aansprakelijk voor de gevolgen van het gebruik van dergelijke informatie. NXP Semiconductors aanvaardt geen verantwoordelijkheid voor de inhoud van dit document indien verstrekt door een informatiebron buiten NXP Semiconductors.
In geen geval zal NXP Semiconductors aansprakelijk zijn voor enige indirecte, incidentele, bestraffende, speciale of gevolgschade (inclusief - maar niet beperkt tot gederfde winst, gemiste besparingen, bedrijfsonderbreking, kosten in verband met het verwijderen of vervangen van producten of herbewerkingskosten), al dan niet dergelijke schade is niet gebaseerd op onrechtmatige daad (inclusief nalatigheid), garantie, contractbreuk of enige andere juridische theorie.
Niettegenstaande eventuele schade die de klant om welke reden dan ook zou kunnen oplopen, zal de totale en cumulatieve aansprakelijkheid van NXP Semiconductors jegens de klant voor de hierin beschreven producten beperkt zijn in overeenstemming met de
Algemene voorwaarden voor commerciële verkoop van NXP Semiconductors.
Recht om wijzigingen aan te brengen — NXP Semiconductors behoudt zich het recht voor om op elk moment en zonder voorafgaande kennisgeving wijzigingen aan te brengen in de informatie die in dit document is gepubliceerd, inclusief maar niet beperkt tot specificaties en productbeschrijvingen. Dit document vervangt en vervangt alle informatie die is verstrekt voorafgaand aan de publicatie hiervan.
Geschiktheid voor gebruik — NXP Semiconductors-producten zijn niet ontworpen, geautoriseerd of gegarandeerd om geschikt te zijn voor gebruik in levensondersteunende, levenskritieke of veiligheidskritieke systemen of apparatuur, noch in toepassingen waar redelijkerwijs een storing of storing van een NXP Semiconductors-product kan worden verwacht persoonlijk letsel, de dood of ernstige schade aan eigendommen of het milieu tot gevolg hebben. NXP Semiconductors en haar leveranciers aanvaarden geen aansprakelijkheid voor opname en/of gebruik van producten van NXP Semiconductors in dergelijke apparatuur of toepassingen en daarom is dergelijke opname en/of gebruik op eigen risico van de klant.
Toepassingen — Toepassingen die hierin voor elk van deze producten worden beschreven, zijn alleen voor illustratieve doeleinden. NXP Semiconductors geeft geen verklaring of garantie dat dergelijke toepassingen zonder verdere tests of aanpassingen geschikt zijn voor het gespecificeerde gebruik.
Klanten zijn verantwoordelijk voor het ontwerp en de werking van hun applicaties en producten met behulp van producten van NXP Semiconductors, en NXP Semiconductors aanvaardt geen aansprakelijkheid voor hulp bij toepassingen of productontwerp van de klant. Het is de eigen verantwoordelijkheid van de klant om te bepalen of het product van NXP Semiconductors geschikt en geschikt is voor de geplande toepassingen en producten van de klant, evenals voor de geplande toepassing en het gebruik van de externe klant(en) van de klant. Klanten moeten passende ontwerp- en bedrijfswaarborgen bieden om de risico's van hun toepassingen en producten tot een minimum te beperken.
NXP Semiconductors aanvaardt geen enkele aansprakelijkheid met betrekking tot enig gebrek, schade, kosten of probleem dat is gebaseerd op enige zwakte of gebrek in de toepassingen of producten van de klant, of de toepassing of het gebruik door de derde klant(en) van de klant. De klant is verantwoordelijk voor het uitvoeren van alle noodzakelijke tests voor de applicaties en producten van de klant met behulp van NXP Semiconductors-producten om te voorkomen dat de applicaties en de producten of de applicatie of het gebruik door de derde klant(en) van de klant in gebreke blijven. NXP aanvaardt ter zake geen enkele aansprakelijkheid.
NXP BV – NXP BV is geen werkmaatschappij en distribueert of verkoopt geen producten.
10.3-licenties
Aankoop van NXP IC's met NFC-technologie — Aankoop van een NXP Semiconductors IC die voldoet aan een van de Near Field Communication (NFC)-normen ISO/IEC 18092 en ISO/IEC 21481 houdt geen impliciete licentie in onder enig octrooirecht waarop inbreuk wordt gemaakt door de implementatie van een van die normen. De aankoop van NXP Semiconductors IC omvat geen licentie voor enig NXP-patent (of ander IE-recht) dat combinaties van deze producten met andere producten omvat, zowel hardware als software.
10.4-handelsmerken
Opmerking: alle genoemde merken, productnamen, servicenamen en handelsmerken zijn het eigendom van hun respectievelijke eigenaren.
NXP — woordmerk en logo zijn handelsmerken van NXP BV
EdgeVerse — is een handelsmerk van NXP BV
FeliCa — is een handelsmerk van Sony Corporation.
MIFARE — is een handelsmerk van NXP BV
MIFARE Classic — is een handelsmerk van NXP BV
Houd er rekening mee dat belangrijke mededelingen over dit document en de hierin beschreven producten zijn opgenomen in de sectie 'Juridische informatie'.
© 2023 NXP BV
Voor meer informatie, bezoek: http://www.nxp.com
Alle rechten voorbehouden.
Datum van uitgave: 25 mei 2023
Document-ID: UM11942
Documenten / Bronnen
![]() |
NXP PN5190 NFC-frontendcontroller [pdf] Gebruikershandleiding PN5190, PN5190 NFC Frontend-controller, NFC Frontend-controller, Controller, UM11942 |