UM11942
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.
- 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 - 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:
- 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: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)2.1.2.2 Odczyt sekwencji z hosta (kierunek PN5190 => DH)
2.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ł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
Powyż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łyDozwolone 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.Każdy TLV składa się z:
Typ (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.Wiadomoś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.
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.Warunek wstępny: PN5190 jest w stanie operacyjnym.
Główny scenariusz:
- 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 - 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. - 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).
- 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ć. - Urządzenie hosta ładuje się z file kod binarny oprogramowania sprzętowego do pobrania
- 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 - Urządzenie hostujące ładuje sekwencję protokołu bezpiecznego pobierania do urządzenia PN5190 za pomocą poleceń DL_SEC_WRITE (sekcja 3.4.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.
- 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
- Urządzenie hosta ustawia pin DWL_REQ na niski (jeśli pin DWL_REQ jest używany do wejścia w tryb pobierania)
- 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:
- Długość ramki wynosi 312 bajtów
- Od ostatniego resetu nie otrzymano żadnego bezpiecznego polecenia zapisu.
- 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:
- Kod operacji jest taki, jak opisano w rozdziale 3.4.1 dla polecenia DL_SEC_WRITE.
- Pierwsze bezpieczne polecenie zapisu zostało już odebrane i pomyślnie zweryfikowane
- Od momentu otrzymania pierwszego polecenia bezpiecznego zapisu nie nastąpił żaden reset
- Długość ramki jest równa rozmiarowi danych + rozmiarowi nagłówka + rozmiarowi skrótu: FLEN = ROZMIAR + 6 + 32
- 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:
- Kod operacji jest taki, jak opisano w rozdziale 3.4.1 dla polecenia DL_SEC_WRITE.
- Pierwsze bezpieczne polecenie zapisu zostało już odebrane i pomyślnie zweryfikowane
- Od momentu otrzymania pierwszego polecenia bezpiecznego zapisu nie nastąpił żaden reset
- Długość ramki jest równa rozmiarowi danych + rozmiarowi nagłówka: FLEN = ROZMIAR + 6
- 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:
- Zawsze włączone – Host jest zawsze powiadamiany
- 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 |
- 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.
- 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.GENERAL_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.Notatka:
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.
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.
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.
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
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
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 |
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.
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.
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 |