ACR122S – Communication Protocol
Version 2.01
www.acs.com.hk
Page 49 of 57
6.8. Basic program flow for FeliCa applications
Step 0. Start the application. The first thing to do is to activate the “SAM Interface”. The ATR of the
SAM (if a SAM is inserted) or a Pseudo-ATR “3B 00” (if no SAM is inserted) will be returned.
In other words, the SAM always exists from the view of the application.
Step 1. The second thing to do is to change the operating parameters of the contactless chip. Set the
Retry Time to two.
Step 2. Poll a FeliCa Tag by sending “Direct Transmit” and “Get Response” APDUs (Tag Polling).
Step 3. If no tag is found, go back to Step 2 until a FeliCa Tag is found.
Step 4. Access the FeliCa Tag by sending APDUs (Tag Read or Write).
Step 5. If there is no any operation with the FeliCa Tag, then go back to Step 2 to poll the other
FeliCa Tag.
..
Step N. Deactivate the “SAM Interface”. Shut down the application.
Notes:
1. The default Retry Time of the Tag command “InListPassiveTarget” is infinity. Send the APDU
“FF 00 00 00 06 D4 32 05 00 00 01” to change the Retry Time to two.
2. It is recommended to turn off the Antenna if there is no contactless access.
APDU for turning on the Antenna Power = APDU “FF 00 00 00 04 D4 32 01 03”
APDU for turning off the Antenna Power = APDU “FF 00 00 00 04 D4 32 01 02”
6.9. Basic program flow for NFC Forum Type 1 tag applications
Example: Jewel and Topaz tags.
Typical sequence may be:
1. Scanning the tags in the field (Polling).
2. Read/Update the memory of the tag.
3. Deselect the tag.
Step 1. Set the retry time.
HOST -> 02 6F 0B 00 00 00 00 01 00 00 00 (HOST_to_RDR_XfrBlock Format)
HOST -> FF 00 00 00 06 D4 32
05 00 00 01 [
Checksum] 03
RDR -> 02 00 00 03 (Waiting the Tag)
RDR -> 02 80 04 00 00 00 00 01 01 00 00
RDR -> D5 33 90 00 [Checksum] 03
Step 2. Polling
for the Jewel or Topaz Tag, 106 kbps.
HOST -> 02 6F 09 00 00 00 00 01 00 00 00 (HOST_to_RDR_XfrBlock Format)
HOST -> FF 00 00 00 04 D4 4A
01 04 [
Checksum] 03
RDR -> 02 00 00 03 (Waiting the Tag)
RDR -> 02 80 0C 00 00 00 00 01 01 00 00
RDR -> D5 4B
01
01
0C 00
B5 3E 21 00
90 00 [Checksum] 03