Atmel CryptoRF AT88RF1354 User Manual
Atmel CryptoRF AT88RF1354 User Manual

Atmel CryptoRF AT88RF1354 User Manual

Hide thumbs Also See for CryptoRF AT88RF1354:

Advertisement

Quick Links

AT88RF1354
SPI User Guide
®
For CryptoRF
8586A—RFID—5/09

Advertisement

Table of Contents
loading

Summary of Contents for Atmel CryptoRF AT88RF1354

  • Page 1 AT88RF1354 SPI User Guide ® For CryptoRF 8586A—RFID—5/09...
  • Page 2: Table Of Contents

    Table of Contents Section 1 Introduction..........................1-1 Product Description...................... System Diagram......................Scope ........................... 1-2 Conventions ......................... 1-2 Section 2 AT88RF1354 Instruction Set....................Abort Command [$0D] ....................2-2 Clear Command [$0E] ....................Poll Continuous (REQB) Command [$02] ..............Poll Single (REQB) Command [$01]................Poll Single (WUPB) Command [$01] ................
  • Page 3 Table of Contents (continued) Appendix C Index............................. C-1 Figure Index ......................... Table Index ........................Revision History ......................C-2 AT88RF1354 SPI User Guide for CryptoRF 8586A—RFID—5/09...
  • Page 4: Introduction

    Section 1 Introduction Features AT88RF1354 Instruction Set Examples CryptoRF Instruction Set Examples AT88RF1354 Register Definitions Summary Initialization Procedure Description This document describes the instruction set examples for the AT88RF1354 13.56 MHz ISOI/IEC 14443 Type B Reader IC and the CryptoRF PICC. Device initialization examples are included for reference by the software developer or embedded systems programmer using this RF reader.
  • Page 5: Scope

    Hexadecimal Number – denotes a hex number “xx” (Most Significant Bit on left). xxxx b: Binary Number – denotes a binary number “xxxx” (Most Significant Bit on left). See Atmel Application Note Understanding the Requirements of ISO/IEC 14443 for Type B Proximity Contactless Identification Cards at www.atmel.com for detailed information regarding the ISO/IEC 14443 RF communication protocol.
  • Page 6 AT88RF1354 SPI User Guide For CryptoRF 1.4.1 SPI Command Format Each command example shown in this document is presented in two formats. First each command is shown as a high level illustration (Figure 2). This illustration shows high level byte information plus processing and signaling information.
  • Page 7 AT88RF1354 SPI User Guide For CryptoRF Figure 2. Illustration Example – Serial Communications with the SPI Interface Host Reader PICC Send six bytes AT88RF1354 command Bytes sent to PICC AT88RF1354 PARAM PICC command PICC PARAM Command Processing RF Transmit Command Command Processing RF Transmit Response Response Processing...
  • Page 8 AT88RF1354 SPI User Guide For CryptoRF Figure 3. Detail Example – Serial Communications with the SPI Interface String Decode > O0006 Host sends six bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 2 bytes are sent to the PICC. >...
  • Page 9 AT88RF1354 SPI User Guide For CryptoRF 1.4.2 ACK/NACK Response Byte The first byte of each response is usually an ACK/NACK byte which indicates if the requested operation succeeded or failed. The bit definitions for the ACK/NACK byte are shown in Figure 4 and Figure 5.
  • Page 10 AT88RF1354 SPI User Guide For CryptoRF 1.4.3 First Response Byte By Command The first byte of each response indicates if the requested operation succeeded or failed. When a command initiates a RF operation where the reader and PICC talk, the first response byte will always be the AT88RF1354 EREG register contents.
  • Page 11: At88Rf1354 Instruction Set

    Section 2 AT88RF1354 Instruction Set Table 3. Instruction Set Sorted by Command Name Command Name Description Code Abort Exit Command in Progress Clear Exit Command in Progress, Clear Buffer, Turn RF OFF Poll Continuous Poll Continuously for Type B PICCs Poll Single (REQB) Poll Once for Type B PICCs Poll Single (WUPB)
  • Page 12: Abort Command [$0D]

    ® AT88RF1354 SPI User Guide For CryptoRF Abort Command [$0D] This command aborts a command in progress and places the reader in the idle state. 2.1.1 Command Format Host Reader PICC Send one byte Abort ($0D) Command Processing ISTAT goes High Get one byte Response Bytes ACK/NACK...
  • Page 13: Clear Command [$0E]

    AT88RF1354 SPI User Guide For CryptoRF Clear Command [$0E] This command aborts a command in progress, turns off the RF field, clears the RAM buffer, and places the reader in the idle state. 2.2.1 Command Format Host Reader PICC Send one byte Clear ($0E) Command Processing ISTAT goes High...
  • Page 14: Poll Continuous (Reqb) Command [$02]

    ® AT88RF1354 SPI User Guide For CryptoRF Poll Continuous (REQB) Command [$02] This command performs multiple Type B polling sequences to detect cards near the antenna. The first response is returned to the host. In the event a card response containing a communication error is received, then an error code is returned.
  • Page 15 AT88RF1354 SPI User Guide For CryptoRF 2.3.2 Example String Decode > O0003 Host sends three bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 POLL CONTINUOUS command. Poll for Type B PICC's until a response is received. > To PICC: AFI. A $00 activiates all Type B PICC's. >...
  • Page 16 ® AT88RF1354 SPI User Guide For CryptoRF 2.3.4 Smart Poll Mode Operation Smart Poll mode is enabled by sending the Poll Continuous command with N = 111b. In the Smart Poll mode, the reader will continually send REQB/WUPB with N = 000b until it receives a card response.
  • Page 17: Poll Single (Reqb) Command [$01]

    AT88RF1354 SPI User Guide For CryptoRF Poll Single (REQB) Command [$01] This command performs a single Type B polling sequence to detect cards near the antenna. The first response is returned to the host. In the event no error free response is detected, then an error code is returned.
  • Page 18 ® AT88RF1354 SPI User Guide For CryptoRF 2.4.2 Example String Decode > O0003 Host sends three bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 POLL SINGLE command. Poll once for Type B PICC's. > To PICC: AFI. A $00 activiates all Type B PICC's. >...
  • Page 19: Poll Single (Wupb) Command [$01]

    AT88RF1354 SPI User Guide For CryptoRF Poll Single (WUPB) Command [$01] This command performs a single Type B polling sequence to detect cards in the Halt State or Idle State near the antenna. The first response is returned to the host. In the event no error free response is detected, then an error code is returned.
  • Page 20 ® AT88RF1354 SPI User Guide For CryptoRF 2.5.2 Example String Decode > O0003 Host sends three bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 POLL SINGLE command. Poll once for Type B PICC's. > To PICC: AFI. A $00 activiates all Type B PICC's. >...
  • Page 21: Read Buffer Command [$08]

    AT88RF1354 SPI User Guide For CryptoRF Read Buffer Command [$08] This command reads data from the RAM Buffer of the reader. This command is not necessary for typical RFID applications. However this command may be useful during code development. 2.6.1 Command Format Host Reader...
  • Page 22 ® AT88RF1354 SPI User Guide For CryptoRF 2.6.2 Example String Decode > O0003 Host sends three bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 Read Data Buffer Command. > Starting address. > Length "L" of data to be read in bytes. Wait for AT88RF1354 ISTAT pin state.
  • Page 23: Read Register Command [$07]

    AT88RF1354 SPI User Guide For CryptoRF Read Register Command [$07] This command reads the contents of the specified configuration register. 2.7.1 Command Format Host Reader PICC Send two bytes Read Register ($07) Register Address Command Processing ISTAT goes High Get two bytes Response Bytes ACK/NACK Register Data...
  • Page 24: Rf Off Command [$0B]

    ® AT88RF1354 SPI User Guide For CryptoRF RF OFF Command [$0B] This command turns the 13.56 MHz RF field off. 2.8.1 Command Format Host Reader PICC Send one byte RF OFF ($0B) Command Processing ISTAT goes High Get one byte Response Bytes ACK/NACK ISTAT stays Low...
  • Page 25: Rf On Command [$0A]

    AT88RF1354 SPI User Guide For CryptoRF RF ON Command [$0A] This command turns the 13.56 MHz RF field on. 2.9.1 Command Format Host Reader PICC Send one byte RF ON ($0A) Command Processing ISTAT goes High Get one byte Response Bytes ACK/NACK ISTAT stays Low 2.9.2...
  • Page 26: Sleep Command [$0C]

    ® AT88RF1354 SPI User Guide For CryptoRF 2.10 Sleep Command [$0C] This command activates the standby mode. 2.10.1 Command Format Host Reader PICC Send one byte Sleep ($0C) Command Processing No Response No ISTAT transition 2.10.2 Example String Decode > O0001 Host sends one byte thru microcontroller to AT88RF1354 serial port. >...
  • Page 27: Tx Data Command [$03]

    AT88RF1354 SPI User Guide For CryptoRF 2.11 TX Data Command [$03] This command transmits data from the reader and waits for a response. A user can use this reader command to build PICC-specific commands. The example shows a Poll (REQB) command sent via the TX Data command.
  • Page 28 ® AT88RF1354 SPI User Guide For CryptoRF 2.11.2 Example String Decode > O0007 Host sends seven bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 3 bytes are sent to the PICC. >...
  • Page 29: Write Buffer Command [$09]

    AT88RF1354 SPI User Guide For CryptoRF 2.12 Write Buffer Command [$09] This command writes data to the RAM buffer of the reader. This command is not necessary for typical RFID applications. However this command may be useful during code development. 2.12.1 Command Format Host Reader...
  • Page 30 ® AT88RF1354 SPI User Guide For CryptoRF 2.12.2 Example String Decode > O0007 Host sends seven bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 Write Data Buffer Command. > Starting address. > Length "L" of data to be written in bytes. >...
  • Page 31: Write Register Command [$06]

    AT88RF1354 SPI User Guide For CryptoRF 2.13 Write Register Command [$06] This command writes a value to the specified configuration register of the reader. 2.13.1 Command Format Host Reader PICC Send three bytes Write Register ($06) Register Address Data Byte Command Processing ISTAT goes High Get one byte...
  • Page 32: Cryptorf Commands

    Section 3 CryptoRF Commands Command Overview Commands can be transmitted to a PICC using the AT88RF1354 TX Data command. The TX Data command transmits data from the reader and waits for a response. Refer to the CryptoRF Specification for the complete CryptoRF command set and command set details. Table 4.
  • Page 33: Reqb Polling Command [$05]

    ® AT88RF1354 SPI User Guide For CryptoRF REQB Polling Command [$05] This command performs a single Type B polling sequence to detect cards near the antenna. The first response is returned to the host. In the event no error free response is detected, then an error code is returned.
  • Page 34 AT88RF1354 SPI User Guide For CryptoRF 3.2.2 Example String Decode > O0007 Host sends seven bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 3 bytes are sent to the PICC. >...
  • Page 35: Attrib Command [$1D]

    ® AT88RF1354 SPI User Guide For CryptoRF ATTRIB Command [$1D] The ATTRIB command is used to select a PICC for a transaction. 3.3.1 Command Format Host Reader PICC Send thirteen bytes TX Data ($03) Bytes sent to PICC PARAM ATTRIB ($1D) PUPI 0 PUPI 1 PUPI 2...
  • Page 36 AT88RF1354 SPI User Guide For CryptoRF 3.3.2 Example String Decode > O000D Host sends thirteen bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 9 bytes are sent to the PICC. >...
  • Page 37: Hltb Command [$50]

    ® AT88RF1354 SPI User Guide For CryptoRF HLTB Command [$50] The HLTB command places an Active State PICC in the Halt State, where it is not allowed to answer an REQB command. The command and response are ISO/IED 14443-3 compliant. 3.4.1 Command Format Host...
  • Page 38 AT88RF1354 SPI User Guide For CryptoRF 3.4.2 Example String Decode > O0009 Host sends nine bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 5 bytes are sent to the PICC. >...
  • Page 39: Set User Zone Command [$C1]

    ® AT88RF1354 SPI User Guide For CryptoRF Set User Zone Command [$c1] The Set User Zone command selects the user memory area to be addressed by the Read User Zone and Write User zone commands. 3.5.1 Command Format Host Reader PICC Send six bytes TX Data ($03)
  • Page 40 AT88RF1354 SPI User Guide For CryptoRF 3.5.2 Example String Decode > O0006 Host sends six bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 2 bytes are sent to the PICC. >...
  • Page 41: Read User Zone Command [$C2]

    ® AT88RF1354 SPI User Guide For CryptoRF Read User Zone Command [$c2] The Read User Zone command reads data from the currently selected User Zone. See Read User Zone (Large Memory) command for the AT88SC6416CRF read command information. 3.6.1 Command Format Host Reader PICC...
  • Page 42 AT88RF1354 SPI User Guide For CryptoRF 3.6.2 Example String Decode > O0008 Host sends eight bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 4 bytes are sent to the PICC. >...
  • Page 43: Read User Zone (Large Memory) Command [$C2]

    ® AT88RF1354 SPI User Guide For CryptoRF Read User Zone (Large Memory) Command [$c2] The Read User Zone command reads data from the currently selected User Zone. This command format only applies to the AT88SC6416CRF. 3.7.1 Command Format Host Reader PICC Send eight bytes TX Data ($03)
  • Page 44 AT88RF1354 SPI User Guide For CryptoRF 3.7.2 Example String Decode > O0008 Host sends eight bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 4 bytes are sent to the PICC. >...
  • Page 45: Write User Zone Command [$C3]

    ® AT88RF1354 SPI User Guide For CryptoRF Write User Zone Command [$c3] The Write User Zone command writes data into the currently selected User Zone. See Write User Zone (Large Memory) command for the AT88SC6416CRF write command information. 3.8.1 Command Format Host Reader PICC...
  • Page 46 AT88RF1354 SPI User Guide For CryptoRF 3.8.2 Example String Decode > O000C Host sends twelve bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 8 bytes are sent to the PICC. >...
  • Page 47: Write User Zone (Large Memory) Command [$C3]

    ® AT88RF1354 SPI User Guide For CryptoRF Write User Zone (Large Memory) Command [$c3] The Write User Zone command writes data into the currently selected User Zone. This command format only applies to the AT88SC6416CRF. 3.9.1 Command Format Host Reader PICC Send twelve bytes TX Data ($03)
  • Page 48 AT88RF1354 SPI User Guide For CryptoRF 3.9.2 Example String Decode > O000C Host sends twelve bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 8 bytes are sent to the PICC. >...
  • Page 49: Write System Zone Command [$C4]

    ® AT88RF1354 SPI User Guide For CryptoRF 3.10 Write System Zone Command [$c4] The Write System Zone command writes data to the configuration memory. This command is also used to program the security fuses. 3.10.1 Command Format Host Reader PICC Send twelve bytes TX Data ($03) Bytes sent to PICC...
  • Page 50 AT88RF1354 SPI User Guide For CryptoRF 3.10.2 Example String Decode > O000C Host sends twelve bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 8 bytes are sent to the PICC. >...
  • Page 51: Read System Zone Command [$C6]

    ® AT88RF1354 SPI User Guide For CryptoRF 3.11 Read System Zone Command [$c6] The System Read command allows reading of system data from the configuration memory, from the security fuses, or from the checksum register. 3.11.1 Command Format Host Reader PICC Send eight bytes TX Data ($03)
  • Page 52 AT88RF1354 SPI User Guide For CryptoRF 3.11.2 Example String Decode > O0008 Host sends eight bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 4 bytes are sent to the PICC. >...
  • Page 53: Deselect Command [$Ca]

    ® AT88RF1354 SPI User Guide For CryptoRF 3.12 DESELECT Command [$cA] The DESELECT command places an Active State PICC in the Halt State. 3.12.1 Command Format Host Reader PICC Send five bytes TX Data ($03) Bytes sent to PICC PARAM Deselect ($cA) Command Processing RF Transmit Command...
  • Page 54 AT88RF1354 SPI User Guide For CryptoRF 3.12.2 Example String Decode > O0005 Host sends five bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 1 byte is sent to the PICC. >...
  • Page 55: Idle Command [$Cb]

    ® AT88RF1354 SPI User Guide For CryptoRF 3.13 IDLE Command [$cB] The IDLE command resets an Active State PICC and places it in the Idle State. 3.13.1 Command Format Host Reader PICC Send five bytes TX Data ($03) Bytes sent to PICC PARAM Idle ($cB) Command Processing...
  • Page 56 AT88RF1354 SPI User Guide For CryptoRF 3.13.2 Example String Decode > O0005 Host sends five bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 1 byte is sent to the PICC. >...
  • Page 57: Check Password Command [$Cc]

    ® AT88RF1354 SPI User Guide For CryptoRF 3.14 Check Password Command [$cC] The Check Password command transmits a password for validation. 3.14.1 Command Format Host Reader PICC Send nine bytes TX Data ($03) Bytes sent to PICC PARAM Check Password ($cC) Password Index PW 1 PW 2...
  • Page 58 AT88RF1354 SPI User Guide For CryptoRF 3.14.2 Example String Decode > O0009 Host sends nine bytes thru microcontroller to AT88RF1354 serial port. > AT88RF1354 TX Data command. > Data bytes sent to PICC. In this example 5 bytes are sent to the PICC. >...
  • Page 59: Register Summary

    Section 4 Register Summary Overview The AT88RF1354 registers and their bit values are summarized in the following tables. Refer to the AT88RF1354 Command Reference Guide for detailed information. AT88RF1354 Register Set Table 5. Register Set Sorted by Address Register Register Description Register Type Name...
  • Page 60: At88Rf1354 Register Memory Map

    ® AT88RF1354 SPI User Guide For CryptoRF AT88RF1354 Register Memory Map Table 6. Register Memory Map Register Definition Register Register Name Address Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 CPR0_L Reserved for future use CPR0_H CPR1_L Reserved for future use...
  • Page 61 AT88RF1354 SPI User Guide For CryptoRF 4.3.1 Memory Map Field Descriptions (alphabetical) BYTE: Byte Error. A one indicates the received packet was incomplete. Carrier Detect. A one indicates the receiver is detecting 847.5 kHz sub-carrier. COL: Collision Error. A one indicates a collision was detected during polling. CRC: CRC Error.
  • Page 62: At88Rf1354 Register Bit Coding Summary

    ® AT88RF1354 SPI User Guide For CryptoRF AT88RF1354 Register Bit Coding Summary The bit coding for the write-able AT88RF1354 register fields is summarized below. Refer to the AT88RF1354 Command Reference Guide for detailed information. 4.4.1 FWI: Frame Waiting Interval. Used to select the time the reader waits for a response to begin after a command is transmitted.
  • Page 63 AT88RF1354 SPI User Guide For CryptoRF 4.4.3 SL1: PLL Sleep. A one turns the PLL off in standby mode. 4.4.4 SL0: Oscillator Sleep. A one turns the crystal oscillator off in standby mode. 4.4.5 ENB: CLKO Output Enable Bar. A one disables the CLKO output. 4.4.6 RFU: Reserved for Future Use.
  • Page 64 ® AT88RF1354 SPI User Guide For CryptoRF 4.4.10 G: Receiver Gain Adjustment. Typical Setting is $1. Table 10. Receiver Gain Coding Receiver Gain Bit 7 Bit 6 Bit 5 Bit 4 Minimum Medium High Maximum All other values are NOT supported 4.4.11 SS: Receiver Squelch.
  • Page 65: Appendix A Initialization Procedure

    Appendix A Initialization Procedure The procedure for initializing the AT88RF1354 RF Reader is outlined here, starting from power up. The same general procedure applies when the IC ResetB pin is toggled (starting at step 2). 1. Turn Power On to both Vcc and Vcc_Ant. 2.
  • Page 66: Appendix B The Spi Serial Interface

    Appendix B The SPI Serial Interface The SPI Interface mode is selected by shorting the ISEL pin to Vcc. Six microcontroller pins are required to operate AT88RF1354 in SPI mode. The ISTAT signal is used for handshaking between the microcontroller and RF reader. SPI Interface The AT88RF1354 SPI interface operates as a slave device in SPI mode 0.
  • Page 67 Appendix C Index Figure Index Figure 1. Communications in an RFID System ................1-1 Figure 2. Illustration Example – Serial Communications with the SPI Interface ......Figure 3. Detail Example – Serial Communications with the SPI Interface........Figure 4. ACK/NACK Byte Format for ACK Response ..............Figure 5.
  • Page 68 Revision History Doc. Rev. Date Comments 8586A 5/2009 Initial document release. 8586A—RFID—5/09...
  • Page 69 BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein.

Table of Contents