Logo NXPUM11942
Warstwa instrukcji PN5190
Kontroler interfejsu NFC

Instrukcja obsługi

PN5190 Kontroler interfejsu NFC

Informacje o dokumencie

Informacja Treść
Słowa kluczowe PN5190, NFC, front-end NFC, kontroler, warstwa instrukcji
Abstrakcyjny W tym dokumencie opisano polecenia warstwy instrukcji i odpowiedzi do pracy z kontrolera hosta, w celu oceny działania kontrolera front-end NXP PN5190 NFC. PN5190 to kontroler front-end NFC nowej generacji. Zakres tego dokumentu obejmuje opisanie poleceń interfejsu do pracy z kontrolerem front-end PN5190 NFC. Aby uzyskać więcej informacji na temat działania kontrolera front-end PN5190 NFC, zapoznaj się z arkuszem danych i jego informacjami uzupełniającymi.

Historia rewizji

Obrót silnika Data Opis
3.7 20230525 • Zmieniono typ i tytuł dokumentu z dodatku do karty danych produktu na instrukcję obsługi
• Oczyszczanie redakcyjne
• Zaktualizowane warunki redakcyjne dla sygnałów SPI
• Dodano polecenie GET_CRC_USER_AREA w Tabeli 8 w Sekcji 4.5.2.3
• Zaktualizowano różne szczegóły różnicowe dla PN5190B1 i PN5190B2 w sekcji 3.4.1
• Zaktualizowana odpowiedź w sekcji 3.4.7
3.6 20230111 Opis odpowiedzi na ulepszoną kontrolę integralności w sekcji 3.4.7
3.5 20221104 Sekcja 4.5.4.6.3 „Wydarzenie”: dodano
3.4 20220701 • Dodano polecenie CONFIGURE_MULTIPLE_TESTBUS_DIGITAL w Tabeli 8 w Sekcji 4.5.9.3
• Zaktualizowano sekcję 4.5.9.2.2
3.3 20220329 Poprawiono opis sprzętu w sekcji 4.5.12.2.1 „Polecenie” i sekcji 4.5.12.2.2 „Odpowiedź”
3.2 20210910 Zaktualizowano numery wersji oprogramowania sprzętowego z 2.1 do 2.01 i z 2.3 do 2.03
3.1 20210527 Dodano opis polecenia RETRIEVE_RF_FELICA_EMD_DATA
3 20210118 Pierwsza oficjalna wydana wersja

Wstęp

1.1 Wprowadzenie
W tym dokumencie opisano interfejs hosta PN5190 i interfejsy API. Fizycznym interfejsem hosta używanym w dokumentacji jest SPI. Fizyczna charakterystyka SPI nie jest uwzględniona w dokumencie.
Separacja ramek i kontrola przepływu są częścią tego dokumentu.
1.1.1 Zakres
Dokument opisuje warstwę logiczną, kod instrukcji i interfejsy API istotne dla klienta.

Komunikacja hostaview

PN5190 ma dwa główne tryby pracy umożliwiające komunikację z kontrolerem hosta.

  1. Komunikacja oparta na protokole HDLL jest wykorzystywana, gdy urządzenie zostanie wywołane w celu wprowadzenia:
    a. Tryb szyfrowanego bezpiecznego pobierania w celu aktualizacji oprogramowania układowego
  2. Komunikacja oparta na poleceniach i odpowiedziach TLV (przedstawiona jako przykład)ample).

2.1 Tryb HDLL
Tryb HDLL używany jest do formatu wymiany pakietów, aby mógł współpracować z poniższymi trybami pracy układów scalonych:

  1. Tryb bezpiecznego pobierania oprogramowania sprzętowego (SFWU), patrz sekcja 3

2.1.1 Opis HDLL
HDLL to warstwa łącza opracowana przez NXP w celu zapewnienia niezawodnego pobierania oprogramowania sprzętowego.
Wiadomość HDLL składa się z 2-bajtowego nagłówka, po którym następuje ramka, zawierająca kod operacji i ładunek polecenia. Każda wiadomość kończy się 16-bitowym CRC, jak opisano na poniższym rysunku:Kontroler front-endowy NXP PN5190 NFC -Nagłówek HDLL zawiera:

  • Bit fragmentu. Wskazuje, czy ta wiadomość jest jedynym lub ostatnim fragmentem wiadomości (fragment = 0). Lub czy przynajmniej jeden inny fragment następuje po nim (fragment = 1).
  • Długość ładunku zakodowana na 10 bitach. Tak więc ładunek ramki HDLL może mieć do 1023 bajtów.

Kolejność bajtów została zdefiniowana jako big-endian, co oznacza, że ​​najpierw jest bajt.
CRC16 jest zgodny ze standardem X.25 (CRC-CCITT, ISO/IEC13239) z wielomianem x^16 + x^12 + x^5 +1 i wartością wstępnego obciążenia 0xFFFF.
Oblicza się ją dla całej ramki HDLL, tzn. nagłówka i ramki.
SampImplementacja kodu C:
statyczny uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_t i ;
uint16_t crc_new ;
uint16_t crc = 0xffffU;
dla (I = 0; i < dwLength; i++)
{
crc_new = (uint8_t)(crc >> 8) | (crc << 8 );
crc_new ^= p[i];
crc_new ^= (uint8_t)(crc_new & 0xff) >> 4;
crc_new ^= crc_new << 12;
crc_new ^= (crc_new & 0xff) << 5;
crc = crc_nowy;
}
zwrot crc;
}
2.1.2 Mapowanie transportu przez SPI
W przypadku każdego potwierdzenia NTS pierwszym bajtem jest zawsze NAGŁÓWEK (bajt wskazujący przepływ); może to być 0x7F/0xFF w zależności od operacji zapisu/odczytu.
2.1.2.1 Sekwencja zapisu z hosta (kierunek DH => PN5190)Kontroler front-endowy NXP PN5190 NFC — sekwencja zapisu SPI.2.1.2.2 Odczyt sekwencji z hosta (kierunek PN5190 => DH)Kontroler front-endu NFC NXP PN5190 — sekwencja odczytu2.1.3 Protokół HDLL
HDLL to protokół typu polecenie-odpowiedź. Wszystkie operacje wymienione powyżej są wyzwalane przez określone polecenie i weryfikowane na podstawie odpowiedzi.
Polecenia i odpowiedzi są zgodne ze składnią komunikatów HDLL, polecenie jest wysyłane przez hosta urządzenia, a odpowiedź przez PN5190. Kod operacji wskazuje polecenie i typ odpowiedzi.
Komunikacja oparta na protokole HDLL, używana wyłącznie, gdy PN5190 zostanie uruchomiony w celu przejścia w tryb „Bezpieczne pobieranie oprogramowania sprzętowego”.
2.2 Tryb TLV
TLV oznacza Tag Wartość długości.
2.2.1 Definicja ramki
Ramka SPI zaczyna się opadającym zboczem NTS i kończy narastającym zboczem NTS. SPI jest zgodnie z definicją fizyczną pełnym dupleksem, ale PN5190 używa SPI w trybie półdupleksu. Tryb SPI jest ograniczony do CPOL 0 i CPHA 0 z maksymalną prędkością zegara określoną w [2]. Każda ramka SPI składa się z 1-bajtowego nagłówka i n-bajtów treści.
2.2.2 Wskaźnik przepływuKontroler front-endowy NFC NXP PN5190 — sygnalizacja przepływuHOST zawsze wysyła jako pierwszy bajt bajt wskazujący przepływ, czy chce zapisać, czy odczytać dane z PN5190.
Jeżeli żądanie odczytu nie zawiera żadnych dostępnych danych, odpowiedź zawiera 0xFF.
Dane następujące po bajcie wskazującym przepływ to jedna lub kilka wiadomości.
W przypadku każdego potwierdzenia NTS pierwszym bajtem jest zawsze NAGŁÓWEK (bajt wskazujący przepływ); może to być 0x7F/0xFF w zależności od operacji zapisu/odczytu.
2.2.3 Typ wiadomości
Kontroler hosta powinien komunikować się z PN5190 za pomocą wiadomości transportowanych w ramkach SPI.
Istnieją trzy różne typy wiadomości:

  • Rozkaz
  • Odpowiedź
  • Wydarzenie

Kontroler front-endowy NFC NXP PN5190 — kontroler hostaPowyższy diagram komunikacji przedstawia dozwolone kierunki dla różnych typów wiadomości, jak poniżej:

  • Dowodzenie i reakcja.
  • Polecenia są wysyłane tylko z kontrolera hosta do PN5190.
  • Odpowiedzi i zdarzenia są wysyłane wyłącznie z PN5190 do kontrolera hosta.
  • Odpowiedzi na polecenia są synchronizowane za pomocą pinu IRQ.
  • Host może wysyłać polecenia tylko wtedy, gdy IRQ jest niskie.
  • Host może odczytać odpowiedź/zdarzenie tylko wtedy, gdy IRQ jest wysokie.

2.2.3.1 Dozwolone sekwencje i regułyKontroler front-endowy NFC NXP PN5190 — dozwolone sekwencjeDozwolone sekwencje poleceń, odpowiedzi i zdarzeń

  • Wykonanie polecenia jest zawsze potwierdzane odpowiedzią, zdarzeniem lub jednym i drugim.
  • Kontroler hosta nie ma prawa wysłać kolejnego polecenia, dopóki nie otrzyma odpowiedzi na poprzednie polecenie.
  • Zdarzenia mogą być wysyłane asynchronicznie w dowolnym momencie (NIE przeplatane w parze polecenie/odpowiedź).
  • Wiadomości EVENT nigdy nie są łączone z wiadomościami RESPONSE w jednej ramce.

Notatka: Dostępność komunikatu (RESPONSE lub EVENT) jest sygnalizowana przez przejście IRQ w stan wysoki, od niskiego. IRQ pozostaje wysoki, dopóki nie zostanie odczytana cała ramka odpowiedzi lub zdarzenia. Dopiero gdy sygnał IRQ jest niski, host może wysłać następne polecenie.
2.2.4 Format wiadomości
Każda wiadomość jest kodowana w strukturze TLV z n-bajtowym ładunkiem dla każdej wiadomości, z wyjątkiem polecenia SWITCH_MODE_NORMAL.Kontroler front-endowy NFC NXP PN5190 — format wiadomościKażdy TLV składa się z:Kontroler front-endowy NXP PN5190 NFC - TLV składa się zTyp (T) => 1 bajt
Bit[7] Typ wiadomości
0: Wiadomość COMMAND lub ODPOWIEDŹ
1: Wiadomość ZDARZENIE
Bit[6:0]: Kod instrukcji
Długość (L) => 2 bajty (powinna być w formacie big-endian)
Wartość (V) => N bajtów wartości/danych TLV (parametry polecenia/dane odpowiedzi) w oparciu o pole długości (format big-endian)
2.2.4.1 Podzielona ramka
Wiadomość COMMAND musi zostać wysłana w jednej ramce SPI.
Wiadomości ODPOWIEDZI i ZDARZENIA mogą być odczytywane w wielu ramkach SPI, np. w celu odczytania bajtu długości.Kontroler front-endowy NFC NXP PN5190 — wiele ramek SPIWiadomości ODPOWIEDZI lub ZDARZENIA mogą być odczytywane w pojedynczej ramce SPI, ale opóźniane pomiędzy nimi przez NO-CLOCK, np. w celu odczytania bajtu długości.Kontroler front-endowy NXP PN5190 NFC — pojedyncza ramka SPI

Tryb rozruchu operacyjnego IC – bezpieczny tryb pobierania oprogramowania sprzętowego

3.1 Wprowadzenie
Część kodu oprogramowania układowego PN5190 jest trwale przechowywana w pamięci ROM, podczas gdy reszta kodu i danych jest przechowywana w osadzonej pamięci flash. Dane użytkownika są przechowywane w pamięci flash i są chronione przez mechanizmy zapobiegające rozdarciu, które zapewniają integralność i dostępność danych. Aby zapewnić klientom NXP funkcje zgodne z najnowszymi standardami (EMVCo, NFC Forum itd.), zarówno kod, jak i dane użytkownika w pamięci FLASH mogą być aktualizowane.
Autentyczność i integralność zaszyfrowanego oprogramowania sprzętowego jest chroniona przez asymetryczny/symetryczny podpis klucza i mechanizm odwrotnego łańcucha skrótu. Pierwsze polecenie DL_SEC_WRITE zawiera skrót drugiego polecenia i jest chronione przez podpis RSA na ładunku pierwszej ramki. Oprogramowanie sprzętowe PN5190 używa klucza publicznego RSA do uwierzytelnienia pierwszego polecenia. Łańcuch skrótu w każdym poleceniu służy do uwierzytelnienia kolejnego polecenia, aby zapewnić, że kod oprogramowania sprzętowego i dane nie zostaną udostępnione osobom trzecim.
Ładunki poleceń DL_SEC_WRITE są szyfrowane kluczem AES-128. Po uwierzytelnieniu każdego polecenia zawartość ładunku jest odszyfrowywana i zapisywana do pamięci flash przez oprogramowanie układowe PN5190.
W przypadku oprogramowania sprzętowego NXP, firma NXP odpowiada za dostarczanie nowych, bezpiecznych aktualizacji oprogramowania sprzętowego oraz nowych danych użytkownika.
Procedura aktualizacji jest wyposażona w mechanizm chroniący autentyczność, integralność i poufność kodu i danych NXP.
Schemat ramek i pakietów bazujący na HDLL jest używany dla wszystkich poleceń i odpowiedzi w trybie bezpiecznej aktualizacji oprogramowania sprzętowego.
W rozdziale 2.1 podano więcejview użytego schematu pakietu ramki HDLL.
Układy scalone PN5190 obsługują zarówno starszy szyfrowany i bezpieczny protokół pobierania oprogramowania sprzętowego, jak i szyfrowany i bezpieczny protokół pobierania oprogramowania sprzętowego wspomagany sprzętowo, w zależności od użytej wersji.
Istnieją dwa typy:

  • Starszy, bezpieczny protokół pobierania oprogramowania sprzętowego, który działa tylko z wersją PN5190 B0/B1 IC.
  • Protokół bezpiecznego pobierania oprogramowania sprzętowego wspomagany sprzętowym szyfrowaniem, który działa tylko z wersją układu scalonego PN5190B2, wykorzystującą wbudowane sprzętowe bloki kryptograficzne

Poniższe sekcje wyjaśniają polecenia i odpowiedzi trybu bezpiecznego pobierania oprogramowania sprzętowego.
3.2 Jak uruchomić tryb „Bezpieczne pobieranie oprogramowania układowego”
Poniższy diagram i kolejne kroki pokazują, jak uruchomić tryb bezpiecznego pobierania oprogramowania sprzętowego.Kontroler frontendowy NFC NXP PN5190 — tryb pobierania oprogramowania sprzętowegoWarunek wstępny: PN5190 jest w stanie operacyjnym.
Główny scenariusz:

  1. Warunek wejścia, w którym pin DWL_REQ jest używany do wejścia w tryb „Bezpieczne pobieranie oprogramowania sprzętowego”.
    a. Urządzenie hosta podnosi pin DWL_REQ do stanu wysokiego (ważne tylko w przypadku bezpiecznej aktualizacji oprogramowania układowego przez pin DWL_REQ) LUB
    b. Host urządzenia wykonuje twardy reset w celu uruchomienia PN5190
  2. Warunek wejścia, w którym pin DWL_REQ nie jest używany do wejścia w tryb „Bezpiecznego pobierania oprogramowania sprzętowego” (pobieranie bez użycia pinu).
    a. Host urządzenia wykonuje twardy reset w celu uruchomienia PN5190
    b. Host urządzenia wysyła SWITCH_MODE_NORMAL (sekcja 4.5.4.5), aby przejść do normalnego trybu aplikacji.
    c. Teraz, gdy IC znajduje się w normalnym trybie aplikacji, host urządzenia wysyła polecenie SWITCH_MODE_DOWNLOAD (sekcja 4.5.4.9), aby przejść do bezpiecznego trybu pobierania.
  3. Urządzenie hosta wysyła polecenie DL_GET_VERSION (sekcja 3.4.4), DL_GET_DIE_ID (sekcja 3.4.6) lub DL_GET_SESSION_STATE (sekcja 3.4.5).
  4. Host urządzenia odczytuje bieżącą wersję sprzętu i oprogramowania układowego, sesję oraz identyfikator matrycy z urządzenia.
    a. Host urządzenia sprawdza stan sesji, jeśli ostatnie pobieranie zostało ukończone
    b. Host urządzenia stosuje reguły sprawdzania wersji, aby zdecydować, czy rozpocząć pobieranie, czy je zakończyć.
  5. Urządzenie hosta ładuje się z file kod binarny oprogramowania sprzętowego do pobrania
  6. Urządzenie hosta udostępnia pierwsze polecenie DL_SEC_WRITE (sekcja 3.4.8), które zawiera:
    a. Wersja nowego oprogramowania układowego,
    b. 16-bajtowy nonce dowolnych wartości używany do zaciemniania klucza szyfrującego
    c. Wartość skrótu następnej klatki,
    d. Podpis cyfrowy samej ramki
  7. Urządzenie hostujące ładuje sekwencję protokołu bezpiecznego pobierania do urządzenia PN5190 za pomocą poleceń DL_SEC_WRITE (sekcja 3.4.8)
  8. Po wysłaniu ostatniego polecenia DL_SEC_WRITE (sekcja 3.4.8) urządzenie hosta wykonuje polecenie DL_CHECK_INTEGRITY (sekcja 3.4.7), aby sprawdzić, czy pamięci zostały pomyślnie zapisane.
  9. Urządzenie hosta odczytuje nową wersję oprogramowania sprzętowego i sprawdza stan sesji, czy jest zamknięta, w celu przesłania raportu do wyższej warstwy
  10. Urządzenie hosta ustawia pin DWL_REQ na niski (jeśli pin DWL_REQ jest używany do wejścia w tryb pobierania)
  11. Host urządzenia wykonuje twardy reset (przełączając pin VEN) na urządzeniu, aby ponownie uruchomić PN5190
    Warunek końcowy: Oprogramowanie sprzętowe zostało zaktualizowane; został zgłoszony nowy numer wersji oprogramowania sprzętowego.

3.3 Podpis oprogramowania sprzętowego i kontrola wersji
W trybie pobierania oprogramowania sprzętowego PN5190 mechanizm zapewnia, że ​​tylko oprogramowanie sprzętowe podpisane i dostarczone przez NXP będzie akceptowane jako oprogramowanie sprzętowe NXP.
Poniższe informacje dotyczą wyłącznie szyfrowanego, bezpiecznego oprogramowania sprzętowego NXP.
Podczas sesji pobierania wysyłana jest nowa 16-bitowa wersja oprogramowania sprzętowego. Składa się ona z numeru głównego i numeru podrzędnego:

  • Liczba główna: 8 bitów (MSB)
  • Liczba drugorzędna: 8 bitów (LSB)

PN5190 sprawdza, czy nowy główny numer wersji jest większy lub równy bieżącemu. Jeśli nie, zabezpieczone pobieranie oprogramowania sprzętowego jest odrzucane, a sesja pozostaje zamknięta.
3.4 Polecenia HDLL dla starszego szyfrowanego pobierania i wspomaganego sprzętowo szyfrowania zaszyfrowane pobieranie
W tej sekcji znajdują się informacje o poleceniach i odpowiedziach użytych w przypadku obu typów pobierania oprogramowania sprzętowego NXP.
3.4.1 Kody OP poleceń HDLL
Notatka: Ramki poleceń HDLL są wyrównane do 4 bajtów. Nieużywane bajty danych są pozostawione jako nil.
Tabela 1. Lista kodów OP poleceń HDLL

PN5190 B0/ B1
(Pobierz starszą wersję)
PN5190 B2
(Pobieranie wspomagane przez kryptografię)
Alias ​​polecenia Opis
0xF0 0xE5 DL_RESET Wykonuje miękki reset
0xF1 0xE1 Pobierz wersję DL Zwraca numery wersji
0xF2 0xDB DL_GET_SESSION_STATATE Zwraca aktualny stan sesji
0xF4 0xDF DL_GET_DIE_ID Zwraca identyfikator kostki
0xE0 0xE7 DL_CHECK_INTEGRITY Sprawdza i zwraca CRC w różnych obszarach, a także flagi statusu zaliczonego/niezaliczonego dla każdego z nich.
0xC0 0x8C DL_SEC_WRITE Zapisuje x bajtów do pamięci, zaczynając od adresu bezwzględnego y

3.4.2 Kody operacyjne odpowiedzi HDLL
Notatka: Ramki odpowiedzi HDLL są wyrównane do 4 bajtów. Nieużywane bajty ładunku są pozostawione jako nil. Tylko odpowiedzi DL_OK mogą zawierać wartości ładunku.
Tabela 2. Lista kodów OP odpowiedzi HDLL

opcode Alias ​​odpowiedzi Opis
0x00 DL_OK Polecenie przekazane
0x01 DL_INVALID_ADDR Adres niedozwolony
0x0B DL_NIEZNANE_POLECENIE Nieznane polecenie
0x0C DL_ANULOWANO_POLECENIE Sekwencja fragmentów jest zbyt duża
0x1E Błąd zakresu adresów DL Adres poza zakresem
0x1F BŁĄD_BUFORA_DL_OFL Bufor jest za mały
0x20 DL_MEM_BSY Pamięć zajęta
0x21 BŁĄD_PODPISU_DL Niezgodność podpisu
0x24 BŁĄD_WERSJI_OPROGRAMOWANIA_SPRZĘTOWEGO Obecna wersja równa lub wyższa
0x28 BŁĄD_PROTOKOŁU_DL Błąd protokołu
0x2A DL_SFWU_ZNISZCZONY Uszkodzenie danych Flash
0x2D PH_STATUS_DL_PIERWSZY_FRAGMENT Otrzymano pierwszy kawałek
0x2E PH_STATUS_DL_NEXT_CHUNK Poczekaj na następny kawałek
0xC5 BŁĄD_WEWNĘTRZNY_STATUS_PH_5 Niezgodność długości

3.4.3 Polecenie DL_RESET
Wymiana ramek:
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] Reset zapobiega wysłaniu przez PN5190 odpowiedzi DL_STATUS_OK. Dlatego też można odbierać tylko błędne statusy.
STAT jest statusem zwrotu.
3.4.4 Polecenie DL_GET_VERSION
Wymiana ramek:
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] Ramka danych odpowiedzi GetVersion wygląda następująco:
Tabela 3. Odpowiedź na polecenie GetVersion

Pole Bajt Opis
STAT 1 Status
Sprzęt_V 2 Wersja sprzętu
RO_V 3 Kod ROM-u
ID_MODELU 4 ID modelu
FMxV 5-6 Wersja oprogramowania sprzętowego (używana do pobrania)
RFU1-RFU2 7-8

Oczekiwane wartości różnych pól odpowiedzi i ich mapowanie przedstawiają się następująco:
Tabela 4. Oczekiwane wartości odpowiedzi polecenia GetVersion

Typ układu scalonego Wersja HW (hex) Wersja ROM (hex) Identyfikator modelu (szesnastkowy) Wersja FW (hex)
PN5190 B0 0x51 0x02 0x00 xx.yy
PN5190 B1 0x52 0x02 0x00 xx.yy
PN5190 B2 0x53 0x03 0x00 xx.yy

3.4.5 Polecenie DL_GET_SESSION_STATE
Wymiana ramek:
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] Ramka danych odpowiedzi GetSession wygląda następująco:
Tabela 5. Odpowiedź na polecenie GetSession

Pole Bajt Opis
STAT 1 Status
SSTA 2 Stan sesji
• 0x00: zamknięte
• 0x01: otwórz
• 0x02: zablokowany (dalsze pobieranie nie jest dozwolone)
RFU 3-4

3.4.6 Polecenie DL_GET_DIE_ID
Wymiana ramek:
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] Ramka danych odpowiedzi GetDieId wygląda następująco:
Tabela 6. Odpowiedź na polecenie GetDieId

Pole Bajt Opis
STAT 1 Status
RFU 2-4
ZMARŁ 5-20 ID kostki (16 bajtów)

3.4.7 Polecenie DL_CHECK_INTEGRITY
Wymiana ramek:
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] Ramka danych odpowiedzi CheckIntegrity to:
Tabela 7. Odpowiedź na polecenie CheckIntegrity

Pole Bajt Wartość/opis
STAT 1 Status
DANE LEN 2 Całkowita liczba sekcji danych
KOD LEN 3 Całkowita liczba sekcji kodu
RFU 4 Skryty
[Informacje o CRC] 58 32 bity (little-endian). Jeśli bit jest ustawiony, CRC odpowiedniej sekcji jest OK, w przeciwnym razie Not OK.
Fragment Status integralności obszaru
[31:28] Zarezerwowane [3]
[27:23] Zarezerwowane [1]
[22] Zarezerwowane [3]
[21:20] Zarezerwowane [1]
[19] Obszar konfiguracji RF (PN5190 B0/B1) [2] Zarezerwowany (PN5190 B2) [3]
[18] Obszar konfiguracji protokołu (PN5190 B0/B1) [2] Obszar konfiguracji RF (PN5190 B2) [2]
[17] Zarezerwowane (PN5190 B0/B1) [3] Obszar konfiguracji użytkownika (PN5190 B2) [2]
[16:6] Zarezerwowane [3]
[5:4] Zarezerwowane dla PN5190 B0/B1 [3] Zarezerwowane dla PN5190 B2 [1]
[3:0] Zarezerwowane [1]
[CRC32] 9-136 CRC32 z 32 sekcji. Każda CRC składa się z 4 bajtów zapisanych w formacie little-endian.
Pierwsze 4 bajty CRC to bit CRC_INFO[31], następne 4 bajty CRC to bit CRC_INFO[30] i tak dalej.
  • [1] Ten bit musi mieć wartość 1, aby PN5190 działał prawidłowo (z funkcjami i/lub szyfrowanym pobieraniem oprogramowania sprzętowego).
  • [2] Ten bit jest domyślnie ustawiony na 1, ale ustawienia zmodyfikowane przez użytkownika unieważniają CRC. Nie ma to wpływu na funkcjonalność PN5190.
  • [3] Ta wartość bitowa, nawet jeśli wynosi 0, nie jest istotna. Tę wartość bitową można zignorować.

3.4.8 Polecenie DL_SEC_WRITE
Polecenie DL_SEC_WRITE należy rozpatrywać w kontekście sekwencji bezpiecznych poleceń zapisu: zaszyfrowanego „bezpiecznego pobierania oprogramowania sprzętowego” (często określanego jako eSFWu).
Polecenie Secure Write najpierw otwiera sesję pobierania i przekazuje uwierzytelnianie RSA. Następne przekazują zaszyfrowane adresy i bajty do zapisu w pamięci Flash PN5190. Wszystkie oprócz ostatniego zawierają hash następnego, informując w ten sposób, że nie są ostatnie, i kryptograficznie wiążąc ramki sekwencji.
Inne polecenia (oprócz DL_RESET i DL_CHECK_INTEGRITY) można wstawiać pomiędzy polecenia zapisu zabezpieczonego sekwencji, nie powodując jej przerwania.
3.4.8.1 Pierwsze polecenie DL_SEC_WRITE
Bezpieczne polecenie zapisu jest pierwszym poleceniem wtedy i tylko wtedy, gdy:

  1. Długość ramki wynosi 312 bajtów
  2. Od ostatniego resetu nie otrzymano żadnego bezpiecznego polecenia zapisu.
  3. Podpis osadzony został pomyślnie zweryfikowany przez PN5190.

Odpowiedź na pierwsze polecenie klatki będzie następująca: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT to status zwrotny.
Notatka: Co najmniej jeden fragment danych musi zostać zapisany podczas eSFWu, nawet jeśli zapisane dane mogą mieć długość tylko jednego bajtu. Dlatego pierwsze polecenie zawsze będzie zawierało skrót następnego polecenia, ponieważ będą co najmniej dwa polecenia.
3.4.8.2 Polecenia środkowe DL_SEC_WRITE
Bezpieczne polecenie zapisu jest poleceniem „środkowym” wtedy i tylko wtedy, gdy:

  1. Kod operacji jest taki, jak opisano w rozdziale 3.4.1 dla polecenia DL_SEC_WRITE.
  2. Pierwsze bezpieczne polecenie zapisu zostało już odebrane i pomyślnie zweryfikowane
  3. Od momentu otrzymania pierwszego polecenia bezpiecznego zapisu nie nastąpił żaden reset
  4. Długość ramki jest równa rozmiarowi danych + rozmiarowi nagłówka + rozmiarowi skrótu: FLEN = ROZMIAR + 6 + 32
  5. Podsumowanie całej ramki jest równe wartości skrótu otrzymanej w poprzedniej ramce

Odpowiedź na pierwsze polecenie klatki będzie następująca: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT to status zwrotny.
3.4.8.3 Ostatnie polecenie DL_SEC_WRITE
Ostatnie polecenie zapisu jest bezpieczne wtedy i tylko wtedy, gdy:

  1. Kod operacji jest taki, jak opisano w rozdziale 3.4.1 dla polecenia DL_SEC_WRITE.
  2. Pierwsze bezpieczne polecenie zapisu zostało już odebrane i pomyślnie zweryfikowane
  3. Od momentu otrzymania pierwszego polecenia bezpiecznego zapisu nie nastąpił żaden reset
  4. Długość ramki jest równa rozmiarowi danych + rozmiarowi nagłówka: FLEN = ROZMIAR + 6
  5. Podsumowanie całej ramki jest równe wartości skrótu otrzymanej w poprzedniej ramce

Odpowiedź na pierwsze polecenie klatki będzie następująca: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT to status zwrotny.

Tryb rozruchu układu scalonego IC – tryb normalnej pracy

4.1 Wprowadzenie
Zazwyczaj układ PN5190 IC musi znajdować się w normalnym trybie pracy, aby można było korzystać z funkcjonalności NFC.
Podczas rozruchu układ PN5190 IC zawsze czeka na otrzymanie poleceń od hosta w celu wykonania operacji, chyba że zdarzenia wygenerowane w układzie PN5190 IC spowodowały rozruch układu PN5190 IC.
4.2 Lista poleceń powyżejview
Tabela 8. Lista poleceń PN5190

Kod rozkazu Nazwa polecenia
0x00 ZAPISZ_REJESTRUJ
0x01 WRITE_REGISTER_OR_MASK
0x02 Zapis_rejestru_i_maski
0x03 WRITE_REGISTER_MULTIPLE
0x04 CZYTAJ_ZAREJESTRUJ SIĘ
0x05 REJESTRACJA_WIELOKROTNA
0x06 Zapisz_E2PROM
0x07 ODCZYTAJ_E2PROM
0x08 TRANSMISJA_DANYCH_RF
0x09 POBIERZ_DANE_RF
0x0A WYMIANA_DANYCH_RF
0x0B Uwierzytelnianie MFC
0x0C EPC_GEN2_INWENTARYZACJA
0x0D WCZYTAJ KONFIGURACJĘ RF
0x0E AKTUALIZACJA_KONFIGURACJA_RF
0x0F POBIERZ_KONFIGURACJĘ_RF
0x10 RF_WŁĄCZONY
0x11 RF_WYŁ
0x12 KONFIGURACJA TESTBUS_DIGITAL
0x13 KONFIGURACJA_TAG_ANALOGOWA_BUS
0x14 WŁĄCZENIE CTS
0x15 KONFIGURACJA CTS
0x16 Dziennik_powrotu_CTS
0x17-0x18 RFU
0x19 do FW v2.01: RFU
od wersji FW 2.03: RETRIEVE_RF_FELICA_EMD_DATA
0x1A ODBIERZ_DANE_RF
0x1B-0x1F RFU
0x20 TRYB_PRZEŁĄCZANIA_NORMALNY
0x21 AUTOMATYCZNE_PRZEŁĄCZANIE_TRYBU
0x22 TRYB_PRZEŁĄCZANIA_CZUWANIE
0x23 TRYB_PRZEŁĄCZANIA_LPCD
0x24 RFU
0x25 POBIERANIE_TRYBU_PRZEŁĄCZANIA
0x26 POBIERZ_ID_ŚMIERCI
0x27 GET_VERSION
0x28 RFU
0x29 do FW v2.05: RFU
od wersji FW 2.06: GET_CRC_USER_AREA
0x2A do FW v2.03: RFU
od wersji FW 2.05: KONFIGURACJA_WIELOKROTNEJ_BUS_TESTOWEJ_CYFROWEJ
0x2B-0x3F RFU
0x40 ANTENNA_SELF_TEST (nieobsługiwane)
0x41 Test PRBS
0x42-0x4F RFU

4.3 Wartości statusu odpowiedzi
Poniżej znajdują się wartości statusu odpowiedzi, które są zwracane jako część odpowiedzi z PN5190 po uruchomieniu polecenia.
Tabela 9. Wartości statusu odpowiedzi PN5190

Stan odpowiedzi Wartość statusu odpowiedzi Opis
PN5190_STATUS_POWODZENIE 0x00 Oznacza, że ​​operacja zakończyła się pomyślnie
PN5190_STATUS_TIMEOUT 0x01 Oznacza, że ​​wykonanie polecenia spowodowało przekroczenie limitu czasu
PN5190_BŁĄD_INTEGRITY_STATUS 0x02 Oznacza, że ​​wykonanie polecenia spowodowało błąd integralności danych RF
PN5190_STATUS_RF_COLLISION_ERROR 0x03 Oznacza, że ​​wykonanie polecenia spowodowało błąd kolizji RF
PN5190_STATUS_RFU1 0x04 Skryty
PN5190_STATUS_NIEWAŻNY_POLECENIE 0x05 Oznacza, że ​​podane polecenie jest nieprawidłowe/nie zostało zaimplementowane
PN5190_STATUS_RFU2 0x06 Skryty
PN5190_STATUS_AUTH_ERROR 0x07 Oznacza, że ​​uwierzytelnianie MFC nie powiodło się (odmowa dostępu)
PN5190_BŁĄD_STATUSU_PAMIĘCI 0x08 Oznacza, że ​​wykonanie polecenia spowodowało błąd programowania lub błąd pamięci wewnętrznej
PN5190_STATUS_RFU4 0x09 Skryty
PN5190_STATUS_NO_RF_FIELD 0x0A Oznacza brak lub błąd obecności wewnętrznego pola RF (dotyczy tylko trybu inicjatora/czytnika)
PN5190_STATUS_RFU5 0x0B Skryty
PN5190_STATUS_SYNTAX_ERROR 0x0C Oznacza, że ​​otrzymano nieprawidłową długość ramki polecenia
PN5190_BŁĄD_ZASOBU_STATUSU 0x0D Oznacza, że ​​wystąpił wewnętrzny błąd zasobu
PN5190_STATUS_RFU6 0x0E Skryty
PN5190_STATUS_RFU7 0x0F Skryty
PN5190_STATUS_NO_EXTERNAL_RF_FIELD 0x10 Oznacza, że ​​podczas wykonywania polecenia nie występuje żadne zewnętrzne pole RF (dotyczy tylko trybu karty/celu)
PN5190_STATUS_RX_TIMEOUT 0x11 Oznacza, że ​​dane nie zostały odebrane po zainicjowaniu RFExchange i upłynął limit czasu odbioru RX.
PN5190_STATUS_UŻYTKOWNIK_ANULOWANY 0x12 Oznacza, że ​​bieżące polecenie w toku zostało przerwane
PN5190_STATUS_PREVENT_STANDBY 0x13 Oznacza, że ​​PN5190 nie może przejść w tryb gotowości
PN5190_STATUS_RFU9 0x14 Skryty
PN5190_BŁĄD_STATUSU_ZEGARA 0x15 Oznacza, że ​​zegar do CLIF nie został uruchomiony
PN5190_STATUS_RFU10 0x16 Skryty
PN5190_STATUS_PRBS_BŁĄD 0x17 Oznacza, że ​​polecenie PRBS zwróciło błąd
PN5190_BŁĄD_INSTR_STATUS 0x18 Oznacza, że ​​wykonanie polecenia nie powiodło się (może to obejmować błąd w parametrach instrukcji, błąd składni, błąd w samej operacji, niespełnione wymagania wstępne dla instrukcji itp.)
PN5190_STATUS_DOSTĘP_ODMOWA 0x19 Oznacza, że ​​dostęp do pamięci wewnętrznej jest zabroniony
PN5190_STATUS_TX_BŁĄD 0x1A Oznacza, że ​​TX przez RF nie powiodło się
PN5190_STATUS_BEZ_ANTENY 0x1B Oznacza, że ​​antena nie jest podłączona/nie ma jej w pobliżu
PN5190_STATUS_TXLDO_BŁĄD 0x1C Oznacza, że ​​w TXLDO wystąpił błąd, gdy VUP jest niedostępny, a RF jest włączony.
PN5190_STATUS_RFCFG_NIE_ZASTOSOWANY 0x1D Oznacza, że ​​konfiguracja RF nie jest ładowana po włączeniu RF
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR 0x1E do FW 2.01: nieoczekiwane
od FW 2.03:
Oznacza, że ​​podczas wymiany z ustawionym bitem LOG ENABLE w rejestrze FeliCa EMD zaobserwowano błąd FeliCa EMD
PN5190_STATUS_BŁĄD_WEWNĘTRZNY 0x7F Oznacza, że ​​operacja NVM nie powiodła się
PN5190_STATUS_SUKCES_ŁAŃCUCHOWY 0xAF Oznacza, że ​​dane oczekują na odczyt

4.4 Wydarzenia powyżejview
Istnieją dwa sposoby powiadamiania hosta o zdarzeniach.
4.4.1 Zdarzenia normalne na pinie IRQ
Wydarzenia te należą do poniższych kategorii:

  1. Zawsze włączone – Host jest zawsze powiadamiany
  2. Sterowane przez hosta – host jest powiadamiany, jeśli odpowiedni bit włączania zdarzeń jest ustawiony w rejestrze (EVENT_ENABLE (01h)).

Przerwania niskiego poziomu z peryferyjnych adresów IP, w tym CLIF, muszą być w całości obsługiwane przez oprogramowanie sprzętowe, a host musi być powiadamiany wyłącznie o zdarzeniach wymienionych w sekcji zdarzeń.
Oprogramowanie sprzętowe implementuje dwa rejestry zdarzeń jako rejestry RAM, które można zapisywać i odczytywać za pomocą poleceń podanych w rozdziale 4.5.1.1/rozdział 4.5.1.5.
Rejestr EVENT_ENABLE (0x01) => Włącz powiadomienia o określonych/wszystkich zdarzeniach.
Rejestr EVENT_STATUS (0x02) => Część ładunku komunikatu zdarzenia.
Zdarzenia zostaną usunięte przez hosta po odczytaniu przez niego komunikatu o zdarzeniu.
Zdarzenia mają charakter asynchroniczny i są powiadamiane o nich hosta, jeżeli zostaną włączone w rejestrze EVENT_ENABLE.
Poniżej znajduje się lista zdarzeń, które będą dostępne dla gospodarza jako część komunikatu o zdarzeniu.
Tabela 10. Wydarzenia PN5190 (zawartość EVENT_STATUS)

Bit – zakres Pole [1] Zawsze Włączone (T/N)
31 12 RFU NA
11 11 ZDARZENIE_CTS [2] N
10 10 ZDARZENIE_BEZCZYNNE Y
9 9 LPCD_CALIBRATION_DONE_EVENT Y
8 8 ZDARZENIE_LPCD Y
7 7 AUTOCOLL_EVENT Y
6 6 ZDARZENIE_TIMER0 N
5 5 ZDARZENIE_PRZECIĄŻENIA_TX N
4 4 RFON_DET_ZDARZENIE [2] N
3 3 RFOFF_DET_ZDARZENIE [2] N
2 2 STANDBY_PREV_EVENT Y
1 1 OGÓLNE_ZDARZENIE_BŁĘDU Y
0 0 ZDARZENIE_BOOT Y
  1. Należy zauważyć, że nie ma dwóch zdarzeń łączonych, z wyjątkiem błędów. W przypadku błędów podczas operacji, zdarzenie funkcjonalne (np. BOOT_EVENT, AUTOCALL_EVENT itd.) i GENERAL_ERROR_EVENT zostaną ustawione.
  2. To zdarzenie zostanie automatycznie wyłączone po opublikowaniu go u hosta. Host powinien ponownie włączyć te zdarzenia, jeśli chce, aby były mu o nich powiadamiane.

4.4.1.1 Formaty komunikatów o zdarzeniach
Format komunikatu o zdarzeniu różni się w zależności od wystąpienia zdarzenia i stanu urządzenia PN5190.
Gospodarz musi przeczytać tag (T) i długość wiadomości (L), a następnie odczytaj odpowiadającą jej liczbę bajtów jako wartość (V) zdarzeń.
Ogólnie rzecz biorąc, komunikat zdarzenia (patrz rysunek 12) zawiera parametr EVENT_STATUS zdefiniowany w tabeli 11, a dane zdarzenia odpowiadają odpowiedniemu bitowi zdarzenia ustawionemu w parametrze EVENT_STATUS.
Notatka:
W przypadku niektórych zdarzeń ładunek nie istnieje. Np. jeśli TIMER0_EVENT jest wyzwalany, tylko EVENT_STATUS jest dostarczany jako część komunikatu zdarzenia.
Tabela 11 zawiera także informacje o tym, czy dane zdarzenia są obecne dla odpowiadającego mu zdarzenia w komunikacie zdarzenia.Kontroler front-endowy NFC NXP PN5190 — wystąpiły błędyGENERAL_ERROR_EVENT może również wystąpić w połączeniu z innymi zdarzeniami.
W tym scenariuszu komunikat zdarzenia (patrz rysunek 13) zawiera parametr EVENT_STATUS zdefiniowany w tabeli 11 i parametr GENERAL_ERROR_STATUS_DATA zdefiniowany w tabeli 14, a następnie dane zdarzenia odpowiadają odpowiedniemu bitowi zdarzenia ustawionemu w parametrze EVENT_STATUS zdefiniowanym w tabeli 11.Kontroler front-endowy NXP PN5190 NFC — formatowanie w przypadku wystąpienia błęduNotatka:
Dopiero po zdarzeniu BOOT_EVENT lub po POR, STANDBY, ULPCD host będzie mógł pracować w normalnym trybie, wydając polecenia wymienione powyżej.
W przypadku przerwania istniejącego polecenia, dopiero po wystąpieniu zdarzenia IDLE_EVENT, host będzie mógł pracować w normalnym trybie, wydając polecenia wymienione powyżej.
4.4.1.2 Różne definicje statusu ZDARZENIA
4.4.1.2.1 Definicje bitów dla EVENT_STATUS
Tabela 11. Definicje bitów EVENT_STATUS

Bit (Do – Od) Wydarzenie Opis Dane zdarzenia odpowiadającego zdarzeniu
(jeśli istnieje)
31 12 RFU Skryty
11 11 ZDARZENIE_CTS Ten bit jest ustawiany, gdy generowane jest zdarzenie CTS. Tabela 86
10 10 ZDARZENIE_BEZCZYNNE Ten bit jest ustawiony, gdy trwające polecenie zostanie anulowane z powodu wydania polecenia SWITCH_MODE_NORMAL. Brak danych o wydarzeniu
9 9 KALIBRACJA_LPCD_GOTOWA_
WYDARZENIE
Ten bit jest ustawiany, gdy generowane jest zdarzenie kalibracji LPCD. Tabela 16
8 8 ZDARZENIE_LPCD Ten bit jest ustawiany w momencie wygenerowania zdarzenia LPCD. Tabela 15
7 7 AUTOCOLL_EVENT Ten bit jest ustawiany po zakończeniu operacji AUTOCOLL. Tabela 52
6 6 ZDARZENIE_TIMER0 Ten bit jest ustawiany, gdy wystąpi zdarzenie TIMER0. Brak danych o wydarzeniu
5 5 BŁĄD_PRZECIĄŻENIA_TX_
WYDARZENIE
Ten bit jest ustawiony, gdy prąd w sterowniku TX jest wyższy niż zdefiniowany próg w pamięci EEPROM. W takim przypadku pole jest automatycznie wyłączane przed powiadomieniem hosta. Zapoznaj się z sekcją 4.4.2.2. Brak danych o wydarzeniu
4 4 ZDARZENIE_RFON_DET Ten bit zostaje ustawiony, gdy zostanie wykryte zewnętrzne pole RF. Brak danych o wydarzeniu
3 3 ZDARZENIE_RFOFF_DET Ten bit jest ustawiony, gdy istniejące zewnętrzne pole RF zniknie. Brak danych o wydarzeniu
2 2 STANDBY_PREV_EVENT Ten bit jest ustawiony, gdy stan gotowości jest zapobiegawczy ze względu na istniejące warunki zapobiegawcze. Tabela 13
1 1 OGÓLNE_ZDARZENIE_BŁĘDU Ten bit jest ustawiony, gdy występują jakiekolwiek ogólne warunki błędu Tabela 14
0 0 ZDARZENIE_BOOT Ten bit jest ustawiony, gdy PN5190 jest uruchamiany z POR/Standby Tabela 12

4.4.1.2.2 Definicje bitów dla BOOT_STATUS_DATA
Tabela 12. Definicje bitów BOOT_STATUS_DATA

trochę do Kawałek z Stan rozruchu Powód rozruchu z powodu
31 27 RFU Skryty
26 26 ULP_STANDBY Przyczyną rozruchu jest wyjście z ULP_STANDBY.
25 23 RFU Skryty
22 22 BOOT_ RX_ ULPDET RX ULPDET spowodował rozruch w trybie gotowości ULP
21 21 RFU Skryty
20 20 BOOT_SPI Przyczyną rozruchu jest obniżenie sygnału SPI_NTS
19 17 RFU Skryty
16 16 Rozruch_GPIO3 Przyczyną rozruchu jest zmiana stanu GPIO3 z niskiego na wysoki.
15 15 Rozruch_GPIO2 Przyczyną rozruchu jest zmiana stanu GPIO2 z niskiego na wysoki.
14 14 Rozruch_GPIO1 Przyczyną rozruchu jest zmiana stanu GPIO1 z niskiego na wysoki.
13 13 Rozruch_GPIO0 Przyczyną rozruchu jest zmiana stanu GPIO0 z niskiego na wysoki.
12 12 BOOT_LPDET Przyczyna rozruchu: obecność zewnętrznego pola RF podczas STANDBY/SUSPEND
11 11 RFU Skryty
10 8 RFU Skryty
7 7 BOOT_SOFT_RESET Przyczyna rozruchu: miękki reset układu scalonego
6 6 UTRATA_BOOT_VDDIO Przyczyna rozruchu z powodu utraty VDDIO. Zobacz sekcję 4.4.2.3
5 5 BOOT_VDDIO_START Powód rozruchu, jeśli wprowadzono STANDBY z VDDIO LOSS.
Patrz rozdział 4.4.2.3
4 4 BOOT_WUC Powód uruchomienia z powodu upływu czasu licznika wybudzeń podczas operacji STANDBY.
3 3 TEMP_ROBOTU Przyczyna rozruchu z powodu temperatury IC jest wyższa niż skonfigurowany limit progowy. Zapoznaj się z sekcją 4.4.2.1
2 2 BOOT_WDG Powód rozruchu z powodu resetu watchdoga
1 1 RFU Skryty
0 0 Porcja rozruchu Powód rozruchu: ponowne uruchomienie

4.4.1.2.3 Definicje bitów dla STANDBY_PREV_STATUS_DATA
Tabela 13. Definicje bitów STANDBY_PREV_STATUS_DATA

trochę do  Kawałek z  Zapobieganie gotowości Tryb gotowości zablokowany z powodu
31 26 RFU SKRYTY
25 25 RFU SKRYTY
24 24 POPRZEDNIA TEMP. Temperatura pracy układów scalonych jest poza progiem
23 23 RFU SKRYTY
22 22 POPRZEDNI_HOSTCOMM Komunikacja interfejsu hosta
21 21 POPRZEDNI_SPI Sygnał SPI_NTS jest ściągany w dół
20 18 RFU SKRYTY
17 17 POPRZEDNI_GPIO3 Przejście sygnału GPIO3 z niskiego na wysoki
16 16 POPRZEDNI_GPIO2 Przejście sygnału GPIO2 z niskiego na wysoki
15 15 POPRZEDNI_GPIO1 Przejście sygnału GPIO1 z niskiego na wysoki
14 14 POPRZEDNI_GPIO0 Przejście sygnału GPIO0 z niskiego na wysoki
13 13 POPRZEDNI_WUC Upłynął czas wybudzenia
12 12 POPRZEDNI_LPDET Wykrywanie niskiego poboru mocy. Występuje, gdy zewnętrzny sygnał RF zostanie wykryty w trakcie przechodzenia w tryb czuwania.
11 11 POPRZEDNIE_RX_ULPDET Wykrywanie ultraniskiej mocy RX. Występuje, gdy sygnał RF zostanie wykryty w procesie przechodzenia do ULP_STANDBY.
10 10 RFU SKRYTY
9 5 RFU SKRYTY
4 4 RFU SKRYTY
3 3 RFU SKRYTY
2 2 RFU SKRYTY
1 1 RFU SKRYTY
0 0 RFU SKRYTY

4.4.1.2.4 Definicje bitów dla GENERAL_ERROR_STATUS_DATA
Tabela 14. Definicje bitów GENERAL_ERROR_STATUS_DATA

trochę do  Kawałek z  Stan błędu Opis
31 6 RFU Skryty
5 5 Błąd startu XTAL Nieudany start XTAL podczas rozruchu
4 4 BŁĄD_ODZYSKIWANIA_SYS_TRIM Wystąpił wewnętrzny błąd pamięci trim systemu, ale odzyskiwanie nie powiodło się. System działa w trybie downgrade.
3 3 SYS_TRIM_RECOVERY_POWODZENIE Wystąpił wewnętrzny błąd pamięci trim systemu, a odzyskiwanie powiodło się. Host musi wykonać restart PN5190, aby odzyskiwanie zostało zastosowane.
2 2 Błąd TXLDO Błąd TXLDO
1 1 BŁĄD_ZEGARA Błąd zegara
0 0 Błąd GPADC Błąd ADC

4.4.1.2.5 Definicje bitów dla LPCD_STATUS_DATA
Tabela 15. Definicje bajtów LPCD_STATUS_DATA

trochę do Kawałek z Stosowalność bitów stanu zgodnie z podstawową operacją LPCD lub ULPCD Opis odpowiadającego bitu jest ustawiony w bajcie stanu.
LCD ULPCD
31 7 RFU Skryty
6 6 Przerwij_HIF Y N Przerwane z powodu aktywności HIF
5 5 Błąd CLKDET N Y Przerwano z powodu wystąpienia błędu CLKDET
4 4 Przekroczenie limitu czasu XTAL N Y Przerwano z powodu przekroczenia limitu czasu XTAL
3 3 Nadprądowy VDDPA LDO N Y Przerwano z powodu przetężenia VDDPA LDO
2 2 Zewnętrzne pole RF Y Y Przerwane z powodu zewnętrznego pola RF
1 1 Przerwij GPIO3 N Y Przerwane z powodu zmiany poziomu GPIO3
0 0 Wykryto kartę Y Y Karta została wykryta

4.4.1.2.6 Definicje bitów dla danych statusu LPCD_CALIBRATION_DONE
Tabela 16. Definicje bajtów danych stanu LPCD_CALIBRATION_DONE dla ULPCD

trochę do Kawałek z Status LPCD_CALIBRATION DONE wydarzenie Opis odpowiadającego bitu jest ustawiony w bajcie stanu.
31 11 Skryty
10 0 Wartość odniesienia z kalibracji ULPCD Zmierzona wartość RSSI podczas kalibracji ULPCD, która jest używana jako punkt odniesienia podczas ULPCD

Tabela 17. Definicje bajtów danych stanu LPCD_CALIBRATION_DONE dla LPCD

trochę do Kawałek z Stosowalność bitów stanu zgodnie z podstawową operacją LPCD lub ULPCD Opis odpowiadającego bitu jest ustawiony w bajcie stanu.
2 2 Zewnętrzne pole RF Y Y Przerwane z powodu zewnętrznego pola RF
1 1 Przerwij GPIO3 N Y Przerwane z powodu zmiany poziomu GPIO3
0 0 Wykryto kartę Y Y Karta została wykryta

4.4.2 Obsługa różnych scenariuszy rozruchowych
Układ scalony PN5190 obsługuje różne warunki błędów związane z parametrami układu scalonego, jak pokazano poniżej.
4.4.2.1 Obsługa scenariusza przekroczenia temperatury podczas pracy PN5190
Za każdym razem, gdy wewnętrzna temperatura układu PN5190 IC osiągnie wartość progową skonfigurowaną w polu EEPROM TEMP_WARNING [2], układ IC przechodzi w tryb gotowości. W konsekwencji, jeśli pole EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] jest skonfigurowane tak, aby wysyłać powiadomienie do hosta, GPIO0 zostanie podciągnięte do góry, aby powiadomić układ IC o przekroczeniu temperatury.
Gdy temperatura układu scalonego spadnie poniżej wartości progowej skonfigurowanej w polu pamięci EEPROM TEMP_WARNING [2], układ scalony uruchomi się z komunikatem BOOT_EVENT, jak w tabeli 11, a bit stanu rozruchu BOOT_TEMP zostanie ustawiony zgodnie z tabelą 12, a GPIO0 zostanie ściągnięte do stanu niskiego.
4.4.2.2 Postępowanie w przypadku przetężenia
Jeżeli układ scalony PN5190 wykryje stan nadmiernego prądu, wyłącza zasilanie RF i wysyła sygnał TX_OVERCURRENT_ERROR_EVENT, jak pokazano w tabeli 11.
Czas trwania stanu przetężenia można kontrolować poprzez modyfikację pola pamięci EEPROM TXLDO_CONFIG [2].
Informacje na temat progu przekroczenia prądu w układzie scalonym można znaleźć w dokumencie [2].
Notatka:
Jeśli istnieją inne oczekujące zdarzenia lub odpowiedzi, zostaną one wysłane do hosta.
4.4.2.3 Utrata VDDIO podczas pracy
Jeżeli układ scalony PN5190 stwierdzi brak sygnału VDDIO (utrata sygnału VDDIO), przechodzi w tryb czuwania.
Układ scalony IC uruchamia się tylko wtedy, gdy dostępny jest interfejs VDDIO, przy BOOT_EVENT, jak w tabeli 11, oraz ustawionym bitzie stanu rozruchu BOOT_VDDIO_START, jak w tabeli 12.
Informacje na temat statycznych charakterystyk układu scalonego PN5190 można znaleźć w dokumencie [2].
4.4.3 Obsługa scenariuszy przerwania
Układ scalony PN5190 obsługuje przerywanie aktualnie wykonywanych poleceń. Zachowanie układu scalonego PN5190 po wysłaniu do układu scalonego PN4.5.4.5.2 polecenia przerwania, takiego jak opisane w sekcji 5190, przedstawiono w tabeli 18.
Notatka:
Gdy układ scalony PN5190 znajduje się w trybie ULPCD i ULP-Standby, nie można go przerwać ani przez wysłanie sekcji 4.5.4.5.2, ani przez rozpoczęcie transakcji SPI (poprzez podanie stanu niskiego na sygnał SPI_NTS).
Tabela 18. Oczekiwana odpowiedź zdarzenia po zakończeniu różnych poleceń zgodnie z sekcją 4.5.4.5.2

Polecenia Zachowanie po wysłaniu polecenia Przełącz tryb normalny
Wszystkie polecenia, w których nie wprowadzono niskiego poboru mocy EVENT_STAUS jest ustawiony na „IDLE_EVENT”
Tryb przełączania LPCD EVENT_STATUS jest ustawiony na „LPCD_EVENT”, a „LPCD_ STATUS_DATA” wskazuje bity stanu jako „Abort_HIF”
Przełącz tryb gotowości EVENT_STAUS jest ustawiony na „BOOT_EVENT” z „BOOT_ STATUS_DATA” wskazującym bity „BOOT_SPI”
Tryb przełączania Autocoll (brak trybu autonomicznego, tryb autonomiczny z trybem gotowości i tryb autonomiczny bez trybu gotowości) Parametr EVENT_STAUS jest ustawiony na „AUTOCOLL_EVENT”, a bity STATUS_DATA wskazują, że polecenie zostało anulowane przez użytkownika.

4.5 Szczegóły instrukcji obsługi trybu normalnego
4.5.1 Manipulacja rejestrami
Instrukcje w tej sekcji służą do dostępu do rejestrów logicznych PN5190.
4.5.1.1 Zapis rejestru
Ta instrukcja służy do zapisu wartości 32-bitowej (little-endian) do rejestru logicznego.
4.5.1.1.1 warunków
Adres rejestru musi istnieć i rejestr musi mieć atrybut READ-WRITE lub WRITE-ONLY.
4.5.1.1.2 Polecenie
Tabela 19. Wartość polecenia WRITE_REGISTER Zapisuje wartość 32-bitową do rejestru.

Pole ładunku Długość Wartość/opis
Adres rejestrowy 1 bajtów Adres rejestru.

Tabela 19. Wartość polecenia WRITE_REGISTER…cd.
Zapisz wartość 32-bitową w rejestrze.

Pole ładunku Długość Wartość/opis
Wartość 4 bajty Wartość rejestru 32-bitowego, która musi zostać zapisana. (Little-endian)

4.5.1.1.3 Odpowiedź
Tabela 20. Wartość odpowiedzi WRITE_REGISTER

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_BŁĄD_INSTR_STATUS

4.5.1.1.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.1.2 Zapis_rejestru_lub_maski
Ta instrukcja służy do modyfikowania zawartości rejestru za pomocą operacji logicznej OR. Zawartość rejestru jest odczytywana i wykonywana jest operacja logiczna OR z podaną maską. Zmodyfikowana zawartość jest zapisywana z powrotem do rejestru.
4.5.1.2.1 warunków
Adres rejestru musi istnieć i rejestr musi mieć atrybut READ-WRITE.
4.5.1.2.2 Polecenie
Tabela 21. Wartość polecenia WRITE_REGISTER_OR_MASK Wykonuje operację logiczną LUB na rejestrze przy użyciu podanej maski.

Pole ładunku Długość Wartość/opis
Adres rejestrowy 1 bajtów Adres rejestru.
Maska 4 bajty Maska bitowa używana jako operand dla operacji logicznej OR. (Little-endian)

4.5.1.2.3 Odpowiedź
Tabela 22. Wartość odpowiedzi WRITE_REGISTER_OR_MASK

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_BŁĄD_INSTR_STATUS

4.5.1.2.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.1.3 Zapis_rejestru_i_maski
Ta instrukcja służy do modyfikowania zawartości rejestru za pomocą operacji logicznej AND. Zawartość rejestru jest odczytywana i wykonywana jest operacja logiczna AND z podaną maską. Zmodyfikowana zawartość jest zapisywana z powrotem do rejestru.
4.5.1.3.1 warunków
Adres rejestru musi istnieć i rejestr musi mieć atrybut READ-WRITE.
4.5.1.3.2 Polecenie
Tabela 23. Wartość polecenia WRITE_REGISTER_AND_MASK Wykonuje operację logiczną AND na rejestrze przy użyciu podanej maski.

Pole ładunku Długość Wartość/opis
Adres rejestrowy 1 bajtów Adres rejestru.
Maska 4 bajty Maska bitowa używana jako operand dla operacji logicznej AND. (Little-endian)

4.5.1.3.3 Odpowiedź
Tabela 24. Wartość odpowiedzi WRITE_REGISTER_AND_MASK

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_BŁĄD_INSTR_STATUS

4.5.1.3.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.1.4 Zapis rejestru wielokrotnego
Ta funkcjonalność instrukcji jest podobna do sekcji 4.5.1.1, sekcji 4.5.1.2, sekcji 4.5.1.3, z możliwością ich łączenia. W rzeczywistości pobiera tablicę zestawów register-type-value i wykonuje odpowiednią akcję. Typ odzwierciedla akcję, która jest albo zapisem rejestru, logiczną operacją OR na rejestrze albo logiczną operacją AND na rejestrze.
4.5.1.4.1 warunków
W zestawie musi istnieć odpowiedni adres logiczny rejestru.
Atrybut dostępu do rejestru musi zezwalać na wykonanie wymaganej akcji (typ):

  • Akcja zapisu (0x01): atrybut READ-WRITE lub WRITE-ONLY
  • Akcja maski OR (0x02): atrybut READ-WRITE
  • Działanie maski AND (0x03): atrybut READ-WRITE

Rozmiar tablicy „Zestaw” musi mieścić się w zakresie od 1 do 43 włącznie.
Pole „Typ” musi mieścić się w zakresie od 1 do 3 włącznie

4.5.1.4.2 Polecenie
Tabela 25. Wartość polecenia WRITE_REGISTER_MULTIPLE Wykonuje operację zapisu rejestru przy użyciu zestawu par rejestr-wartość.

Pole ładunku Długość Wartość/opis
Ustaw [1…n] 6 bajty Adres rejestrowy 1 bajtów Adres logiczny rejestru.
Typ 1 bajtów 0x1 Zapisz się do rejestru
0x2 Napisz Rejestr LUB Maska
0x3 Napisz Rejestr I Maska
Wartość 4 bajty 32 Wartość rejestru bitowego, która musi zostać zapisana, lub maska ​​bitowa używana do operacji logicznej. (Little-endian)

Uwaga: W przypadku wyjątku operacja nie jest wycofywana, tj. rejestry, które zostały zmodyfikowane do momentu wystąpienia wyjątku, pozostają w zmodyfikowanym stanie. Host musi podjąć odpowiednie działania, aby powrócić do zdefiniowanego stanu.
4.5.1.4.3 Odpowiedź
Tabela 26. Wartość odpowiedzi WRITE_REGISTER_MULTIPLE

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_BŁĄD_INSTR_STATUS

4.5.1.4.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.1.5 REJESTRACJA_ODCZYTU
Ta instrukcja służy do odczytu zawartości rejestru logicznego. Zawartość jest obecna w odpowiedzi jako wartość 4-bajtowa w formacie little-endian.
4.5.1.5.1 warunków
Adres rejestru logicznego musi istnieć. Atrybut dostępu rejestru musi być READ-WRITE lub READ-ONLY.
4.5.1.5.2 Polecenie
Tabela 27. Wartość polecenia READ_REGISTER
Odczytaj zawartość rejestru.

Pole ładunku Długość Wartość/opis
Adres rejestrowy 1 bajtów Adres rejestru logicznego

4.5.1.5.3 Odpowiedź
Tabela 28. Wartość odpowiedzi READ_REGISTER

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Zarejestruj wartość 4 bajty Wartość rejestru 32-bitowego, która została odczytana. (Little-endian)

4.5.1.5.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.1.6 REJESTRACJA_WIELOKROTNA_REJESTRACJA
Ta instrukcja służy do odczytu wielu rejestrów logicznych na raz. Wynik (zawartość każdego rejestru) jest dostarczany w odpowiedzi na instrukcję. Sam adres rejestru nie jest zawarty w odpowiedzi. Kolejność zawartości rejestru w odpowiedzi odpowiada kolejności adresów rejestrów w instrukcji.
4.5.1.6.1 warunków
Wszystkie adresy rejestrów w instrukcji muszą istnieć. Atrybut dostępu dla każdego rejestru musi być albo READ-WRITE albo READ-ONLY. Rozmiar tablicy 'Register Address' musi mieścić się w zakresie od 1 do 18 włącznie.
4.5.1.6.2 Polecenie
Tabela 29. Wartość polecenia READ_REGISTER_MULTIPLE Wykonuje operację odczytu rejestru na zestawie rejestrów.

Pole ładunku Długość Wartość/opis
Adres rejestru[1…n] 1 bajtów Adres rejestrowy

4.5.1.6.3 Odpowiedź
Tabela 30. Wartość odpowiedzi READ_REGISTER_MULTIPLE

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Wartość rejestru [1…n] 4 bajty Wartość 4 bajty Wartość rejestru 32-bitowego, która została odczytana (little-endian).

4.5.1.6.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.2 Manipulacja pamięcią E2PROM
Dostępny obszar w pamięci E2PROM jest zgodny z mapą pamięci EEPROM i rozmiarem adresowalnym.
Notatka:
1. W każdej podanej poniżej instrukcji wzmianka o „Adresie E2PROM” odnosi się do rozmiaru adresowalnego obszaru pamięci EEPROM.
4.5.2.1 ZAPIS_E2PROM
Ta instrukcja służy do zapisu jednej lub więcej wartości do pamięci E2PROM. Pole „Values” zawiera dane, które mają zostać zapisane do pamięci E2PROM, zaczynając od adresu podanego w polu „E2PROM Address”. Dane są zapisywane w kolejności sekwencyjnej.
Notatka:
Należy pamiętać, że jest to polecenie blokujące, co oznacza, że ​​NFC FE jest blokowany podczas operacji zapisu. Może to potrwać kilka milisekund.
4.5.2.1.1 warunków
Pole „Adres E2PROM” musi mieścić się w zakresie zgodnie z [2]. Liczba bajtów w polu „Wartości” musi mieścić się w zakresie od 1 do 1024 (0x0400) włącznie. Operacja zapisu nie może wykraczać poza adres EEPROM, jak wspomniano w [2]. Odpowiedź błędu musi zostać wysłana do hosta, jeśli adres przekracza przestrzeń adresową EEPROM, jak w [2].
4.5.2.1.2 Polecenie
Tabela 31. Wartość polecenia WRITE_E2PROM Zapisuje podane wartości sekwencyjnie do pamięci E2PROM.

Pole ładunku Długość Wartość/opis
Adres E2PROM 2 bajtów Adres w pamięci EEPROM, od którego ma rozpocząć się operacja zapisu. (Little-endian)
Wartości 1 – 1024 bajtów Wartości, które muszą zostać zapisane w pamięci E2PROM w kolejności sekwencyjnej.

4.5.2.1.3 Odpowiedź
Tabela 32. Wartość odpowiedzi WRITE_EEPROM

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.2.1.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.2.2 ODCZYT_E2PROM
Ta instrukcja służy do odczytu danych z obszaru pamięci E2PROM. Pole „Adres E2PROM” wskazuje adres początkowy operacji odczytu. Odpowiedź zawiera dane odczytane z E2PROM.
4.5.2.2.1 warunków
Pole „Adres E2PROM” musi mieścić się w prawidłowym zakresie.
Pole „Liczba bajtów” musi mieścić się w zakresie od 1 do 256 włącznie.
Operacja odczytu nie może wykraczać poza ostatni dostępny adres EEPROM.
Odpowiedź o błędzie zostanie wysłana do hosta, jeśli adres przekroczy przestrzeń adresową pamięci EEPROM.
4.5.2.2.2 Polecenie
Tabela 33. Wartość polecenia READ_E2PROM Odczyt wartości z pamięci E2PROM sekwencyjnie.

Pole ładunku Długość Wartość/opis
Adres E2PROM 2 bajtów Adres w pamięci E2PROM, od którego ma rozpocząć się operacja odczytu. (Little-endian)
Liczba bajtów 2 bajtów Liczba bajtów do odczytania. (Little-endian)

4.5.2.2.3 Odpowiedź
Tabela 34. Wartość odpowiedzi READ_E2PROM

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Wartości 1 – 1024 bajtów Wartości odczytane w kolejności sekwencyjnej.

4.5.2.2.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.2.3 POBIERZ_OBSZAR_UŻYTKOWNIKA_CRC
Ta instrukcja służy do obliczenia sumy kontrolnej CRC dla całego obszaru konfiguracji użytkownika, łącznie z obszarem protokołu układu scalonego PN5190.
4.5.2.3.1 Polecenie
Tabela 35. Wartość polecenia GET_CRC_USER_AREA
Odczytaj sumę kontrolną CRC obszaru konfiguracji użytkownika, łącznie z obszarem protokołu.

Pole ładunku Długość Wartość/opis
Brak danych w ładunku

4.5.2.3.2 Odpowiedź
Tabela 36. Wartość odpowiedzi GET_CRC_USER_AREA

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Wartości 4 bajty 4 bajty danych CRC w formacie little-endian.

4.5.2.3.3 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.3 Manipulacja danymi CLIF
Instrukcje zawarte w tej sekcji opisują polecenia dotyczące nadawania i odbioru sygnału RF.
4.5.3.1 WYMIANA_DANYCH_RF
Funkcja wymiany RF polega na transmisji danych TX i oczekiwaniu na odbiór danych RX.
Funkcja zwraca w przypadku odbioru (błędnego lub poprawnego) lub przekroczenia limitu czasu. Timer jest uruchamiany z END TRANSMISSION i zatrzymywany z START RECEPTION. Wartość limitu czasu wstępnie skonfigurowana w pamięci EEPROM zostanie użyta w przypadku, gdy limit czasu nie zostanie skonfigurowany przed wykonaniem polecenia Exchange.
Jeśli transceiver_state jest

  • w trybie IDLE włączony jest tryb TRANSCEIVE.
  • W trybie WAIT_RECEIVE stan transceivera jest resetowany do TRYBU TRANSCEIVE w przypadku ustawienia bitu inicjatora
  • W trybie WAIT_TRANSMIT stan transceivera jest resetowany do TRYBU TRANSCEIVE, jeśli bit inicjatora NIE jest ustawiony

Pole „Liczba prawidłowych bitów w ostatnim bajcie” wskazuje dokładną długość danych, które mają zostać przesłane.

4.5.3.1.1 warunków
Rozmiar pola „Dane TX” musi mieścić się w zakresie od 0 do 1024 włącznie.
Pole „Liczba prawidłowych bitów w ostatnim bajcie” musi mieścić się w zakresie od 0 do 7.
Polecenie nie może zostać wywołane podczas trwającej transmisji RF. Polecenie musi zapewnić właściwy stan transceivera do transmisji danych.
Notatka:
Ta komenda jest ważna tylko w trybie czytnika i trybie inicjatora „P2P” pasywnym/aktywnym.
4.5.3.1.2 Polecenie
Tabela 37. Wartość polecenia EXCHANGE_RF_DATA
Zapisz dane TX do wewnętrznego bufora transmisji RF i rozpocznij transmisję za pomocą polecenia transceive, a następnie czekaj na odbiór lub przekroczenie limitu czasu, aby przygotować odpowiedź dla hosta.

Pole ładunku Długość Wartość/opis
Liczba prawidłowych bitów w ostatnim bajcie 1 bajtów 0 Wszystkie bity ostatniego bajtu są przesyłane
1 – 7 Liczba bitów w ostatnim bajcie, które mają zostać przesłane.
Konfiguracja RFExchange 1 bajtów Konfiguracja funkcji RFExchange. Szczegóły poniżej

Tabela 37. Wartość polecenia EXCHANGE_RF_DATA…cd.
Zapisz dane TX do wewnętrznego bufora transmisji RF i rozpocznij transmisję za pomocą polecenia transceive, a następnie czekaj na odbiór lub przekroczenie limitu czasu, aby przygotować odpowiedź dla hosta.

Pole ładunku Długość Wartość/opis
Dane Teksasu n bajtów Dane TX, które muszą zostać wysłane przez CLIF przy użyciu polecenia transceive. n = 0 – 1024 bajtów

Tabela 38. Maska bitowa RFexchangeConfig

b7 b6 b5 b4 b3 b2 b1 b0 Opis
Bity 4–7 to RFU
X Dołącz dane RX do odpowiedzi na podstawie RX_STATUS, jeśli bit jest ustawiony na 1b.
X Dołącz rejestr EVENT_STATUS w odpowiedzi, jeśli bit jest ustawiony na 1b.
X Dołącz rejestr RX_STATUS_ERROR w odpowiedzi, jeśli bit jest ustawiony na 1b.
X Dołącz rejestr RX_STATUS w odpowiedzi, jeśli bit jest ustawiony na 1b.

4.5.3.1.3 Odpowiedź
Tabela 39. Wartość odpowiedzi EXCHANGE_RF_DATA

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR
RX_STATUS 4 bajty Jeśli zażądano RX_STATUS (little-endian)
BŁĄD_STATUSU_RX 4 bajty Jeśli zażądano RX_STATUS_ERROR (little-endian)
STAN_ZDARZENIA 4 bajty Jeśli zażądano EVENT_STATUS (little-endian)
Dane RX 1 – 1024 bajtów Jeśli zażądano danych RX. Dane RX otrzymane podczas fazy odbioru sygnału RF wymiany RF.

4.5.3.1.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.3.2 TRANSMISJA_DANYCH_RF
Ta instrukcja służy do zapisu danych do wewnętrznego bufora transmisji CLIF i rozpoczęcia transmisji za pomocą polecenia transceive wewnętrznie. Rozmiar tego bufora jest ograniczony do 1024 bajtów. Po wykonaniu tej instrukcji odbiór RF jest uruchamiany automatycznie.
Polecenie powraca natychmiast po zakończeniu transmisji, nie czekając na zakończenie odbioru.
4.5.3.2.1 warunków
Liczba bajtów w polu „Dane TX” musi mieścić się w zakresie od 1 do 1024 włącznie.
Polecenie nie może zostać wywołane w trakcie trwającej transmisji RF.
4.5.3.2.2 Polecenie
Tabela 40. Wartość polecenia TRANSMIT_RF_DATA Zapisuje dane TX do wewnętrznego bufora transmisji CLIF.

Pole ładunku Długość Wartość/opis
Liczba prawidłowych bitów w ostatnim bajcie 1 bajtów 0 Wszystkie bity ostatniego bajtu są przesyłane. 1 – 7 Liczba bitów w ostatnim bajcie, które mają zostać przesłane.
RFU 1 bajtów Skryty
Dane Teksasu 1 – 1024 bajtów Dane TX, które będą wykorzystane podczas następnej transmisji RF.

4.5.3.2.3 Odpowiedź
Tabela 41. Wartość odpowiedzi TRANSMIT_RF_DATA

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD

4.5.3.2.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.3.3 POBIERZ_DANE_RF
Ta instrukcja służy do odczytu danych z wewnętrznego bufora CLIF RX, który zawiera dane odpowiedzi RF (jeśli takie istnieją) przesłane do niego od czasu poprzedniego wykonania sekcji 4.5.3.1 z opcją nieuwzględniania odebranych danych w odpowiedzi lub poleceniu sekcji 4.5.3.2.
4.5.3.3.1 Polecenie
Tabela 42. Wartość polecenia RETRIEVE_RF_DATA Odczyt danych RX z wewnętrznego bufora odbioru sygnału RF.

Pole ładunku Długość Wartość/opis
Pusty Pusty Pusty

4.5.3.3.2 Odpowiedź
Tabela 43. Wartość odpowiedzi RETRIEVE_RF_DATA

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
Pole ładunku Długość Wartość/opis
PN5190_STATUS_INSTR_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Dane RX 1 – 1024 bajtów Dane RX odebrane podczas ostatniego udanego odbioru sygnału RF.

4.5.3.3.3 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.3.4 ODBIERZ_DANE_RF
Ta instrukcja oczekuje na dane otrzymane poprzez interfejs RF czytnika.
W trybie czytnika ta instrukcja zwraca albo odbiór (błędny lub poprawny), albo przekroczenie limitu czasu FWT. Timer jest uruchamiany z END TRANSMISSION i zatrzymywany z START RECEPTION. Domyślna wartość limitu czasu wstępnie skonfigurowana w pamięci EEPROM powinna być używana w przypadku, gdy limit czasu nie został skonfigurowany przed wykonaniem polecenia Exchange.
W trybie docelowym instrukcja ta powraca w przypadku odbioru (błędnego lub poprawnego) lub zewnętrznego błędu RF.
Notatka:
Ta instrukcja powinna być używana z poleceniem TRANSMIT_RF_DATA w celu wykonania operacji TX i RX…
4.5.3.4.1 Polecenie
Tabela 44. Wartość polecenia RECEIVE_RF_DATA

Pole ładunku Długość Wartość/opis
Odbierz konfigurację RF 1 bajtów Konfiguracja funkcji ReceiveRFConfig. Zobacz Tabela 45

Tabela 45. Maska bitowa ReceiveRFConfig

b7 b6 b5 b4 b3 b2 b1 b0 Opis
Bity 4–7 to RFU
X Dołącz dane RX do odpowiedzi na podstawie RX_STATUS, jeśli bit jest ustawiony na 1b.
X Dołącz rejestr EVENT_STATUS w odpowiedzi, jeśli bit jest ustawiony na 1b.
X Dołącz rejestr RX_STATUS_ERROR w odpowiedzi, jeśli bit jest ustawiony na 1b.
X Dołącz rejestr RX_STATUS w odpowiedzi, jeśli bit jest ustawiony na 1b.

4.5.3.4.2 Odpowiedź
Tabela 46. Wartość odpowiedzi RECEIVE_RF_DATA

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
PN5190_STATUS_TIMEOUT
Pole ładunku Długość Wartość/opis
PN5190_STATUS_NO_RF_FIELD
PN5190_STATUS_NO_EXTERNAL_RF_FIELD
RX_STATUS 4 bajty Jeśli zażądano RX_STATUS (little-endian)
BŁĄD_STATUSU_RX 4 bajty Jeśli zażądano RX_STATUS_ERROR (little-endian)
STAN_ZDARZENIA 4 bajty Jeśli zażądano EVENT_STATUS (little-endian)
Dane RX 1 – 1024 bajtów Jeśli zażądano danych RX. Dane RX otrzymano przez RF.

4.5.3.4.3 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (Konfiguracja FeliCa EMD)
Ta instrukcja służy do odczytu danych z wewnętrznego bufora CLIF RX, który zawiera dane odpowiedzi FeliCa EMD (jeśli takie istnieją), przesłane do niego z poprzedniego wykonania polecenia EXCHANGE_RF_DATA ze statusem „PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR”.
Notatka: Polecenie to jest dostępne od wersji PN5190 FW v02.03.
4.5.3.5.1 Polecenie
Odczyt danych RX z wewnętrznego bufora odbioru sygnału RF.
Tabela 47. Wartość polecenia RETRIEVE_RF_FELICA_EMD_DATA

Pole ładunku Długość Wartość/opis
FeliCaRFPobierz konfigurację 1 bajtów 00 – FF Konfiguracja funkcji RETRIEVE_RF_FELICA_EMD_DATA
opis konfiguracji (maski bitowej) bit 7..2: RFU
bit 1: Dołącz rejestr RX_STATUS_ ERROR w odpowiedzi, jeśli bit jest ustawiony na 1b.
bit 0: Dołącz rejestr RX_STATUS w odpowiedzi, jeśli bit jest ustawiony na 1b.

4.5.3.5.2 Odpowiedź
Tabela 48. Wartość odpowiedzi RETRIEVE_RF_FELICA_EMD_DATA

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji. Oczekiwane wartości są następujące: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
RX_STATUS 4 bajtów Jeśli zażądano RX_STATUS (little-endian)
BŁĄD RX_STATUS_ 4 bajtów Jeśli zażądano RX_STATUS_ERROR (little-endian)
Pole ładunku Długość Wartość/opis
Dane RX 1…1024 bajtów Dane FeliCa EMD RX odebrane podczas ostatniego nieudanego odbioru sygnału RF za pomocą polecenia Exchange.

4.5.3.5.3 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.4 Przełączanie trybu pracy
PN5190 obsługuje 4 różne tryby pracy:
4.5.4.1 Normal
Jest to tryb domyślny, w którym dozwolone są wszystkie instrukcje.
4.5.4.2 Gotowość
PN5190 jest w stanie gotowości/uśpienia, aby oszczędzać energię. Warunki wybudzania muszą być ustawione, aby określić, kiedy ponownie wyjść z trybu gotowości.
4.5.4.3 LPCD
Układ PN5190 znajduje się w trybie wykrywania karty o niskim poborze mocy, w którym próbuje wykryć kartę wchodzącą do woluminu roboczego przy możliwie najniższym poborze mocy.
4.5.4.4 Autokolekcja
PN5190 działa jako odbiornik RF, wykonując autonomiczną aktywację trybu docelowego (aby zagwarantować ograniczenia w czasie rzeczywistym)
4.5.4.5 TRYB PRZEŁĄCZANIA_NORMALNY
Polecenie Switch Mode Normal ma trzy przypadki użycia.
4.5.4.5.1 Przypadek użycia 1: Wejdź w normalny tryb działania po włączeniu zasilania (POR)
Użyj tego przycisku, aby zresetować do stanu bezczynności w celu odebrania/przetworzenia następnego polecenia poprzez przejście do normalnego trybu pracy.
4.5.4.5.2 Przypadek użycia 2: Zakończenie już uruchomionego polecenia w celu przejścia do normalnego trybu działania (przerwanie polecenia)
Użyj tej opcji, aby zresetować do stanu bezczynności w celu odebrania/przetworzenia następnego polecenia poprzez zakończenie już uruchomionych poleceń.
Polecenia takie jak standby, LPCD, Exchange, PRBS i Autocoll można będzie zakończyć za pomocą tego polecenia.
To jest jedyne specjalne polecenie, które nie ma odpowiedzi. Zamiast tego ma powiadomienie EVENT.
Więcej informacji na temat typów zdarzeń występujących podczas wykonywania różnych poleceń podstawowych można znaleźć w rozdziale 4.4.3.
4.5.4.5.2.1 Przypadek użycia 2.1:
To polecenie zresetuje wszystkie rejestry CLIF TX, RX i Field Control do stanu Boot. Wydanie tego polecenia wyłączy wszelkie istniejące pola RF.
4.5.4.5.2.2 Przypadek użycia 2.2:
Dostępne od wersji PN5190 FW v02.03:
Polecenie to nie modyfikuje rejestrów CLIF TX, RX ani Field Control, lecz jedynie przełącza transceiver w stan IDLE.
4.5.4.5.3 Przypadek użycia 3: Normalny tryb pracy po miękkim resecie/wyjściu ze stanu gotowości, LPCD W tym przypadku PN5190 przechodzi bezpośrednio do normalnego trybu pracy, wysyłając IDLE_EVENT do hosta (rysunek 12 lub rysunek 13), a bit „IDLE_EVENT” jest ustawiany w tabeli 11.
Nie ma wymogu wysyłania polecenia SWITCH_MODE_NORMAL.
Notatka:
Po przełączeniu układu scalonego IC do trybu normalnego wszystkie ustawienia RF są modyfikowane do stanu domyślnego. Konieczne jest załadowanie odpowiedniej konfiguracji RF i innych powiązanych rejestrów odpowiednimi wartościami przed wykonaniem operacji RF ON lub RF Exchange.
4.5.4.5.4 Ramka poleceń do wysłania w różnych przypadkach użycia
4.5.4.5.4.1 Przypadek użycia 1: Polecenie przechodzi w normalny tryb działania po włączeniu zasilania (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: Polecenie kończące już uruchomione polecenia w celu przejścia do normalnego trybu działania
Przypadek użycia 2.1:
0x20 0x00 0x00
Przypadek użycia 2.2: (Od wersji FW v02.02):
0x20 0x02 0x00
4.5.4.5.4.3 Przypadek użycia 3: Polecenie trybu normalnej pracy po miękkim resecie/wyjściu ze stanu gotowości, LPCD, ULPCD
Brak. PN5190 przechodzi bezpośrednio do trybu normalnej pracy.
4.5.4.5.5 Odpowiedź
Nic
4.5.4.5.6 wydarzenie
BOOT_EVENT (w rejestrze EVENT_STATUS) jest ustawiany, wskazując, że tryb normalny jest włączony i jest wysyłany do hosta. Zobacz Rysunek 12 i Rysunek 13, aby uzyskać dane zdarzenia.

Kontroler front-endowy NXP PN5190 NFC — normalna praca

Ustawiane jest zdarzenie IDLE_EVENT (w rejestrze EVENT_STATUS), wskazujące na przejście do trybu normalnego i wysyłane do hosta. Dane zdarzenia znajdują się na rysunku 12 i rysunku 13.Kontroler front-endowy NFC NXP PN5190 — już zakończony

BOOT_EVENT (w rejestrze EVENT_STATUS) jest ustawiany, wskazując, że wprowadzono tryb normalny i jest wysyłany do hosta. Zobacz Rysunek 12 i Rysunek 13, aby uzyskać dane zdarzenia.

Kontroler front-endowy NFC NXP PN5190 — tryb pracy po rozgrzaniu

4.5.4.6 AUTOMATYCZNE_KOMUNIKOWANIE_TRYBU_PRZEŁĄCZANIA
Funkcja Switch Mode Autocoll automatycznie przeprowadza procedurę aktywacji karty w trybie docelowym.
Pole „Tryb autokoll” musi mieścić się w zakresie od 0 do 2 włącznie.
W przypadku gdy pole „Tryb Autocoll” jest ustawione na 2 (Autocoll): Pole „Technologie RF” (Tabela 50) musi zawierać maskę bitową wskazującą technologie RF, które mają być obsługiwane podczas Autocoll.
Będąc w tym trybie nie wolno wysyłać żadnych instrukcji.
Zakończenie sygnalizowane jest za pomocą przerwania.
4.5.4.6.1 Polecenie
Tabela 49. Wartość polecenia SWITCH_MODE_AUTOCOLL

Parametr Długość Wartość/opis
Technologie RF 1 bajtów Maska bitowa wskazująca technologię RF, na którą należy zwracać uwagę podczas automatycznego zestawiania sygnałów.
Tryb autocoll 1 bajtów 0 Brak trybu autonomicznego, tj. Autocoll kończy działanie, gdy nie ma zewnętrznego pola RF.
Wypowiedzenie w przypadku
• BRAK POLA RF lub POLE RF zniknęło
• PN5190 jest AKTYWOWANY w trybie DOCELOWYM
1 Tryb autonomiczny z funkcją czuwania. Gdy nie ma pola RF, Autocoll automatycznie przechodzi w tryb gotowości. Po wykryciu zewnętrznego pola RF PN5190 ponownie przechodzi w tryb Autocoll.
Wypowiedzenie w przypadku
• PN5190 jest AKTYWOWANY w trybie DOCELOWYM
Z PN5190 FW wersja 02.03 dalej: Jeśli pole EEPROM „bCard ModeUltraLowPowerEnabled” pod adresem „0xCDF” jest ustawione na „1”, układ PN5190 przechodzi w tryb czuwania o bardzo niskim poborze mocy.
2 Tryb autonomiczny bez trybu czuwania. Gdy nie ma pola RF, PN5190 czeka, aż pole RF będzie obecne, zanim rozpocznie algorytm Autocoll. W tym przypadku tryb gotowości nie jest używany.
Wypowiedzenie w przypadku
• PN5190 jest AKTYWOWANY w trybie DOCELOWYM

Tabela 50. Maska bitowa technologii RF

b7 b6 b5 b4 b3 b2 b1 b0 Opis
0 0 0 0 RFU
X Jeżeli ustawiono na 1b, nasłuchiwanie NFC-F Active jest włączone. (Niedostępne).
X Jeżeli ustawiono na 1b, nasłuchiwanie NFC-A Active jest włączone. (Niedostępne).
X Jeżeli ustawione na 1b, nasłuchiwanie NFC-F jest włączone.
X Jeżeli ustawione na 1b, nasłuchiwanie NFC-A jest włączone.

4.5.4.6.2 Odpowiedź
Odpowiedź sygnalizuje jedynie, że polecenie zostało przetworzone.
Tabela 51. Wartość odpowiedzi SWITCH_MODE_AUTOCOLL

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Nie wprowadzono trybu przełączania z powodu błędnych ustawień)

4.5.4.6.3 wydarzenie
Powiadomienie o zdarzeniu jest wysyłane po zakończeniu polecenia i przejściu do trybu normalnego. Host musi odczytać bajty odpowiedzi na podstawie wartości zdarzenia.
Notatka:
Gdy status jest inny niż „PN5190_STATUS_INSTR_SUCCESS”, wówczas dalsze bajty danych „Protocol” i „Card_Activated” nie są obecne.
Informacje technologiczne pobierane są z rejestrów przy użyciu poleceń podanych w rozdziale 4.5.1.5, rozdziale 4.5.1.6.
Poniższa tabela przedstawia dane zdarzenia, które są wysyłane jako część komunikatu zdarzenia (rysunek 12 i rysunek 13).
Tabela 52. EVENT_SWITCH_MODE_AUTOCOLL – dane AUTOCOLL_EVENT Tryb działania przełącznika Zdarzenie Autocoll

Pole ładunku Długość Wartość/opis
Status 1 bajt Status operacji
PN5190_STATUS_INSTR_POWODZENIE PN5190 jest AKTYWOWANY w trybie DOCELOWYM.
Dalsze dane dotyczące tego zdarzenia są aktualne.
PN5190_STATUS_PREVENT_STANDBY Oznacza, że ​​PN5190 nie może przejść w tryb gotowości. Ten status jest ważny tylko wtedy, gdy tryb Autocoll jest wybrany jako „Tryb autonomiczny z gotowością”.
PN5190_STATUS_NO_EXTERNAL_RF_ FIELD Oznacza, że ​​podczas wykonywania funkcji Autocoll w trybie nieautonomicznym nie występuje żadne zewnętrzne pole RF
PN5190_STATUS_UŻYTKOWNIK_ANULOWANY Oznacza, że ​​bieżące polecenie w toku zostało przerwane przez polecenie przełączania trybu normalnego
Protokół 1 bajt 0x10 Aktywowany jako pasywny typ A
0x11 Aktywowany jako pasywny TypeF 212
0x12 Aktywowany jako pasywny TypeF 424
0x20 Aktywowany jako aktywny typ A
0x21 Aktywowany jako Aktywny Typ F 212
0x22 Aktywowany jako Aktywny Typ F 424
Inne wartości Nieważny
Karta_Aktywowana 1 bajt 0x00 Brak procesu aktywacji karty zgodnie z normą ISO 14443-3
0x01 Oznacza, że ​​urządzenie jest aktywowane w trybie pasywnym.

Notatka:
Po odczytaniu danych zdarzenia należy odczytać dane otrzymane z karty/urządzenia, które zostało aktywowane (takie jak „n” bajtów ATR_REQ/RATS zgodnie z normą ISO18092/ISO1443-4), korzystając z polecenia z sekcji 4.5.3.3.
4.5.4.6.4 Komunikacja npample

Kontroler front-endowy NFC NXP PN5190 - komunikacja example

4.5.4.7 TRYB PRZEŁĄCZANIA_CZUWANIA
Tryb gotowości Switch Mode automatycznie ustawia układ scalony IC w tryb gotowości. Układ scalony IC wybudzi się po tym, jak skonfigurowane źródła wybudzania spełnią warunki wybudzania.
Notatka:
Liczniki wygasania dla trybu gotowości ULP i przerwania HIF dla trybu gotowości są dostępne domyślnie, umożliwiając wyjście z trybu gotowości.

4.5.4.7.1 Polecenie
Tabela 53. Wartość polecenia SWITCH_MODE_STANDBY

Parametr Długość Wartość/opis
Konfiguracja 1 bajtów Maska bitowa kontrolująca źródło budzenia, które ma być użyte i tryb gotowości, do którego ma wejść. Zobacz Tabela 54
Wartość licznika 2 bajty Wartość używana dla licznika wybudzania w milisekundach. Maksymalna obsługiwana wartość to 2690 dla trybu gotowości. Maksymalna obsługiwana wartość to 4095 dla trybu gotowości ULP. Wartość, która ma zostać podana, jest w formacie little-endian.
Zawartość tego parametru jest ważna tylko wtedy, gdy opcja „Config Bitmask” jest włączona w celu wybudzenia po wygaśnięciu licznika.

Tabela 54. Konfiguracja maski bitowej

b7 b6 b5 b4 b3 b2 b1 b0 Opis
X Przejdź do trybu gotowości ULP, jeśli bit jest ustawiony na 1b. Przejdź do trybu gotowości, jeśli bit jest ustawiony na 0b.
0 RFU
X Wybudzanie na GPIO-3, gdy jest wysoki, jeśli bit jest ustawiony na 1b. (Nie dotyczy trybu gotowości ULP)
X Wybudzanie na GPIO-2, gdy jest wysoki, jeśli bit jest ustawiony na 1b. (Nie dotyczy trybu gotowości ULP)
X Wybudzanie na GPIO-1, gdy jest wysoki, jeśli bit jest ustawiony na 1b. (Nie dotyczy trybu gotowości ULP)
X Wybudzanie na GPIO-0, gdy jest wysoki, jeśli bit jest ustawiony na 1b. (Nie dotyczy trybu gotowości ULP)
X Licznik wake-up wygasa, jeśli bit jest ustawiony na 1b. W przypadku ULP-Standby ta opcja jest domyślnie włączona.
X Wybudzenie zewnętrznym polem RF, jeśli bit jest ustawiony na 1b.

Notatka: Od wersji PN5190 FW v02.03, jeśli pole EEPROM „CardModeUltraLowPowerEnabled” pod adresem „0xCDF” jest ustawione na „1”, konfiguracji trybu gotowości ULP nie można używać za pomocą polecenia SWITCH_MODE_STANDBY.
4.5.4.7.2 Odpowiedź
Odpowiedź sygnalizuje jedynie, że polecenie zostało przetworzone, a stan czuwania zostanie przełączony dopiero po całkowitym odczytaniu odpowiedzi przez hosta.
Tabela 55. Wartość odpowiedzi SWITCH_MODE_STANDBY Tryb pracy przełącznika czuwanie

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Nie wprowadzono trybu przełączania – z powodu błędnych ustawień)

4.5.4.7.3 wydarzenie
Powiadomienie o zdarzeniu jest wysyłane po zakończeniu polecenia i przejściu do trybu normalnego. Zapoznaj się z formatem zdarzenia, które zostanie wysłane po zakończeniu polecenia, jak na Rysunku 12 i Rysunku 13.
W przypadku, gdy PN5190 nie może przejść w tryb gotowości, wówczas bit zdarzenia „STANDBY_PREV_EVENT” ustawiony w parametrze EVENT_STATUS, jak podano w Tabeli 11, jest wysyłany do hosta wraz z przyczyną zapobiegania przejściu w tryb gotowości, jak podano w Tabeli 13.
4.5.4.7.4 Komunikacja Example

Kontroler front-endowy NFC NXP PN5190 - Komunikacja Example1

4.5.4.8 TRYB PRZEŁĄCZANIA LPCD
Układ LPCD przełączający tryb pracy wykonuje wykrywanie rozstrojenia anteny spowodowanego zmianą warunków otoczenia wokół anteny.
Istnieją 2 różne tryby LPCD. Rozwiązanie oparte na HW (ULPCD) oferuje konkurencyjne zużycie energii przy zmniejszonej czułości. Rozwiązanie oparte na FW (LPCD) oferuje najlepszą w swojej klasie czułość przy zwiększonym zużyciu energii.
W trybie pojedynczym opartym na oprogramowaniu układowym (LPCD) nie ma zdarzenia kalibracji wysyłanego do hosta.
Po wybraniu trybu pojedynczego kalibracja i kolejne pomiary są wykonywane po wyjściu z trybu czuwania.
W przypadku zdarzenia kalibracji w trybie pojedynczym najpierw wydaj polecenie zdarzenia kalibracji w trybie pojedynczym. Po kalibracji odbierane jest zdarzenie kalibracji LPCD, po którym należy wysłać polecenie trybu pojedynczego z wartością odniesienia uzyskaną z poprzedniego kroku jako parametrem wejściowym.
Konfigurację LPCD wykonuje się w ustawieniach EEPROM/Flash Data przed wywołaniem polecenia.
Notatka:
Przerwanie GPIO3 dla ULPCD, przerwanie HIF dla LPCD jest dostępne domyślnie, umożliwiając wyjście z trybów niskiego poboru mocy.
Opcja wybudzenia z powodu wygaśnięcia licznika jest zawsze włączona.
W przypadku ULPCD konfiguracja DC-DC powinna być wyłączona w ustawieniach EEPROM/Flash Data i powinna zapewniać zasilanie VUP przez VBAT. Należy dokonać niezbędnych ustawień zworek. W przypadku ustawień EEPROM/Flash Data należy zapoznać się z dokumentem [2].
Jeśli polecenie dotyczy kalibracji LPCD/ULPCD, host musi wysłać całą ramkę.

4.5.4.8.1 Polecenie
Tabela 56. Wartość polecenia SWITCH_MODE_LPCD

Parametr Długość Wartość/opis
bKontrola 1 bajtów 0x00 Wprowadź kalibrację ULPCD. Polecenie zatrzymuje się po kalibracji, a zdarzenie z wartością odniesienia jest wysyłane do hosta.
0x01 Wpisz ULPCD
0x02 Kalibracja LPCD. Polecenie zatrzymuje się po kalibracji, a zdarzenie z wartością odniesienia jest wysyłane do hosta.
0x03 Wpisz LPCD
0x04 Tryb pojedynczy
0x0C Pojedynczy tryb z wydarzeniem kalibracyjnym
Inne wartości RFU
Sterowanie budzikiem 1 bajtów Maska bitowa kontrolująca źródło wybudzania, które ma być używane dla LPCD/ULPCD. Zawartość tego pola nie jest brana pod uwagę przy kalibracji. Zobacz Tabela 57
Wartość odniesienia 4 bajty Wartość odniesienia, którą należy stosować podczas ULPCD/LPCD.
W przypadku ULPCD bajt 2, który zawiera wartość tłumika HF, jest używany zarówno w fazie kalibracji, jak i pomiaru.
W przypadku LPCD zawartość tego pola nie jest brana pod uwagę w przypadku kalibracji i trybu pojedynczego. Zobacz Tabela 58 aby uzyskać prawidłowe informacje na temat wszystkich 4 bajtów.
Wartość licznika 2 bajty Wartość licznika wybudzania w milisekundach. Maksymalna obsługiwana wartość to 2690 dla LPCD. Maksymalna obsługiwana wartość to 4095 dla ULPCD. Wartość, która ma zostać podana, jest w formacie little-endian.
Zawartość tego pola nie jest brana pod uwagę przy kalibracji LPCD.
W przypadku trybu pojedynczego i trybu pojedynczego ze zdarzeniem kalibracji czas czuwania przed kalibracją można skonfigurować w konfiguracji EEPROM: LPCD_SETTINGS->wCheck Period.
W przypadku trybu pojedynczego z kalibracją wartość WUC musi być różna od zera.

Tabela 57. Maska bitowa kontroli wybudzania

b7 b6 b5 b4 b3 b2 b1 b0 Opis
0 0 0 0 0 0 0 RFU
X Wybudzenie zewnętrznym polem RF, jeśli bit jest ustawiony na 1b.

Tabela 58. Wartość odniesienia bajt info

Bajty wartości referencyjnej ULPCD LCD
Bajt 0 Bajt referencyjny 0 Kanał 0 Bajt referencyjny 0
Bajt 1 Bajt referencyjny 1 Kanał 0 Bajt referencyjny 1
Bajt 2 Wartość tłumika HF Kanał 1 Bajt referencyjny 0
Bajt 3 NA Kanał 1 Bajt referencyjny 1

4.5.4.8.2 Odpowiedź
Tabela 59. Wartość odpowiedzi SWITCH_MODE_LPCD

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Nie wprowadzono trybu przełączania – z powodu błędnych ustawień)

4.5.4.8.3 wydarzenie
Powiadomienie o zdarzeniu jest wysyłane po zakończeniu polecenia, a następnie przechodzi się do trybu normalnego z następującymi danymi jako częścią zdarzenia, o którym mowa na rysunkach 12 i 13.
Tabela 60. EVT_SWITCH_MODE_LPCD

Pole ładunku Długość Wartość/opis
Status LPCD Patrz Tabela 15 Zobacz tabelę 154.5.4.8.4 Komunikacja Example

Kontroler front-endowy NXP PN5190 NFC - Example

4.5.4.9 POBIERANIE_TRYBU_PRZEŁĄCZANIA
Polecenie Switch Mode Download (Pobieranie w trybie przełączania) powoduje przejście w tryb pobierania oprogramowania sprzętowego.
Jedynym sposobem wyjścia z trybu pobierania jest zresetowanie urządzenia PN5190.
4.5.4.9.1 Polecenie
Tabela 61. Wartość polecenia SWITCH_MODE_DOWNLOAD

Parametr Długość Wartość/opis
Bez wartości

4.5.4.9.2 Odpowiedź
Odpowiedź sygnalizuje jedynie, że polecenie zostało przetworzone i że tryb pobierania zostanie uruchomiony po odczytaniu odpowiedzi przez hosta.
Tabela 62. Wartość odpowiedzi SWITCH_MODE_DOWNLOAD
Przełącz tryb pracy Autocoll

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Nie wprowadzono trybu przełączania)

4.5.4.9.3 wydarzenie
Brak generowania zdarzeń.
4.5.4.9.4 Komunikacja Example
4.5.5 Uwierzytelnianie MIFARE Classic
4.5.5.1 UWIERZYTELNIANIE MFC
Ta instrukcja służy do wykonania uwierzytelnienia MIFARE Classic na aktywowanej karcie. Przyjmuje klucz, UID karty i typ klucza do uwierzytelnienia pod danym adresem bloku. Odpowiedź zawiera jeden bajt wskazujący status uwierzytelnienia.
4.5.5.1.1 warunków
Klucz pola musi mieć długość 6 bajtów. Typ klucza pola musi zawierać wartość 0x60 lub 0x61. Adres bloku może zawierać dowolny adres od 0x0 do 0xff włącznie. UID pola musi mieć długość bajtów i powinien zawierać 4-bajtowy UID karty. Karta oparta na produkcie ISO14443-3 MIFARE Classic powinna zostać przełączona w stan ACTIVE lub ACTIVE* przed wykonaniem tej instrukcji.
W przypadku wystąpienia błędu związanego z uwierzytelnianiem pole „Status uwierzytelniania” zostanie odpowiednio ustawione.
4.5.5.1.2 Polecenie
Tabela 63. Polecenie MFC_AUTHENTICATE
Przeprowadź uwierzytelnianie na aktywowanej karcie produktu MIFARE Classic.

Pole ładunku Długość Wartość/opis
Klawisz 6 bajty Klucz uwierzytelniający, który należy użyć.
Typ klucza 1 bajtów 0x60 Klucz typu A
0x61 Klucz typu B
Blokuj adres 1 bajtów Adres bloku, dla którego należy wykonać uwierzytelnianie.
Identyfikator użytkownika 4 bajty UID karty.

4.5.5.1.3 Odpowiedź
Tabela 64. Odpowiedź MFC_AUTHENTICATE
Odpowiedź na MFC_AUTHENTICATE.

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR

4.5.5.1.4 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.6 Obsługa ISO 18000-3M3 (EPC GEN2)
4.5.6.1 EPC_GEN2_INWENTARY
Niniejsza instrukcja służy do przeprowadzenia inwentaryzacji normy ISO18000-3M3 tagsImplementuje autonomiczne wykonywanie kilku poleceń zgodnie z normą ISO18000-3M3 w celu zagwarantowania terminów określonych w tej normie.
Jeżeli w treści instrukcji znajduje się taka informacja, najpierw wykonywane jest polecenie Select, a po nim polecenie BeginRound.
Jeśli w pierwszym przedziale czasowym jest prawidłowa odpowiedź (brak przekroczenia limitu czasu, brak kolizji), instrukcja wysyła ACK i zapisuje otrzymany PC/XPC/UII. Następnie instrukcja wykonuje działanie zgodnie z polem „Timeslot Processed Behavior”:

  • Jeśli to pole jest ustawione na 0, polecenie NextSlot jest wydawane w celu obsługi następnego przedziału czasowego. Jest to powtarzane do momentu zapełnienia bufora wewnętrznego.
  • Jeżeli to pole jest ustawione na 1, algorytm zatrzymuje się
  • Jeżeli to pole jest ustawione na 2, polecenie Req_Rn jest wydawane, jeśli i tylko jeśli istniał prawidłowy tag odpowiedź w tym przedziale czasowymPolecenie

Pole „Wybierz długość polecenia” musi zawierać długość pola „Wybierz polecenie”, które musi mieścić się w zakresie od 1 do 39 włącznie. Jeśli „Wybierz długość polecenia” wynosi 0, pola „Ważne bity w ostatnim bajcie” i „Wybierz polecenie” nie mogą być obecne.
Pole Bits in last Byte powinno zawierać liczbę bitów, które mają zostać przesłane w ostatnim bajcie pola „Select Command”. Wartość musi mieścić się w zakresie od 1 do 7 włącznie. Jeśli wartość wynosi 0, przesyłane są wszystkie bity z ostatniego bajtu z pola „Select Command”.
Pole „Wybierz polecenie” powinno zawierać polecenie Select zgodnie z normą ISO18000-3M3 bez końcowego CRC-16c i musi mieć taką samą długość, jak podana w polu „Długość polecenia Select”.
Pole „Polecenie BeginRound” powinno zawierać polecenie BeginRound zgodnie z normą ISO18000-3M3 bez końcowego CRC-5. Ostatnie 7 bitów ostatniego bajtu polecenia „Polecenie BeginRound” jest ignorowane, ponieważ polecenie ma rzeczywistą długość 17 bitów.
„Zachowanie przetwarzania w przedziale czasowym” musi zawierać wartość od 0 do 2 włącznie.
Tabela 65. Wartość polecenia EPC_GEN2_INVENTORY Wykonaj inwentaryzację ISO 18000-3M3

Pole ładunku Długość Wartość/opis
WznówInwentarz 1 bajtów 00 Początkowy GEN2_INVENTORY
01 Wznów polecenie GEN2_INVENTORY – pozostałe

pola poniżej są puste (jakikolwiek ładunek jest ignorowany)

Wybierz długość polecenia 1 bajtów 0 Przed poleceniem BeginRound nie ustawiono żadnego polecenia Select. Pola „Prawidłowe bity w ostatnim bajcie” i „Polecenie Select” nie mogą być obecne.
1 – 39 Długość (n) pola „Wybierz polecenie”.
Prawidłowe bity w ostatnim bajcie 1 bajtów 0 Przesyłane są wszystkie bity ostatniego bajtu pola „Wybierz polecenie”.
1 – 7 Liczba bitów, które mają zostać przesłane w ostatnim bajcie pola „Wybierz polecenie”.
Wybierz polecenie n bajtów Jeśli obecne, to pole zawiera polecenie Select (zgodnie z ISO18000-3, Tabela 47), które jest wysyłane przed poleceniem BeginRound. CRC-16c nie powinno być uwzględniane.
Polecenie BeginRound 3 bajty To pole zawiera polecenie BeginRound (zgodnie z ISO18000-3, Tabela 49). CRC-5 nie będzie uwzględniane.
Zachowanie przetworzonego przedziału czasowego 1 bajtów 0 Odpowiedź zawiera maks. liczbę przedziałów czasowych, które mogą zmieścić się w buforze odpowiedzi.
1 Odpowiedź zawiera tylko jeden przedział czasowy.
2 Odpowiedź zawiera tylko jeden przedział czasowy. Jeśli przedział czasowy zawiera prawidłową odpowiedź karty, dołączany jest również uchwyt karty.

4.5.6.1.1 Odpowiedź
Długość odpowiedzi może wynosić „1” w przypadku inwentaryzacji CV.
Tabela 66. Wartość odpowiedzi EPC_GEN2_INVENTORY

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS (Odczyt statusu przedziału czasowego w następnym bajcie dla Tag odpowiedź)
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Przedział czasowy [1…n] 3 – 69 bajtów Status przedziału czasowego 1 bajtów 0 Tag odpowiedź dostępna.Tag Pole „Długość odpowiedzi”, pole „Prawidłowe bity w ostatnim bajcie” i pole „Tag pole „odpowiedz” jest obecne.
1 Tag odpowiedź dostępna.
2 NIE tag odpowiedział w podanym przedziale czasowym.Tag Pole „Długość odpowiedzi” i pole „Prawidłowe bity ostatniego bajtu” należy ustawić na zero.Tag Pole „odpowiedz” nie będzie obecne.
3 Dwa lub więcej tags odpowiedział w wyznaczonym czasie. (Kolizja).Tag Pole „Długość odpowiedzi” i pole „Prawidłowe bity ostatniego bajtu” należy ustawić na zero.Tag Pole „odpowiedz” nie będzie obecne.
Tag Długość odpowiedzi 1 bajtów 0-66 Długość 'Tag Pole „Odpowiedz” (i). Jeśli Tag Długość odpowiedzi wynosi 0, wówczas Tag Pole odpowiedzi nie jest obecne.
Prawidłowe bity w ostatnim bajcie 1 bajtów 0 Wszystkie bity ostatniego bajtu 'Tag Pola „odpowiedz” są prawidłowe.
1-7 Liczba prawidłowych bitów ostatniego bajtu 'Tag pole „odpowiedz”. Jeśli Tag Długość odpowiedzi wynosi zero, wartość tego bajtu zostanie zignorowana.
Tag Odpowiedź 'n' bajtów Odpowiedź tag zgodnie z ISO18000-3_2010, Tabela 56.
Tag Uchwyt 0 lub 2 bajty Uchwyt tag, jeśli pole „Status przedziału czasowego” jest ustawione na „1”. W przeciwnym wypadku pole nie jest obecne.

4.5.6.1.2 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.7 Zarządzanie konfiguracją RF
Zapoznaj się z sekcją 6, aby uzyskać informacje o konfiguracji TX i RX dla różnych technologii RF i szybkości transmisji danych obsługiwanych przez PN5190. Wartości nie znajdują się w zakresie podanym poniżej, należy je traktować jako RFU.
4.5.7.1 WCZYTAJ KONFIGURACJĘ RF
Ta instrukcja służy do ładowania konfiguracji RF z pamięci EEPROM do wewnętrznych rejestrów CLIF. Konfiguracja RF odnosi się do unikalnej kombinacji technologii RF, trybu (cel/inicjator) i szybkości transmisji. Konfigurację RF można załadować oddzielnie dla ścieżki odbiornika CLIF (konfiguracja RX) i nadajnika (konfiguracja TX). Wartość 0xFF musi być użyta, jeśli odpowiednia konfiguracja dla ścieżki nie ma zostać zmieniona.
4.5.7.1.1 warunków
Pole „Konfiguracja TX” musi mieścić się w zakresie od 0x00 – 0x2B włącznie. Jeśli wartość wynosi 0xFF, konfiguracja TX nie jest zmieniana.
Pole „Konfiguracja RX” musi mieścić się w zakresie od 0x80 – 0xAB włącznie. Jeśli wartość wynosi 0xFF, konfiguracja RX nie jest zmieniana.
Do jednorazowego załadowania rejestrów rozruchowych używana jest specjalna konfiguracja z konfiguracją TX = 0xFF i konfiguracją RX = 0xAC.
Ta specjalna konfiguracja jest wymagana w celu aktualizacji konfiguracji rejestrów (TX i RX), które różnią się od wartości resetu układu scalonego.

4.5.7.1.2 Polecenie
Tabela 67. Wartość polecenia LOAD_RF_CONFIGURATION
Załaduj ustawienia RF TX i RX z pamięci E2PROM.

Pole ładunku Długość Wartość/opis
Konfiguracja TX 1 bajtów 0xFF Konfiguracja TX RF nie uległa zmianie.
0x0 – 0x2B Załadowano odpowiednią konfigurację TX RF.
Konfiguracja RX 1 bajtów 0xFF Konfiguracja RX RF nie uległa zmianie.
0x80 – 0xAB Załadowano odpowiednią konfigurację RX RF.

4.5.7.1.3 Odpowiedź
Tabela 68. Wartość odpowiedzi LOAD_RF_CONFIGURATION

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR

4.5.7.1.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.7.2 AKTUALIZACJA_KONFIGURACJA_RF
Ta instrukcja służy do aktualizacji konfiguracji RF (zobacz definicję w sekcji 4.5.7.1) w pamięci E2PROM. Instrukcja umożliwia aktualizację przy wartości granularności rejestru, tj. nie trzeba aktualizować całego zestawu (choć jest to możliwe).
4.5.7.2.1 warunków
Rozmiar tablicy pól Configuration musi mieścić się w zakresie od 1 do 15 włącznie. Tablica pól Configuration musi zawierać zestaw RF Configuration, Register Address i Value. Pole RF configuration musi mieścić się w zakresie od 0x0 do 0x2B dla TX Configuration i 0x80 do 0xAB dla RX configuration włącznie. Adres w polu Register Address musi znajdować się w odpowiedniej konfiguracji RF. Field Value powinno zawierać wartość, która musi zostać zapisana do danego rejestru i musi mieć długość 4 bajtów (format little-endian).
4.5.7.2.2 Polecenie
Tabela 69. Wartość polecenia UPDATE_RF_CONFIGURATION
Zaktualizuj konfigurację RF

Pole ładunku Długość Wartość/opis
Konfiguracja[1…n] 6 bajty Konfiguracja RF 1 bajtów Konfiguracja RF, dla której należy zmienić rejestr.
Adres rejestrowy 1 bajtów Zarejestruj adres w ramach danej technologii RF.
Wartość 4 bajty Wartość, która musi zostać wpisana do rejestru. (Little-endian)

4.5.7.2.3 Odpowiedź
Tabela 70. Wartość odpowiedzi UPDATE_RF_CONFIGURATION

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR

4.5.7.2.4 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.7.3 GET_ RF_CONFIGURATION
Ta instrukcja służy do odczytu konfiguracji RF. Pary adres-wartość rejestru są dostępne w odpowiedzi. Aby dowiedzieć się, ile par jest oczekiwanych, można pobrać informacje o pierwszym rozmiarze z pierwszego TLV, który wskazuje całkowitą długość ładunku.
4.5.7.3.1 warunków
Konfiguracja RF w terenie musi mieścić się w zakresie od 0x0 – 0x2B dla konfiguracji TX i 0x80 – 0xAB dla konfiguracji RX włącznie.
4.5.7.3.2 Polecenie
Tabela 71. Wartość polecenia GET_RF_CONFIGURATION Pobierz konfigurację RF.

Pole ładunku Długość Wartość/opis
Konfiguracja RF 1 bajtów Konfiguracja RF, dla której należy pobrać zestaw par wartości rejestrów.

4.5.7.3.3 Odpowiedź
Tabela 72. GET_RF_CONFIGURATION Wartość odpowiedzi

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Para[1…n] 5 bajty Adres rejestrowy 1 bajtów Zarejestruj adres w ramach danej technologii RF.
Wartość 4 bajty Wartość rejestru 32-bitowego.

4.5.7.3.4 wydarzenie
Brak zdarzenia dla instrukcji.
4.5.8 Obsługa pola RF
4.5.8.1 RF_WŁĄCZONY
Ta instrukcja służy do włączania RF. Regulacja DPC przy początkowym FieldOn będzie obsługiwana w tym poleceniu.
4.5.8.1.1 Polecenie
Tabela 73. Wartość polecenia RF_FIELD_ON
Skonfiguruj RF_FIELD_ON.

Pole ładunku Długość Wartość/opis
RF_on_config 1 bajtów Bit 0 0 Użyj funkcji unikania kolizji
1 Wyłącz unikanie kolizji
Bit 1 0 Brak aktywnych funkcji P2P
1 P2P aktywny

4.5.8.1.2 Odpowiedź
Tabela 74. Wartość odpowiedzi RF_FIELD_ON

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR
PN5190_STATUS_RF_COLLISION_ERROR (pole RF nie jest włączone z powodu kolizji RF)
PN5190_STATUS_TIMEOUT (pole RF nie jest włączone z powodu przekroczenia limitu czasu) PN5190_STATUS_TXLDO_ERROR (błąd TXLDO z powodu VUP jest niedostępny)
PN5190_STATUS_RFCFG_NOT_APPLIED (konfiguracja RF nie jest stosowana przed tym poleceniem)

4.5.8.1.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.8.2 WYŁĄCZENIE RF
Ta instrukcja służy do wyłączania pola RF.
4.5.8.2.1 Polecenie
Tabela 75. Wartość polecenia RF_FIELD_OFF

Pole ładunku Długość Wartość/opis
Pusty Pusty pusty

4.5.8.2.2 Odpowiedź
Tabela 76. Wartość odpowiedzi RF_FIELD_OFF

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)

4.5.8.2.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.9 Konfiguracja magistrali testowej
Dostępne sygnały magistrali testowej w wybranych konfiguracjach PAD są wymienione w rozdziale 7, w celach informacyjnych.
Należy się z nimi zapoznać, aby zapewnić konfigurację instrukcji magistrali testowej, jak wspomniano poniżej.
4.5.9.1 KONFIGURACJA _TESTBUS_DIGITAL
Ta instrukcja służy do przełączania dostępnego sygnału cyfrowej magistrali testowej w wybranych konfiguracjach padów.
4.5.9.1.1 Polecenie
Tabela 77. Wartość polecenia CONFIGURE_TESTBUS_DIGITAL

Pole ładunku Długość Wartość/opis
Indeks sygnału TB 1 bajtów Odnieś się do Rozdział 7
TB_IndeksBitowy 1 bajtów Odnieś się do Rozdział 7
TB_PadIndex 1 bajtów Indeks podkładki, na której ma zostać wyprowadzony sygnał cyfrowy
0x00 Pin AUX1
0x01 Pin AUX2
0x02 Pin AUX3
0x03 Pin GPIO0
0x04 Pin GPIO1
0x05 Pin GPIO2
0x06 Pin GPIO3
0x07-0xFF RFU

4.5.9.1.2 Odpowiedź
Tabela 78. Wartość odpowiedzi CONFIGURE_TESTBUS_DIGITAL

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)

4.5.9.1.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.9.2 KONFIGURACJA_TAG_ANALOGOWA_BUS
Ta instrukcja służy do uzyskania dostępnego analogowego sygnału magistrali testowej w wybranych konfiguracjach padów.
Sygnał na analogowej magistrali testowej można uzyskać w różnych trybach. Są to:
4.5.9.2.1 Tryb RAW
W tym trybie sygnał wybrany przez TB_SignalIndex0 jest przesuwany przez Shift_Index0, maskowany przez Mask0 i wyprowadzany na AUX1. Podobnie sygnał wybrany przez TB_SignalIndex1 jest przesuwany przez Shift_Index1, maskowany przez Mask1 i wyprowadzany na AUX2.
Ten tryb zapewnia klientowi elastyczność w zakresie wyprowadzania dowolnego sygnału o szerokości 8 bitów lub mniejszej, który nie wymaga konwersji znaku w celu wyprowadzenia na pady analogowe.
4.5.9.2.2 Tryb KOMBINOWANY
W tym trybie sygnał analogowy będzie 10-bitową wartością ADCI/ADCQ/pcrm_if_rssi ze znakiem, przekonwertowaną na wartość bez znaku, przeskalowaną do 8 bitów, a następnie wyprowadzoną na pady AUX1 lub AUX2.
W dowolnym momencie do AUX10/AUX1 można wyprowadzić tylko jedną z wartości przekonwertowanych przez ADCI/ADCQ (2-bit).
Jeżeli wartość pola ładunku sygnału Combined_Mode wynosi 2 (połączony sygnał analogowy i cyfrowy), wówczas magistrala testowa analogowa i cyfrowa jest kierowana na AUX1 (sygnał analogowy) i GPIO0 (sygnał cyfrowy).
Sygnały, które mają zostać przesłane, są skonfigurowane w adresie EEPROM wymienionym poniżej:
0xCE9 – TB_SignalIndex
0xCEA – TB_BitIndex
0xCEB – Analogowy indeks TB_Index
Indeks magistrali testowej i bit magistrali testowej muszą zostać skonfigurowane w pamięci EEPROM przed wydaniem trybu łączonego z opcją 2.
Notatka:
Host musi dostarczyć wszystkie pola, niezależnie od stosowalności pól w trybie „surowym” lub „łączonym”. Układ scalony PN5190 bierze pod uwagę tylko stosowne wartości pól.
4.5.9.2.3 Polecenie
Tabela 79. Wartość polecenia CONFIGURE_TESTBUS_ANALOG

Pole ładunku Długość Wartość/opis Zastosowanie w terenie w trybie łączonym
bKonfiguracja 1 bajtów Konfigurowalne bity. Zobacz Tabela 80 Tak
Sygnał trybu łączonego 1 bajtów 0 – ADCI/ADCQ
1 – pcrm_if_rssi
Tak
2 – Połączenie analogowe i cyfrowe
3 – 0xFF – Zarezerwowane
TB_SignalIndex0 1 bajtów Indeks sygnału analogowego. Zobacz Rozdział 7 Tak
TB_SignalIndex1 1 bajtów Indeks sygnału analogowego. Zobacz Rozdział 7 Tak
Shift_Index0 1 bajtów Pozycje przesunięcia wejścia DAC0. Kierunek zostanie ustalony przez bit w bConfig[1]. NIE
Shift_Index1 1 bajtów Pozycje przesunięcia wejścia DAC1. Kierunek zostanie ustalony przez bit w bConfig[2]. NIE
Maska0 1 bajtów Maska DAC0 NIE
Maska1 1 bajtów Maska DAC1 NIE

Tabela 80. Maska bitowa konfiguracji

b7 b6 b5 b4 b3 b2 b1 b0 Opis Dotyczy trybu
X X Przesunięcie wyjścia DAC1 Zakres – 0, 1, 2 Surowy
X X Przesunięcie wyjścia DAC0 Zakres – 0, 1, 2 Surowy
X W trybie łączonym sygnał na pinie AUX1/AUX2
0 ➜ Sygnał na AUX1
1 ➜ Sygnał na AUX2
Łączny
X Kierunek przesunięcia wejścia DAC1
0 ➜ Przesunięcie w prawo
1 ➜ Przesunięcie w lewo
Surowy
X Kierunek przesunięcia wejścia DAC0
0 ➜ Przesunięcie w prawo
1 ➜ Przesunięcie w lewo
Surowy
X Tryb.
0 ➜ Tryb surowy
1 ➜ Tryb mieszany
Surowe/Połączone

4.5.9.2.4 Odpowiedź
Tabela 81. Wartość odpowiedzi CONFIGURE_TESTBUS_ANALOG

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)

4.5.9.2.5 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.9.3 KONFIGURACJA_WIELOKROTNEJ_MAGISTRALI_CYFROWEJ
Ta instrukcja służy do przełączania wielu dostępnych sygnałów magistrali testowej cyfrowej w wybranych konfiguracjach padów.
Notatka: Jeżeli długość ta wynosi ZERO, to cyfrowa magistrala testowa jest RESETOWANA.
4.5.9.3.1 Polecenie
Tabela 82. Wartość polecenia CONFIGURE_MULTIPLE_TESTBUS_DIGITAL

Pole ładunku Długość Wartość/opis
TB_SignalIndex #1 1 bajtów Odnieś się do 8 poniżej
TB_BitIndex #1 1 bajtów Odnieś się do 8 poniżej
TB_PadIndex #1 1 bajtów Indeks podkładki, na której ma zostać wyprowadzony sygnał cyfrowy
0x00 Pin AUX1
0x01 Pin AUX2
0x02 Pin AUX3
0x03 Pin GPIO0
0x04 Pin GPIO1
0x05 Pin GPIO2
0x06 Pin GPIO3
0x07-0xFF RFU
TB_SignalIndex #2 1 bajtów Odnieś się do 8 poniżej
TB_BitIndex #2 1 bajtów Odnieś się do 8 poniżej
TB_PadIndex #2 1 bajtów Indeks podkładki, na której ma zostać wyprowadzony sygnał cyfrowy
0x00 Pin AUX1
0x01 Pin AUX2
0x02 Pin AUX3
0x03 Pin GPIO0
0x04 Pin GPIO1
0x05 Pin GPIO2
0x06 Pin GPIO3
0x07-0xFF RFU

4.5.9.3.2 Odpowiedź
Tabela 83. Wartość odpowiedzi CONFIGURE_MULTIPLE_TESTBUS_DIGITAL

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 2]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)

4.5.9.3.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.10 Konfiguracja CTS
4.5.10.1 CTS_ENABLE
Ta instrukcja służy do włączania/wyłączania funkcji rejestrowania CTS.
4.5.10.1.1 Polecenie
Tabela 84. Wartość polecenia CTS_ENABLE

Długość pola ładunku Wartość/opis
Włącz/Wyłącz 1 bajtów Bit 0 0 Wyłącz funkcję rejestrowania CTS

1 Włącz funkcję rejestrowania CTS

Bit 1-7 RFU

4.5.10.1.2 Odpowiedź
Tabela 85. Wartość odpowiedzi CTS_ENABLE

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)

4.5.10.1.3 wydarzenie
Poniższa tabela przedstawia dane zdarzenia, które zostaną wysłane jako część wiadomości zdarzenia, jak pokazano na rysunku 12 i rysunku 13.
Tabela 86. Informuje hosta, że ​​dane zostały odebrane. EVT_CTS_DONE

Pole ładunku Długość Wartość/opis
Wydarzenie 1 bajt 00 … Wystąpił TRIGGER, dane są gotowe do odbioru.

4.5.10.2 KONFIGURACJA CTS
Ta instrukcja służy do konfiguracji wszystkich wymaganych rejestrów CTS, takich jak wyzwalacze, rejestry magistrali testowej, sampkonfiguracja ling itp.,
Notatka:
[1] zapewnia lepsze zrozumienie konfiguracji CTS. Przechwycone dane, które mają zostać wysłane jako część odpowiedzi na polecenie z sekcji 4.5.10.3.

4.5.10.2.1 Polecenie
Tabela 87. Wartość polecenia CTS_CONFIGURE

Pole ładunku Długość Wartość/opis
PRZESUNIĘCIE_PRZED_WYZWALACZA 1 bajtów Definiuje długość sekwencji akwizycji po wyzwalaczu w jednostkach 256 bajtów.
0 oznacza brak przesunięcia; n oznacza przesunięcie bloku o n*256 bajtów.
Uwaga: Ważne tylko, jeśli TRIGGER_MODE jest w trybie wyzwalania „PRE” lub „COMB”
TRYB_WYZWALACZA 1 bajtów Określa tryb akwizycji, który ma zostać użyty.
0x00 – tryb POST
0x01 – RFU
0x02 – Tryb PRE
0x03 – 0xFF – Nieprawidłowy
SZEROKOŚĆ_STRONY_RAM 1 bajtów Określa ilość pamięci na chipie, która jest objęta akwizycją. Granularność jest wybrana przez projekt jako 256 bajtów (tj. 64 słowa 32-bitowe).
Prawidłowe wartości są następujące:
0x00h – 256 bajtów
0x02h – 768 bajtów
0x01h – 512 bajtów
0x03h – 1024 bajtów
0x04h – 1280 bajtów
0x05h – 1536 bajtów
0x06h – 1792 bajtów
0x07h – 2048 bajtów
0x08h – 2304 bajtów
0x09h – 2560 bajtów
0x0Ah – 2816 bajtów
0x0Bh – 3072 bajtów
0x0Ch – 3328 bajtów
0x0Dh – 3584 bajtów
0x0Eh – 3840 bajtów
0x0Fh – 4096 bajtów
0x10h – 4352 bajtów
0x11h – 4608 bajtów
0x12h – 4864 bajtów
0x13h – 5120 bajtów
0x14h – 5376 bajtów
0x15h – 5632 bajtów
0x16h – 5888 bajtów
0x17h – 6144 bajtów
0x18h – 6400 bajtów
0x19h – 6656 bajtów
0x1Ah – 6912 bajtów
0x1Bh – 7168 bajtów
0x1Ch – 7424 bajtów
0x1Dh – 7680 bajtów
0x1Eh – 7936 bajtów
0x1Fh – 8192 bajtów
SAMPLE_CLK_DIV 1 bajtów Wartość dziesiętna tego pola określa współczynnik podziału częstotliwości zegara, który ma być używany podczas akwizycji.
Zegar CTS = 13.56 MHz / 2SAMPLE_CLK_DIV
00 – 13560 kHz
01 – 6780 kHz
02 – 3390 kHz
03 – 1695 kHz
04 – 847.5 kHz
05 – 423.75 kHz
06 – 211.875 kHz
07 – 105.9375 kHz
08 – 52.96875 kHz
09 – 26.484375 kHz
10 – 13.2421875 kHz
11 – 6.62109375 kHz
12 – 3.310546875 kHz
13 – 1.6552734375 kHz
14 – 0.82763671875 kHz
15 – 0.413818359375 kHz
SAMPWybór LE_BYTE 1 bajtów Te bity służą do określania, które bajty dwóch 16-bitowych magistrali wejściowych przyczyniają się do mechanizmu przeplotu, który generuje dane do przesłania do pamięci na chipie. Ich znaczenie i zastosowanie zależy od SAMPWartości LE_MODE_SEL.

Uwaga: Podana wartość jest zawsze maskowana za pomocą 0x0F, a następnie brana pod uwagę jest wartość efektywna.

SAMPWYBÓR_TRYBU_LE 1 bajtów Wybiera samptryb przeplotu ling, jak opisano w specyfikacjach projektowych CTS. Wartość dziesiętna 3 jest zarezerwowana i będzie traktowana jako 0.
Uwaga: Podana wartość jest zawsze maskowana za pomocą 0x03, a następnie brana pod uwagę jest wartość efektywna.
TB0 1 bajtów Wybiera, która magistrala testowa ma być podłączona do TB0. Zobacz Rozdział 7 (wartość TB_ Signal_Index)
TB1 1 bajtów Wybiera, która magistrala testowa ma być podłączona do TB1. Zobacz Rozdział 7 (wartość TB_ Signal_Index)
TB2 1 bajtów Wybiera, która magistrala testowa ma być podłączona do TB2. Zobacz Rozdział 7 (wartość TB_ Signal_Index)
TB3 1 bajtów Wybiera, która magistrala testowa ma być podłączona do TB3. Zobacz Rozdział 7 (wartość TB_ Signal_Index)
Wybierz TTB 1 bajtów Wybiera, który TB ma być podłączony do źródeł wyzwalających. Zobacz Rozdział 7 (wartość TB_Signal_Index)
RFU 4 bajty Wysyłaj zawsze 0x00000000
RÓŻNE KONFIGURACJE 24 bajty Wystąpienia wyzwalaczy, polaryzacja itp. Zobacz [1] w celu zrozumienia konfiguracji CTS.

4.5.10.2.2 Odpowiedź
Tabela 88. Wartość odpowiedzi CTS_CONFIGURE

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR

4.5.10.2.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.10.3 Dziennik_powrotu_CTS
Ta instrukcja pobiera dziennik danych przechwyconych danych magistrali testowej.amppliki zapisane w buforze pamięci.
4.5.10.3.1 Polecenie
Tabela 89. Wartość polecenia CTS_RETRIEVE_LOG

Pole ładunku Długość Wartość/opis
Rozmiar fragmentu 1 bajt 0x01-0xFF Zawiera liczbę oczekiwanych bajtów danych.

4.5.10.3.2 Odpowiedź
Tabela 90. Wartość odpowiedzi CTS_RETRIEVE_LOG

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
PN5190_STATUS_SUKCES_ŁAŃCUCHOWY
Dane dziennika [1…n] Żądanie CTS Złapany Samples Fragment danych

Notatka:
Maksymalny rozmiar „Danych dziennika” zależy od parametru „ChunkSize” podanego jako część polecenia.
Całkowity rozmiar dziennika musi być dostępny w odpowiedzi nagłówka TLV.
4.5.10.3.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.11 Polecenia TEST_MODE
4.5.11.1 AUTOTEST_ANTENY
Niniejsza instrukcja służy do sprawdzenia, czy antena jest podłączona i czy pasujące komponenty są zamontowane/zmontowane.
Notatka:
To polecenie nie jest jeszcze dostępne. Zobacz informacje o dostępności w notatkach dotyczących wydania.
4.5.11.2 PRBS_TEST
Ta instrukcja służy do generowania sekwencji PRBS dla różnych konfiguracji protokołów trybu Reader i szybkości transmisji. Po wykonaniu instrukcji sekwencja testowa PRBS będzie dostępna na RF.
Notatka:
Przed wysłaniem tego polecenia host powinien upewnić się, że odpowiednia konfiguracja technologii RF została załadowana zgodnie z sekcją 4.5.7.1, a RF jest włączony zgodnie z poleceniem z sekcji 4.5.8.1.
4.5.11.2.1 Polecenie
Tabela 91. Wartość polecenia PRBS_TEST

Pole ładunku Długość Wartość/opis
typ_prbs 1 bajtów 00 PRBS9 (domyślny)
01 PRBS15
02-FF RFU

4.5.11.2.2 Odpowiedź
Tabela 92. Wartość odpowiedzi PRBS_TEST

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD

4.5.11.2.3 wydarzenie
Brak zdarzeń dla tej instrukcji.
4.5.12 Polecenia informacji o chipie
4.5.12.1 POBIERZ_DIEID
Ta instrukcja służy do odczytania numeru identyfikacyjnego układu scalonego PN5190.
4.5.12.1.1 Polecenie
Tabela 93. Wartość polecenia GET_DIEID

Pole ładunku Długość Wartość/opis
Brak danych w ładunku

4.5.12.1.2 Odpowiedź
Tabela 94. Wartość odpowiedzi GET_DIEID

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (brak dalszych danych)
Wartości 16 bajty 16 bajtów identyfikatora matrycy.

4.5.12.1.3 wydarzenie
Brak zdarzeń dla tego polecenia.
4.5.12.2 POBIERZ_WERSJĘ
Ta instrukcja służy do odczytania wersji sprzętu, wersji pamięci ROM i wersji oprogramowania układowego układu PN5190.
4.5.12.2.1 Polecenie
Tabela 95. Wartość polecenia GET_VERSION

Pole ładunku Długość Wartość/opis
Brak danych w ładunku

W trybie pobierania dostępne jest polecenie DL_GET_VERSION (sekcja 3.4.4), którego można użyć do odczytania wersji sprzętu, wersji ROM-u i wersji oprogramowania sprzętowego.
4.5.12.2.2 Odpowiedź
Tabela 96. Wartość odpowiedzi GET_VERSION

Pole ładunku Długość Wartość/opis
Status 1 bajtów Status operacji [Tabela 9]. Oczekiwane wartości są następujące:
PN5190_STATUS_POWODZENIE
PN5190_STATUS_INSTR_ERROR (Brak dalszych danych)
Sprzęt_V 1 bajt Wersja sprzętu
RO_V 1 bajt Kod ROM-u
FW_V 2 bajtów Wersja oprogramowania sprzętowego (używana do pobrania)
RFU1-RFU2 1-2 bajtów

Oczekiwana odpowiedź dla różnych wersji układu scalonego PN5190 jest podana w (sekcji 3.4.4)
4.5.12.2.3 wydarzenie
Brak zdarzeń dla tego polecenia.

Załącznik (np.amplas)

Dodatek ten składa się z byłychamples dla wyżej wymienionych poleceń. ExampPliki służą wyłącznie celom ilustracyjnym i pokazują zawartość polecenia.
5.1ample dla WRITE_REGISTER
Poniżej przedstawiono sekwencję danych wysłanych z hosta w celu zapisania wartości 0x12345678 w rejestrze 0x1F.
Ramka poleceń wysłana do PN5190: 0000051F78563412
Host czeka na przerwanie.
Gdy host odczyta ramkę odpowiedzi otrzymaną z PN5190 (oznaczającą pomyślną operację): 00000100 5.2 Example dla WRITE_REGISTER_OR_MASK
Następująca sekwencja danych przesłana z hosta w celu wykonania operacji logicznej LUB na rejestrze 0x1F z maską 0x12345678
Ramka poleceń wysłana do PN5190: 0100051F78563412
Host czeka na przerwanie.
Gdy host odczyta ramkę odpowiedzi otrzymaną z PN5190 (oznaczającą pomyślną operację): 01000100
5.3ample dla WRITE_REGISTER_AND_MASK
Następująca sekwencja danych przesłana z hosta w celu wykonania operacji logicznej AND na rejestrze 0x1F z maską 0x12345678
Ramka poleceń wysłana do PN5190: 0200051F78563412
Host czeka na przerwanie.
Gdy host odczyta ramkę odpowiedzi otrzymaną z PN5190 (oznaczającą pomyślną operację): 02000100
5.4ample dla WRITE_REGISTER_MULTIPLE
Poniżej przedstawiono sekwencję danych wysłanych z hosta w celu wykonania operacji logicznej AND na rejestrze 0x1F z maską 0x12345678 oraz operacji logicznej OR na rejestrze 0x20 z maską 0x11223344, a także zapisu do rejestru 0x21 z wartością 0xAABBCCDD.
Ramka poleceń wysłana do PN5190: 0300121F03785634122002443322112101DDCCBBAA
Host czeka na przerwanie.
Gdy host odczyta ramkę odpowiedzi otrzymaną z PN5190 (oznaczającą pomyślną operację): 03000100
5.5ample dla READ_REGISTER
Następująca sekwencja danych przesłana z hosta w celu odczytania zawartości rejestru 0x1F i przyjęcie założenia, że ​​rejestr ma wartość 0x12345678
Ramka poleceń wysłana do PN5190: 0400011F
Host czeka na przerwanie.
Gdy host odczyta ramkę odpowiedzi otrzymaną z PN5190 (oznaczającą pomyślną operację): 0400050078563412
5.6ample dla READ_REGISTER_MULTIPLE
Poniżej przedstawiono sekwencję danych przesłanych z hosta w celu odczytania zawartości rejestrów 0x1F, które zawierają wartość 0x12345678, oraz rejestru 0x25, który zawiera wartość 0x11223344
Ramka poleceń wysłana do PN5190: 0500021F25
Host czeka na przerwanie.
Gdy host odczytał odpowiedź, otrzymano ramkę z PN5190 (oznaczającą pomyślną operację): 050009007856341244332211
5.7ample dla WRITE_E2PROM
Następująca sekwencja danych przesłana z hosta do zapisu do lokalizacji E2PROM od 0x0130 do 0x0134 z zawartością 0x11, 0x22, 0x33, 0x44, 0x55
Ramka poleceń wysłana do PN5190: 06000730011122334455
Host czeka na przerwanie.
Gdy host odczyta odpowiedź, ramka otrzymana z PN5190 (oznaczająca pomyślną operację): 06000100
5.8ample dla READ_E2PROM
Poniżej przedstawiono sekwencję danych wysłanych z hosta w celu odczytu z lokalizacji E2PROM od 0x0130 do 0x0134, gdzie przechowywana jest zawartość: 0x11, 0x22, 0x33, 0x44, 0x55
Ramka poleceń wysłana do PN5190: 07000430010500
Host czeka na przerwanie.
Gdy host odczytał odpowiedź, otrzymano ramkę z PN5190 (oznaczającą pomyślną operację): 070006001122334455
5.9ample dla TRANSMIT_RF_DATA
Poniżej przedstawiono sekwencję danych wysłanych z hosta w celu wysłania polecenia REQA (0x26), przy czym liczba bitów do przesłania wynosi „0x07”, przy założeniu, że wymagane rejestry są ustawione wcześniej, a sygnał RF jest włączony.
Ramka poleceń wysłana do PN5190: 0800020726
Host czeka na przerwanie.
Gdy host odczyta odpowiedź, ramka otrzymana z PN5190 (oznaczająca pomyślną operację): 08000100
5.10ample dla RETREIVE_RF_DATA
Następująca sekwencja danych wysłana z hosta w celu odebrania danych odebranych/zapisanych w wewnętrznym buforze CLIF (zakładając, że odebrano 0x05), przy założeniu, że TRANSMIT_RF_DATA jest już wysłane po włączeniu RF.
Ramka poleceń wysłana do PN5190: 090000
Host czeka na przerwanie.
Gdy host odczyta odpowiedź, ramka otrzymana z PN5190 (oznaczająca pomyślną operację): 090003000400
5.11ample dla EXCHANGE_RF_DATA
Następująca sekwencja danych wysłanych z hosta w celu przesłania REQA (0x26), z liczbą bitów w ostatnim bajcie do wysłania ustawioną na 0x07, ze wszystkimi statusami do odebrania wraz z danymi. Założenie jest takie, że wymagane rejestry RF są już ustawione, a RF jest włączony.
Ramka poleceń wysłana do PN5190: 0A0003070F26
Host czeka na przerwanie.
Gdy host odczytał odpowiedź, otrzymano ramkę z PN5190 (oznaczającą pomyślną operację): 0A000 F000200000000000200000000004400
5.12ample dla LOAD_RF_CONFIGURATION
Następująca sekwencja danych wysłanych z hosta w celu ustawienia konfiguracji RF. Dla TX, 0x00 i dla RX, 0x80
Ramka poleceń wysłana do PN5190: 0D00020080
Host czeka na przerwanie.
Gdy host odczyta odpowiedź, ramka otrzymana z PN5190 (oznaczająca pomyślną operację): 0D000100
5.13ample dla UPDATE_RF_CONFIGURATION
Następująca sekwencja danych wysłanych z hosta w celu aktualizacji konfiguracji RF. Dla TX, 0x00, z adresem rejestru dla CLIF_CRC_TX_CONFIG i wartością 0x00000001
Ramka poleceń wysłana do PN5190: 0E0006001201000000
Host czeka na przerwanie.
Gdy host odczytał odpowiedź, otrzymano ramkę z PN5190 (oznaczającą pomyślną operację): 0E000100
5.14ample dla RF_ON
Następująca sekwencja danych wysłanych z hosta w celu włączenia pola RF przy użyciu unikania kolizji i braku aktywnego P2P. Zakłada się, że odpowiednia konfiguracja RF TX i RX jest już ustawiona w PN5190.
Ramka poleceń wysłana do PN5190: 10000100
Host czeka na przerwanie.
Gdy host odczyta odpowiedź, ramka otrzymana z PN5190 (oznaczająca pomyślną operację): 10000100
5.15ample dla RF_OFF
Poniżej sekwencja danych przesłanych z hosta w celu WYŁĄCZENIA pola RF.
Ramka poleceń wysłana do PN5190: 110000
Host czeka na przerwanie.
Gdy host odczyta odpowiedź, ramka otrzymana z PN5190 (oznaczająca pomyślną operację): 11000100

Załącznik (indeksy konfiguracji protokołu RF)

W tym załączniku znajdują się indeksy konfiguracji protokołu RF obsługiwane przez PN5190.
Ustawienia konfiguracji TX i RX muszą zostać użyte w poleceniach Sekcja 4.5.7.1, Sekcja 4.5.7.2, Sekcja 4.5.7.3.

Kontroler front-endowy NFC NXP PN5190 — indeksy konfiguracji

Załącznik (sygnały CTS i TESTBUS)

Poniższa tabela określa różne sygnały dostępne z PN5190 do przechwycenia za pomocą instrukcji CTS (sekcja 4.5.10) i instrukcji TESTBUS.

Kontroler front-endowy NXP PN5190 NFC — dodatek

Należy ich używać w przypadku poleceń z sekcji 4.5.9.1, sekcji 4.5.9.2, sekcji 4.5.10.2.

Skróty

Tabela 97. Skróty

Skrót Oznaczający
CLK Zegar
DWL_REQ Pin żądania pobrania (nazywany również DL_REQ)
EEPROM Elektrycznie kasowana programowalna pamięć tylko do odczytu
FW Oprogramowanie sprzętowe
GND Grunt
GPIO Wejście/wyjście ogólnego przeznaczenia
HW Sprzęt komputerowy
Ja²C Układ scalony międzysystemowy (magistrala danych szeregowych)
IRQ Żądanie przerwania
ISO / IEC Międzynarodowa Organizacja Normalizacyjna / Międzynarodowa Społeczność Elektrotechniczna
NFC Komunikacja bliskiego zasięgu
OS System operacyjny
PCD Urządzenie sprzęgające zbliżeniowe (czytnik bezstykowy)
PICC Karta zbliżeniowa ze zintegrowanym obwodem (karta bezstykowa)
PMU Jednostka zarządzania energią
POR Reset po włączeniu
RF Częstotliwość radiowa
RST Nastawić
SFWU bezpieczny tryb pobierania oprogramowania sprzętowego
SPI Szeregowy interfejs peryferyjny
WEN V Włącz pin

Odniesienia

[1] Część konfiguracji CTS kokpitu NFC, https://www.nxp.com/products/:NFC-COCKPIT
[2] Karta katalogowa układu scalonego PN5190, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf

Informacje prawne

10.1 Definicje
Projekt — Status wersji roboczej dokumentu wskazuje, że treść jest nadal pod kontrolą wewnętrznąview i podlega formalnej akceptacji, co może skutkować modyfikacjami lub uzupełnieniami. NXP Semiconductors nie składa żadnych oświadczeń ani gwarancji co do dokładności lub kompletności informacji zawartych w wersji roboczej dokumentu i nie ponosi odpowiedzialności za konsekwencje wykorzystania takich informacji.
10.2 Zastrzeżenia
Ograniczona gwarancja i odpowiedzialność — Uważa się, że informacje zawarte w tym dokumencie są dokładne i wiarygodne. Firma NXP Semiconductors nie udziela jednak żadnych oświadczeń ani gwarancji, wyraźnych lub dorozumianych, co do dokładności lub kompletności takich informacji i nie ponosi odpowiedzialności za konsekwencje wykorzystania takich informacji. Firma NXP Semiconductors nie ponosi odpowiedzialności za treść tego dokumentu, jeśli została dostarczona przez źródło informacji spoza firmy NXP Semiconductors.
W żadnym wypadku firma NXP Semiconductors nie ponosi odpowiedzialności za jakiekolwiek szkody pośrednie, przypadkowe, karne, specjalne lub wynikowe (w tym między innymi utracone zyski, utracone oszczędności, przerwy w działalności, koszty związane z usunięciem lub wymianą jakichkolwiek produktów lub opłatami za przeróbkę), niezależnie od tego, czy lub takie odszkodowania nie są oparte na czynie niedozwolonym (w tym zaniedbaniu), gwarancji, naruszeniu umowy lub jakiejkolwiek innej teorii prawnej.
Niezależnie od wszelkich szkód, jakie Klient może ponieść z jakiegokolwiek powodu, łączna i kumulatywna odpowiedzialność firmy NXP Semiconductors wobec Klienta za produkty opisane w niniejszym dokumencie będzie ograniczona zgodnie z
Warunki sprzedaży komercyjnej produktów NXP Semiconductors.
Prawo do wprowadzania zmian — firma NXP Semiconductors zastrzega sobie prawo do wprowadzania zmian w informacjach opublikowanych w tym dokumencie, w tym między innymi w specyfikacjach i opisach produktów, w dowolnym czasie i bez powiadomienia. Niniejszy dokument zastępuje i zastępuje wszystkie informacje dostarczone przed publikacją niniejszego dokumentu.
Przydatność do użytku — produkty NXP Semiconductors nie są zaprojektowane, autoryzowane ani objęte gwarancją, aby były odpowiednie do użytku w systemach lub sprzęcie podtrzymywania życia, krytycznych dla życia lub bezpieczeństwa, ani w zastosowaniach, w których można racjonalnie oczekiwać awarii lub nieprawidłowego działania produktu NXP Semiconductors spowodować obrażenia ciała, śmierć lub poważne szkody majątkowe lub środowiskowe. Firma NXP Semiconductors i jej dostawcy nie ponoszą żadnej odpowiedzialności za włączenie i/lub użycie produktów NXP Semiconductors w takim sprzęcie lub zastosowaniach, a zatem takie włączenie i/lub użycie odbywa się na własne ryzyko klienta.
Aplikacje — Aplikacje opisane w niniejszym dokumencie dla dowolnego z tych produktów służą wyłącznie celom ilustracyjnym. Firma NXP Semiconductors nie składa żadnych oświadczeń ani gwarancji, że takie aplikacje będą odpowiednie do określonego zastosowania bez dalszych testów lub modyfikacji.
Klienci są odpowiedzialni za projektowanie i działanie swoich aplikacji i produktów wykorzystujących produkty NXP Semiconductors, a firma NXP Semiconductors nie ponosi odpowiedzialności za jakąkolwiek pomoc dotyczącą aplikacji lub projektowania produktów klienta. Klient ponosi wyłączną odpowiedzialność za ustalenie, czy produkt NXP Semiconductors jest odpowiedni i odpowiedni do zastosowań klienta i planowanych produktów, a także do planowanego zastosowania i użytkowania klienta (klientów) będącego stroną trzecią. Klienci powinni zapewnić odpowiednie zabezpieczenia projektowe i operacyjne, aby zminimalizować ryzyko związane z ich aplikacjami i produktami.
Firma NXP Semiconductors nie ponosi żadnej odpowiedzialności związanej z niewykonaniem zobowiązania, uszkodzeniem, kosztami lub problemem, które wynikają ze słabości lub wadliwego działania aplikacji lub produktów klienta, aplikacji lub użytkowania przez klienta (klientów) będącego stroną trzecią. Klient jest odpowiedzialny za przeprowadzenie wszystkich niezbędnych testów aplikacji i produktów klienta przy użyciu produktów NXP Semiconductors w celu uniknięcia nieprawidłowego działania aplikacji i produktów lub aplikacji lub użytkowania przez klientów będących osobami trzecimi. NXP nie ponosi żadnej odpowiedzialności w tym zakresie.

NXP BV – NXP BV nie jest spółką operacyjną i nie zajmuje się dystrybucją ani sprzedażą produktów.

Licencje 10.3
Zakup układów scalonych NXP z technologią NFC — Zakup układu scalonego NXP Semiconductors zgodnego z jedną z norm komunikacji bliskiego zasięgu (NFC) ISO/IEC 18092 i ISO/IEC 21481 nie oznacza dorozumianej licencji w ramach żadnego prawa patentowego naruszonego w wyniku wdrożenia którykolwiek z tych standardów. Zakup układu scalonego NXP Semiconductors nie obejmuje licencji na żaden patent NXP (ani inne prawo własności intelektualnej) obejmujący kombinacje tych produktów z innymi produktami, zarówno sprzętem, jak i oprogramowaniem.

Znaki towarowe 10.4
Uwaga: Wszystkie wymienione marki, nazwy produktów, nazwy usług i znaki towarowe są własnością ich odpowiednich właścicieli.
NXP — znak słowny i logo są znakami towarowymi NXP BV
EdgeVerse — jest znakiem towarowym NXP BV
FeliCa — jest znakiem towarowym firmy Sony Corporation.
MIFARE — jest znakiem towarowym firmy NXP BV
MIFARE Classic — jest znakiem towarowym firmy NXP BV

Należy pamiętać, że ważne informacje dotyczące niniejszego dokumentu i produktów w nim opisanych zostały zawarte w części „Informacje prawne”.
© 2023 NXP BV
Więcej informacji znajdziesz na stronie: http://www.nxp.com
Wszelkie prawa zastrzeżone.
Data premiery: 25 maja 2023
Identyfikator dokumentu: UM11942

Dokumenty / Zasoby

Kontroler front-endu NFC NXP PN5190 [plik PDF] Instrukcja obsługi
PN5190, Kontroler front-end NFC PN5190, Kontroler front-end NFC, Kontroler, UM11942

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *