A and B, Mifare, FeliCa and ISO 18092 or NFC tags. It can operate in both office and field-based environments using it PC-linked and standalone modes, respectively. For PC-linked Mode, ACR89U-A2 acts as the intermediary device between the PC and the card. The reader, specifically to communicate with a contactless tag, MCU card, SAM card or device peripherals, will carry out a command issued from the PC.
The ACR89U-A2 is connected to a computer through USB following the USB standard. 2.3. Communication Parameters The ACR89U-A2 is connected to a computer through USB as specified in the USB Specification 2.0., working in full speed mode, i.e. 12 Mbps.
The carrier frequency for ACR89U-A2 is 13.56 MHz. 2.6.2. Card Polling The ACR89U-A2 automatically polls the contactless tags that are within the field. ISO 14443-4 Type A, ISO 14443-4 Type B, Mifare, FeliCa and NFC tags are supported. Page 6 of 80 ACR89U-A2 –...
Maximum supported ICC I/O data dwMaxDataRate 00032673h rate is 206,451 bps Does not support manual setting of bNumDataRatesSupported data rates Maximum IFSD supported by dwMaxIFSD 00000FEh ACR89 for protocol T=1 is 254 Page 7 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
ACR89 supports PIN Verification bPINSupport and PIN Modification Only 1 slot can be simultaneously bMaxCCIDBusySlots busy Table 2: ACR89 Supported CCID Features Class Descriptor Note: Standard CCID adopts little endian mode. Page 8 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Stop any current processing command and return to a state where ACR89 is ready to accept a new command: bmRequestType bRequest wValue wIndex wLength Data ABORT 00100001b bSeq, bSlot Interface 0000h None (01h) Page 9 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
03h = 1.8 volts abRFU Reserved for future use The response to this message is the RDR_to_PC_DataBlock message and the data returned is the Answer To Reset (ATR) data. Page 10 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 11
Size of extra bytes of this message bSlot Identifies the slot number for this command bSeq Sequence number for command abRFU Reserved for future use The response to this message is the RDR_to_PC_SlotStatus message. Page 11 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 12
Size of extra bytes of this message bSlot Identifies the slot number for this command bSeq Sequence number for command abRFU Reserved for future use The response to this message is the RDR_to_PC_SlotStatus message. Page 12 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 13
Data block sent to the CCID. Data is sent abData array “as is” to the ICC (TPDU exchange level). The response to this message is the RDR_to_PC_DataBlock message. Page 13 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 14
Size of extra bytes of this message bSlot Identifies the slot number for this command bSeq Sequence number for command abRFU Reserved for future use The response to this message is the RDR_to_PC_Parameters message. Page 14 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 15
Size of extra bytes of this message bSlot Identifies the slot number for this command bSeq Sequence number for command abRFU Reserved for future use The response to this message is the RDR_to_PC_Parameters message. Page 15 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 16
00h = Stopping the Clock is not allowed bClockStop 01h = Stop with Clock signal Low 02h = Stop with Clock signal High 03h = Stop with Clock either High or Low Page 16 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 17
03h = Stop with Clock either High or Low bIFSC Size of negotiated IFSC bNadValue Only supports NAD = 00h The response to this message is the RDR_to_PC_Parameters message. Page 17 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
ACR89_ERROR wReturnCode in ACR89 response. ACR89 is operating in a mode that INVALID_MODE does not support this command DEVICE_VOID ACR89 is not initialized Table 3: PC_to_RDR_Escape Extended Response Page 18 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 19
Modification Data Structure The response to this message is the RDR_to_PC_DataBlock. Note: Refer to standard CCID Session 4.1.11 for detail PIN Verification Data Structure and PIN Modification Data Structure. Page 19 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 20
Size of extra bytes of this message BSlot Identifies the slot number for this command BSeq Sequence number for command AbRFU 000000h The response to this message is the RDR_to_PC_SlotStatus message. Page 20 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Slot status and error register as defined in bError Section 3.7 bChainParameter RFU (TPDU exchange level) This field contains the data returned Byte AbData array by the CCID Page 21 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 22
01h = Clock stopped in state L bClockStatus 02h = Clock stopped in state H 03h = Clock stopped in an unknown state All other values are RFU Page 22 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 23
80h = Structure for 2-wire protocol 81h = Structure for 3-wire protocol 82h = Structure for I2C protocol Protocol Data Structure as Byte abProtocolDataStructure summarized in standard CCID array Session 5.2.3 Page 23 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 24
Slot status and error register as defined in bError Section 3.7 bRFU Depending on its corresponding extended Byte abData command, the data responded by ACR89 array vary and are specified in Section 3.5.4. Page 24 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Key input timeout time value counted in second. Effective only bTimeoutValue when key input timeout control bit of bKeyInputMode field is 0. The response to this command is the ACR89_to_PC_DataBlock message. Page 27 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 28
Reserved for future bRowPosition 00h to 07h New cursor row position New cursor column bColumnPosition 00h to 7Fh position The response to this command is the ACR89_to_PC_DisplayStatus message. Page 28 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 29
Reserved for future 00h - turns off backlight BBacklight 00h or 01h 01h - turns on backlight Others values RFU The response to this command is the ACR89_to_PC_DisplayStatus message. Page 29 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 30
All other values are RFU Byte Character string of encoding format AbData Ascii array stated in bCharCoding field The response to this command is the ACR89_to_PC_DisplayStatus message. Page 30 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
The sum of wCmdLength and bColumnPosition cannot exceed the column number of LCD (128). 0 1 2 …… Column Figure 3: PC_to_ACR89_DisplayGraphic – Bitmap Format The response to this command is the ACR89_to_PC_DisplayStatus message. Page 31 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 32
The value range is between 00h to 63h. Larger the value darkens the contrast. Lower range, on the other hand, brightens the contrast. The whole LCD display and image affects the contrast level. Page 32 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk...
Page 33
For bClearMode = 02h – Number of columns to be cleared Not significant otherwise The response to this command is the ACR89_to_PC_DisplayStatus message. Page 33 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 34
Offset Field Name Type Size Value Description BCmdCode wCmdLength 0000h Size of command data (in big endian) AbRFU 0000h The response to this command is the ACR89_to_PC_TimeStamp message. Page 34 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 35
Size of command data (in big endian) AbRFU 0000 New real time clock value. Format in bRTCValue YY, MM, DD, HH, MI and SS. The response to this command is the ACR89_to_PC_TimeStamp message. Page 35 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 36
Other value – Activate buzzer for number of hundredth milliseconds and then turn off the buzzer The response to this command is the ACR89_to_PC_Echo message. Page 36 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 37
Address of EEPROM (in big endian) Length of Data (Write/Read) (in big wDataLength Var… endian) bEeprom Data Var.. EEPROM data The response to this command is the ACR89_to_PC_DataBlock message. Page 37 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 38
Bit0 : 1- Selects Red color Bit1 : 1- Selects Green color Slot2 LED Bit2 : 1- Selects Yellow color Bit7 : 0-OFF/1-ON The response to this command is ACR89_to_PC_Echo. Page 38 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 39
Not less than bStartBlockNum bEndBlockNum The response to this command is the ACR89_to_PC_ExMemStatus message. Note: The current size of one flash block is 64k bytes. Page 39 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 40
Start address of flash page AbAddress xxxxxx00h (in little endian) AbData Data write to a flash page bCheckSum Checksum of AbData The response to this command is the ACR89_to_PC_ExMemStatus message. Page 40 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 41
Field Name Type Size Value Description bCmdCode Command Code Start address of flash page AbAddress xxxxxx00h (in little endian) The response to this command is the ACR89_to_PC_MemoryPage message. Page 41 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 42
Type Size Value Description bCmdCode Command Code 01h = boot loader version bVersionType 02h = application version AbRFU 000000h The response to this command is the ACR89_to_PC_VersionInfo message. Page 42 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 43
3.5.2.17. PC_to_ACR89_ AuthInfo This command reads RomID and RomData. Offset Field Name Type Size Value Description bCmdCode Command Code AbRFU 00…00h The response to this command is the ACR89_to_PC_AuthInfo message. Page 43 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Description BrespType WReturnCode Command response code (in big endian) WRespLength Var… Size of response data (in big endian) This field contains the data returned by Bdata … ACR89 Page 45 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 46
Command response code (in big wReturnCode endian) wRespLength 0002h Size of response data (in big endian) bRowPosition 00h to 07h Current cursor row position bColumnPosition 00h to 7Fh Current cursor column position Page 46 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 47
Command response code (in big endian) wRespLength 0006h Size of response data (in big endian) Current real time clock value. Format in YY, bTimeStamp MM, DD, HH, MI and SS Page 47 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 48
Value Description bRespType Command response code, If command wReturnCode 90 00h success, it returns 90 00h (in big endian) wRespLength 0000 Size of response data (in big endian) Page 48 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 49
PC_to_ACR89_ProgramSPIFlash command. Offset Field Name Size Value Description bRespType Command return state (please refer to later bReturnState section). bErrorCode Error code (please refer to later section). AbRFU 0000h Page 49 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 50
Error code (please refer to later section) AbRFU 0000h AbData Data read from a flash page bCheckSum Checksum of AbData Note: There will be no AbData and bCheckSum parts when command failed. Page 50 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 51
Error code (please refer to later bErrorCode section) wInfoLength Size of bInfoData (in little endian) Firmware version information bInfoData (ASCII) Note: The wInfoLength is zero when there is no valid version information. Page 51 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 52
Error code (please refer to later bErrorCode section) AbRFU 0000h AbRomID Unique ID AbRFU Note: There will be no parts from offset 15 when command failed. Page 52 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
ADDRESS_ERROR Address parameter is not correct FRAME_ERROR Command frame format is not correct CHECKSUM_ERROR Check sum for data part is not correct Table 7: Extended Command Error Codes Page 53 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Bit 3 = Slot 1 changed status Bit 4 = Slot 2 current state Bit 5 = Slot 2 changed status Bit 6 = 0b Bit 7 = 0b Page 54 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Tried running a command that the current INVALID_MODE operation mode does not allow Reserved for future use (All the rest unmentioned values) Table 8: CCID Error and Status Code Page 55 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
4.1.2. Pseudo APDUs for Contactless Interface 4.1.2.1. Direct Transmit with ACR89U-A2 Format To send a Pseudo APDU (Contactless Chip and Tag commands), and the Response Data will be returned. Direct Transmit Command Format (Length of the Contactless Chip and Tag Command + 5 Bytes)
Page 60
106kbps InnoVision Jewel tag This field is not used Data Out Contactless Chip and Tag Response. Contactless Chip and Tag Response returned by the reader. Page 60 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
The TAG does not response. The checksum of the Response is Checksum Error 63 27h wrong. Parameter Error 63 7Fh The TAG Command is wrong. Table 11: Direct Transmit Response Codes Page 62 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 63
To get the serial number of the connected PICC: UINT8 GET_UID[5]={0xFFh, 0xCAh, 0x00h, 0x00h, 0x00h} Example 2: To get the ATS of the connected ISO 14443 A PICC UINT8 GET_ATS[5]={0xFFh, 0xCAh, 0x01h, 0x00h, 0x00h}; Page 63 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 64
Example: Load a key {FF FF FF FF FF FFh} into the key location 0x00h. APDU = {FF 82 00 00 06 FF FF FF FF FF FFh} Page 64 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 65
Response Data Out Result Load Authentication Keys Response Codes Results SW1 SW2 Meaning The operation is completed Success 90 00h successfully. Error 63 00h The operation has failed. Page 65 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Table 13: Mifare 4K Memory Map Example 1: To authenticate Block 0x04h with the following characteristics: TYPE A, non-volatile, key number 0x00h, from PC/SC V2.01 (Obsolete). APDU = {FF 88 00 60 00h}; Page 66 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
10 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0Fh} Example 2: Update the binary block 0x04h of Mifare Ultralight with Data {00 01 02 03h} APDU = {FF D6 00 04 00 01 02 03h} Page 69 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 70
Response Data Out Result Value Block Operation Response Codes Results SW1 SW2 Meaning Success 90 00h The operation is completed successfully. Error 63 00h The operation has failed. Page 70 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 71
Example 2: Decimal 1 = {0x00h, 0x00h, 0x00h, 0x01h} Value Read Value Block Response Codes Results SW1 SW2 Meaning Success 90 00h The operation is completed successfully. Error 63 00h The operation has failed. Page 71 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 72
0x06h APDU = {FF D7 06h} Example 4: Increment the value block 0x05h by “5” APDU = {FF D7 00 00 00 05h} Answer: 90 00h [$9000] Page 72 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 73
4.1.2.4. Access PC/SC Compliant Tags (ISO 14443-4) All ISO 14443-4 compliant cards (PICCs) would understand the ISO 7816-4 APDUs. The ACR89U-A2 Reader needs to communicate with the ISO 14443-4 compliant cards through exchanging ISO 7816-4 APDUs and Responses. ACR89U-A2 will handle the ISO 14443 Parts 1-4 Protocols internally.
Page 74
Class = 0x80h; INS = 0xB2h; P1 = 0x80h; P2 = 0x00h; Lc = None; Data In = None; Le = 0x08h Answer: 00 01 02 03 04 05 06 07h [$9000] Page 74 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
In which, the first byte “AFh” is the status code returned by the DESFire Card. The Data inside the blanket [$1DD7] can simply be ignored by the application. Page 76 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Page 77
1. If the response length is less than 2, the status code [90 00h] will be added in order to meet the requirement of PC/SC. The minimum response length is 2. Page 77 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk...
Data Exchange Response Note: The NFC ID can be obtained by using the APDU “FF CA 00 00 00h.” Please refer to the FeliCa specification for more detailed information. Page 78 of 80 ACR89U-A2 – Reference Manual info@acs.com.hk www.acs.com.hk Version 1.00...
Need help?
Do you have a question about the ACR89U-A2 and is the answer not in the manual?
Questions and answers