UM11942
Lớp hướng dẫn PN5190
Bộ điều khiển đầu cuối NFC
Hướng dẫn sử dụng
Bộ điều khiển đầu cuối NFC PN5190
Thông tin tài liệu
Thông tin | Nội dung |
Từ khóa | PN5190, NFC, lối vào NFC, bộ điều khiển, lớp hướng dẫn |
Tóm tắt | Tài liệu này mô tả các lệnh và phản hồi của lớp lệnh hoạt động từ bộ điều khiển máy chủ, nhằm đánh giá hoạt động của bộ điều khiển giao diện NFC NXP PN5190. PN5190 là bộ điều khiển giao diện NFC thế hệ tiếp theo. Phạm vi của tài liệu này là mô tả các lệnh giao diện để hoạt động với bộ điều khiển giao diện NFC PN5190. Để biết thêm thông tin về hoạt động của bộ điều khiển giao diện NFC PN5190, hãy tham khảo bảng dữ liệu và thông tin bổ sung. |
Lịch sử sửa đổi
Sửa đổi | Ngày | Sự miêu tả |
3.7 | 20230525 | • Loại tài liệu và tiêu đề đã thay đổi từ phụ lục bảng dữ liệu sản phẩm sang hướng dẫn sử dụng • Dọn dẹp biên tập • Đã cập nhật thuật ngữ biên tập cho tín hiệu SPI • Đã thêm lệnh GET_CRC_USER_AREA trong Bảng 8 ở Mục 4.5.2.3 • Cập nhật nhiều chi tiết khác nhau để phân biệt PN5190B1 và PN5190B2 tại Mục 3.4.1 • Cập nhật phản hồi của Mục 3.4.7 |
3.6 | 20230111 | Mô tả phản hồi về tính toàn vẹn của Kiểm tra nâng cao trong Phần 3.4.7 |
3.5 | 20221104 | Mục 4.5.4.6.3 “Sự kiện”: đã thêm |
3.4 | 20220701 | • Đã thêm lệnh CONFIGURE_MULTIPLE_TESTBUS_DIGITAL trong Bảng 8 ở Mục 4.5.9.3 • Đã cập nhật Phần 4.5.9.2.2 |
3.3 | 20220329 | Mô tả phần cứng được cải thiện trong Mục 4.5.12.2.1 “Lệnh” và Mục 4.5.12.2.2 “Phản hồi” |
3.2 | 20210910 | Số phiên bản phần sụn được cập nhật từ 2.1 thành 2.01 và 2.3 thành 2.03 |
3.1 | 20210527 | Đã thêm mô tả lệnh RETRIEVE_RF_FELICA_EMD_DATA |
3 | 20210118 | Phiên bản chính thức đầu tiên được phát hành |
Giới thiệu
1.1 Giới thiệu
Tài liệu này mô tả Giao diện máy chủ PN5190 và các API. Giao diện máy chủ vật lý được sử dụng trong tài liệu là SPI. Đặc tính vật lý SPI không được xem xét trong tài liệu.
Việc tách khung và điều khiển luồng là một phần của tài liệu này.
1.1.1 Phạm vi
Tài liệu mô tả lớp logic, mã lệnh, API phù hợp với khách hàng.
Giao tiếp máy chủ kết thúcview
PN5190 có hai chế độ hoạt động chính để giao tiếp với bộ điều khiển máy chủ.
- Giao tiếp dựa trên HDLL được sử dụng khi thiết bị được kích hoạt để nhập:
Một. Chế độ tải xuống an toàn được mã hóa để cập nhật chương trình cơ sở của nó - Giao tiếp dựa trên phản hồi lệnh TLV (được đưa ra dưới dạng ví dụample).
2.1 Chế độ HDLL
Chế độ HDLL được sử dụng cho định dạng trao đổi gói để hoạt động với các chế độ vận hành IC bên dưới:
- Chế độ tải xuống chương trình cơ sở an toàn (SFWU), xem Phần 3
2.1.1 Mô tả HDLL
HDLL là lớp liên kết được NXP phát triển để đảm bảo tải xuống FW đáng tin cậy.
Thông báo HDLL được tạo bằng tiêu đề 2 byte, theo sau là khung, bao gồm mã hoạt động và Tải trọng của lệnh. Mỗi tin nhắn kết thúc bằng CRC 16 bit, như được mô tả trong hình bên dưới:Tiêu đề HDLL chứa:
- Một chút. Cho biết tin nhắn này là đoạn duy nhất hay đoạn cuối của tin nhắn (đoạn = 0). Hoặc nếu ít nhất có một đoạn khác theo sau (chunk = 1).
- Độ dài của Tải trọng được mã hóa trên 10 bit. Vì vậy, Tải trọng khung HDLL có thể lên tới 1023 Byte.
Thứ tự byte đã được định nghĩa là big-endian, nghĩa là Ms Byte trước.
CRC16 tuân thủ tiêu chuẩn X.25 (CRC-CCITT, ISO/IEC13239) với đa thức x^16 + x^12 + x^5 +1 và giá trị tải trước 0xFFFF.
Nó được tính trên toàn bộ khung HDLL, nghĩa là Tiêu đề + Khung.
Sample Triển khai mã C:
tĩnh uint16_t phHal_Host_CalcCrc16(uint8_t* p, uint32_t dwLength)
{
uint32_t tôi ;
uint16_t crc_new ;
uint16_t crc = 0xffffU;
for (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_new;
}
trả lại crc;
}
2.1.2 Ánh xạ vận chuyển qua SPI
Đối với mọi xác nhận NTS, byte đầu tiên luôn là HEADER (byte chỉ báo luồng), nó có thể là 0x7F/0xFF đối với thao tác ghi/đọc.
2.1.2.1 Viết Sequence từ host (hướng DH => PN5190)2.1.2.2 Đọc Sequence từ máy chủ (Hướng PN5190 => DH)
2.1.3 Giao thức HDLL
HDLL là một giao thức phản hồi lệnh. Tất cả các hoạt động được đề cập ở trên đều được kích hoạt thông qua một lệnh cụ thể và được xác thực dựa trên phản hồi.
Các lệnh và phản hồi tuân theo cú pháp tin nhắn HDLL, lệnh được gửi bởi máy chủ thiết bị, phản hồi của PN5190. Opcode cho biết loại lệnh và phản hồi.
Giao tiếp dựa trên HDLL, chỉ được sử dụng khi PN5190 được kích hoạt để vào chế độ “Tải xuống chương trình cơ sở an toàn”.
2.2 Chế độ TLV
TLV là viết tắt của Tag Giá trị chiều dài.
2.2.1 Định nghĩa khung
Khung SPI bắt đầu với cạnh xuống của NTS và kết thúc với cạnh lên của NTS. SPI là song công hoàn toàn theo định nghĩa vật lý nhưng PN5190 sử dụng SPI ở chế độ bán song công. Chế độ SPI bị giới hạn ở CPOL 0 và CPHA 0 với tốc độ xung nhịp tối đa như được chỉ định trong [2]. Mỗi khung SPI bao gồm tiêu đề 1 byte và phần thân n byte.
2.2.2 Chỉ báo lưu lượngHOST luôn gửi byte chỉ báo luồng dưới dạng byte đầu tiên, cho dù nó muốn ghi hay đọc dữ liệu từ PN5190.
Nếu có yêu cầu đọc và không có dữ liệu thì phản hồi chứa 0xFF.
Dữ liệu sau byte chỉ báo luồng là một hoặc một số thông báo.
Đối với mọi xác nhận NTS, byte đầu tiên luôn là HEADER (byte chỉ báo luồng), nó có thể là 0x7F/0xFF đối với thao tác ghi/đọc.
2.2.3 Loại tin nhắn
Bộ điều khiển máy chủ sẽ liên lạc với PN5190 bằng các tin nhắn được truyền trong khung SPI.
Có ba loại tin nhắn khác nhau:
- Yêu cầu
- Phản ứng
- Sự kiện
Sơ đồ giao tiếp ở trên hiển thị các hướng được phép cho các loại thông báo khác nhau như bên dưới:
- Lệnh và phản hồi.
- Các lệnh chỉ được gửi từ bộ điều khiển máy chủ tới PN5190.
- Phản hồi và sự kiện chỉ được gửi từ PN5190 đến bộ điều khiển máy chủ.
- Phản hồi lệnh được đồng bộ hóa bằng chân IRQ.
- Máy chủ chỉ có thể gửi lệnh khi IRQ ở mức thấp.
- Máy chủ chỉ có thể đọc phản hồi/sự kiện khi IRQ cao.
2.2.3.1 Trình tự và quy tắc được phépChuỗi lệnh, phản hồi và sự kiện được phép
- Một lệnh luôn được xác nhận bằng một phản hồi hoặc một sự kiện hoặc cả hai.
- Bộ điều khiển máy chủ không được phép gửi lệnh khác trước khi chưa nhận được phản hồi cho lệnh trước đó.
- Các sự kiện có thể được gửi không đồng bộ bất kỳ lúc nào (KHÔNG xen kẽ trong cặp lệnh/phản hồi).
- Thông báo SỰ KIỆN không bao giờ được kết hợp với thông báo PHẢN HỒI trong một khung.
Ghi chú: Tính khả dụng của một tin nhắn (PHẢN HỒI hoặc SỰ KIỆN) được báo hiệu bằng IRQ tăng cao từ mức thấp. IRQ duy trì ở mức cao cho đến khi tất cả khung phản hồi hoặc sự kiện được đọc. Chỉ sau khi tín hiệu IRQ ở mức thấp, máy chủ mới có thể gửi lệnh tiếp theo.
2.2.4 Định dạng tin nhắn
Mỗi thông báo được mã hóa theo cấu trúc TLV với tải trọng n byte cho mỗi thông báo ngoại trừ lệnh SWITCH_MODE_NORMAL.Mỗi TLV bao gồm:
Loại (T) => 1 byte
Bit[7] Loại thông báo
0: Tin nhắn COMMAND hoặc RESPONSE
1: tin nhắn SỰ KIỆN
Bit[6:0]: Mã lệnh
Độ dài (L) => 2 byte (phải ở định dạng big-endian)
Giá trị (V) => N byte giá trị/dữ liệu của TLV (Thông số lệnh / Dữ liệu phản hồi) dựa trên trường Độ dài (định dạng big-endian)
2.2.4.1 Chia khung
Tin nhắn COMMAND phải được gửi trong một khung SPI.
Tin nhắn TRẢ LỜI và SỰ KIỆN có thể được đọc trong nhiều khung SPI, ví dụ: để đọc byte độ dài.Thông báo PHẢN ỨNG hoặc SỰ KIỆN có thể được đọc trong một khung SPI duy nhất nhưng bị trì hoãn bởi NO-CLOCK ở giữa, ví dụ, để đọc byte độ dài.
Chế độ khởi động vận hành IC – chế độ tải xuống FW được bảo mật
3.1 Giới thiệu
Một phần của mã chương trình cơ sở PN5190 được lưu trữ vĩnh viễn trong ROM, trong khi phần còn lại của mã và dữ liệu được lưu trữ trong flash nhúng. Dữ liệu người dùng được lưu trữ trong flash và được bảo vệ bằng cơ chế chống xé rách để đảm bảo tính toàn vẹn và sẵn có của dữ liệu. Để cung cấp cho khách hàng của NXP các tính năng tuân thủ các tiêu chuẩn mới nhất (EMVCo, Diễn đàn NFC, v.v.), cả mã và dữ liệu người dùng trong FLASH đều có thể được cập nhật.
Tính xác thực và tính toàn vẹn của chương trình cơ sở được mã hóa được bảo vệ bằng chữ ký khóa bất đối xứng/đối xứng và cơ chế băm chuỗi ngược. Lệnh DL_SEC_WRITE đầu tiên chứa hàm băm của lệnh thứ hai và được bảo vệ bằng chữ ký RSA trên tải trọng của khung đầu tiên. Phần sụn PN5190 sử dụng khóa chung RSA để xác thực lệnh đầu tiên. Hàm băm chuỗi trong mỗi lệnh được sử dụng để xác thực lệnh tiếp theo, nhằm đảm bảo rằng mã chương trình cơ sở và dữ liệu không bị bên thứ ba truy cập.
Tải trọng của các lệnh DL_SEC_WRITE được mã hóa bằng khóa AES-128. Sau khi xác thực từng lệnh, nội dung tải trọng được giải mã và ghi vào flash bằng phần sụn PN5190.
Đối với chương trình cơ sở NXP, NXP chịu trách nhiệm cung cấp các bản cập nhật chương trình cơ sở an toàn mới cùng với dữ liệu Người dùng mới.
Quy trình cập nhật được trang bị cơ chế bảo vệ tính xác thực, tính toàn vẹn và bảo mật của mã và dữ liệu NXP.
Lược đồ gói khung dựa trên HDLL được sử dụng cho tất cả các lệnh và phản hồi cho chế độ nâng cấp chương trình cơ sở được bảo mật.
Phần 2.1 cung cấp thông tin chi tiếtview lược đồ gói khung HDLL được sử dụng.
IC PN5190 hỗ trợ cả giao thức tải xuống FW bảo mật được mã hóa kế thừa và giao thức tải xuống FW bảo mật được mã hóa có hỗ trợ mã hóa phần cứng tùy thuộc vào biến thể được sử dụng.
Hai loại là:
- Giao thức tải xuống FW bảo mật kế thừa chỉ hoạt động với phiên bản IC PN5190 B0/B1.
- Giao thức tải xuống FW an toàn được hỗ trợ bằng mật mã phần cứng chỉ hoạt động với phiên bản IC PN5190B2, sử dụng các khối mật mã phần cứng trên chip
Các phần sau đây giải thích các lệnh và phản hồi của chế độ tải xuống chương trình cơ sở an toàn.
3.2 Cách kích hoạt chế độ “Tải xuống chương trình cơ sở an toàn”
Sơ đồ bên dưới và các bước tiếp theo, cho biết cách kích hoạt chế độ tải xuống chương trình cơ sở bảo mật.Tiền điều kiện: PN5190 ở trạng thái Hoạt động.
Kịch bản chính:
- Điều kiện đầu vào trong đó chân DWL_REQ được sử dụng để vào chế độ “Tải xuống chương trình cơ sở bảo mật”.
Một. Máy chủ thiết bị kéo chân DWL_REQ lên cao (chỉ hợp lệ nếu cập nhật chương trình cơ sở an toàn thông qua chân DWL_REQ) HOẶC
b. Máy chủ thiết bị thực hiện hard-reset để khởi động PN5190 - Điều kiện đầu vào trong đó chân DWL_REQ không được sử dụng để vào chế độ “Tải xuống chương trình cơ sở bảo mật” (tải xuống không cần pin).
Một. Máy chủ thiết bị thực hiện hard-reset để khởi động PN5190
b. Máy chủ thiết bị gửi SWITCH_MODE_NORMAL (Mục 4.5.4.5) để vào chế độ ứng dụng bình thường.
c. Bây giờ, khi IC ở chế độ ứng dụng bình thường, Máy chủ thiết bị sẽ gửi SWITCH_MODE_DOWNLOAD (Mục 4.5.4.9) để chuyển sang chế độ tải xuống an toàn. - Máy chủ thiết bị gửi lệnh DL_GET_VERSION (Mục 3.4.4) hoặc DL_GET_DIE_ID (Mục 3.4.6) hoặc DL_GET_SESSION_STATE (Mục 3.4.5).
- Máy chủ thiết bị đọc phiên bản phần cứng và phần sụn hiện tại, phiên, Die-id từ thiết bị.
Một. Máy chủ thiết bị kiểm tra trạng thái phiên nếu lần tải xuống cuối cùng được hoàn tất
b. Máy chủ thiết bị áp dụng các quy tắc kiểm tra phiên bản để quyết định nên bắt đầu tải xuống hay thoát khỏi quá trình tải xuống. - Máy chủ thiết bị tải từ một file mã nhị phân phần sụn sẽ được tải xuống
- Máy chủ thiết bị cung cấp lệnh DL_SEC_WRITE ( Mục 3.4.8) đầu tiên có chứa:
Một. Phiên bản phần sụn mới,
b. Một giá trị tùy ý dài 16 byte được sử dụng để làm xáo trộn khóa mã hóa
c. Giá trị tóm tắt của khung tiếp theo,
d. Chữ ký số của chính khung đó - Máy chủ thiết bị tải chuỗi giao thức tải xuống an toàn vào PN5190 bằng lệnh DL_SEC_WRITE (Mục 3.4.8)
- Khi lệnh DL_SEC_WRITE (Mục 3.4.8) cuối cùng được gửi đi, máy chủ thiết bị sẽ thực thi lệnh DL_CHECK_INTEGRITY (Mục 3.4.7) để kiểm tra xem bộ nhớ đã được ghi thành công hay chưa.
- Máy chủ thiết bị đọc phiên bản chương trình cơ sở mới và kiểm tra trạng thái phiên nếu đóng để báo cáo lên lớp trên
- Máy chủ thiết bị kéo chân DWL_REQ xuống mức thấp (nếu sử dụng chân DWL_REQ để vào chế độ tải xuống)
- Máy chủ thiết bị thực hiện hard reset (chuyển đổi chân VEN) trên thiết bị để khởi động lại PN5190
Hậu điều kiện: Phần sụn được cập nhật; số phiên bản phần sụn mới được báo cáo.
3.3 Kiểm soát phiên bản và chữ ký phần sụn
Trong chế độ tải xuống chương trình cơ sở PN5190, một cơ chế đảm bảo rằng chỉ chương trình cơ sở do NXP ký và phân phối mới được chấp nhận cho chương trình cơ sở NXP.
Phần sau đây chỉ áp dụng cho chương trình cơ sở NXP bảo mật được mã hóa.
Trong phiên tải xuống, phiên bản chương trình cơ sở 16 bit mới được gửi. Nó bao gồm một số lớn và một số phụ:
- Số chính: 8 bit (MSB)
- Số thứ yếu: 8 bit (LSB)
PN5190 kiểm tra xem số phiên bản chính mới lớn hơn hay bằng số phiên bản hiện tại. Nếu không, quá trình tải xuống chương trình cơ sở bảo mật sẽ bị từ chối và phiên sẽ bị đóng.
3.4 Lệnh HDLL để tải xuống được mã hóa cũ và hỗ trợ mật mã phần cứng tải xuống được mã hóa
Phần này cung cấp thông tin về các lệnh và phản hồi được sử dụng cho cả hai loại tải xuống để tải xuống chương trình cơ sở NXP.
3.4.1 HDLL Mã lệnh OP
Ghi chú: Các khung lệnh HDLL được căn chỉnh 4 byte. Các byte tải trọng không được sử dụng sẽ được giữ lại bằng không.
Bảng 1. Danh sách mã OP lệnh HDLL
PN5190 B0/ B1 (Tải xuống cũ) |
PN5190 B2 (Tải xuống được hỗ trợ bằng tiền điện tử) |
Bí danh lệnh | Sự miêu tả |
0xF0 | 0xE5 | DL_RESET | Thực hiện thiết lập lại mềm |
0xF1 | 0xE1 | DL_GET_VERSION | Trả về số phiên bản |
0xF2 | 0xDB | DL_GET_SESSION_STATE | Trả về trạng thái phiên hiện tại |
0xF4 | 0xDF | DL_GET_DIE_ID | Trả về ID khuôn |
0xE0 | 0xE7 | DL_CHECK_INTEGRITY | Kiểm tra và trả lại CRC trên các khu vực khác nhau cũng như cờ trạng thái đạt/không đạt cho từng khu vực |
0xC0 | 0x8C | DL_SEC_WRITE | Ghi x byte vào bộ nhớ bắt đầu từ địa chỉ tuyệt đối y |
3.4.2 Mã hóa phản hồi HDLL
Ghi chú: Các khung phản hồi HDLL được căn chỉnh 4 byte. Các byte tải trọng không được sử dụng sẽ được giữ lại bằng không. Chỉ phản hồi DL_OK mới có thể chứa giá trị tải trọng.
Bảng 2. Danh sách mã OP phản hồi HDLL
opcode | Bí danh phản hồi | Sự miêu tả |
0x00 | DL_OK | Lệnh đã được thông qua |
0x01 | DL_INVALID_ADDR | Địa chỉ không được phép |
0x0B | DL_UNKNOW_CMD | Lệnh không xác định |
0x0C | DL_ABORTED_CMD | Chuỗi đoạn quá lớn |
0x1E | DL_ADDR_RANGE_OFL_ERROR | Địa chỉ ngoài phạm vi |
0x1F | DL_BUFFER_OFL_ERROR | Bộ đệm quá nhỏ |
0x20 | DL_MEM_BSY | Bộ nhớ bận |
0x21 | DL_SIGNATURE_ERROR | Chữ ký không khớp |
0x24 | DL_FIRMWARE_VERSION_ERROR | Phiên bản hiện tại bằng hoặc cao hơn |
0x28 | DL_PROTOCOL_ERROR | Lỗi giao thức |
0x2A | DL_SFWU_DEGRADED | Lỗi dữ liệu flash |
0x2D | PH_STATUS_DL_FIRST_CHUNK | Đã nhận được đoạn đầu tiên |
0x2E | PH_STATUS_DL_NEXT_CHUNK | Chờ đoạn tiếp theo |
0xC5 | PH_STATUS_INTERNAL_ERROR_5 | Độ dài không khớp |
3.4.3 Lệnh DL_RESET
Trao đổi khung:
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] Việc đặt lại ngăn PN5190 gửi câu trả lời DL_STATUS_OK. Do đó, chỉ có thể nhận được trạng thái sai.
STAT là trạng thái trả về.
3.4.4 Lệnh DL_GET_VERSION
Trao đổi khung:
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] Khung tải trọng của phản hồi GetVersion là:
Bảng 3. Phản hồi lệnh GetVersion
Cánh đồng | Byte | Sự miêu tả |
THỐNG KÊ | 1 | Trạng thái |
HW_V | 2 | Phiên bản phần cứng |
RO_V | 3 | mã ROM |
MODEL_ID | 4 | ID mô hình |
FMxV | 5-6 | Phiên bản phần sụn (được sử dụng để tải xuống) |
RFU1-RFU2 | 7-8 | – |
Các giá trị mong đợi của các trường phản hồi khác nhau và ánh xạ của chúng như sau:
Bảng 4. Giá trị mong đợi của phản hồi của lệnh GetVersion
Loại IC | Phiên bản CTNH (hex) | Phiên bản ROM (hex) | ID mẫu (hex) | Phiên bản 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 Lệnh DL_GET_SESSION_STATE
Trao đổi khung:
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] Khung tải trọng của phản hồi GetSession là:
Bảng 5. Phản hồi với lệnh GetSession
Cánh đồng | Byte | Sự miêu tả |
THỐNG KÊ | 1 | Trạng thái |
SSTA | 2 | Trạng thái phiên • 0x00: đóng • 0x01: mở • 0x02: bị khóa (không cho phép tải xuống nữa) |
RFU | 3-4 |
3.4.6 Lệnh DL_GET_DIE_ID
Trao đổi khung:
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] Khung tải trọng của phản hồi GetDieId là:
Bảng 6. Phản hồi với lệnh GetDieId
Cánh đồng | Byte | Sự miêu tả |
THỐNG KÊ | 1 | Trạng thái |
RFU | 2-4 | |
CHẾT | 5-20 | ID của khuôn (16 byte) |
3.4.7 Lệnh DL_CHECK_INTEGRITY
Trao đổi khung:
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] Khung tải trọng của phản hồi CheckIntegrity là:
Bảng 7. Phản hồi lệnh CheckIntegrity
Cánh đồng | Byte | Giá trị / Mô tả | |
THỐNG KÊ | 1 | Trạng thái | |
LEN DỮ LIỆU | 2 | Tổng số phần dữ liệu | |
MÃ LEN | 3 | Tổng số đoạn mã | |
RFU | 4 | Kín đáo | |
[CRC_INFO] | 58 | 32 bit (nhỏ-endian). Nếu một bit được đặt, CRC của phần tương ứng là OK, nếu không thì Không OK. | |
Chút | Tình trạng toàn vẹn khu vực | ||
[31:28] | Dành riêng [3] | ||
[27:23] | Dành riêng [1] | ||
[22] | Dành riêng [3] | ||
[21:20] | Dành riêng [1] | ||
[19] | Vùng cấu hình RF (PN5190 B0/B1) [2] Dự trữ (PN5190 B2) [3] | ||
[18] | Vùng cấu hình giao thức (PN5190 B0/B1) [2] Vùng cấu hình RF (PN5190 B2) [2] | ||
[17] | Dự trữ (PN5190 B0/B1) [3] Khu vực cấu hình người dùng (PN5190 B2) [2] | ||
[16:6] | Dành riêng [3] | ||
[5:4] | Dành riêng cho PN5190 B0/B1 [3] Dành riêng cho PN5190 B2 [1] | ||
[3:0] | Dành riêng [1] | ||
[CRC32] | 9-136 | CRC32 của 32 phần. Mỗi CRC có 4 byte được lưu trữ ở định dạng little-endian. 4 byte đầu tiên của CRC là bit CRC_INFO[31], 4 byte CRC tiếp theo là bit CRC_ INFO[30], v.v. |
- [1] Bit này phải là 1 để PN5190 hoạt động bình thường (với các tính năng và hoặc tải xuống FW được mã hóa).
- [2] Bit này được đặt thành 1 theo mặc định, nhưng cài đặt do người dùng sửa đổi sẽ làm mất hiệu lực CRC. Không ảnh hưởng đến chức năng PN5190..
- [3] Giá trị bit này, ngay cả khi nó bằng 0, cũng không liên quan. Giá trị bit này có thể được bỏ qua..
3.4.8 Lệnh DL_SEC_WRITE
Lệnh DL_SEC_WRITE được xem xét trong ngữ cảnh của một chuỗi các lệnh ghi an toàn: "tải xuống chương trình cơ sở an toàn" được mã hóa (thường được gọi là eSFWu).
Trước tiên, lệnh ghi an toàn sẽ mở phiên tải xuống và vượt qua xác thực RSA. Những cái tiếp theo là chuyển các địa chỉ và byte được mã hóa để ghi vào PN5190 Flash. Tất cả trừ cái cuối cùng chứa hàm băm tiếp theo, do đó thông báo rằng chúng không phải là cái cuối cùng và liên kết các khung trình tự với nhau bằng mật mã.
Các lệnh khác (ngoại trừ DL_RESET và DL_CHECK_INTEGRITY) có thể được chèn vào giữa các lệnh ghi được bảo mật của một chuỗi mà không phá vỡ nó.
3.4.8.1 Lệnh DL_SEC_WRITE đầu tiên
Lệnh ghi bảo mật là lệnh đầu tiên khi và chỉ khi:
- Độ dài khung là 312 byte
- Không có lệnh ghi bảo mật nào được nhận kể từ lần đặt lại gần đây nhất.
- Chữ ký nhúng được xác minh thành công bởi PN5190.
Phản hồi cho lệnh khung đầu tiên sẽ như sau: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT là trạng thái trả về.
Ghi chú: Ít nhất một đoạn dữ liệu phải được ghi trong eSFWu mặc dù dữ liệu được ghi có thể chỉ dài một byte. Do đó, lệnh đầu tiên sẽ luôn chứa hàm băm của lệnh tiếp theo, vì sẽ có ít nhất hai lệnh.
3.4.8.2 Các lệnh DL_SEC_WRITE ở giữa
Lệnh ghi được bảo mật là 'lệnh ở giữa' khi và chỉ khi:
- Mã hoạt động được mô tả trong Phần 3.4.1 cho lệnh DL_SEC_WRITE.
- Lệnh ghi bảo mật đầu tiên đã được nhận và xác minh thành công trước đó
- Không có thiết lập lại nào xảy ra kể từ khi nhận được lệnh ghi bảo mật đầu tiên
- Độ dài khung bằng kích thước dữ liệu + kích thước tiêu đề + kích thước băm: FLEN = SIZE + 6 + 32
- Thông báo của toàn bộ khung bằng giá trị băm nhận được ở khung trước đó
Phản hồi cho lệnh khung đầu tiên sẽ như sau: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT là trạng thái trả về.
3.4.8.3 Lệnh DL_SEC_WRITE cuối cùng
Lệnh ghi bảo mật là lệnh cuối cùng khi và chỉ khi:
- Mã hoạt động được mô tả trong Phần 3.4.1 cho lệnh DL_SEC_WRITE.
- Lệnh ghi bảo mật đầu tiên đã được nhận và xác minh thành công trước đó
- Không có thiết lập lại nào xảy ra kể từ khi nhận được lệnh ghi bảo mật đầu tiên
- Độ dài khung bằng kích thước dữ liệu + kích thước tiêu đề: FLEN = SIZE + 6
- Thông báo của toàn bộ khung bằng giá trị băm nhận được ở khung trước đó
Phản hồi cho lệnh khung đầu tiên sẽ như sau: [HDLL] <- [0x00 0x04 STAT 0x00 0x00 0x00 CRC16] STAT là trạng thái trả về.
Chế độ khởi động hoạt động của IC – Chế độ hoạt động bình thường
4.1 Giới thiệu
Nói chung, IC PN5190 phải ở chế độ hoạt động bình thường để có được chức năng NFC từ nó.
Khi IC PN5190 khởi động, nó luôn chờ nhận lệnh từ máy chủ để thực hiện thao tác, trừ khi các sự kiện được tạo ra trong IC PN5190 dẫn đến IC PN5190 khởi động.
4.2 Danh sách lệnh trênview
Bảng 8. Danh sách lệnh PN5190
mã lệnh | Tên lệnh |
0x00 | VIẾT_REGISTER |
0x01 | WRITE_REGISTER_OR_MASK |
0x02 | WRITE_REGISTER_AND_MASK |
0x03 | WRITE_REGISTER_MULTIPLE |
0x04 | READ_REGISTER |
0x05 | READ_REGISTER_MULTIPLE |
0x06 | VIẾT_E2PROM |
0x07 | READ_E2PROM |
0x08 | TRANSMIT_RF_DATA |
0x09 | TRUY LẠI_RF_DATA |
0x0A | TRAO ĐỔI_RF_DATA |
0x0B | MFC_AUTHENTICATE |
0x0C | EPC_GEN2_INVENTORY |
0x0D | LOAD_RF_CẤU HÌNH |
0x0E | CẬP NHẬT_RF_CẤU HÌNH |
0x0F | NHẬN_ RF_CONFIGURATION |
0x10 | RF_ON |
0x11 | RF_OFF |
0x12 | CẤU HÌNH TESTBUS_DIGITAL |
0x13 | CONFIGURE_TESTBUS_ANALOG |
0x14 | CTS_ENABLE |
0x15 | CTS_CONFIGURE |
0x16 | CTS_RETRIEVE_LOG |
0x17-0x18 | RFU |
0x19 | lên đến FW v2.01: RFU |
từ FW v2.03 trở đi: RETRIEVE_RF_FELICA_EMD_DATA | |
0x1A | NHẬN_RF_DATA |
0x1B-0x1F | RFU |
0x20 | SWITCH_MODE_NORMAL |
0x21 | SWITCH_MODE_AUTOCOLL |
0x22 | SWITCH_MODE_STANDBY |
0x23 | SWITCH_MODE_LPCD |
0x24 | RFU |
0x25 | SWITCH_MODE_DOWNLOAD |
0x26 | GET_DIEID |
0x27 | NHẬN_VERSION |
0x28 | RFU |
0x29 | lên đến FW v2.05: RFU |
từ FW v2.06 trở đi: GET_CRC_USER_AREA | |
0x2A | lên đến FW v2.03: RFU |
từ FW v2.05 trở đi: CONFIGURE_MULTIPLE_TESTBUS_DIGITAL | |
0x2B-0x3F | RFU |
0x40 | ANTENNA_SELF_TEST (Không được hỗ trợ) |
0x41 | PRBS_TEST |
0x42-0x4F | RFU |
4.3 Giá trị trạng thái phản hồi
Sau đây là các giá trị trạng thái phản hồi, được trả về như một phần của phản hồi từ PN5190 sau khi lệnh được vận hành.
Bảng 9. Giá trị trạng thái phản hồi PN5190
trạng thái phản hồi | Giá trị trạng thái phản hồi | Sự miêu tả |
PN5190_STATUS_SUCCESS | 0x00 | Cho biết rằng hoạt động đã hoàn tất thành công |
PN5190_STATUS_TIMEOUT | 0x01 | Cho biết rằng hoạt động của lệnh dẫn đến thời gian chờ |
PN5190_STATUS_INTEGRITY_ERROR | 0x02 | Chỉ ra rằng hoạt động của lệnh dẫn đến lỗi toàn vẹn dữ liệu RF |
PN5190_STATUS_RF_COLLISION_ERROR | 0x03 | Chỉ ra rằng hoạt động của lệnh dẫn đến lỗi va chạm RF |
PN5190_STATUS_RFU1 | 0x04 | Kín đáo |
PN5190_STATUS_INVALID_COMMAND | 0x05 | Cho biết rằng lệnh đã cho không hợp lệ/không được thực hiện |
PN5190_STATUS_RFU2 | 0x06 | Kín đáo |
PN5190_STATUS_AUTH_ERROR | 0x07 | Cho biết xác thực MFC không thành công (quyền bị từ chối) |
PN5190_STATUS_MEMORY_ERROR | 0x08 | Cho biết rằng hoạt động của lệnh dẫn đến lỗi lập trình hoặc lỗi bộ nhớ trong |
PN5190_STATUS_RFU4 | 0x09 | Kín đáo |
PN5190_STATUS_NO_RF_FIELD | 0x0A | Cho biết rằng không có hoặc có lỗi trong sự hiện diện của trường RF bên trong (chỉ áp dụng nếu chế độ bộ khởi tạo/bộ đọc) |
PN5190_STATUS_RFU5 | 0x0B | Kín đáo |
PN5190_STATUS_SYNTAX_ERROR | 0x0C | Cho biết độ dài khung lệnh không hợp lệ được nhận |
PN5190_STATUS_RESOURCE_ERROR | 0x0D | Cho biết đã xảy ra lỗi tài nguyên nội bộ |
PN5190_STATUS_RFU6 | 0x0E | Kín đáo |
PN5190_STATUS_RFU7 | 0x0F | Kín đáo |
PN5190_STATUS_NO_EXTERNAL_RF_FIELD | 0x10 | Cho biết rằng không có trường RF bên ngoài nào xuất hiện trong quá trình thực thi lệnh (Chỉ áp dụng ở chế độ thẻ/mục tiêu) |
PN5190_STATUS_RX_TIMEOUT | 0x11 | Cho biết rằng dữ liệu không được nhận sau khi RFExchange được bắt đầu và RX đã hết thời gian chờ. |
PN5190_STATUS_USER_CANCELLED | 0x12 | Cho biết rằng lệnh đang thực hiện hiện tại đã bị hủy bỏ |
PN5190_STATUS_PREVENT_STANDBY | 0x13 | Cho biết rằng PN5190 bị ngăn chuyển sang chế độ Chờ |
PN5190_STATUS_RFU9 | 0x14 | Kín đáo |
PN5190_STATUS_CLOCK_ERROR | 0x15 | Chỉ ra rằng đồng hồ cho CLIF không bắt đầu |
PN5190_STATUS_RFU10 | 0x16 | Kín đáo |
PN5190_STATUS_PRBS_ERROR | 0x17 | Cho biết rằng lệnh PRBS đã trả về lỗi |
PN5190_STATUS_INSTR_ERROR | 0x18 | Cho biết hoạt động của lệnh không thành công (có thể bao gồm lỗi trong tham số lệnh, lỗi cú pháp, lỗi trong chính hoạt động, các yêu cầu trước cho lệnh không được đáp ứng, v.v.) |
PN5190_STATUS_ACCESS_DENIED | 0x19 | Cho biết quyền truy cập vào bộ nhớ trong bị từ chối |
PN5190_STATUS_TX_FAILURE | 0x1A | Cho biết TX qua RF không thành công |
PN5190_STATUS_NO_ANTENNA | 0x1B | Cho biết không có ăng-ten nào được kết nối/hiện tại |
PN5190_STATUS_TXLDO_ERROR | 0x1C | Cho biết có lỗi trong TXLDO khi VUP không khả dụng và RF được BẬT. |
PN5190_STATUS_RFCFG_NOT_APPLIED | 0x1D | Cho biết cấu hình RF không được tải khi BẬT RF |
PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR | 0x1E | lên đến FW 2.01: không mong đợi |
từ FW 2.03 trở đi: Cho biết rằng trong quá trình Trao đổi với LOG ENABLE BIT được đặt trong thanh ghi FeliCa EMD, đã xảy ra Lỗi FeliCa EMD |
||
PN5190_STATUS_INTERNAL_ERROR | 0x7F | Cho biết thao tác NVM không thành công |
PN5190_STATUS_SUCCSES_CHAINING | 0xAF | Cho biết rằng, hơn nữa dữ liệu đang chờ được đọc |
4.4 Sự kiện kết thúcview
Có hai cách các sự kiện được thông báo cho máy chủ.
4.4.1 Các sự kiện bình thường trên chân IRQ
Những sự kiện này là các loại như dưới đây:
- Luôn bật – Máy chủ luôn được thông báo
- Được điều khiển bởi Máy chủ - Máy chủ được thông báo nếu bit Kích hoạt sự kiện tương ứng được đặt trong thanh ghi (EVENT_ENABLE (01h)).
Các ngắt mức thấp từ các IP ngoại vi bao gồm CLIF sẽ được xử lý hoàn toàn trong phần sụn và máy chủ sẽ chỉ được thông báo về các sự kiện được liệt kê trong phần sự kiện.
Phần sụn thực hiện hai thanh ghi sự kiện dưới dạng thanh ghi RAM có thể được ghi / Đọc bằng các lệnh Mục 4.5.1.1 / Mục 4.5.1.5.
Thanh ghi EVENT_ENABLE (0x01) => Bật thông báo sự kiện cụ thể/tất cả.
Thanh ghi EVENT_STATUS (0x02) => Một phần của tải trọng thông báo Sự kiện.
Máy chủ sẽ xóa các sự kiện sau khi máy chủ đọc thông báo sự kiện.
Các sự kiện về bản chất là không đồng bộ và được thông báo cho máy chủ, nếu chúng được bật trong thanh ghi EVENT_ENABLE.
Sau đây là danh sách các sự kiện sẽ có sẵn cho máy chủ lưu trữ như một phần của thông báo sự kiện.
Bảng 10. Sự kiện PN5190 (nội dung của EVENT_STATUS)
Bit – Phạm vi | Trường [1] | Luôn luôn Đã bật (Có/Không) | |
31 | 12 | RFU | NA |
11 | 11 | CTS_EVENT [2] | N |
10 | 10 | IDLE_EVENT | Y |
9 | 9 | LPCD_CALIBration_DONE_EVENT | Y |
8 | 8 | LPCD_EVENT | Y |
7 | 7 | AUTOCOLL_EVENT | Y |
6 | 6 | TIMER0_EVENT | N |
5 | 5 | TX_OVERCURRENT_EVENT | N |
4 | 4 | RFON_DET_EVENT [2] | N |
3 | 3 | RFOFF_DET_EVENT [2] | N |
2 | 2 | STANDBY_PREV_EVENT | Y |
1 | 1 | CHUNG_ERROR_EVENT | Y |
0 | 0 | BOOT_EVENT | Y |
- Lưu ý rằng không có hai sự kiện nào được gộp lại trừ trường hợp có lỗi. Trong trường hợp có lỗi trong quá trình vận hành, sự kiện chức năng (ví dụ BOOT_EVENT, AUTOCALL_EVENT, v.v.) và GENERAL_ERROR_EVENT sẽ được đặt.
- Sự kiện này sẽ tự động bị vô hiệu hóa sau khi nó được đăng lên máy chủ. Máy chủ nên kích hoạt lại các sự kiện này nếu muốn nhận được thông báo về những sự kiện này.
4.4.1.1 Định dạng thông báo sự kiện
Định dạng thông báo sự kiện khác nhau tùy thuộc vào sự xuất hiện của một sự kiện và trạng thái khác nhau của PN5190.
Chủ nhà phải đọc tag (T) và độ dài của tin nhắn (L) rồi đọc số byte tương ứng dưới dạng giá trị (V) của các sự kiện.
Nói chung, thông báo sự kiện (xem Hình 12) chứa EVENT_STATUS như được định nghĩa trong Bảng 11 và dữ liệu sự kiện tương ứng với bit sự kiện tương ứng được đặt trong EVENT_STATUS.
Ghi chú:
Đối với một số sự kiện, tải trọng không tồn tại. Ví dụ: Nếu TIMER0_EVENT được kích hoạt thì chỉ EVENT_STATUS được cung cấp như một phần của thông báo sự kiện.
Bảng 11 cũng nêu chi tiết liệu dữ liệu sự kiện có hiện diện cho sự kiện tương ứng trong thông báo sự kiện hay không.GENERAL_ERROR_EVENT cũng có thể xảy ra với các sự kiện khác.
Trong trường hợp này, thông báo sự kiện (xem Hình 13) chứa EVENT_STATUS như được định nghĩa trong Bảng 11 và GENERAL_ERROR_STATUS_DATA như được định nghĩa trong Bảng 14, sau đó dữ liệu sự kiện tương ứng với bit sự kiện tương ứng được đặt trong EVENT_STATUS như được định nghĩa trong Bảng 11.Ghi chú:
Chỉ sau BOOT_EVENT hoặc sau POR, STANDBY, ULPCD, máy chủ mới có thể hoạt động ở chế độ hoạt động bình thường bằng cách đưa ra các lệnh được liệt kê ở trên.
Trong trường hợp hủy bỏ lệnh đang chạy hiện có, chỉ sau IDLE_EVENT, máy chủ mới có thể hoạt động ở chế độ hoạt động bình thường bằng cách đưa ra các lệnh được liệt kê ở trên.
4.4.1.2 Các định nghĩa trạng thái SỰ KIỆN khác nhau
4.4.1.2.1 Định nghĩa bit cho EVENT_STATUS
Bảng 11. Định nghĩa cho các bit EVENT_STATUS
Bit (Tới – Từ) | Sự kiện | Sự miêu tả | Dữ liệu sự kiện của sự kiện tương ứng (nếu có) |
|
31 | 12 | RFU | Kín đáo | |
11 | 11 | CTS_EVENT | Bit này được đặt khi sự kiện CTS được tạo. | Bảng 86 |
10 | 10 | IDLE_EVENT | Bit này được đặt, khi lệnh đang diễn ra bị hủy do sự cố của lệnh SWITCH_MODE_NORMAL. | Không có dữ liệu sự kiện |
9 | 9 | LPCD_CALIBration_DONE_ SỰ KIỆN |
Bit này được thiết lập khi sự kiện hiệu chuẩn LPCD được tạo ra. | Bảng 16 |
8 | 8 | LPCD_EVENT | Bit này được đặt khi sự kiện LPCD được tạo. | Bảng 15 |
7 | 7 | AUTOCOLL_EVENT | Bit này được đặt khi thao tác AUTOCOLL hoàn thành. | Bảng 52 |
6 | 6 | TIMER0_EVENT | Bit này được thiết lập khi sự kiện TIMER0 xảy ra. | Không có dữ liệu sự kiện |
5 | 5 | TX_OVERCURRENT_ERROR_ SỰ KIỆN |
Bit này được thiết lập khi dòng điện trên trình điều khiển TX cao hơn ngưỡng xác định trong EEPROM. Với điều kiện này, trường sẽ tự động TẮT trước khi thông báo đến máy chủ. Vui lòng tham khảo Phần 4.4.2.2. | Không có dữ liệu sự kiện |
4 | 4 | RFON_DET_EVENT | Bit này được thiết lập khi trường RF bên ngoài được phát hiện. | Không có dữ liệu sự kiện |
3 | 3 | RFOFF_DET_EVENT | Bit này được đặt, khi trường RF bên ngoài hiện có biến mất. | Không có dữ liệu sự kiện |
2 | 2 | STANDBY_PREV_EVENT | Bit này được thiết lập khi chế độ chờ bị ngăn chặn do tồn tại các điều kiện ngăn chặn | Bảng 13 |
1 | 1 | CHUNG_ERROR_EVENT | Bit này được đặt, khi tồn tại bất kỳ điều kiện lỗi chung nào | Bảng 14 |
0 | 0 | BOOT_EVENT | Bit này được thiết lập, khi PN5190 được khởi động với POR/Standby | Bảng 12 |
4.4.1.2.2 Định nghĩa bit cho BOOT_STATUS_DATA
Bảng 12. Định nghĩa cho bit BOOT_STATUS_DATA
Bit để | Bit từ | Trạng thái khởi động | lý do khởi động do |
31 | 27 | RFU | Kín đáo |
26 | 26 | ULP_STANDBY | Lý do khởi động do thoát khỏi ULP_STANDBY. |
25 | 23 | RFU | Kín đáo |
22 | 22 | KHỞI ĐỘNG_ RX_ULPDET | RX ULPDET dẫn đến khởi động ở chế độ ULP-Standby |
21 | 21 | RFU | Kín đáo |
20 | 20 | BOOT_SPI | Lý do khởi động do tín hiệu SPI_NTS bị kéo xuống mức thấp |
19 | 17 | RFU | Kín đáo |
16 | 16 | KHỞI ĐỘNG_GPIO3 | Bootup Lý do do chuyển đổi GPIO3 từ thấp lên cao. |
15 | 15 | KHỞI ĐỘNG_GPIO2 | Bootup Lý do do chuyển đổi GPIO2 từ thấp lên cao. |
14 | 14 | KHỞI ĐỘNG_GPIO1 | Bootup Lý do do chuyển đổi GPIO1 từ thấp lên cao. |
13 | 13 | KHỞI ĐỘNG_GPIO0 | Bootup Lý do do chuyển đổi GPIO0 từ thấp lên cao. |
12 | 12 | BOOT_LPDET | Lý do khởi động do sự hiện diện của trường RF bên ngoài trong chế độ STANDBY/TẠM NGỪNG |
11 | 11 | RFU | Kín đáo |
10 | 8 | RFU | Kín đáo |
7 | 7 | BOOT_SOFT_RESET | Lý do Bootup do IC reset mềm |
6 | 6 | BOOT_VDDIO_LOSS | Lý do khởi động do mất VDDIO. Tham khảo Mục 4.4.2.3 |
5 | 5 | BOOT_VDDIO_START | Lý do khởi động nếu STANDBY được nhập với VDDIO LOSS. Tham khảo Phần 4.4.2.3 |
4 | 4 | BOOT_WUC | Lý do khởi động do bộ đếm đánh thức đã trôi qua trong quá trình hoạt động ở chế độ CHỜ. |
3 | 3 | BOOT_TEMP | Bootup Nguyên nhân do nhiệt độ IC cao hơn ngưỡng giới hạn đã cấu hình. Vui lòng tham khảo Mục 4.4.2.1 |
2 | 2 | KHỞI ĐỘNG_WDG | Lý do khởi động do thiết lập lại cơ quan giám sát |
1 | 1 | RFU | Kín đáo |
0 | 0 | BOOT_POR | Lý do khởi động do thiết lập lại bật nguồn |
4.4.1.2.3 Định nghĩa bit cho STANDBY_PREV_STATUS_DATA
Bảng 13. Định nghĩa cho bit STANDBY_PREV_STATUS_DATA
Bit để | Bit từ | Phòng chống chờ | Chế độ chờ bị ngăn do |
31 | 26 | RFU | KÍN ĐÁO |
25 | 25 | RFU | KÍN ĐÁO |
24 | 24 | PREV_TEMP | Nhiệt độ hoạt động của IC vượt ngưỡng |
23 | 23 | RFU | KÍN ĐÁO |
22 | 22 | PREV_HOSTCOMM | Giao diện máy chủ giao tiếp |
21 | 21 | PREV_SPI | Tín hiệu SPI_NTS bị kéo xuống mức thấp |
20 | 18 | RFU | KÍN ĐÁO |
17 | 17 | PREV_GPIO3 | Tín hiệu GPIO3 chuyển từ thấp lên cao |
16 | 16 | PREV_GPIO2 | Tín hiệu GPIO2 chuyển từ thấp lên cao |
15 | 15 | PREV_GPIO1 | Tín hiệu GPIO1 chuyển từ thấp lên cao |
14 | 14 | PREV_GPIO0 | Tín hiệu GPIO0 chuyển từ thấp lên cao |
13 | 13 | PREV_WUC | Bộ đếm đánh thức đã trôi qua |
12 | 12 | PREV_LPDET | Phát hiện năng lượng thấp. Xảy ra khi tín hiệu RF bên ngoài được phát hiện trong quá trình chuyển sang chế độ chờ. |
11 | 11 | PREV_RX_ULPDET | RX phát hiện năng lượng cực thấp. Xảy ra khi tín hiệu RF được phát hiện trong quá trình chuyển sang ULP_STANDBY. |
10 | 10 | RFU | KÍN ĐÁO |
9 | 5 | RFU | KÍN ĐÁO |
4 | 4 | RFU | KÍN ĐÁO |
3 | 3 | RFU | KÍN ĐÁO |
2 | 2 | RFU | KÍN ĐÁO |
1 | 1 | RFU | KÍN ĐÁO |
0 | 0 | RFU | KÍN ĐÁO |
4.4.1.2.4 Định nghĩa bit cho GENERAL_ERROR_STATUS_DATA
Bảng 14. Định nghĩa cho các bit GENERAL_ERROR_STATUS_DATA
Bit để | Chút từ | Tình trạng lỗi | Sự miêu tả |
31 | 6 | RFU | Kín đáo |
5 | 5 | XTAL_START_ERROR | Khởi động XTAL không thành công trong khi khởi động |
4 | 4 | SYS_TRIM_RECOVERY_ERROR | Đã xảy ra lỗi bộ nhớ cắt hệ thống nội bộ, nhưng quá trình khôi phục không thành công. Hệ thống hoạt động ở chế độ hạ cấp. |
3 | 3 | SYS_TRIM_RECOVERY_SUCCESS | Đã xảy ra lỗi bộ nhớ cắt hệ thống nội bộ và quá trình khôi phục đã thành công. Máy chủ phải thực hiện khởi động lại PN5190 để quá trình khôi phục có hiệu lực. |
2 | 2 | TXLDO_ERROR | lỗi TXLDO |
1 | 1 | CLOCK_ERROR | Lỗi đồng hồ |
0 | 0 | GPADC_ERROR | Lỗi ADC |
4.4.1.2.5 Định nghĩa bit cho LPCD_STATUS_DATA
Bảng 15. Định nghĩa cho byte LPCD_STATUS_DATA
Bit để | Bit từ | Khả năng ứng dụng các bit trạng thái theo hoạt động cơ bản của LPCD hoặc ULPCD | Mô tả cho bit tương ứng được đặt trong byte trạng thái. | ||
LPCD | ULPCD | ||||
31 | 7 | RFU | Kín đáo | ||
6 | 6 | Hủy bỏ_HIF | Y | N | Bị hủy bỏ do hoạt động HIF |
5 | 5 | lỗi CLKDET | N | Y | Bị hủy do xảy ra lỗi CLKDET |
4 | 4 | Thời gian chờ XTAL | N | Y | Đã hủy bỏ do XTAL Timeout xảy ra |
3 | 3 | VDDPA LDO Quá dòng | N | Y | Đã hủy do xảy ra quá dòng VDDPA LDO |
2 | 2 | Trường RF bên ngoài | Y | Y | Bị hủy do trường RF bên ngoài |
1 | 1 | GPIO3 Hủy bỏ | N | Y | Bị hủy do thay đổi cấp độ GPIO3 |
0 | 0 | Đã phát hiện thẻ | Y | Y | Thẻ được phát hiện |
4.4.1.2.6 Định nghĩa bit cho LPCD_CALIBRATION_DONE Dữ liệu trạng thái
Bảng 16. Định nghĩa byte dữ liệu trạng thái LPCD_CALIBATION_DONE cho ULPCD
Bit để | Bit từ | Trạng thái LPCD_CALIBration XONG sự kiện | Mô tả cho bit tương ứng được đặt trong byte trạng thái. |
31 | 11 | Kín đáo | |
10 | 0 | Giá trị tham chiếu từ hiệu chuẩn ULPCD | Giá trị RSSI đo được trong quá trình hiệu chuẩn ULPCD được sử dụng làm tham chiếu trong ULPCD |
Bảng 17. Định nghĩa byte dữ liệu trạng thái LPCD_CALIBATION_DONE cho LPCD
Bit để | Bit từ | Khả năng ứng dụng các bit trạng thái theo hoạt động cơ bản của LPCD hoặc ULPCD | Mô tả cho bit tương ứng được đặt trong byte trạng thái. | ||
2 | 2 | Trường RF bên ngoài | Y | Y | Bị hủy do trường RF bên ngoài |
1 | 1 | GPIO3 Hủy bỏ | N | Y | Bị hủy do thay đổi cấp độ GPIO3 |
0 | 0 | Đã phát hiện thẻ | Y | Y | Thẻ được phát hiện |
4.4.2 Xử lý các tình huống khởi động khác nhau
IC PN5190 xử lý các tình trạng lỗi khác nhau liên quan đến thông số IC như dưới đây.
4.4.2.1 Xử lý kịch bản quá nhiệt khi PN5190 đang hoạt động
Bất cứ khi nào nhiệt độ bên trong IC PN5190 đạt đến giá trị ngưỡng như được định cấu hình trong trường EEPROM TEMP_WARNING [2], IC sẽ chuyển sang chế độ chờ. Và do đó, nếu trường EEPROM ENABLE_GPIO0_ON_OVERTEMP [2] được cấu hình để tăng thông báo cho máy chủ, thì GPIO0 sẽ được kéo lên cao để thông báo cho IC quá nhiệt.
Vì và khi nhiệt độ IC giảm xuống dưới giá trị ngưỡng như được định cấu hình trong trường EEPROM TEMP_WARNING [2], IC sẽ khởi động với BOOT_EVENT như trong Bảng 11 và bit trạng thái khởi động BOOT_TEMP được đặt như trong Bảng 12 và GPIO0 sẽ được kéo xuống mức thấp.
4.4.2.2 Xử lý quá dòng
Nếu IC PN5190 cảm nhận được tình trạng quá dòng, IC sẽ tắt nguồn RF và gửi TX_OVERCURRENT_ERROR_EVENT như trong Bảng 11.
Khoảng thời gian của tình trạng quá dòng có thể được kiểm soát bằng cách sửa đổi trường EEPROM TXDO_CONFIG [2].
Để biết thông tin về IC vượt quá ngưỡng hiện tại, hãy tham khảo tài liệu [2].
Ghi chú:
Nếu có bất kỳ sự kiện hoặc phản hồi đang chờ xử lý nào khác, chúng sẽ được gửi đến máy chủ lưu trữ.
4.4.2.3 Mất VDDIO trong quá trình hoạt động
Nếu IC PN5190 gặp lỗi không có VDDIO (mất VDDIO) thì IC sẽ chuyển sang chế độ chờ.
IC chỉ khởi động khi có sẵn VDDIO, với BOOT_EVENT như trong Bảng 11 và bit trạng thái khởi động BOOT_VDDIO_START được đặt như trong Bảng 12.
Để biết thông tin về đặc tính tĩnh của IC PN5190, hãy tham khảo tài liệu [2].
4.4.3 Xử lý tình huống hủy bỏ
IC PN5190 có hỗ trợ hủy bỏ các lệnh đang thực thi hiện tại và hoạt động của IC PN5190, khi lệnh hủy bỏ như Mục 4.5.4.5.2 được gửi đến IC PN5190 được thể hiện trong Bảng 18.
Ghi chú:
Khi IC PN5190 ở chế độ ULPCD và ULP-Standby, nó không thể bị hủy bỏ bằng cách gửi Mục 4.5.4.5.2 HOẶC bằng cách bắt đầu giao dịch SPI (bằng cách kéo tín hiệu SPI_NTS xuống mức thấp).
Bảng 18. Phản hồi sự kiện dự kiến khi các lệnh khác nhau kết thúc bằng Mục 4.5.4.5.2
Lệnh | Hành vi khi lệnh Switch Mode Normal được gửi |
Tất cả các lệnh không nhập công suất thấp | EVENT_STAUS được đặt thành “IDLE_EVENT” |
Chuyển chế độ LPCD | EVENT_STATUS được đặt thành “LPCD_EVENT” với “LPCD_ STATUS_DATA” biểu thị bit trạng thái là “Abort_HIF” |
Chuyển chế độ chờ | EVENT_STAUS được đặt thành “BOOT_EVENT” với “BOOT_ STATUS_DATA” biểu thị bit “BOOT_SPI” |
Chuyển đổi chế độ Autocoll(Không có chế độ tự động, chế độ tự động có chế độ chờ và chế độ tự động không có chế độ chờ) | EVENT_STAUS được đặt thành “AUTOCOLL_EVENT” với các bit STATUS_DATA cho biết lệnh đã bị người dùng hủy. |
4.5 Chi tiết hướng dẫn vận hành ở chế độ bình thường
4.5.1 Thao tác đăng ký
Các lệnh của phần này được sử dụng để truy cập vào các thanh ghi logic của PN5190.
4.5.1.1 WRITE_REGISTER
Lệnh này được sử dụng để ghi giá trị 32-bit (little-endian) vào thanh ghi logic.
4.5.1.1.1 Điều kiện
Địa chỉ của thanh ghi phải tồn tại và thanh ghi phải có thuộc tính READ-WRITE hoặc WRITE-ONLY.
4.5.1.1.2 Lệnh
Bảng 19. Giá trị lệnh WRITE_REGISTER Ghi giá trị 32-bit vào thanh ghi.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Đăng ký Địa chỉ | 1 Byte | Địa chỉ của sổ đăng ký. |
Bảng 19. Giá trị lệnh WRITE_REGISTER…tiếp tục
Viết giá trị 32-bit vào sổ đăng ký.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Giá trị | 4 Byte | Giá trị thanh ghi 32-bit phải được ghi. (Little-endian) |
4.5.1.1.3 Phản hồi
Bảng 20. Giá trị phản hồi WRITE_REGISTER
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.1.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.1.2 WRITE_REGISTER_OR_MASK
Lệnh này được sử dụng để sửa đổi nội dung của thanh ghi bằng phép toán OR logic. Nội dung của thanh ghi được đọc và thao tác OR logic được thực hiện với mặt nạ được cung cấp. Nội dung sửa đổi được ghi lại vào sổ đăng ký.
4.5.1.2.1 Điều kiện
Địa chỉ của thanh ghi phải tồn tại và thanh ghi phải có thuộc tính READ-WRITE.
4.5.1.2.2 Lệnh
Bảng 21. Giá trị lệnh WRITE_REGISTER_OR_MASK Thực hiện thao tác OR logic trên một thanh ghi bằng cách sử dụng mặt nạ được cung cấp.
trường trọng tải | Chiều dài | Giá trị/mô tả |
Đăng ký Địa chỉ | 1 Byte | Địa chỉ của sổ đăng ký. |
Mặt nạ | 4 Byte | Bitmask được sử dụng làm toán hạng cho phép toán OR logic. (Little-endian) |
4.5.1.2.3 Phản hồi
Bảng 22. Giá trị phản hồi WRITE_REGISTER_OR_MASK
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.2.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.1.3 WRITE_REGISTER_AND_MASK
Lệnh này được sử dụng để sửa đổi nội dung của thanh ghi bằng thao tác logic AND. Nội dung của thanh ghi được đọc và thao tác AND logic được thực hiện với mặt nạ được cung cấp. Nội dung sửa đổi được ghi lại vào sổ đăng ký.
4.5.1.3.1 Điều kiện
Địa chỉ của thanh ghi phải tồn tại và thanh ghi phải có thuộc tính READ-WRITE.
4.5.1.3.2 Lệnh
Bảng 23. Giá trị lệnh WRITE_REGISTER_AND_MASK Thực hiện thao tác AND logic trên một thanh ghi bằng cách sử dụng mặt nạ được cung cấp.
trường trọng tải | Chiều dài | Giá trị/mô tả |
Đăng ký Địa chỉ | 1 Byte | Địa chỉ của sổ đăng ký. |
Mặt nạ | 4 Byte | Bitmask được sử dụng làm toán hạng cho phép toán logic AND. (Little endian ) |
4.5.1.3.3 Phản hồi
Bảng 24. Giá trị phản hồi WRITE_REGISTER_AND_MASK
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.3.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.1.4 WRITE_REGISTER_MULTIPLE
Chức năng hướng dẫn này tương tự như Mục 4.5.1.1, Mục 4.5.1.2, Mục 4.5.1.3, với khả năng kết hợp chúng. Trên thực tế, nó nhận một mảng tập hợp giá trị kiểu thanh ghi và thực hiện hành động thích hợp. Loại phản ánh hành động là ghi thanh ghi, phép toán logic OR trên một thanh ghi hoặc phép toán AND logic trên một thanh ghi.
4.5.1.4.1 Điều kiện
Địa chỉ logic tương ứng của thanh ghi trong một tập hợp phải tồn tại.
Thuộc tính truy cập đăng ký phải cho phép thực hiện hành động (loại) được yêu cầu:
- Hành động ghi (0x01): Thuộc tính ĐỌC- VIẾT hoặc CHỈ VIẾT
- HOẶC hành động mặt nạ (0x02): thuộc tính READ-WRITE
- Hành động mặt nạ AND (0x03): thuộc tính READ-WRITE
Kích thước của mảng 'Set' phải nằm trong phạm vi từ 1 – 43.
Trường 'Loại' phải nằm trong phạm vi từ 1 – 3, bao gồm
4.5.1.4.2 Lệnh
Bảng 25. Giá trị lệnh WRITE_REGISTER_MULTIPLE Thực hiện thao tác ghi vào thanh ghi bằng cách sử dụng một tập hợp các cặp Giá trị-Thanh ghi.
trường trọng tải | Chiều dài | Giá trị/mô tả | |||
Đặt [1…n] | 6 Byte | Đăng ký Địa chỉ | 1 Byte | Địa chỉ logic của thanh ghi. | |
Kiểu | 1 Byte | 0x1 | Viết Đăng ký | ||
0x2 | Viết Đăng ký HOẶC Mặt nạ | ||||
0x3 | Viết Đăng ký VÀ Mặt nạ | ||||
Giá trị | 4 Byte | 32 Giá trị thanh ghi bit phải được ghi hoặc bitmask được sử dụng cho hoạt động logic. (Little-endian) |
Lưu ý: Trong trường hợp có ngoại lệ, hoạt động không được khôi phục, tức là các thanh ghi đã được sửa đổi cho đến khi ngoại lệ xảy ra vẫn ở trạng thái đã sửa đổi. Máy chủ phải thực hiện các hành động thích hợp để khôi phục về trạng thái đã xác định.
4.5.1.4.3 Phản hồi
Bảng 26. Giá trị phản hồi WRITE_REGISTER_MULTIPLE
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR |
4.5.1.4.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.1.5 ĐỌC_ĐĂNG KÝ
Lệnh này được sử dụng để đọc lại nội dung của một thanh ghi logic. Nội dung có trong phản hồi, dưới dạng giá trị 4 byte ở định dạng little-endian.
4.5.1.5.1 Điều kiện
Địa chỉ của thanh ghi logic phải tồn tại. Thuộc tính truy cập của thanh ghi phải là ĐỌC-VIẾT hoặc CHỈ ĐỌC.
4.5.1.5.2 Lệnh
Bảng 27. Giá trị lệnh READ_REGISTER
Đọc lại nội dung của một thanh ghi.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Đăng ký Địa chỉ | 1 Byte | Địa chỉ của thanh ghi logic |
4.5.1.5.3 Phản hồi
Bảng 28. Giá trị phản hồi READ_REGISTER
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) | ||
Đăng ký giá trị | 4 Byte | Giá trị thanh ghi 32-bit đã được đọc ra. (Little-endian) |
4.5.1.5.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.1.6 READ_REGISTER_MULTIPLE
Lệnh này được sử dụng để đọc nhiều thanh ghi logic cùng một lúc. Kết quả (nội dung của mỗi thanh ghi) được cung cấp trong phản hồi cho hướng dẫn. Bản thân địa chỉ đăng ký không được bao gồm trong phản hồi. Thứ tự của nội dung thanh ghi trong phản hồi tương ứng với thứ tự của các địa chỉ thanh ghi trong hướng dẫn.
4.5.1.6.1 Điều kiện
Tất cả các địa chỉ thanh ghi trong lệnh phải tồn tại. Thuộc tính truy cập cho mỗi thanh ghi phải là ĐỌC-ghi hoặc CHỈ ĐỌC. Kích thước của mảng 'Địa chỉ đăng ký' phải nằm trong phạm vi từ 1 – 18.
4.5.1.6.2 Lệnh
Bảng 29. Giá trị lệnh READ_REGISTER_MULTIPLE Thực hiện thao tác đăng ký đọc trên một tập hợp các thanh ghi.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Đăng ký địa chỉ[1…n] | 1 Byte | Đăng ký Địa chỉ |
4.5.1.6.3 Phản hồi
Bảng 30. Giá trị phản hồi READ_REGISTER_MULTIPLE
trường trọng tải | Chiều dài | Giá trị/mô tả | ||
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) | ||||
Đăng ký giá trị [1…n] | 4 Byte | Giá trị | 4 Byte | Giá trị thanh ghi 32-Bit đã được đọc ra (Little-endian). |
4.5.1.6.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.2 Thao tác E2PROM
Vùng có thể truy cập trong E2PROM theo bản đồ EEPROM và kích thước có thể định địa chỉ.
Ghi chú:
1. Bất cứ nơi nào 'Địa chỉ E2PROM' được đề cập trong hướng dẫn bên dưới, sẽ đề cập đến kích thước của vùng EEPROM có thể định địa chỉ.
4.5.2.1 VIẾT_E2PROM
Lệnh này được sử dụng để ghi một hoặc nhiều giá trị vào E2PROM. Trường 'Giá trị' chứa dữ liệu được ghi vào E2PROM bắt đầu từ địa chỉ được cung cấp bởi trường 'Địa chỉ E2PROM'. Dữ liệu được ghi theo thứ tự tuần tự.
Ghi chú:
Lưu ý rằng đây là lệnh chặn, điều này có nghĩa là NFC FE bị chặn trong quá trình ghi. Quá trình này có thể mất vài mili giây.
4.5.2.1.1 Điều kiện
Trường 'Địa chỉ E2PROM' phải nằm trong phạm vi theo [2]. Số byte trong trường 'Giá trị' phải nằm trong phạm vi từ 1 – 1024 (0x0400). Thao tác ghi không được vượt quá địa chỉ EEPROM như đã đề cập trong [2]. Phản hồi lỗi sẽ được gửi đến máy chủ nếu địa chỉ vượt quá không gian địa chỉ EEPROM như trong [2].
4.5.2.1.2 Lệnh
Bảng 31. Giá trị lệnh WRITE_E2PROM Ghi các giá trị đã cho một cách tuần tự vào E2PROM.
trường trọng tải | Chiều dài | Giá trị/mô tả |
Địa chỉ E2PROM | 2 Byte | Địa chỉ trong EEPROM mà hoạt động ghi sẽ bắt đầu từ đó. (Little- endian ) |
Giá trị | 1 – 1024 byte | Các giá trị phải được ghi vào E2PROM theo thứ tự tuần tự. |
4.5.2.1.3 Phản hồi
Bảng 32. Giá trị phản hồi WRITE_EEPROM
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.2.1.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.2.2 ĐỌC_E2PROM
Lệnh này được sử dụng để đọc lại dữ liệu từ vùng bộ nhớ E2PROM. Trường 'Địa chỉ E2PROM' cho biết địa chỉ bắt đầu của thao tác đọc. Phản hồi chứa dữ liệu được đọc từ E2PROM.
4.5.2.2.1 Điều kiện
Trường 'Địa chỉ E2PROM' phải nằm trong phạm vi hợp lệ.
Trường 'Số byte' phải nằm trong phạm vi từ 1 – 256.
Hoạt động đọc không được vượt quá địa chỉ EEPROM có thể truy cập cuối cùng.
Phản hồi lỗi sẽ được gửi đến máy chủ nếu địa chỉ vượt quá không gian địa chỉ EEPROM.
4.5.2.2.2 Lệnh
Bảng 33. Giá trị lệnh READ_E2PROM Đọc các giá trị từ E2PROM một cách tuần tự.
trường trọng tải | Chiều dài | Giá trị/mô tả |
Địa chỉ E2PROM | 2 Byte | Địa chỉ trong E2PROM mà hoạt động đọc sẽ bắt đầu từ đó. (Little- endian ) |
Số lượng Byte | 2 Byte | Số byte được đọc ra. (Little-endian) |
4.5.2.2.3 Phản hồi
Bảng 34. Giá trị phản hồi READ_E2PROM
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) | ||
Giá trị | 1 – 1024 byte | Các giá trị đã được đọc theo thứ tự tuần tự. |
4.5.2.2.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.2.3 NHẬN_CRC_USER_AREA
Hướng dẫn này được sử dụng để tính toán CRC cho vùng cấu hình người dùng hoàn chỉnh bao gồm cả vùng giao thức của IC PN5190.
4.5.2.3.1 Lệnh
Bảng 35. Giá trị lệnh GET_CRC_USER_AREA
Đọc CRC của vùng cấu hình người dùng bao gồm cả vùng giao thức.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
– | – | Không có dữ liệu trong tải trọng |
4.5.2.3.2 Phản hồi
Bảng 36. Giá trị phản hồi GET_CRC_USER_AREA
trường trọng tải | Chiều dài | Giá trị/mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS | ||
PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) | ||
Giá trị | 4 Byte | 4 byte dữ liệu CRC ở định dạng little-endian. |
4.5.2.3.3 sự kiện
Không có sự kiện cho lệnh này.
4.5.3 Thao tác dữ liệu CLIF
Các hướng dẫn được mô tả trong phần này mô tả các lệnh để truyền và nhận RF.
4.5.3.1 TRAO ĐỔI_RF_DATA
Chức năng trao đổi RF thực hiện truyền dữ liệu TX và chờ nhận bất kỳ dữ liệu RX nào.
Hàm trả về trong trường hợp tiếp nhận (sai hoặc chính xác) hoặc xảy ra thời gian chờ. Bộ hẹn giờ được bắt đầu với KẾT THÚC TRUYỀN và dừng khi BẮT ĐẦU NHẬN. Giá trị thời gian chờ được cấu hình sẵn trong EEPROM sẽ được sử dụng trong trường hợp thời gian chờ không được cấu hình trước khi thực hiện lệnh Exchange.
Nếu trạng thái thu phát là
- trong IDLE, chế độ TRUYỀN THÔNG được nhập.
- Trong WAIT_RECEIVE, trạng thái bộ thu phát được đặt lại về CHẾ ĐỘ TRUYỀN THÔNG trong trường hợp bit khởi tạo được đặt
- Trong WAIT_TRANSMIT, trạng thái bộ thu phát được đặt lại về CHẾ ĐỘ TRUYỀN THÔNG trong trường hợp bit khởi tạo KHÔNG được đặt
Trường 'Số bit hợp lệ trong Byte cuối cùng' cho biết độ dài dữ liệu chính xác được truyền đi.
4.5.3.1.1 Điều kiện
Kích thước của trường 'Dữ liệu TX' phải nằm trong phạm vi từ 0 – 1024.
Trường 'Số bit hợp lệ trong Byte cuối cùng' phải nằm trong phạm vi từ 0 – 7.
Lệnh không được gọi trong quá trình truyền RF đang diễn ra. Lệnh phải đảm bảo trạng thái phù hợp của bộ thu phát để truyền dữ liệu.
Ghi chú:
Lệnh này chỉ hợp lệ cho chế độ Reader và chế độ khởi tạo Thụ động/Chủ động P2P”.
4.5.3.1.2 Lệnh
Bảng 37. Giá trị lệnh EXCHANGE_RF_DATA
Ghi dữ liệu TX vào bộ đệm truyền RF bên trong và bắt đầu truyền bằng lệnh thu phát và đợi cho đến khi nhận được hoặc Hết thời gian chờ để chuẩn bị phản hồi cho máy chủ.
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
Số bit hợp lệ trong Byte cuối cùng | 1 Byte | 0 | Tất cả các bit của byte cuối cùng được truyền |
1 – 7 | Số bit trong byte cuối cùng được truyền đi. | ||
RFExchangeConfig | 1 Byte | Cấu hình chức năng RFExchange. Chi tiết xem bên dưới |
Bảng 37. Giá trị lệnh EXCHANGE_RF_DATA…tiếp theo
Ghi dữ liệu TX vào bộ đệm truyền RF bên trong và bắt đầu truyền bằng lệnh thu phát và đợi cho đến khi nhận được hoặc Hết thời gian chờ để chuẩn bị phản hồi cho máy chủ.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Dữ liệu TX | n byte | Dữ liệu TX phải được gửi qua CLIF bằng lệnh thu phát. n = 0 – 1024 byte |
Bảng 38. RFexchangeConfig Bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Sự miêu tả |
Bit 4 – 7 là RFU | ||||||||
X | Bao gồm Dữ liệu RX trong phản hồi dựa trên RX_STATUS, nếu bit được đặt thành 1b. | |||||||
X | Bao gồm thanh ghi EVENT_STATUS để phản hồi nếu bit được đặt thành 1b. | |||||||
X | Bao gồm thanh ghi RX_STATUS_ERROR để phản hồi, nếu bit được đặt thành 1b. | |||||||
X | Bao gồm thanh ghi RX_STATUS để phản hồi, nếu bit được đặt thành 1b. |
4.5.3.1.3 Phản hồi
Bảng 39. Giá trị phản hồi EXCHANGE_RF_DATA
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) PN5190_STATUS_TIMEOUT PN5190_STATUS_RX_TIMEOUT PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR |
||
RX_STATUS | 4 Byte | Nếu RX_STATUS được yêu cầu (Little-endian) |
RX_STATUS_ERROR | 4 Byte | Nếu RX_STATUS_ERROR được yêu cầu (Little-endian) |
EVENT_STATUS | 4 Byte | Nếu EVENT_STATUS được yêu cầu (Little-endian) |
Dữ liệu RX | 1 – 1024 byte | Nếu dữ liệu RX được yêu cầu. Dữ liệu RX nhận được trong giai đoạn nhận RF của trao đổi RF. |
4.5.3.1.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.3.2 TRUYỀN_RF_DATA
Lệnh này được sử dụng để ghi dữ liệu vào bộ đệm truyền CLIF bên trong và bắt đầu truyền bằng lệnh truyền bên trong. Kích thước của bộ đệm này được giới hạn ở 1024 byte. Sau khi lệnh này được thực thi, quá trình thu sóng RF sẽ tự động bắt đầu.
Lệnh trả về ngay sau khi truyền xong mà không đợi quá trình nhận hoàn tất.
4.5.3.2.1 Điều kiện
Số byte trong trường 'Dữ liệu TX' phải nằm trong phạm vi từ 1 – 1024.
Lệnh không được gọi trong quá trình truyền RF đang diễn ra.
4.5.3.2.2 Lệnh
Bảng 40. Giá trị lệnh TRANSMIT_RF_DATA Ghi dữ liệu TX vào bộ đệm truyền CLIF bên trong.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Số bit hợp lệ trong Byte cuối cùng | 1 Byte | 0 Tất cả các bit của byte cuối cùng được truyền 1 – 7 Số bit trong byte cuối cùng được truyền. |
RFU | 1 Byte | Kín đáo |
Dữ liệu TX | 1 – 1024 byte | Dữ liệu TX sẽ được sử dụng trong quá trình truyền RF tiếp theo. |
4.5.3.2.3 Phản hồi
Bảng 41. Giá trị phản hồi TRANSMIT_RF_DATA
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
4.5.3.2.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.3.3 TRUY LẠI_RF_DATA
Lệnh này được sử dụng để đọc dữ liệu từ bộ đệm CLIF RX bên trong, chứa dữ liệu phản hồi RF (nếu có) được gửi tới nó từ lần thực hiện trước đó của Mục 4.5.3.1 với tùy chọn không bao gồm dữ liệu nhận được trong phản hồi hoặc Mục 4.5.3.2 .XNUMX lệnh.
4.5.3.3.1 Lệnh
Bảng 42. Giá trị lệnh RETRIEVE_RF_DATA Đọc dữ liệu RX từ bộ đệm tiếp nhận RF bên trong.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trống | Trống | Trống |
4.5.3.3.2 Phản hồi
Bảng 43. Giá trị phản hồi RETRIEVE_RF_DATA
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
||
Dữ liệu RX | 1 – 1024 byte | Dữ liệu RX đã được nhận trong lần nhận RF thành công gần đây nhất. |
4.5.3.3.3 sự kiện
Không có sự kiện cho lệnh này.
4.5.3.4 NHẬN_RF_DATA
Lệnh này đợi dữ liệu nhận được qua Giao diện RF của đầu đọc.
Ở chế độ đầu đọc, lệnh này trả về nếu có tín hiệu nhận (có lỗi hoặc đúng) hoặc xảy ra thời gian chờ FWT. Bộ hẹn giờ được bắt đầu khi KẾT THÚC TRUYỀN và dừng khi BẮT ĐẦU NHẬN. Giá trị thời gian chờ mặc định được cấu hình sẵn trong EEPROM sẽ được sử dụng trong trường hợp thời gian chờ không được cấu hình trước khi thực hiện lệnh Exchange.
Trong chế độ mục tiêu, lệnh này trả về trong trường hợp nhận (sai hoặc đúng) hoặc lỗi RF bên ngoài.
Ghi chú:
Lệnh này sẽ được sử dụng với lệnh TRANSMIT_RF_DATA để thực hiện thao tác TX và RX…
4.5.3.4.1 Lệnh
Bảng 44. Giá trị lệnh RECEIVE_RF_DATA
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
NhậnRFConfig | 1 Byte | Cấu hình chức năng NhậnRFConfig. Nhìn thấy Bảng 45 |
Bảng 45. Mặt nạ bit NhậnRFConfig
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Sự miêu tả |
Bit 4 – 7 là RFU | ||||||||
X | Bao gồm Dữ liệu RX trong phản hồi dựa trên RX_STATUS, nếu bit được đặt thành 1b. | |||||||
X | Bao gồm thanh ghi EVENT_STATUS để phản hồi nếu bit được đặt thành 1b. | |||||||
X | Bao gồm thanh ghi RX_STATUS_ERROR để phản hồi, nếu bit được đặt thành 1b. | |||||||
X | Bao gồm thanh ghi RX_STATUS để phản hồi, nếu bit được đặt thành 1b. |
4.5.3.4.2 Phản hồi
Bảng 46. Giá trị phản hồi RECEIVE_RF_DATA
trường trọng tải | Chiều dài | Giá trị/mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) PN5190_STATUS_TIMEOUT |
trường trọng tải | Chiều dài | Giá trị/mô tả |
PN5190_STATUS_NO_RF_FIELD PN5190_STATUS_NO_EXTERNAL_RF_FIELD |
||
RX_STATUS | 4 Byte | Nếu RX_STATUS được yêu cầu (Little-endian) |
RX_STATUS_ERROR | 4 Byte | Nếu RX_STATUS_ERROR được yêu cầu (Little-endian) |
EVENT_STATUS | 4 Byte | Nếu EVENT_STATUS được yêu cầu (Little-endian) |
Dữ liệu RX | 1 – 1024 byte | Nếu dữ liệu RX được yêu cầu. Dữ liệu RX nhận được qua RF. |
4.5.3.4.3 sự kiện
Không có sự kiện cho lệnh này.
4.5.3.5 RETRIEVE_RF_FELICA_EMD_DATA (Cấu hình FeliCa EMD)
Lệnh này được sử dụng để đọc dữ liệu từ bộ đệm CLIF RX bên trong, chứa dữ liệu phản hồi FeliCa EMD (nếu có) được đăng lên nó từ lần thực thi lệnh EXCHANGE_RF_DATA trước đó trở về với Trạng thái 'PN5190_STATUS_TIMEOUT_WITH_EMD_ERROR'.
Ghi chú: Lệnh này có từ PN5190 FW v02.03 trở đi.
4.5.3.5.1 Lệnh
Đọc dữ liệu RX từ bộ đệm tiếp nhận RF bên trong.
Bảng 47. Giá trị lệnh RETRIEVE_RF_FELICA_EMD_DATA
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
FeliCaRFTruy xuấtConfig | 1 Byte | 00 – FF | Cấu hình hàm RETRIEVE_RF_FELICA_EMD_DATA |
mô tả cấu hình (bitmask) | bit 7..2: RFU bit 1: Bao gồm thanh ghi RX_STATUS_ ERROR trong phản hồi, nếu bit được đặt thành 1b. bit 0: Bao gồm thanh ghi RX_STATUS trong phản hồi, nếu bit được đặt thành 1b. |
4.5.3.5.2 Phản hồi
Bảng 48. Giá trị phản hồi RETRIEVE_RF_FELICA_EMD_DATA
trường trọng tải | Chiều dài | Giá trị/mô tả | |||
Trạng thái | 1 Byte | Tình trạng của hoạt động. Các giá trị dự kiến như sau: PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) | |||
RX_STATUS | 4 Byte | Nếu RX_STATUS được yêu cầu (Little-endian) | |||
RX_STATUS_ LỖI | 4 Byte | Nếu RX_STATUS_ERROR được yêu cầu (Little-endian) |
trường trọng tải | Chiều dài | Giá trị/mô tả | |||
Dữ liệu RX | 1…1024 byte | Dữ liệu FeliCa EMD RX đã nhận được trong lần nhận RF không thành công gần đây nhất bằng Exchange Command. |
4.5.3.5.3 sự kiện
Không có sự kiện cho lệnh này.
4.5.4 Chuyển đổi chế độ vận hành
PN5190 hỗ trợ 4 chế độ hoạt động khác nhau:
4.5.4.1 Bình thường
Đây là chế độ mặc định, nơi tất cả các hướng dẫn đều được cho phép.
4.5.4.2 Chế độ chờ
PN5190 ở trạng thái chờ/ngủ để tiết kiệm điện. Các điều kiện đánh thức phải được đặt để xác định thời điểm rời khỏi chế độ chờ một lần nữa.
4.5.4.3 LPCD
PN5190 ở chế độ phát hiện thẻ năng lượng thấp, trong đó nó cố gắng phát hiện thẻ đang vào ổ đĩa hoạt động, với mức tiêu thụ điện năng thấp nhất có thể.
4.5.4.4 Tự động thu thập
PN5190 đang đóng vai trò là người nghe RF, thực hiện kích hoạt chế độ mục tiêu một cách tự động (để đảm bảo các ràng buộc về thời gian thực)
4.5.4.5 SWITCH_MODE_NORMAL
Lệnh Switch Mode Normal có ba trường hợp sử dụng.
4.5.4.5.1 UseCase1: Vào chế độ hoạt động bình thường khi bật nguồn (POR)
Sử dụng để đặt lại về trạng thái Không hoạt động để nhận/xử lý lệnh tiếp theo bằng cách vào chế độ hoạt động bình thường.
4.5.4.5.2 UseCase2: Chấm dứt lệnh đang chạy để chuyển sang chế độ hoạt động bình thường (lệnh hủy bỏ)
Sử dụng để đặt lại về trạng thái Không hoạt động để nhận/xử lý lệnh tiếp theo bằng cách chấm dứt các lệnh đã chạy.
Các lệnh như chế độ chờ, LPCD, Exchange, PRBS và Autocoll có thể được chấm dứt bằng lệnh này.
Đây là lệnh đặc biệt duy nhất không có phản hồi. Thay vào đó, nó có thông báo SỰ KIỆN.
Tham khảo Phần 4.4.3 để biết thêm thông tin về loại sự kiện xảy ra trong quá trình thực thi lệnh cơ bản khác nhau.
4.5.4.5.2.1 UseCase2.1:
Lệnh này sẽ đặt lại tất cả các Thanh ghi CLIF TX, RX và Điều khiển trường về trạng thái Khởi động. Việc ban hành lệnh này sẽ TẮT mọi Trường RF hiện có.
4.5.4.5.2.2 UseCase2.2:
Có sẵn từ PN5190 FW v02.03 trở đi:
Lệnh này sẽ không sửa đổi các thanh ghi CLIF TX, RX và điều khiển trường mà chỉ chuyển bộ thu phát sang trạng thái IDLE.
4.5.4.5.3 UseCase3: Chế độ hoạt động bình thường khi đặt lại mềm/thoát khỏi chế độ chờ, LPCD Trong trường hợp này, PN5190 trực tiếp chuyển sang chế độ hoạt động bình thường bằng cách gửi IDLE_EVENT đến máy chủ (Hình 12 hoặc Hình 13) và “ IDLE_EVENT” được đặt trong Bảng 11.
Không có yêu cầu gửi lệnh SWITCH_MODE_NORMAL.
Ghi chú:
Sau khi IC được chuyển sang chế độ bình thường, tất cả các cài đặt của RF sẽ được sửa đổi về trạng thái mặc định. Điều bắt buộc là cấu hình RF tương ứng và các thanh ghi liên quan khác phải được tải với các giá trị thích hợp trước khi thực hiện thao tác RF ON hoặc RF Exchange.
4.5.4.5.4 Gửi khung lệnh cho các trường hợp sử dụng khác nhau
4.5.4.5.4.1 UseCase1: Lệnh vào chế độ hoạt động bình thường khi bật nguồn (POR) 0x20 0x01 0x00
4.5.4.5.4.2 UseCase2: Lệnh kết thúc các lệnh đang chạy để chuyển sang chế độ hoạt động bình thường
Trường hợp sử dụng 2.1:
0x20 0x00 0x00
Ca sử dụng 2.2: (Từ FW v02.02 trở đi):
0x20 0x02 0x00
4.5.4.5.4.3 UseCase3: Lệnh cho chế độ hoạt động bình thường khi thiết lập lại/thoát khỏi chế độ chờ, LPCD, ULPCD
Không có. PN5190 trực tiếp chuyển sang chế độ hoạt động bình thường.
4.5.4.5.5 Phản hồi
Không có
4.5.4.5.6 sự kiện
BOOT_EVENT (trong thanh ghi EVENT_STATUS) được đặt cho biết chế độ bình thường được nhập và được gửi đến máy chủ. Tham khảo Hình 12 và Hình 13 để biết dữ liệu sự kiện.
IDLE_EVENT (trong thanh ghi EVENT_STATUS) được đặt cho biết chế độ bình thường đã được nhập và được gửi đến máy chủ. Tham khảo Hình 12 và Hình 13 để biết dữ liệu sự kiện.
BOOT_EVENT (trong thanh ghi EVENT_STATUS) được đặt cho biết chế độ bình thường đã được nhập và được gửi đến máy chủ. Tham khảo Hình 12 và Hình 13 để biết dữ liệu sự kiện.
4.5.4.6 SWITCH_MODE_AUTOCOLL
Switch Mode Autocoll tự động thực hiện quy trình kích hoạt thẻ ở chế độ đích.
Trường 'Chế độ tự động thu thập' phải nằm trong phạm vi từ 0 – 2.
Trong trường hợp nếu trường 'Chế độ tự động thu thập' được đặt thành 2 (Tự động thu thập): Trường 'Công nghệ RF' (Bảng 50) phải chứa mặt nạ bit cho biết Công nghệ RF sẽ hỗ trợ trong quá trình Tự động thu thập.
Không có hướng dẫn nào phải được gửi khi đang ở chế độ này.
Việc chấm dứt được chỉ định bằng cách sử dụng một ngắt.
4.5.4.6.1 Lệnh
Bảng 49. Giá trị lệnh SWITCH_MODE_AUTOCOLL
Tham số | Chiều dài | Giá trị / Mô tả | |
Công nghệ RF | 1 Byte | Bitmask cho biết công nghệ RF sẽ lắng nghe trong Autocoll. | |
Chế độ tự động thu thập | 1 Byte | 0 | Không có chế độ tự trị, tức là Autocoll chấm dứt khi không có trường RF bên ngoài. |
Chấm dứt trong trường hợp | |||
• KHÔNG CÓ TRƯỜNG RF hoặc TRƯỜNG RF biến mất | |||
• PN5190 được KÍCH HOẠT ở chế độ MỤC TIÊU | |||
1 | Chế độ tự động với chế độ chờ. Khi không có trường RF, Autocoll sẽ tự động chuyển sang chế độ Chờ. Khi trường RF bên ngoài RF được phát hiện, PN5190 sẽ chuyển sang chế độ Autocoll lần nữa. | ||
Chấm dứt trong trường hợp | |||
• PN5190 được KÍCH HOẠT ở chế độ MỤC TIÊU | |||
Từ PN5190 FW v02.03 trở đi: Nếu Trường EEPROM “bCard ModeUltraLowPowerEnabled” tại địa chỉ '0xCDF' được đặt thành '1', thì PN5190 sẽ chuyển sang chế độ chờ nguồn điện cực thấp. | |||
2 | Chế độ tự động không có chế độ chờ. Khi không có trường RF, PN5190 sẽ đợi cho đến khi có trường RF trước khi bắt đầu thuật toán Autocoll. Chế độ chờ không được sử dụng trong trường hợp này. | ||
Chấm dứt trong trường hợp • PN5190 được KÍCH HOẠT ở chế độ MỤC TIÊU |
Bảng 50. Mặt nạ bit công nghệ RF
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Sự miêu tả |
0 | 0 | 0 | 0 | RFU | ||||
X | Nếu được đặt thành 1b, tính năng nghe NFC-F Active sẽ được bật. (Không có sẵn). | |||||||
X | Nếu được đặt thành 1b, tính năng nghe NFC-A Active sẽ được bật. (Không có sẵn). | |||||||
X | Nếu được đặt thành 1b, tính năng nghe NFC-F sẽ được bật. | |||||||
X | Nếu được đặt thành 1b, tính năng nghe NFC-A sẽ được bật. |
4.5.4.6.2 Phản hồi
Phản hồi chỉ báo hiệu rằng lệnh đã được xử lý.
Bảng 51. Giá trị phản hồi SWITCH_MODE_AUTOCOLL
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Chế độ chuyển đổi không được nhập do cài đặt sai) |
4.5.4.6.3 sự kiện
Thông báo sự kiện được gửi khi lệnh kết thúc và chế độ bình thường được nhập. Máy chủ sẽ đọc các byte phản hồi dựa trên giá trị sự kiện.
Ghi chú:
Khi trạng thái không phải là “PN5190_STATUS_INSTR_SUCCESS”, thì các byte dữ liệu “Protocol” và “Card_Activated” tiếp theo sẽ không xuất hiện.
Thông tin công nghệ được lấy từ các thanh ghi bằng cách sử dụng các lệnh Mục 4.5.1.5, Mục 4.5.1.6.
Bảng sau hiển thị dữ liệu sự kiện được gửi như một phần của thông báo sự kiện Hình 12 và Hình 13.
Bảng 52. EVENT_SWITCH_MODE_AUTOCOLL – Dữ liệu AUTOCOLL_EVENT Chuyển đổi chế độ hoạt động Sự kiện Autocoll
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
Trạng thái | 1 byte | Tình trạng hoạt động | |
PN5190_STATUS_INSTR_SUCCESS | PN5190 được KÍCH HOẠT ở chế độ MỤC TIÊU. Dữ liệu khác trong sự kiện này là hợp lệ. |
||
PN5190_STATUS_PREVENT_STANDBY | Cho biết rằng PN5190 bị ngăn chuyển sang chế độ Chờ. Trạng thái này chỉ hợp lệ khi chế độ Autocoll được chọn là “Chế độ Autonomous với chế độ chờ”. |
PN5190_STATUS_NO_EXTERNAL_RF_ TRƯỜNG | Cho biết rằng không có trường RF bên ngoài nào xuất hiện trong quá trình thực thi Autocoll ở chế độ Không tự trị | ||
PN5190_STATUS_USER_CANCELLED | Cho biết rằng lệnh hiện tại đang được thực hiện bị hủy bỏ bởi lệnh thông thường của chế độ chuyển đổi | ||
Giao thức | 1 byte | 0x10 | Được kích hoạt dưới dạng Passive TypeA |
0x11 | Được kích hoạt dưới dạng Passive TypeF 212 | ||
0x12 | Được kích hoạt dưới dạng Passive TypeF 424 | ||
0x20 | Được kích hoạt dưới dạng Active TypeA | ||
0x21 | Được kích hoạt dưới dạng Active TypeF 212 | ||
0x22 | Được kích hoạt dưới dạng Active TypeF 424 | ||
Các giá trị khác | Không hợp lệ | ||
Thẻ_Đã kích hoạt | 1 byte | 0x00 | Không có quy trình kích hoạt thẻ theo ISO 14443-3 |
0x01 | Cho biết thiết bị được kích hoạt ở chế độ Bị động |
Ghi chú:
Sau khi đọc dữ liệu sự kiện, dữ liệu nhận được từ thẻ/thiết bị đã được kích hoạt (chẳng hạn như 'n' byte của ATR_REQ/RATS theo ISO18092/ISO1443-4), phải được đọc bằng lệnh Mục 4.5.3.3.
4.5.4.6.4 Giao tiếp cũample
4.5.4.7 SWITCH_MODE_STANDBY
Switch Mode Standby tự động đặt IC vào chế độ Standby. IC sẽ đánh thức sau khi các nguồn đánh thức được định cấu hình đáp ứng các điều kiện đánh thức.
Ghi chú:
Theo mặc định, bộ đếm hết hạn cho ULP STANDBY và hủy bỏ HIF cho STANDBY có sẵn để thoát khỏi chế độ chờ.
4.5.4.7.1 Lệnh
Bảng 53. Giá trị lệnh SWITCH_MODE_STANDBY
Tham số | Chiều dài | Giá trị / Mô tả |
Cấu hình | 1 Byte | Bitmask kiểm soát nguồn đánh thức sẽ được sử dụng và chế độ Chờ để vào. tham khảo Bảng 54 |
Giá trị truy cập | 2 Byte | Giá trị được sử dụng cho bộ đếm đánh thức tính bằng mili giây. Giá trị được hỗ trợ tối đa là 2690 cho chế độ chờ. Giá trị được hỗ trợ tối đa là 4095 cho chế độ chờ ULP. Giá trị được cung cấp ở định dạng little-endian. Nội dung tham số này chỉ hợp lệ nếu “Config Bitmask” được bật để đánh thức khi bộ đếm hết hạn. |
Bảng 54. Cấu hình Bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Sự miêu tả |
X | Vào chế độ chờ ULP nếu bit được đặt thành 1b Vào chế độ chờ nếu bit được đặt thành 0b. | |||||||
0 | RFU | |||||||
X | Đánh thức GPIO-3 khi nó ở mức cao, nếu bit được đặt thành 1b. (Không áp dụng cho chế độ chờ ULP) | |||||||
X | Đánh thức GPIO-2 khi nó ở mức cao, nếu bit được đặt thành 1b. (Không áp dụng cho chế độ chờ ULP) | |||||||
X | Đánh thức GPIO-1 khi nó ở mức cao, nếu bit được đặt thành 1b. (Không áp dụng cho chế độ chờ ULP) | |||||||
X | Đánh thức GPIO-0 khi nó ở mức cao, nếu bit được đặt thành 1b. (Không áp dụng cho chế độ chờ ULP) | |||||||
X | Thời gian đánh thức trên bộ đếm đánh thức sẽ hết hạn nếu bit được đặt thành 1b. Đối với ULP-Standby, tùy chọn này được bật theo mặc định. | |||||||
X | Đánh thức trên trường RF bên ngoài, nếu bit được đặt thành 1b. |
Ghi chú: Từ PN5190 FW v02.03, nếu Trường EEPROM “CardModeUltraLowPowerEnabled” tại địa chỉ '0xCDF' được đặt thành '1', thì không thể sử dụng cấu hình dự phòng ULP với Lệnh SWITCH_MODE_STANDBY.
4.5.4.7.2 Phản hồi
Phản hồi chỉ báo hiệu rằng lệnh đã được xử lý và trạng thái chờ sẽ chỉ được nhập sau khi máy chủ đọc đầy đủ phản hồi.
Bảng 55. Giá trị phản hồi SWITCH_MODE_STANDBY Chuyển đổi chế độ hoạt động ở chế độ chờ
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Chưa vào chế độ chuyển đổi – do cài đặt sai) |
4.5.4.7.3 sự kiện
Thông báo sự kiện được gửi khi lệnh kết thúc và chuyển sang chế độ bình thường. Tham khảo định dạng của sự kiện sẽ được gửi sau khi hoàn thành lệnh như trong Hình 12 và Hình 13.
Trong trường hợp nếu PN5190 bị ngăn chuyển sang chế độ Chờ, thì bit sự kiện “STANDBY_PREV_EVENT” được đặt trong EVENT_STATUS như đã đề cập trong Bảng 11 sẽ được gửi đến máy chủ vì lý do ngăn chặn ở chế độ chờ như đã đề cập trong Bảng 13.
4.5.4.7.4 Giao tiếp Ví dụample
4.5.4.8 SWITCH_MODE_LPCD
LPCD Chế độ chuyển mạch thực hiện phát hiện lệch sóng trên ăng-ten do thay đổi môi trường xung quanh ăng-ten.
Có 2 chế độ khác nhau của LPCD. Giải pháp dựa trên CTNH (ULPCD) cung cấp mức tiêu thụ năng lượng cạnh tranh với độ nhạy giảm. Giải pháp dựa trên FW (LPCD) mang lại độ nhạy tốt nhất trong phân khúc với mức tiêu thụ điện năng tăng lên.
Trong Chế độ đơn dựa trên FW (LPCD), không có sự kiện hiệu chuẩn nào được gửi đến máy chủ.
Khi chế độ Đơn được gọi, hiệu chuẩn và các phép đo liên tiếp đều được thực hiện sau khi thoát khỏi chế độ chờ.
Đối với sự kiện hiệu chuẩn ở chế độ đơn, trước tiên hãy đưa ra lệnh hiệu chuẩn ở chế độ đơn. Sau khi hiệu chuẩn, một sự kiện hiệu chuẩn LPCD được nhận, sau đó lệnh chế độ đơn phải được gửi với giá trị tham chiếu thu được từ bước trước làm tham số đầu vào.
Cấu hình của LPCD được thực hiện trong cài đặt Dữ liệu EEPROM/Flash trước khi lệnh được gọi.
Ghi chú:
Theo mặc định, tính năng hủy bỏ GPIO3 cho ULPCD, tính năng hủy bỏ HIF cho LPCD có sẵn theo mặc định để thoát khỏi chế độ năng lượng thấp.
Đánh thức do bộ đếm hết hạn luôn được bật.
Đối với ULPCD, cấu hình DC-DC phải được tắt trong cài đặt EEPROM/Flash Data và phải cung cấp nguồn VUP thông qua VBAT. Các cài đặt jumper cần thiết nên được thực hiện. Để biết cài đặt EEPROM/Flash Data, hãy tham khảo tài liệu [2].
Nếu lệnh dành cho hiệu chuẩn LPCD/ULPCD, máy chủ vẫn phải gửi khung hoàn chỉnh.
4.5.4.8.1 Lệnh
Bảng 56. Giá trị lệnh SWITCH_MODE_LPCD
Tham số | Chiều dài | Giá trị/mô tả | |
kiểm soát b | 1 Byte | 0x00 | Nhập hiệu chuẩn ULPCD. Lệnh dừng sau khi hiệu chuẩn và một sự kiện có giá trị tham chiếu được gửi đến máy chủ. |
0x01 | Nhập ULPCD | ||
0x02 | hiệu chuẩn LPCD. Lệnh dừng sau khi hiệu chỉnh và một sự kiện có giá trị tham chiếu được gửi đến máy chủ. | ||
0x03 | Nhập LPCD | ||
0x04 | Chế độ đơn | ||
0x0C | Chế độ đơn với sự kiện hiệu chuẩn | ||
Các giá trị khác | RFU | ||
Kiểm soát đánh thức | 1 Byte | Bitmask kiểm soát nguồn đánh thức được sử dụng cho LPCD/ULPCD. Nội dung của trường này không được xem xét để hiệu chuẩn. tham khảo Bảng 57 | |
Giá trị tham chiếu | 4 Byte | Giá trị tham chiếu được sử dụng trong ULPCD/LPCD. Đối với ULPCD, Byte 2 chứa giá trị Bộ suy giảm HF được sử dụng trong cả giai đoạn hiệu chuẩn và đo lường. Đối với LPCD, Nội dung của trường này không được xem xét để hiệu chuẩn và Chế độ đơn. tham khảo Bảng 58 để biết thông tin chính xác trên tất cả 4 byte. |
|
Giá trị truy cập | 2 Byte | Giá trị cho bộ đếm đánh thức tính bằng mili giây. Giá trị được hỗ trợ tối đa là 2690 cho LPCD. Giá trị được hỗ trợ tối đa là 4095 cho ULPCD. Giá trị được cung cấp ở định dạng little-endian. Nội dung của trường này không được xem xét để hiệu chuẩn LPCD. Đối với chế độ đơn và chế độ đơn có sự kiện hiệu chuẩn, thời gian chờ trước khi hiệu chuẩn có thể được cấu hình từ cấu hình EEPROM: LPCD_SETTINGS->wCheck Period. Đối với chế độ đơn có hiệu chuẩn, giá trị WUC khác XNUMX. |
Bảng 57. Bitmask kiểm soát đánh thức
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Sự miêu tả |
0 | 0 | 0 | 0 | 0 | 0 | 0 | RFU | |
X | Đánh thức trên trường RF bên ngoài, nếu bit được đặt thành 1b. |
Bảng 58. Thông tin byte giá trị tham chiếu
Byte giá trị tham chiếu | ULPCD | LPCD |
byte 0 | Byte tham chiếu 0 | Kênh 0 Byte tham chiếu 0 |
byte 1 | Byte tham chiếu 1 | Kênh 0 Byte tham chiếu 1 |
byte 2 | Giá trị bộ suy giảm HF | Kênh 1 Byte tham chiếu 0 |
byte 3 | NA | Kênh 1 Byte tham chiếu 1 |
4.5.4.8.2 Phản hồi
Bảng 59. Giá trị phản hồi SWITCH_MODE_LPCD
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR (Chưa vào chế độ chuyển đổi – do cài đặt sai) |
4.5.4.8.3 sự kiện
Thông báo sự kiện được gửi khi lệnh kết thúc và chế độ bình thường được nhập với dữ liệu sau như một phần của sự kiện được đề cập trong Hình 12 và Hình 13.
Bảng 60. EVT_SWITCH_MODE_LPCD
trường trọng tải | Chiều dài | Giá trị / Mô tả |
Tình trạng LPCD | Tham khảo bảng 15 | Tham khảo Bảng 154.5.4.8.4 Giao tiếp Example |
4.5.4.9 SWITCH_MODE_DOWNLOAD
Lệnh Switch Mode Download sẽ chuyển sang chế độ tải xuống Firmware.
Cách duy nhất để thoát khỏi chế độ tải xuống là thiết lập lại PN5190.
4.5.4.9.1 Lệnh
Bảng 61. Giá trị lệnh SWITCH_MODE_DOWNLOAD
Tham số | Chiều dài | Giá trị / Mô tả |
– | – | Không có giá trị |
4.5.4.9.2 Phản hồi
Phản hồi chỉ báo hiệu rằng lệnh đã được xử lý và chế độ Tải xuống sẽ được vào sau khi máy chủ đọc được phản hồi.
Bảng 62. Giá trị phản hồi SWITCH_MODE_DOWNLOAD
Chuyển đổi chế độ hoạt động Autocoll
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Chưa vào chế độ chuyển đổi) |
4.5.4.9.3 sự kiện
Không có sự kiện tạo ra.
4.5.4.9.4 Giao tiếp Ví dụample
4.5.5 Xác thực cổ điển MIFARE
4.5.5.1 MFC_AUTHENTICATE
Hướng dẫn này được sử dụng để thực hiện Xác thực cổ điển MIFARE trên thẻ đã kích hoạt. Nó lấy khóa, UID thẻ và loại khóa để xác thực tại địa chỉ khối đã cho. Phản hồi chứa một byte cho biết trạng thái xác thực.
4.5.5.1.1 Điều kiện
Khóa trường phải dài 6 byte. Loại khóa trường phải chứa giá trị 0x60 hoặc 0x61. Địa chỉ khối có thể chứa bất kỳ địa chỉ nào từ 0x0 – 0xff. UID trường phải dài byte và phải chứa UID 4byte của thẻ. Thẻ dựa trên sản phẩm ISO14443-3 MIFARE Classic phải được đặt ở trạng thái HOẠT ĐỘNG hoặc HOẠT ĐỘNG* trước khi thực hiện hướng dẫn này.
Trong trường hợp xảy ra lỗi thời gian chạy liên quan đến xác thực, trường 'Trạng thái xác thực' này sẽ được đặt tương ứng.
4.5.5.1.2 Lệnh
Bảng 63. Lệnh MFC_AUTHENTICATE
Thực hiện xác thực trên thẻ dựa trên sản phẩm MIFARE Classic đã kích hoạt.
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
Chìa khóa | 6 Byte | Khóa xác thực sẽ được sử dụng. | |
Loại khóa | 1 Byte | 0x60 | Loại khóa A |
0x61 | Loại khóa B | ||
chặn địa chỉ | 1 Byte | Địa chỉ của khối mà xác thực phải được thực hiện. | |
Mã số nhận dạng | 4 Byte | UID của thẻ. |
4.5.5.1.3 Phản hồi
Bảng 64. Phản hồi MFC_AUTHENTICATE
Phản hồi MFC_AUTHENTICATE.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_INSTR_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_TIMEOUT PN5190_STATUS_AUTH_ERROR |
4.5.5.1.4 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.6 Hỗ trợ ISO 18000-3M3 (EPC GEN2)
4.5.6.1 EPC_GEN2_INVENTORY
Hướng dẫn này được sử dụng để thực hiện kiểm kê ISO18000-3M3 tags. Nó thực hiện tự động thực thi một số lệnh theo ISO18000-3M3 để đảm bảo thời gian được chỉ định bởi tiêu chuẩn đó.
Nếu có trong tải trọng của lệnh, đầu tiên lệnh Chọn sẽ được thực thi, sau đó là lệnh BeginRound.
Nếu có phản hồi hợp lệ trong khe thời gian đầu tiên (không hết thời gian chờ, không xung đột), lệnh sẽ gửi ACK và lưu PC/XPC/UII đã nhận. Sau đó, hướng dẫn sẽ thực hiện một hành động theo trường 'Hành vi được xử lý theo khe thời gian':
- Nếu trường này được đặt thành 0, lệnh NextSlot sẽ được đưa ra để xử lý khe thời gian tiếp theo. Điều này được lặp lại cho đến khi bộ đệm bên trong đầy
- Nếu trường này được đặt thành 1, thuật toán sẽ tạm dừng
- Nếu trường này được đặt thành 2, lệnh Req_Rn sẽ được đưa ra khi và chỉ khi có một giá trị hợp lệ tag phản hồi trong khoảng thời gian nàyCommand
Trường 'Chọn Độ dài Lệnh' phải chứa độ dài của trường 'Chọn Lệnh', phải nằm trong phạm vi từ 1 – 39. Nếu 'Chọn Độ dài lệnh' là 0 thì các trường 'Bit hợp lệ trong Byte cuối cùng' và 'Chọn lệnh' không được xuất hiện.
Trường Bit trong byte cuối cùng phải chứa số bit được truyền trong byte cuối cùng của trường 'Chọn lệnh'. Giá trị phải nằm trong khoảng từ 1 đến 7. Nếu giá trị là 0, tất cả các bit từ byte cuối cùng từ trường 'Chọn lệnh' sẽ được truyền đi.
Trường 'Chọn Lệnh' phải chứa lệnh Chọn theo ISO18000-3M3 không có CRC-16c ở cuối và phải có cùng độ dài như được chỉ ra trong trường 'Chọn Độ dài Lệnh'.
Trường 'Lệnh BeginRound' phải chứa lệnh BeginRound theo ISO18000-3M3 không có CRC-5 ở cuối. 7 bit cuối cùng của byte cuối cùng của 'Lệnh BeginRound' bị bỏ qua vì lệnh có độ dài thực tế là 17 bit.
'Hành vi được xử lý theo khung thời gian' phải chứa giá trị từ 0 – 2.
Bảng 65. Giá trị lệnh EPC_GEN2_INVENTORY Thực hiện Kiểm kê ISO 18000-3M3
trường trọng tải | Chiều dài | Giá trị/mô tả | |
Sơ yếu lý lịch hàng tồn kho | 1 Byte | 00 | GEN2_INVENTORY ban đầu |
01 | Tiếp tục lệnh GEN2_INVENTORY – phần còn lại
các trường bên dưới trống (mọi tải trọng đều bị bỏ qua) |
||
Chọn độ dài lệnh | 1 Byte | 0 | Không có lệnh Chọn nào được đặt trước lệnh BeginRound. Trường 'Bit hợp lệ trong Byte cuối cùng' và trường 'Lệnh chọn' sẽ không xuất hiện. |
1 – 39 | Độ dài (n) của trường 'Chọn lệnh'. | ||
Bit hợp lệ trong byte cuối cùng | 1 Byte | 0 | Tất cả các bit của byte cuối cùng của trường 'Chọn lệnh' đều được truyền đi. |
1 – 7 | Số bit được truyền trong byte cuối cùng của trường 'Chọn lệnh'. | ||
Chọn lệnh | n byte | Nếu có, trường này chứa lệnh Chọn (theo ISO18000-3, Bảng 47) được gửi trước lệnh BeginRound. CRC-16c sẽ không được bao gồm. | |
Lệnh Bắt đầuVòng | 3 Byte | Trường này chứa lệnh BeginRound (theo ISO18000-3, Bảng 49). CRC-5 sẽ không được bao gồm. | |
Hành vi được xử lý trong khe thời gian | 1 Byte | 0 | Phản hồi chứa tối đa. Số lượng khe thời gian có thể vừa với bộ đệm phản hồi. |
1 | Phản hồi chỉ chứa một khe thời gian. | ||
2 | Phản hồi chỉ chứa một khe thời gian. Nếu khe thời gian chứa phản hồi thẻ hợp lệ thì thẻ xử lý cũng được bao gồm. |
4.5.6.1.1 Phản hồi
Độ dài của Phản hồi có thể là “1” trong trường hợp tiếp tục Hàng tồn kho.
Bảng 66. Giá trị phản hồi EPC_GEN2_INVENTORY
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |||
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: | |||
PN5190_STATUS_SUCCESS (Đọc trạng thái Khe thời gian ở byte tiếp theo cho Tag phản ứng) PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
|||||
Khoảng thời gian [1…n] | 3 – 69 byte | Trạng thái khung thời gian | 1 Byte | 0 | Tag phản hồi có sẵn. 'Tag Trường Độ dài trả lời', trường 'Các bit hợp lệ trong byte cuối cùng' và 'Tag trả lời' lĩnh vực hiện tại. |
1 | Tag phản hồi có sẵn. | ||||
2 | KHÔNG tag đã trả lời trong khung thời gian. 'Tag Trường Độ dài trả lời' và trường 'Các bit hợp lệ trong byte cuối cùng' phải được đặt thành XNUMX. 'Tag trường trả lời' sẽ không có mặt. | ||||
3 | Hai hoặc nhiều hơn tags đã trả lời trong khung thời gian. (Va chạm). 'Tag Trường Độ dài trả lời' và trường 'Các bit hợp lệ trong byte cuối cùng' phải được đặt thành XNUMX. 'Tag trường trả lời' sẽ không xuất hiện. |
Tag Độ dài câu trả lời | 1 Byte | 0-66 | Độ dài của 'Tag Trả lời' trường (i). Nếu như Tag Độ dài trả lời là 0, sau đó Tag Trường trả lời không có. | ||
Các bit hợp lệ trong Byte cuối cùng | 1 Byte | 0 | Tất cả các bit của byte cuối cùng của 'Tag trường trả lời' là hợp lệ. | ||
1-7 | Số bit hợp lệ của byte cuối cùng của 'Tag trường trả lời'. Nếu như Tag Độ dài trả lời bằng XNUMX, giá trị của byte này sẽ bị bỏ qua. | ||||
Tag Hồi đáp | 'n' byte | Trả lời của tag theo ISO18000-3_2010, Bảng 56. | |||
Tag Xử lý | 0 hoặc 2 byte | tay cầm của tag, trong trường hợp trường 'Trạng thái khe thời gian' được đặt thành '1'. Nếu không thì trường này không xuất hiện. |
4.5.6.1.2 sự kiện
Không có sự kiện cho lệnh này.
4.5.7 Quản lý cấu hình RF
Tham khảo Phần 6, để biết cấu hình TX và RX cho các công nghệ RF khác nhau và tốc độ dữ liệu được PN5190 hỗ trợ. Các giá trị không có trong phạm vi được đề cập bên dưới nên được coi là RFU.
4.5.7.1 LOAD_RF_CẤU HÌNH
Lệnh này được sử dụng để tải cấu hình RF từ EEPROM vào các thanh ghi CLIF bên trong. Cấu hình RF đề cập đến sự kết hợp độc đáo giữa Công nghệ RF, chế độ (mục tiêu/bộ khởi tạo) và tốc độ truyền. Cấu hình RF có thể được tải riêng cho đường dẫn bộ thu CLIF (cấu hình RX) và bộ phát (cấu hình TX). Giá trị 0xFF phải được sử dụng nếu cấu hình tương ứng cho một đường dẫn sẽ không bị thay đổi.
4.5.7.1.1 Điều kiện
Trường 'Cấu hình TX' phải nằm trong phạm vi từ 0x00 – 0x2B. Nếu giá trị là 0xFF, cấu hình TX không thay đổi.
Trường 'Cấu hình RX' phải nằm trong phạm vi từ 0x80 – 0xAB. Nếu giá trị là 0xFF, cấu hình RX không thay đổi.
Một cấu hình đặc biệt với Cấu hình TX = 0xFF và Cấu hình RX = 0xAC được sử dụng để tải các thanh ghi Khởi động một lần.
Cần có cấu hình đặc biệt này để cập nhật cấu hình thanh ghi (cả TX và RX) khác với giá trị đặt lại IC.
4.5.7.1.2 Lệnh
Bảng 67. Giá trị lệnh LOAD_RF_CONFIGUATION
Tải cài đặt RF TX và RX từ E2PROM.
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
Cấu hình TX | 1 Byte | 0xFF | Cấu hình TX RF không thay đổi. |
0x0 - 0x2B | Cấu hình TX RF tương ứng đã được tải. | ||
Cấu hình RX | 1 Byte | 0xFF | Cấu hình RX RF không thay đổi. |
0x80 – 0xAB | Đã tải cấu hình RX RF tương ứng. |
4.5.7.1.3 Phản hồi
Bảng 68. Giá trị phản hồi LOAD_RF_CONFIGUration
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_THÀNH CÔNG PN5190_STATUS_INSTR_ERROR |
4.5.7.1.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.7.2 CẬP NHẬT_RF_CONFIGURATION
Hướng dẫn này được sử dụng để cập nhật cấu hình RF (xem định nghĩa trong Phần 4.5.7.1) trong E2PROM. Hướng dẫn cho phép cập nhật ở giá trị độ chi tiết của thanh ghi, tức là không cần cập nhật toàn bộ bộ (mặc dù, có thể làm được).
4.5.7.2.1 Điều kiện
Kích thước của mảng trường Cấu hình phải nằm trong phạm vi từ 1 – 15. Cấu hình mảng trường phải chứa một tập hợp Cấu hình RF, Địa chỉ đăng ký và Giá trị. Cấu hình RF trường phải nằm trong phạm vi từ 0x0 – 0x2B cho Cấu hình TX và 0x80 – 0xAB cho cấu hình RX. Địa chỉ trong trường Địa chỉ đăng ký phải tồn tại trong cấu hình RF tương ứng. Giá trị trường phải chứa một giá trị phải được ghi vào thanh ghi đã cho và phải dài 4 byte (định dạng little-endian).
4.5.7.2.2 Lệnh
Bảng 69. Giá trị lệnh UPDATE_RF_CONFIGUATION
Cập nhật cấu hình RF
Trường trọng tải | Chiều dài | Giá trị / Mô tả | ||
Cấu hình[1…n] | 6 Byte | Cấu hình RF | 1 Byte | Cấu hình RF mà thanh ghi phải được thay đổi. |
Đăng ký Địa chỉ | 1 Byte | Đăng ký địa chỉ trong công nghệ RF nhất định. | ||
Giá trị | 4 Byte | Giá trị phải được ghi vào sổ đăng ký. (Little-endian) |
4.5.7.2.3 Phản hồi
Bảng 70. Giá trị phản hồi UPDATE_RF_CONFIGUATION
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_MEMORY_ERROR |
4.5.7.2.4 sự kiện
Không có sự kiện cho lệnh này.
4.5.7.3 NHẬN_ RF_CONFIGURATION
Hướng dẫn này được sử dụng để đọc cấu hình RF. Các cặp địa chỉ-giá trị-đăng ký có sẵn trong phản hồi. Để biết có bao nhiêu cặp dự kiến, thông tin kích thước đầu tiên có thể được lấy từ TLV đầu tiên, cho biết tổng chiều dài của tải trọng.
4.5.7.3.1 Điều kiện
Cấu hình RF trường phải nằm trong phạm vi từ 0x0 – 0x2B cho Cấu hình TX và 0x80 –0xAB cho cấu hình RX, bao gồm cả.
4.5.7.3.2 Lệnh
Bảng 71. Giá trị lệnh GET_ RF_CONFIGUration Truy xuất cấu hình RF.
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Cấu hình RF | 1 Byte | Cấu hình RF mà tập hợp các cặp giá trị thanh ghi phải được truy xuất. |
4.5.7.3.3 Phản hồi
Bảng 72. Giá trị phản hồi GET_ RF_CONFIGUATION
Trường trọng tải | Chiều dài | Giá trị / Mô tả | ||
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: | ||
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
||||
Cặp[1…n] | 5 Byte | Đăng ký Địa chỉ | 1 Byte | Đăng ký địa chỉ trong công nghệ RF nhất định. |
Giá trị | 4 Byte | Giá trị thanh ghi 32-bit. |
4.5.7.3.4 sự kiện
Không có sự kiện cho hướng dẫn.
4.5.8 Xử lý trường RF
4.5.8.1 RF_BẬT
Hướng dẫn này được sử dụng để bật RF. Quy định DPC tại FieldOn ban đầu sẽ được xử lý trong lệnh này.
4.5.8.1.1 Lệnh
Bảng 73. Giá trị lệnh RF_FIELD_ON
Định cấu hình RF_FIELD_ON.
Trường trọng tải | Chiều dài | Giá trị / Mô tả | ||
RF_on_config | 1 Byte | Bit 0 | 0 | Sử dụng tránh va chạm |
1 | Tắt tính năng tránh va chạm | |||
Bit 1 | 0 | Không có P2P hoạt động | ||
1 | P2P đang hoạt động |
4.5.8.1.2 Phản hồi
Bảng 74. Giá trị phản hồi RF_FIELD_ON
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_THÀNH CÔNG PN5190_STATUS_INSTR_ERROR PN5190_STATUS_RF_COLLISION_ERROR (Trường RF không được bật do va chạm RF) PN5190_STATUS_TIMEOUT (Trường RF không được bật do hết thời gian chờ) PN5190_STATUS_TXLDO_ERROR (Lỗi TXLDO do VUP không khả dụng) PN5190_STATUS_RFCFG_NOT_APPLIED (Cấu hình RF không được áp dụng trước lệnh này) |
4.5.8.1.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.8.2 RF_OFF
Hướng dẫn này được sử dụng để vô hiệu hóa Trường RF.
4.5.8.2.1 Lệnh
Bảng 75. Giá trị lệnh RF_FIELD_OFF
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trống | Trống | trống |
4.5.8.2.2 Phản hồi
Bảng 76. Giá trị phản hồi RF_FIELD_OFF
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
4.5.8.2.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.9 Cấu hình bus thử nghiệm
Các tín hiệu bus thử nghiệm có sẵn trên cấu hình PAD đã chọn được liệt kê trong Phần 7 để tham khảo.
Chúng phải được tham khảo để cung cấp cấu hình cho các hướng dẫn bus thử nghiệm như được đề cập bên dưới.
4.5.9.1 CẤU HÌNH _TESTBUS_DIGITAL
Lệnh này được sử dụng để chuyển đổi tín hiệu bus thử nghiệm kỹ thuật số có sẵn trên các cấu hình pad đã chọn.
4.5.9.1.1 Lệnh
Bảng 77. Giá trị lệnh CONFIGURE_TESTBUS_DIGITAL
trường trọng tải | Chiều dài | Giá trị/mô tả | |
TB_Signal Index | 1 Byte | Tham khảo Phần 7 | |
Chỉ số TB_Bit | 1 Byte | Tham khảo Phần 7 | |
TB_Pad Index | 1 Byte | Chỉ số pad, trên đó tín hiệu kỹ thuật số được xuất ra | |
0x00 | chân cắm AUX1 | ||
0x01 | chân cắm AUX2 | ||
0x02 | chân cắm AUX3 | ||
0x03 | chân GPIO0 | ||
0x04 | chân GPIO1 | ||
0x05 | chân GPIO2 | ||
0x06 | chân GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.1.2 Phản hồi
Bảng 78. Giá trị phản hồi CONFIGURE_TESTBUS_DIGITAL
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
4.5.9.1.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.9.2 CONFIGURE_TESTBUS_ANALOG
Lệnh này được sử dụng để nhận tín hiệu bus thử nghiệm tương tự có sẵn trên các cấu hình bảng đã chọn.
Tín hiệu trên bus thử nghiệm tương tự có thể thu được ở các chế độ khác nhau. Họ đang:
4.5.9.2.1 Chế độ RAW
Ở chế độ này, tín hiệu được chọn bởi TB_SignalIndex0 được dịch chuyển bởi Shift_Index0, được che bằng Mask0 và xuất ra trên AUX1. Tương tự, tín hiệu được chọn bởi TB_SignalIndex1 được dịch chuyển bởi Shift_Index1, được che bằng Mask1 và xuất ra trên AUX2.
Chế độ này cung cấp sự linh hoạt cho khách hàng để xuất bất kỳ tín hiệu nào có độ rộng 8 bit trở xuống và không yêu cầu chuyển đổi ký hiệu để xuất ra các miếng đệm tương tự.
4.5.9.2.2 Chế độ KẾT HỢP
Ở chế độ này, tín hiệu tương tự sẽ là giá trị ADCI/ADCQ/pcrm_if_rssi có dấu 10 bit được chuyển đổi thành giá trị không dấu, được điều chỉnh lại thành 8 bit và sau đó xuất ra trên các miếng đệm UX1 hoặc Aux2.
Chỉ một trong các giá trị được chuyển đổi ADCI/ADCQ (10-bit) có thể được xuất ra bất kỳ lúc nào.
Nếu giá trị trường tải trọng Tín hiệu Chế độ Kết hợp là 2 (Kết hợp Tương tự và Kỹ thuật số), thì bus thử nghiệm tương tự và kỹ thuật số sẽ được định tuyến trên UX1 (Tín hiệu Tương tự) và GPIO0 (Tín hiệu Kỹ thuật số).
Các tín hiệu được định tuyến được cấu hình theo địa chỉ EEPROM được đề cập bên dưới:
0xCE9 – TB_SignalIndex
0xCEA – TB_BitIndex
0xCEB – Tương tự TB_Index
Chỉ số bus kiểm tra và bit bus kiểm tra phải được cấu hình trong EEPROM trước khi chúng tôi đưa ra chế độ kết hợp với tùy chọn 2.
Ghi chú:
Máy chủ sẽ cung cấp tất cả các trường, bất kể khả năng áp dụng của trường ở chế độ “thô” hay “kết hợp”. IC PN5190 chỉ xem xét các giá trị trường áp dụng.
4.5.9.2.3 Lệnh
Bảng 79. Giá trị lệnh CONFIGURE_TESTBUS_ANALOG
trường trọng tải | Chiều dài | Giá trị/mô tả | Khả năng áp dụng hiện trường cho chế độ kết hợp | |
bConfig | 1 Byte | Các bit có thể cấu hình tham khảo Bảng 80 | Đúng | |
tín hiệu chế độ kết hợp | 1 Byte | 0 – ADCI/ADCQ 1 – pcrm_if_rssi |
Đúng | |
2 – Kết hợp analog và kỹ thuật số | ||||
3 – 0xFF –Dành riêng |
TB_SignalIndex0 | 1 Byte | Chỉ số tín hiệu của tín hiệu analog. tham khảo Phần 7 | Đúng | |
TB_SignalIndex1 | 1 Byte | Chỉ số tín hiệu của tín hiệu analog. tham khảo Phần 7 | Đúng | |
Shift_Index0 | 1 Byte | Vị trí dịch chuyển đầu vào DAC0. Hướng sẽ được quyết định từng bit trong bConfig[1]. | KHÔNG | |
Shift_Index1 | 1 Byte | Vị trí dịch chuyển đầu vào DAC1. Hướng sẽ được quyết định từng bit trong bConfig[2]. | KHÔNG | |
Mặt nạ0 | 1 Byte | DAC0 mặt nạ | KHÔNG | |
Mặt nạ1 | 1 Byte | DAC1 mặt nạ | KHÔNG |
Bảng 80. Cấu hình bitmask
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | Sự miêu tả | Áp dụng cho chế độ |
X | X | Dịch chuyển đầu ra DAC1 Phạm vi – 0, 1, 2 | Thô | ||||||
X | X | Dịch chuyển đầu ra DAC0 Phạm vi – 0, 1, 2 | Thô | ||||||
X | Ở chế độ kết hợp, tín hiệu trên chân AUX1/AUX2 0 ➜ Tín hiệu trên AUX1 1 ➜ Tín hiệu trên AUX2 |
Kết hợp | |||||||
X | Hướng dịch chuyển đầu vào DAC1 0 ➜ Chuyển sang phải 1 ➜ Dịch sang trái |
Thô | |||||||
X | Hướng dịch chuyển đầu vào DAC0 0 ➜ Chuyển sang phải 1 ➜ Dịch sang trái |
Thô | |||||||
X | Cách thức. 0 ➜ Chế độ thô 1 ➜ Chế độ kết hợp |
thô/kết hợp |
4.5.9.2.4 Phản hồi
Bảng 81. Giá trị phản hồi CONFIGURE_TESTBUS_ANALOG
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
4.5.9.2.5 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.9.3 CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Lệnh này được sử dụng để chuyển đổi nhiều tín hiệu bus thử nghiệm kỹ thuật số có sẵn trên các cấu hình pad đã chọn.
Ghi chú: Nếu độ dài này bằng XNUMX thì bus thử nghiệm kỹ thuật số sẽ được THIẾT LẬP LẠI.
4.5.9.3.1 Lệnh
Bảng 82. Giá trị lệnh CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
trường trọng tải | Chiều dài | Giá trị/mô tả | |
TB_Chỉ số tín hiệu #1 | 1 Byte | Tham khảo 8 dưới đây | |
TB_Bit Index #1 | 1 Byte | Tham khảo 8 dưới đây | |
TB_Pad Index #1 | 1 Byte | Chỉ số pad, trên đó tín hiệu kỹ thuật số được xuất ra | |
0x00 | chân cắm AUX1 | ||
0x01 | chân cắm AUX2 | ||
0x02 | chân cắm AUX3 | ||
0x03 | chân GPIO0 | ||
0x04 | chân GPIO1 | ||
0x05 | chân GPIO2 | ||
0x06 | chân GPIO3 | ||
0x07-0xFF | RFU | ||
TB_Chỉ số tín hiệu #2 | 1 Byte | Tham khảo 8 dưới đây | |
TB_Bit Index #2 | 1 Byte | Tham khảo 8 dưới đây | |
TB_Pad Index #2 | 1 Byte | Chỉ số pad, trên đó tín hiệu kỹ thuật số được xuất ra | |
0x00 | chân cắm AUX1 | ||
0x01 | chân cắm AUX2 | ||
0x02 | chân cắm AUX3 | ||
0x03 | chân GPIO0 | ||
0x04 | chân GPIO1 | ||
0x05 | chân GPIO2 | ||
0x06 | chân GPIO3 | ||
0x07-0xFF | RFU |
4.5.9.3.2 Phản hồi
Bảng 83. Giá trị phản hồi CONFIGURE_MULTIPLE_TESTBUS_DIGITAL
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 2]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
4.5.9.3.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.10 Cấu hình CTS
4.5.10.1 CTS_ENABLE
Hướng dẫn này được sử dụng để bật/tắt tính năng ghi nhật ký CTS.
4.5.10.1.1 Lệnh
Bảng 84. Giá trị lệnh CTS_ENABLE
Giá trị/Mô tả độ dài trường tải trọng | ||||
Bật/Tắt | 1 Byte | Bit 0 | 0 | Tắt tính năng ghi nhật ký CTS |
1 Kích hoạt tính năng ghi nhật ký CTS |
||||
Tỷ số 1-7 | RFU |
4.5.10.1.2 Phản hồi
Bảng 85. Giá trị phản hồi CTS_ENABLE
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
4.5.10.1.3 sự kiện
Bảng sau hiển thị dữ liệu sự kiện sẽ được gửi như một phần của thông báo sự kiện như trong Hình 12 và Hình 13.
Bảng 86. Điều này thông báo cho máy chủ rằng dữ liệu đã được nhận. EVT_CTS_DONE
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Sự kiện | 1 byte | 00 … KÍCH HOẠT đã xảy ra, dữ liệu đã sẵn sàng để nhận. |
4.5.10.2 CTS_CONFIGURE
Hướng dẫn này được sử dụng để định cấu hình tất cả các thanh ghi CTS cần thiết như trình kích hoạt, thanh ghi bus kiểm tra, sampcấu hình ling, v.v.,
Ghi chú:
[1] cung cấp sự hiểu biết tốt hơn về cấu hình CTS. Dữ liệu đã thu thập sẽ được gửi như một phần của phản hồi đối với lệnh Mục 4.5.10.3.
4.5.10.2.1 Lệnh
Bảng 87. Giá trị lệnh CTS_CONFIGURE
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
PRE_TRIGGER_SHIFT | 1 Byte | Xác định độ dài của chuỗi thu thập sau kích hoạt theo đơn vị 256 byte. 0 có nghĩa là không thay đổi; n có nghĩa là dịch chuyển khối n*256 byte. Lưu ý: Chỉ hợp lệ nếu TRIGGER_MODE là chế độ kích hoạt “PRE” hoặc “COMB” |
TRIGGER_MODE | 1 Byte | Chỉ định chế độ Mua lại sẽ được sử dụng. |
0x00 – Chế độ ĐĂNG | ||
0x01 – RFU | ||
0x02 – Chế độ TRƯỚC | ||
0x03 – 0xFF – Không hợp lệ | ||
RAM_PAGE_WIDTH | 1 Byte | Chỉ định dung lượng bộ nhớ trên chip được bao phủ bởi việc thu nhận. Độ chi tiết được thiết kế chọn là 256 Byte (tức là 64 từ 32 bit). Các giá trị hợp lệ như sau: 0x00h – 256 byte 0x02h – 768 byte 0x01h – 512 byte 0x03h – 1024 byte 0x04h – 1280 byte 0x05h – 1536 byte 0x06h – 1792 byte 0x07h – 2048 byte 0x08h – 2304 byte 0x09h – 2560 byte 0x0Ah – 2816 byte 0x0Bh – 3072 byte 0x0Ch – 3328 byte 0x0Dh – 3584 byte 0x0Eh – 3840 byte 0x0Fh – 4096 byte 0x10h – 4352 byte 0x11h – 4608 byte 0x12h – 4864 byte 0x13h – 5120 byte 0x14h – 5376 byte 0x15h – 5632 byte 0x16h – 5888 byte 0x17h – 6144 byte 0x18h – 6400 byte 0x19h – 6656 byte 0x1Ah – 6912 byte 0x1Bh – 7168 byte 0x1Ch – 7424 byte 0x1Dh – 7680 byte 0x1Eh – 7936 byte 0x1Fh – 8192 byte |
SAMPLE_CLK_DIV | 1 Byte | Giá trị thập phân của trường này chỉ định hệ số phân chia tốc độ xung nhịp được sử dụng trong quá trình thu thập. Đồng hồ CTS = 13.56 MHz/2SAMPLE_CLK_DIV |
00 – 13560kHz 01 – 6780kHz 02 – 3390kHz 03 – 1695kHz 04 – 847.5kHz 05 – 423.75kHz 06 – 211.875kHz 07 – 105.9375kHz 08 – 52.96875kHz 09 – 26.484375kHz 10 – 13.2421875kHz 11 – 6.62109375kHz 12 – 3.310546875kHz 13 – 1.6552734375kHz 14 – 0.82763671875kHz 15 – 0.413818359375kHz |
||
SAMPLE_BYTE_SEL | 1 Byte | Các bit này được sử dụng để chỉ định byte nào của hai bus đầu vào 16 bit đóng góp vào cơ chế xen kẽ để tạo dữ liệu được truyền tới bộ nhớ trên chip. Ý nghĩa và cách sử dụng của chúng phụ thuộc vào SAMPGiá trị LE_MODE_SEL.
Lưu ý: Giá trị đã cho luôn được che bằng 0x0F và sau đó giá trị hiệu dụng được xem xét. |
SAMPLE_MODE_SEL | 1 Byte | Chọn sampchế độ xen kẽ ling như được mô tả bởi thông số kỹ thuật thiết kế CTS. Giá trị thập phân 3 được bảo lưu và sẽ được coi là 0. Lưu ý: Giá trị đã cho luôn được che bằng 0x03 và sau đó giá trị hiệu dụng được xem xét. |
TB0 | 1 Byte | Chọn bus thử nghiệm nào sẽ được kết nối với TB0. tham khảo Phần 7 (Giá trị TB_ Signal_Index) |
TB1 | 1 Byte | Chọn bus thử nghiệm nào sẽ được kết nối với TB1. tham khảo Phần 7 (Giá trị TB_ Signal_Index) |
TB2 | 1 Byte | Chọn bus thử nghiệm nào sẽ được kết nối với TB2. tham khảo Phần 7 (Giá trị TB_ Signal_Index) |
TB3 | 1 Byte | Chọn bus thử nghiệm nào sẽ được kết nối với TB3. tham khảo Phần 7 (Giá trị TB_ Signal_Index) |
TTB_SELECT | 1 Byte | Chọn TB nào sẽ được kết nối với nguồn kích hoạt. tham khảo Phần 7 (giá trị TB_Signal_Index) |
RFU | 4 Byte | Gửi luôn 0x00000000 |
MISC_CONFIG | 24 Byte | Sự xuất hiện kích hoạt, phân cực, v.v. Tham khảo [1] để hiểu về cấu hình CTS để sử dụng. |
4.5.10.2.2 Phản hồi
Bảng 88. Giá trị phản hồi CTS_CONFIGURE
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_THÀNH CÔNG PN5190_STATUS_INSTR_ERROR |
4.5.10.2.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.10.3 CTS_RETRIEVE_LOG
Lệnh này truy xuất nhật ký dữ liệu của dữ liệu bus thử nghiệm đã ghi lạiampcác tập tin được lưu trữ trong bộ nhớ đệm.
4.5.10.3.1 Lệnh
Bảng 89. Giá trị lệnh CTS_RETRIEVE_LOG
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
Kích thước đoạn | 1 byte | 0x01-0xFF | Chứa số byte dữ liệu dự kiến. |
4.5.10.3.2 Phản hồi
Bảng 90. Giá trị phản hồi CTS_RETRIEVE_LOG
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) PN5190_STATUS_SUCCSES_CHAINING |
||
Dữ liệu nhật ký [1…n] | CTSYêu cầu | Đã bắt được Samples Đoạn dữ liệu |
Ghi chú:
Kích thước tối đa của 'Dữ liệu nhật ký' phụ thuộc vào 'ChunkSize' đã được cung cấp như một phần của lệnh.
Tổng kích thước Nhật ký sẽ có sẵn trong phản hồi tiêu đề TLV.
4.5.10.3.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.11 Lệnh TEST_MODE
4.5.11.1 ANTENNA_SELF_TEST
Lệnh này được sử dụng để xác minh xem ăng-ten đã được kết nối chưa và các thành phần phù hợp đã được lắp/lắp ráp hay chưa.
Ghi chú:
Lệnh này chưa có sẵn. Xem các ghi chú phát hành cho tính khả dụng.
4.5.11.2 PRBS_TEST
Lệnh này được sử dụng để tạo chuỗi PRBS cho các cấu hình khác nhau của giao thức chế độ Reader và tốc độ bit. Sau khi lệnh được thực thi, trình tự kiểm tra PRBS sẽ khả dụng trên RF.
Ghi chú:
Máy chủ phải đảm bảo rằng cấu hình công nghệ RF thích hợp được tải bằng Mục 4.5.7.1 và RF được BẬT bằng lệnh Mục 4.5.8.1 trước khi gửi lệnh này.
4.5.11.2.1 Lệnh
Bảng 91. Giá trị lệnh PRBS_TEST
Trường trọng tải | Chiều dài | Giá trị / Mô tả | |
prbs_type | 1 Byte | 00 | PRBS9(mặc định) |
01 | PRBS15 | ||
02-FF | RFU |
4.5.11.2.2 Phản hồi
Bảng 92. Giá trị phản hồi PRBS_TEST
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR PN5190_STATUS_NO_RF_FIELD |
4.5.11.2.3 sự kiện
Không có sự kiện nào cho hướng dẫn này.
4.5.12 Lệnh thông tin chip
4.5.12.1 GET_DIEID
Lệnh này được sử dụng để đọc ID khuôn của chip PN5190.
4.5.12.1.1 Lệnh
Bảng 93. Giá trị lệnh GET_DIEID
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
– | – | Không có dữ liệu trong tải trọng |
4.5.12.1.2 Phản hồi
Bảng 94. Giá trị phản hồi GET_DIEID
trường trọng tải | Chiều dài | Giá trị/mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (không có thêm dữ liệu nào) |
||
Giá trị | 16 Byte | ID chết 16 byte. |
4.5.12.1.3 sự kiện
Không có sự kiện cho lệnh này.
4.5.12.2 GET_VERSION
Lệnh này được sử dụng để đọc phiên bản CTNH, phiên bản ROM và phiên bản FW của chip PN5190.
4.5.12.2.1 Lệnh
Bảng 95. Giá trị lệnh GET_VERSION
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
– | – | Không có dữ liệu trong tải trọng |
Có một lệnh DL_GET_VERSION (Phần 3.4.4) có sẵn trong chế độ tải xuống có thể được sử dụng để đọc phiên bản CTNH, phiên bản ROM và phiên bản FW.
4.5.12.2.2 Phản hồi
Bảng 96. Giá trị phản hồi GET_VERSION
Trường trọng tải | Chiều dài | Giá trị / Mô tả |
Trạng thái | 1 Byte | Tình trạng hoạt động [Bảng 9]. Các giá trị dự kiến như sau: |
PN5190_STATUS_SUCCESS PN5190_STATUS_INSTR_ERROR (Không có thêm dữ liệu nào) |
||
HW_V | 1 byte | Phiên bản phần cứng |
RO_V | 1 byte | mã ROM |
FW_V | 2 byte | Phiên bản phần sụn (được sử dụng để tải xuống) |
RFU1-RFU2 | 1-2 byte | – |
Phản hồi dự kiến đối với phiên bản khác của IC PN5190 được đề cập trong (Phần 3.4.4)
4.5.12.2.3 sự kiện
Không có sự kiện cho lệnh này.
Phụ lục (Ví dụampcác)
Phụ lục này bao gồm các examples cho các lệnh được đề cập ở trên. Người cũamples chỉ nhằm mục đích minh họa để hiển thị nội dung của lệnh.
5.1 Ví dụamptập tin cho WRITE_REGISTER
Chuỗi dữ liệu sau được gửi từ máy chủ để ghi giá trị 0x12345678 vào thanh ghi 0x1F.
Khung lệnh gửi tới PN5190: 0000051F78563412
Máy chủ để chờ ngắt.
Khi máy chủ đọc khung phản hồi nhận được từ PN5190 (biểu thị hoạt động thành công): 00000100 5.2 Examptập tin cho WRITE_REGISTER_OR_MASK
Chuỗi dữ liệu sau được gửi từ máy chủ để thực hiện thao tác OR logic trên thanh ghi 0x1F với mặt nạ là 0x12345678
Khung lệnh gửi tới PN5190: 0100051F78563412
Máy chủ để chờ ngắt.
Khi máy chủ đọc khung phản hồi nhận được từ PN5190 (cho biết hoạt động thành công): 01000100
5.3 Ví dụamptập tin cho WRITE_REGISTER_AND_MASK
Sau chuỗi dữ liệu được gửi từ máy chủ để thực hiện thao tác logic AND trên thanh ghi 0x1F với mặt nạ là 0x12345678
Khung lệnh gửi tới PN5190: 0200051F78563412
Máy chủ để chờ ngắt.
Khi máy chủ đọc khung phản hồi nhận được từ PN5190 (cho biết hoạt động thành công): 02000100
5.4 Ví dụamptập tin cho WRITE_REGISTER_MULTIPLE
Trình tự dữ liệu sau được gửi từ máy chủ để thực hiện thao tác logic AND trên thanh ghi 0x1F với mặt nạ là 0x12345678 và trên thao tác logic OR trên thanh ghi 0x20 với mặt nạ là 0x11223344 và ghi vào thanh ghi 0x21 với giá trị là 0xAABBCCDD.
Khung lệnh gửi tới PN5190: 0300121F03785634122002443322112101DDCCBBAA
Máy chủ để chờ ngắt.
Khi máy chủ đọc khung phản hồi nhận được từ PN5190 (cho biết hoạt động thành công): 03000100
5.5 Ví dụamptập tin cho READ_REGISTER
Theo chuỗi dữ liệu được gửi từ máy chủ để đọc nội dung của thanh ghi 0x1F và giả sử thanh ghi có giá trị 0x12345678
Khung lệnh gửi tới PN5190: 0400011F
Máy chủ để chờ ngắt.
Khi máy chủ đọc khung phản hồi nhận được từ PN5190 (cho biết hoạt động thành công): 0400050078563412
5.6 Ví dụamptập tin cho READ_REGISTER_MULTIPLE
Chuỗi dữ liệu sau được gửi từ máy chủ để đọc nội dung của các thanh ghi 0x1F chứa giá trị 0x12345678 và thanh ghi 0x25 chứa giá trị 0x11223344
Khung lệnh gửi tới PN5190: 0500021F25
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 050009007856341244332211
5.7 Ví dụamptập tin cho WRITE_E2PROM
Chuỗi dữ liệu sau được gửi từ máy chủ để ghi vào các vị trí E2PROM 0x0130 đến 0x0134 với nội dung là 0x11, 0x22, 0x33, 0x44, 0x55
Khung lệnh gửi tới PN5190: 06000730011122334455
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 06000100
5.8 Ví dụamptập tin cho READ_E2PROM
Chuỗi dữ liệu sau được gửi từ máy chủ để đọc từ các vị trí E2PROM 0x0130 đến 0x0134 trong đó nội dung được lưu trữ là: 0x11, 0x22, 0x33, 0x44, 0x55
Khung lệnh gửi tới PN5190: 07000430010500
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 070006001122334455
5.9 Ví dụamptập tin cho TRANSMIT_RF_DATA
Chuỗi dữ liệu sau được gửi từ máy chủ để gửi lệnh REQA (0x26), với số bit được truyền là '0x07', giả sử rằng các thanh ghi bắt buộc được đặt trước và RF được BẬT.
Khung lệnh gửi tới PN5190: 0800020726
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 08000100
5.10 Ví dụamptập tin cho RETREIVE_RF_DATA
Trình tự dữ liệu sau đây được gửi từ máy chủ để nhận dữ liệu đã nhận/được lưu trữ trong bộ đệm CLIF bên trong (giả sử đã nhận được 0x05), giả sử rằng TRANSMIT_RF_DATA đã được gửi sau khi RF được BẬT.
Khung lệnh gửi tới PN5190: 090000
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 090003000400
5.11 Ví dụamptập tin cho EXCHANGE_RF_DATA
Sau đây là chuỗi dữ liệu được gửi từ máy chủ để truyền REQA (0x26), với số bit trong byte cuối cùng cần gửi được đặt là 0x07, với tất cả trạng thái được nhận cùng với dữ liệu. Giả định rằng các thanh ghi RF yêu cầu đã được thiết lập và RF được BẬT.
Khung lệnh gửi tới PN5190: 0A0003070F26
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, khung nhận được từ PN5190 (cho biết hoạt động thành công): 0A000 F000200000000000200000000004400
5.12 Ví dụamptập tin cho LOAD_RF_CONFIGURATION
Sau đây là chuỗi dữ liệu được gửi từ máy chủ để thiết lập cấu hình RF. Đối với TX, 0x00 và đối với RX, 0x80
Khung lệnh gửi tới PN5190: 0D00020080
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, khung nhận được từ PN5190 (cho biết hoạt động thành công): 0D000100
5.13 Ví dụamptập tin cho UPDATE_RF_CONFIGURATION
Chuỗi dữ liệu sau được gửi từ máy chủ để cập nhật cấu hình RF. Đối với TX, 0x00, có địa chỉ đăng ký cho CLIF_CRC_TX_CONFIG và giá trị là 0x00000001
Khung lệnh gửi tới PN5190: 0E0006001201000000
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, khung nhận được từ PN5190 (cho biết hoạt động thành công): 0E000100
5.14 Ví dụamptập tin cho RF_ON
Sau đây là chuỗi dữ liệu được gửi từ máy chủ để BẬT trường RF bằng cách tránh va chạm và Không kích hoạt P2P. Giả sử cấu hình RF TX và RX tương ứng đã được đặt trong PN5190.
Khung lệnh gửi tới PN5190: 10000100
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 10000100
5.15 Ví dụamptập tin cho RF_OFF
Sau đây là chuỗi dữ liệu được gửi từ máy chủ để TẮT trường RF.
Khung lệnh gửi tới PN5190: 110000
Máy chủ để chờ ngắt.
Khi máy chủ đọc phản hồi, nhận được khung từ PN5190 (cho biết hoạt động thành công): 11000100
Phụ lục (chỉ số cấu hình giao thức RF)
Phụ lục này bao gồm các chỉ mục cấu hình giao thức RF được PN5190 hỗ trợ.
Cài đặt cấu hình TX và RX phải được sử dụng trong các lệnh Mục 4.5.7.1, Mục 4.5.7.2, Mục 4.5.7.3.
Phụ lục (tín hiệu CTS và TESTBUS)
Bảng bên dưới chỉ định các tín hiệu khác nhau có sẵn từ PN5190 để thu bằng cách sử dụng hướng dẫn CTS (Phần 4.5.10) và hướng dẫn TESTBUS.
Chúng phải được sử dụng cho lệnh Mục 4.5.9.1, Mục 4.5.9.2, Mục 4.5.10.2.
Viết tắt
Bảng 97. Các chữ viết tắt
Viết tắt | Nghĩa |
CLK | Cái đồng hồ |
DWL_REQ | Mã pin yêu cầu tải xuống (còn được gọi là DL_REQ) |
Bộ nhớ EEPROM | Điện xóa được Programmable Read-Only Memory |
FW | Phần mềm |
GND | Đất |
GPIO | Đầu vào mục đích chung Đầu ra |
HW | Phần cứng |
Tôi²C | Mạch tích hợp liên kết (bus dữ liệu nối tiếp) |
IRQ | Yêu cầu ngắt |
ISO / IEC | Tổ chức tiêu chuẩn quốc tế / Cộng đồng kỹ thuật điện quốc tế |
NFC | Giao tiếp trường gần |
OS | Hệ điều hành |
PCD | Thiết bị ghép nối tiệm cận (Đầu đọc không tiếp xúc) |
PICC | Thẻ mạch tích hợp tiệm cận (Thẻ không tiếp xúc) |
Ban quản lý dự án | Đơn vị quản lý điện năng |
POR | Đặt lại khi bật nguồn |
RF | Tần số vô tuyến |
RST | Cài lại |
SFWU | chế độ tải xuống phần sụn an toàn |
SPI | Giao diện ngoại vi nối tiếp |
VEN | V Kích hoạt pin |
Tài liệu tham khảo
[1] Phần cấu hình CTS của NFC Cockpit, https://www.nxp.com/products/:NFC-COCKPIT[2] Bảng dữ liệu IC PN5190, https://www.nxp.com/docs/en/data-sheet/PN5190.pdf
Thông tin pháp lý
10.1 Định nghĩa
Bản nháp - Trạng thái bản nháp trên tài liệu cho biết rằng nội dung vẫn thuộc nội bộview và tùy thuộc vào sự chấp thuận chính thức, có thể dẫn đến việc sửa đổi hoặc bổ sung. NXP Semiconductors không đưa ra bất kỳ tuyên bố hoặc bảo đảm nào về tính chính xác hoặc đầy đủ của thông tin có trong bản thảo của một tài liệu và sẽ không chịu trách nhiệm về hậu quả của việc sử dụng thông tin đó.
10.2 Tuyên bố từ chối
Bảo hành và trách nhiệm có giới hạn - Thông tin trong tài liệu này được cho là chính xác và đáng tin cậy. Tuy nhiên, NXP Semiconductors không đưa ra bất kỳ tuyên bố hoặc bảo đảm nào, được thể hiện hoặc ngụ ý, về tính chính xác hoặc đầy đủ của thông tin đó và sẽ không chịu trách nhiệm về hậu quả của việc sử dụng thông tin đó. NXP Semiconductors không chịu trách nhiệm về nội dung trong tài liệu này nếu được cung cấp bởi một nguồn thông tin bên ngoài NXP Semiconductors.
Trong mọi trường hợp, NXP Semiconductors sẽ không chịu trách nhiệm pháp lý cho bất kỳ thiệt hại gián tiếp, ngẫu nhiên, trừng phạt, đặc biệt hoặc do hậu quả nào (bao gồm – nhưng không giới hạn ở lợi nhuận bị mất, tiền tiết kiệm bị mất, gián đoạn kinh doanh, chi phí liên quan đến việc loại bỏ hoặc thay thế bất kỳ sản phẩm nào hoặc phí làm lại) cho dù hoặc không phải những thiệt hại như vậy dựa trên hành vi sai trái (bao gồm sơ suất), bảo hành, vi phạm hợp đồng hoặc bất kỳ lý thuyết pháp lý nào khác.
Bất kể mọi thiệt hại mà khách hàng có thể phải gánh chịu vì bất kỳ lý do gì, trách nhiệm pháp lý tổng hợp và tích lũy của NXP Semiconductors đối với khách hàng đối với các sản phẩm được mô tả ở đây sẽ được giới hạn theo quy định của
Điều khoản và điều kiện bán thương mại NXP Semiconductors.
Quyền thực hiện thay đổi - NXP Semiconductors có quyền thực hiện các thay đổi đối với thông tin được công bố trong tài liệu này, bao gồm nhưng không giới hạn thông số kỹ thuật và mô tả sản phẩm, bất kỳ lúc nào và không cần thông báo. Tài liệu này thay thế và thay thế tất cả thông tin được cung cấp trước khi xuất bản tài liệu này.
Tính phù hợp để sử dụng - Các sản phẩm Chất bán dẫn NXP không được thiết kế, ủy quyền hoặc bảo hành để phù hợp để sử dụng trong các hệ thống hoặc thiết bị hỗ trợ sự sống, quan trọng về tính mạng hoặc quan trọng về an toàn, cũng như trong các ứng dụng mà sản phẩm Chất bán dẫn NXP có thể dự kiến một cách hợp lý dẫn đến thương tích cá nhân, tử vong hoặc thiệt hại nghiêm trọng về tài sản hoặc môi trường. NXP Semiconductors và các nhà cung cấp của nó không chịu bất kỳ trách nhiệm pháp lý nào đối với việc đưa và / hoặc sử dụng các sản phẩm NXP Semiconductors trong các thiết bị hoặc ứng dụng đó và do đó việc đưa vào và / hoặc sử dụng đó là rủi ro của riêng khách hàng.
Ứng dụng - Các ứng dụng được mô tả ở đây cho bất kỳ sản phẩm nào trong số này chỉ dành cho mục đích minh họa. NXP Semiconductors không tuyên bố hoặc bảo đảm rằng các ứng dụng đó sẽ phù hợp với mục đích sử dụng được chỉ định mà không cần thử nghiệm hoặc sửa đổi thêm.
Khách hàng chịu trách nhiệm cho việc thiết kế và vận hành các ứng dụng và sản phẩm của họ bằng cách sử dụng các sản phẩm NXP Semiconductors và NXP Semiconductors không chịu trách nhiệm về bất kỳ sự trợ giúp nào đối với các ứng dụng hoặc thiết kế sản phẩm của khách hàng. Khách hàng có trách nhiệm duy nhất là xác định xem sản phẩm NXP Semiconductors có phù hợp và phù hợp với các ứng dụng và sản phẩm của khách hàng được lên kế hoạch hay không, cũng như cho việc ứng dụng và sử dụng theo kế hoạch của (các) khách hàng bên thứ ba của khách hàng. Khách hàng nên cung cấp các biện pháp bảo vệ thiết kế và vận hành thích hợp để giảm thiểu rủi ro liên quan đến các ứng dụng và sản phẩm của họ.
NXP Semiconductors không chịu bất kỳ trách nhiệm pháp lý nào liên quan đến bất kỳ lỗi, thiệt hại, chi phí hoặc vấn đề mặc định nào dựa trên bất kỳ điểm yếu hoặc lỗi nào trong các ứng dụng hoặc sản phẩm của khách hàng, hoặc ứng dụng hoặc việc sử dụng của (các) khách hàng bên thứ ba của khách hàng. Khách hàng có trách nhiệm thực hiện tất cả các thử nghiệm cần thiết đối với các ứng dụng và sản phẩm của khách hàng bằng cách sử dụng các sản phẩm NXP Semiconductors để tránh việc ứng dụng và sản phẩm hoặc ứng dụng bị lỗi hoặc sử dụng bởi (các) khách hàng bên thứ ba của khách hàng. NXP không chịu bất kỳ trách nhiệm pháp lý nào về mặt này.
NXP BV – NXP BV không phải là một công ty điều hành và không phân phối hay bán sản phẩm.
10.3 Giấy phép
Mua IC NXP có công nghệ NFC — Mua IC bán dẫn NXP tuân thủ một trong các tiêu chuẩn Giao tiếp trường gần (NFC) ISO/IEC 18092 và ISO/IEC 21481 không chuyển tải giấy phép ngụ ý theo bất kỳ quyền sáng chế nào bị vi phạm khi triển khai bất kỳ tiêu chuẩn nào trong số đó. Việc mua IC bán dẫn NXP không bao gồm giấy phép cho bất kỳ bằng sáng chế NXP nào (hoặc quyền IP khác) bao gồm sự kết hợp của các sản phẩm đó với các sản phẩm khác, cho dù là phần cứng hay phần mềm.
10.4 Nhãn hiệu
Lưu ý: Tất cả các nhãn hiệu được tham chiếu, tên sản phẩm, tên dịch vụ và nhãn hiệu là tài sản của chủ sở hữu tương ứng của chúng.
NXP - chữ và logo là thương hiệu của NXP BV
EdgeVerse — là thương hiệu của NXP BV
FeliCa — là thương hiệu của Tập đoàn Sony.
MIFARE — là thương hiệu của NXP BV
MIFARE Classic — là thương hiệu của NXP BV
Xin lưu ý rằng những thông báo quan trọng liên quan đến tài liệu này và sản phẩm được mô tả trong tài liệu này đã được đưa vào phần 'Thông tin pháp lý'.
© 2023 NXP BV
Để biết thêm thông tin, vui lòng truy cập: http://www.nxp.com
Mọi quyền được bảo lưu.
Ngày phát hành: 25 tháng 2023 năm XNUMX
Định danh tài liệu: UM11942
Tài liệu / Tài nguyên
![]() |
Bộ điều khiển giao diện NFC NXP PN5190 [tập tin pdf] Hướng dẫn sử dụng PN5190, PN5190 Bộ điều khiển đầu cuối NFC, Bộ điều khiển đầu cuối NFC, Bộ điều khiển, UM11942 |