Разница между "Командой прямой передачи" (ACR122U) и "PC_to_RDR_Escape" (ACR1251U)

StackOverflow https://stackoverflow.com//questions/25084197

Вопрос

Я знаю, что с ACR122U вы можете передавать прямые сообщения на контроллер NFC (PN532), используя команду direct transmit: 0xff 0x00 0x00 0x00....

Когда я читал руководство к ACR1251U, там говорилось: Команды управления периферийными устройствами считывателя реализуются с помощью PC_to_RDR_Escape.

Что именно это означает?Означает ли это, что невозможно отправлять прямые сообщения на контроллер NFC?Если это возможно, где вы можете найти, какой NFC-контроллер он использует?

Любая информация приветствуется!

Заранее благодарю.

Это было полезно?

Решение

"Команда прямой передачи" - это формат APDU, который позволяет отправлять собственные команды на NFC-контроллер PN532, встроенный в считывающее устройство ACR122U.Таким образом, это в основном определяет перенос, позволяющий встроить собственные команды в протокол на основе APDU, по которому вы общаетесь с читателем через PC / SC (& CCID):

 0xFF 0x00 0x00 0x00 <Lc> <DATA>

где <DATA> на самом деле это команда для PN532.

PC_to_RDR_Escape это сообщение CCID (класс устройства / протокол, передаваемый по USB), которое вызывается стеком PC / SC при отправке escape-команды.Например, если вы используете Java SmartcardIO API для Card.transmitControlCommand() метод, стек PC /SC отправит PC_to_RDR_Escape сообщение по USB.Читатель отвечает на это сообщение следующим RDR_to_PC_Escape ответ.

Аналогично, если вы используете метод CardChannel.transmit() метод, это приводит к тому, что стек PS / SC выдает один (или несколько?) PC_to_RDR_XfrBlock сообщения по USB.

Как вы выяснили в этот ответ, похоже, что вы бы использовали формат APDU "команды прямой передачи" для обоих методов обмена командами.

Нужно ли вам использовать команду escape или команду transmit, по-видимому, зависит от версии встроенного ПО устройства чтения.Например, для версий прошивки 101, 102 (и 103?) вам обычно нужна только команда передачи, но версии следующего поколения (2xx), похоже, предпочитают / требуют (если они не эмулируют ATR) подход escape command.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top