ST95HF
Near field communication transceiver
Datasheet - production data
– Up to 528-byte command/reception buffer
(FIFO) depending on communication
protocol
• 32-lead, 5x5 mm, very thin fine pitch quad flat
(VFQFPN) ECOPACK®2 package
Applications
Typical protocols supported:
VFQFPN32 5x5 mm
• ISO/IEC 14443-3 Type A and B tags
• ISO/IEC 15693 tags
• ISO/IEC 18000-3M1 tags
Features
• NFC Forum tags: Types 1, 2, 3 and 4
• Belonging to ST25 family, that includes all
NFC/RF ID tag and reader products from
STMicroelectronics
• Operating modes supported:
– Reader/Writer
– Card Emulation (ISO/IEC 14443-3 Type A)
• Hardware features
– Dedicated internal frame controller
– Highly integrated Analog Front End (AFE)
for RF communications
– Transmission and reception modes
– Optimized power management
– Tag Detection mode
– Field Detection mode
• ST Dual Interface EEPROM
Typical ST95HF applications include:
• Consumer electronics
• Gaming
• Healthcare
• Industrial
Typical ST95HF use cases include:
• NFC-enabled Wi-Fi pairing
• NFC-enabled Bluetooth pairing
• Data exchange
Communications with NFC/RFID tag (reader
mode)
• RF communication @13.56 MHz
– ISO/IEC 14443 Type A and B in Reader
and Card Emulation modes
– ISO/IEC 15693 in Reader mode
– ISO/IEC 18092 in Reader and Card
Emulation modes
– MIFARE® Classic compatible
• Communication interfaces with a Host
Controller
– Serial peripheral interface (SPI) Slave
interface up to 2 Mbps
February 2016
This is information on a product in full production.
DocID025630 Rev 4
1/93
www.st.com
Contents
ST95HF
Contents
1
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2
List of terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2
Pin and signal descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3
Power management and operating modes . . . . . . . . . . . . . . . . . . . . . . 12
4
3.1
Operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2
Startup sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Communication protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1
5
4.1.1
Polling mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.2
Interrupt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2
Error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3
Support of long frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1
Command format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2
List of commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3
IDN command (0x01) description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.4
Protocol Select command (0x02) description . . . . . . . . . . . . . . . . . . . . . . 21
5.5
Pollfield command (0x03) description . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.6
Send Receive (SendRecv) command (0x04) description . . . . . . . . . . . . . 27
5.7
Listen command (0x05) description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.8
Send command (0x06) description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.9
Idle command (0x07) description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.10
2/93
Serial peripheral interface (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.9.1
Idle command parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.9.2
Using LFO frequency setting to reduce power consumption . . . . . . . . . 38
5.9.3
Optimizing wake-up conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.9.4
Using various techniques to return to Ready state . . . . . . . . . . . . . . . . 39
5.9.5
Tag detection calibration procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Read Register (RdReg) command (0x08) description . . . . . . . . . . . . . . . 42
DocID025630 Rev 4
ST95HF
Contents
5.11
6
7
5.11.1
Improving RF performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.11.2
Improving frame reception for ISO/IEC 14443 Type A tags . . . . . . . . . . 47
5.11.3
Improving RF reception for ISO/IEC 18092 tags . . . . . . . . . . . . . . . . . . 48
5.12
Subcarrier frequency response (0x0B) description . . . . . . . . . . . . . . . . . 48
5.13
AcFilter command (0x0D) description . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.14
Echo command (0x55) description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.1
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2
DC characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.3
Power consumption characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.4
SPI characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.5
RF characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.6
Oscillator characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.1
8
Write Register (WrReg) command (0x09) description . . . . . . . . . . . . . . . 43
VFQFPN32 package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Part numbering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Appendix A Additional Idle command description . . . . . . . . . . . . . . . . . . . . . . . 64
Appendix B Example of tag detection calibration process . . . . . . . . . . . . . . . . 65
Appendix C Example of tag detection command using
results of tag detection calibration . . . . . . . . . . . . . . . . . . . . . . . . . 68
Appendix D Examples of ST95HF command code to
activate NFC Forum and ISO/IEC 15693 tags . . . . . . . . . . . . . . . . . 69
D.1
D.2
ISO/IEC 14443 Type A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
D.1.1
NFC Forum Tag Type 1 (Topaz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
D.1.2
NFC Forum Tag Type 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
D.1.3
NFC Forum Tag Type 2 or 4: using split frames to resolve collisions . . . 72
D.1.4
NFC Forum Tag Type 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
D.1.5
NFC Forum Tag Type 4A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
ISO/IEC 14443 Type B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
DocID025630 Rev 4
3/93
4
Contents
ST95HF
D.2.1
D.3
ISO/IEC 18092 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
D.3.1
D.4
NFC Forum Tag Type 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
ISO/IEC 15693 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
D.4.1
Appendix E
NFC Forum Tag Type 4B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
ISO/IEC 15693 tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Card emulation communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4/93
DocID025630 Rev 4
ST95HF
List of tables
List of tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Table 12.
Table 13.
Table 14.
Table 15.
Table 16.
Table 17.
Table 18.
Table 19.
Table 20.
Table 21.
Table 22.
Table 23.
Table 24.
Table 25.
Table 26.
Table 27.
Table 28.
Table 29.
Table 30.
Table 31.
Table 32.
Table 33.
Table 34.
Table 35.
Table 36.
Table 37.
Table 38.
Table 39.
Table 40.
Table 41.
Table 42.
Table 43.
Table 44.
Table 45.
Table 46.
Table 47.
List of terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ST95HF pin descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ST95HF operating modes and states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Select serial communication interface selection table . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Interpretation of flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Possible error codes and their meaning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Format of ResultCode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Examples of ResultCode: Len pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
List of ST95HF commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
IDN command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
ProtocolSelect command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
List of values for the ProtocolSelect command
for different protocols (Reader) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
List of values for different protocols (Card Emulation) . . . . . . . . . . . . . . . 25
Pollfield command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Response for command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
SendRecv command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
List of Send values for the SendRecv command for different protocols . . . . . . . . 28
List of Response values for the SendRecv command for different protocols . . . . 30
Structure of Parity byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Listen command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Response codes from the ST95HF in Listening mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Data format sent to the Host in Listening mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Send command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Format of data to be sent using Send command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Idle command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Idle command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Summary of Idle command parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
RdReg command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
WrReg command description (Modulation Index and Receiver Gain) . . . . . . . . . . . . . . . . 44
WrReg command description (Load Modulation Index and Demodulator Sensitivity) . . . . 44
Possible Modulation Index values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Possible Receiver Gain values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Possible Load Modulation Index values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Possible Demodulator Sensitivity values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ARC_B default code for available Reader protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
ACC_A default code for available Card Emulation protocols . . . . . . . . . . . . . . . . . . . . . . . 47
WrReg command description (Timer Window) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
WrReg command description (AutoDetect Filter) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
SubFreqRes command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
AC filter command description (Command > 0x02). . . . . . . . . . . . . . . . . . . . . . . . . 49
ST95HF state when behaving as ISO/IEC 14443-A tag . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Commands to which the device is able to respond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Echo command description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DC characteristics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Power consumption characteristics (VPS_Main from 2.7 to 3.3 V) . . . . . . . . . . . . . . . . . . 53
Power consumption characteristics (VPS_TX from 2.7 to 3.3 V) . . . . . . . . . . . . . . . . . . . . 53
DocID025630 Rev 4
5/93
6
List of tables
Table 48.
Table 49.
Table 50.
Table 51.
Table 52.
Table 53.
Table 54.
Table 55.
Table 56.
Table 57.
Table 58.
Table 59.
6/93
ST95HF
Power consumption characteristics (VPS_TX from 4.5 to 5.5 V) . . . . . . . . . . . . . . . . . . . . 54
SPI interface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Tag/Card Emulation characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Field detection characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Reader characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
HFO 27.12 MHz oscillator characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
VFQFPN32 - 32-pin, 5x5 mm, 0.5 mm pitch very thin profile fine pitch
quad flat package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Ordering information scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Wake-up source register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Wake-up event register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Example logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
DocID025630 Rev 4
ST95HF
List of figures
List of figures
Figure 1.
Figure 2.
Figure 3.
Figure 4.
Figure 5.
Figure 6.
Figure 7.
Figure 8.
Figure 9.
Figure 10.
Figure 11.
Figure 12.
Figure 13.
Figure 14.
Figure 15.
Figure 16.
ST95HF application overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
ST95HF block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
ST95HF pinout description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ST95HF initialization and operating state change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Power-up sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Sending command to ST95HF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Polling the ST95HF until it is ready . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Reading data from ST95HF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Reset the ST95HF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Long frame format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Data transfer (in both command and response) when Parity Framing mode is enabled . . 30
SPI timing diagram (Slave mode and CPOL = 0, CPHA = 0) . . . . . . . . . . . . . . . . . . . . . . . 55
SPI timing diagram (Slave mode and CPOL = 1, CPHA = 1) . . . . . . . . . . . . . . . . . . . . . . . 56
Typical application with a 27.12 MHz crystal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
VFQFPN32 - 32-pin, 5x5 mm, 0.5 mm pitch very thin profile fine pitch
quad flat package outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
VFQFPN32 - 32-pin, 5x5 mm, 0.5 mm pitch very thin profile fine pitch
quad flat package recommended footprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
DocID025630 Rev 4
7/93
7
Description
1
ST95HF
Description
The ST95HF is an integrated transceiver IC for contactless applications.
The ST95HF manages frame coding and decoding in Reader and Card Emulation modes
for standard applications such as Near Field Communication (NFC), proximity and vicinity
standards.
The ST95HF embeds an Analog Front End to provide the 13.56 MHz Air Interface.
The ST95HF supports ISO/IEC 14443 Type A and B communication in Reader and Card
Emulation modes, ISO/IEC 15693 (single or double subcarrier in Reader mode only) and
ISO/IEC 18092 communication protocols in Reader and Card Emulation modes.
The ST95HF also supports the detection, reading and writing of NFC Forum Type 1, 2, 3
and 4 tags.
Figure 1. ST95HF application overview
Interrupt Management
Host
Controller
(MCU)
ST95HF
SPI
1.1
Block diagram
Figure 2. ST95HF block diagram
27.12 MHz
VPS_Main
GND_Dig
XIN
XOUT
VPS_TX
ST95HF
AFE IP
Status
registers
Host
Power & Clock
Management
Digital
Tag/Field
Detector
Tag
Detector
TX2
User interface
(User
Side)
Reader
AFE
Frame Controller
SPI
Interrupt
Signal
Mux
ISO/IEC 14443
Type A and B
ISO/IEC 15693
GND_TX
RX1
ISO/IEC 18092
Timer
Accelerators
Mod/
Demod
Configuration
register
TX1
FIFO
Encoder/Decoder
Card Emulator
ISO/IEC 14443
Type A and B
RX2
ISO/IEC 18092
GND_RX
8/93
DocID025630 Rev 4
ST95HF
1.2
Description
List of terms
Table 1. List of terms
Term
Meaning
DAC
Digital analog converter
GND
Ground
HFO
High frequency oscillator
LFO
Low frequency oscillator
MCU
Microcontroller unit
MIFARE(1)
Communication protocol
NFC
Near Field Communication
RFID
Radio Frequency Identification
RFU
Reserved for future use
SPI
Serial peripheral interface
tL
Low frequency period
tREF
Reference time
WFE
Wait For Event
1. MIFARE® and MIFARE® Classic are registered trademarks of NXP BV, and are used under license.
DocID025630 Rev 4
9/93
11
Pin and signal descriptions
2
ST95HF
Pin and signal descriptions
TX1
NC
NC
NC
NC
XIN
XOUT
VPS_TX
GND_TX
Figure 3. ST95HF pinout description
25
1
TX2
NC
NC
NC
GND
NC
ST_R1
RX1
SSI_1
RX2
SSI_0
NC
GND_RX
SPI_SCK
17
9
SPI_MOSI
SPI_MISO
SPI_SS
IRQ_OUT
VPS
IRQ_IN
NC
NC
ST_R0
Shaded area represents the dissipation pad.
(Must be connected to ground.)
Table 2. ST95HF pin descriptions
Pin
10/93
Pin name
Type(1)
Main function
Alternate function
1
TX1
O
Driver output 1
-
2
TX2
O
Driver output 2
-
3
NC
-
Not connected
-
4
NC
-
Not connected
-
5
RX1
I
Receiver input 1
-
6
RX2
I
Receiver input 2
-
7
NC
-
Not connected
-
8
GND_RX
P
Ground (analog)
-
(2)
-
9
ST_R0
O
ST Reserved
10
NC
-
Not connected
-
11
NC
-
Not connected
-
12
IRQ_IN
(3)
Interrupt input
-
13
VPS
P
Main power supply
-
I
DocID025630 Rev 4
ST95HF
Pin and signal descriptions
Table 2. ST95HF pin descriptions (continued)
Pin
Pin name
Type(1)
(4)
14
IRQ_OUT
O
15
SPI_SS
I (5)
16
17
SPI_MISO
SPI_MOSI
O
(5)
Main function
Alternate function
Interrupt output
-
SPI Slave Select (active low)
-
SPI Data, Slave Output
-
I
(5)
(5)
SPI Data, Slave Input
(6)
SPI serial clock
-
-
18
SPI_SCK
I
19
SSI_0
I (5)
Select serial communication
interface
-
20
SSI_1
I (5)
Select serial communication
interface
-
21
ST_R1
I (7)
ST Reserved
-
22
GND
P
Ground (digital)
-
23
NC
-
Not connected
-
24
NC
-
Not connected
-
25
NC
-
Not connected
-
26
NC
-
Not connected
-
27
NC
-
Not connected
-
28
NC
-
Not connected
-
29
XIN
-
Crystal oscillator input
-
30
XOUT
-
Crystal oscillator output
-
31
GND_TX
P
Ground (RF drivers)
-
32
VPS_TX
P
Power supply (RF drivers)
-
1. I: Input, O: Output, and P: Power
2. Must add a capacitor to ground (~1 nF).
3. Pad internally connected to a Very Weak Pull-up to VPS.
4. Pad internally connected to a Weak Pull-up to VPS.
5. Must not be left floating.
6. Pad internally connected to a Weak Pull-down to GND.
7. Pad input in High Impedance. Must be connected to VPS.
DocID025630 Rev 4
11/93
11
Power management and operating modes
ST95HF
3
Power management and operating modes
3.1
Operating modes
The ST95HF has 2 operating modes: Wait for Event (WFE) and Active. In Active mode, the
ST95HF communicates actively with a tag or an external host (an MCU, for example). WFE
mode includes four low consumption states: Power-up, Hibernate, Sleep/Field Detector and
Tag Detector.
The ST95HF can switch from one mode to another.
Table 3. ST95HF operating modes and states
Mode
Wait For
Event
(WFE)
Active
State
Description
Power-up
This mode is accessible directly after POR.
Low level on IRQ_IN pin (longer than 10 µs) is the only wakeup
source. LFO (low-frequency oscillator) is running in this state.
Hibernate
Lowest power consumption state. The ST95HF has to be woken-up
in order to communicate. Low level on IRQ_IN pin (longer than 10
µs) is the only wakeup source.
Sleep/Field
Detector
Low power consumption state. Wakeup source is configurable:
– Timer
– IRQ_IN pin
– SPI_SS pin
– Field Detector
LFO (low-frequency oscillator) is running in this state.
Tag Detector
Low power consumption state with tag detection. Wakeup source is
configurable:
– Timer
– IRQ_IN pin
– SPI_SS pin
– Tag detector
LFO (low-frequency oscillator) is running in this state.
Ready
In this mode, the RF is OFF and the ST95HF waits for a command
(PROTOCOLSELECT, ...) from the external host via the selected serial
interface (SPI).
Reader
The ST95HF can communicate with a tag using the selected protocol
or with an external host using the SPI interface.
The ST95HF can communicate as a Card or Tag with an external
Card Emulation reader. The Card or Tag application is located in the Host and
communicates with the ST95HF via the SPI interface.
Hibernate, Tag Detector, and Sleep/Field Detector states can only be activated by a
command from the external host. As soon as any of these three states are activated, the
ST95HF can no longer communicate with the external host. It can only be woken up.
The behavior of the ST95HF in 'Tag Detector' state is defined by the Idle command.
12/93
DocID025630 Rev 4
ST95HF
Power management and operating modes
Figure 4. ST95HF initialization and operating state change
Supply off
WAIT FOR EVENT
Sleep /
Field Detector
PowerUP
Hibernate
Tag Detector
Serial I/F
selection
Wake
UP
IDLE
cde
ACTIVE
Card
Emulation
3.2
Protocol
Select cde
Protocol
Select cde
READY
Reader
Startup sequence
After the power supply is established at power-on, the ST95HF waits for a low pulse on the
pin IRQ_IN (t1) before automatically selecting the external interface (SPI) and entering
Ready state after a delay (t3).
Figure 5. Power-up sequence
W
936
9
66,B
W
66,B
,54B,1
W
W
W
)LUVWYDOLGFRPPDQG
069
1. Note for pin SSI0: - - - SPI selected
2. Pin IRQ_IN low level < 0.2 VPS_Main.
Note:
When ST95HF leaves WFE mode (from Power-up, Hibernate, Tag Detector, or Sleep/Field
Detector) following an IRQ_IN low level pulse.
DocID025630 Rev 4
13/93
92
Power management and operating modes
ST95HF
Figure 5 shows the power-up sequence for a ST95HF device; where,
Note:
•
t0 is the initial wake-up delay
100 µs (minimum)
•
t1 is the minimum interrupt width
10 µs (minimum)
•
t2 is the delay for the serial interface selection
250 ns (typical)
•
t3 is the HFO setup time (tSU(HFO))
10 ms (maximum)
•
t4 is the VPS ramp-up time from 0V to VPS
10 ms (max. by design validation)
VPS must be 0V before executing the start-up sequence.
The serial interface is selected after the following falling edge of pin IRQ_IN when leaving
from POR or Hibernate state.
Table 4 lists the signal configuration used to select the serial communication interface.
Table 4. Select serial communication interface selection table
14/93
Pin
Serial interface
SSI_0
SPI: 1
SSI_1
SPI: 0
DocID025630 Rev 4
ST95HF
Communication protocols
4
Communication protocols
4.1
Serial peripheral interface (SPI)
4.1.1
Polling mode
In order to send commands and receive replies, the application software has to perform 3
steps.
1.
Send the command to the ST95HF.
2.
Poll the ST95HF until it is ready to transmit the response.
3.
Read the response.
The application software should never read data from the ST95HF without being sure that
the ST95HF is ready to send the response.
The maximum allowed SPI communication speed is fSCK.
A Control byte is used to specify a communication type and direction:
•
0x00: Send command to the ST95HF
•
0x03: Poll the ST95HF
•
0x02: Read data from the ST95HF
•
0x01: Reset the ST95HF
The SPI_SS line is used to select a device on the common SPI bus. The SPI_SS pin is
active low.
When the SPI_SS line is inactive, all data sent by the Master device is ignored and the
MISO line remains in High Impedance state.
In Slave mode, the phase and polarization are defined with CPOL = 1 and CPHA = 1 or
CPOL = 0 and CPHA = 0.
Figure 6. Sending command to ST95HF
MOSI
00000000
CMD
LEN
DATA
Several data bytes
Control Byte
MISO
DATA
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Figure 7. Polling the ST95HF until it is ready
MOSI
00000011
XXXXXX11
Control Byte
MISO
XXXXXXXX
00000XXX
XXXXXX11 XXXXXX11
Flag
Flag
00000XXX
00001XXX
Flags are polled until data is ready (Bit 3 is set when data is ready)
DocID025630 Rev 4
15/93
92
Communication protocols
ST95HF
Table 5. Interpretation of flags
Bit
[7:4]
Meaning (application point of view)
Not significant
3
Data can be read from the ST95HF when set.
2
Data can be sent to the ST95HF when set.
[1:0]
Not significant
Figure 8. Reading data from ST95HF
MOSI
00000010
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Control Byte
MISO
XXXXXXXX
Resp Code
LEN
DATA
DATA
Several data bytes
Data must be sampled at the rising edge of the SCK signal.
‘Sending’, ‘Polling’ and ‘Reading’ commands must be separated by a high level of the
SPI_SS line. For example, when the application needs to wait for data from the ST95HF, it
asserts the SPI_SS line low and issues a ‘Polling’ command. Keeping the SPI_SS line low,
the Host can read the Flags Waiting bit which indicates that the ST95HF can be read. Then,
the application has to assert the SPI_SS line high to finish the polling command. The Host
asserts the SPI_SS line low and issues a ‘Reading’ command to read data. When all data is
read, the application asserts the SPI_SS line high.
The application is not obliged to keep reading Flags using the Polling command until the
ST95HF is ready in one command. It can issue as many 'Polling' commands as necessary.
For example, the application asserts SPI_SS low, issues 'Polling' commands and reads
Flags. If the ST95HF is not ready, the application can assert SPI_SS high and continue its
algorithm (measuring temperature, communication with something else). Then, the
application can assert SPI_SS low again and again issue 'Polling' commands, and so on, as
many times as necessary, until the ST95HF is ready.
Note that at the beginning of communication, the application does not need to check flags to
start transmission. The ST95HF is assumed to be ready to receive a command from the
application.
Figure 9. Reset the ST95HF
MOSI
00000001
Control Byte 01
MISO
XXXXXXXX
To reset the ST95HF using the SPI, the application sends the SPI Reset command (Control
Byte 01, see Figure 9) which starts the internal controller reset process and puts the
ST95HF into Power-up state. The ST95HF will wake up when pin IRQ_IN goes low. The
ST95HF reset process only starts when the SPI_SS pin returns to high level.
16/93
DocID025630 Rev 4
ST95HF
Communication protocols
Caution:
SPI communication is MSB first.
4.1.2
Interrupt mode
When the ST95HF is configure to use the SPI serial interface, pin IRQ_OUT is used to give
additional information to user. When the ST95HF is ready to send back a reply, it sends an
Interrupt Request by setting a low level on pin IRQ_OUT, which remains low until the host
reads the data.
The application can use the Interrupt mode to skip the polling stage.
Caution:
SPI communication is MSB first.
4.2
Error codes
Table 6. Possible error codes and their meaning
Code
Name
Meaning
0x80
EFrameRecvOK
Frame correctly received (additionally see CRC/Parity information)
0x85
EUserStop
Stopped by user (used only in Card mode)
0x86
ECommError
Hardware communication error
0x87
EFrameWaitTOut
Frame wait time out (no valid reception)
0x88
EInvalidSof
Invalid SOF
0x89
EBufOverflow
Too many bytes received and data still arriving
0x8A
EFramingError
if start bit = 1 or stop bit = 0
0x8B
EEgtError
EGT time out
0x8C
EInvalidLen
Valid for ISO/IEC 18092, if Length >> Frame sent by the Host to ST95HF
>0x0100
0x02 02 01 07
L 100 S: >>>0x02 02 01 21
L 100 D: >>>0x02 02 01 23
L 10 S: >>>0x02 02 01 25
L 10 D: >>>0x02 02 01 27
In these examples, the CRC is
automatically appended.
Append CRC if set to ‘1’.
(1)
>>>0x02020200: ISO/IEC
14443 Type A tag, 106 Kbps
transmission and reception
rates, Time interval 86/90
7:6
Transmission data rate
00: 106 Kbps
01: 212 Kbps (2)
10: 424 Kbps
11: RFU
5:4
Reception data rate
00: 106 Kbps
01: 212 Kbps (2)
10: 424 Kbps
11: RFU
3
RFU
2:0
RFU
1
7:0
PP
2
7:0
MM
3
7:0
DD (optional to PP:MM)
4
7:0
ST Reserved (Optional)
-
5
7:0
ST Reserved (Optional)
-
0
0x02
DocID025630 Rev 4
Note that REQA, WUPA,
Select20 and Select70
commands use a fixed interval
of 86/90 µs between a request
and its reply. Other commands
use a variable interval with
fixed granularity.
Refer to the ISO/IEC 14443
standard for more details.
These 5 bytes are optional. The
default PP:MM:DD value is 0
(corresponds to FDT 86/90µs) .
For other values, FDT =
(2^PP)*(MM+1)*(DD+128)
*32/13.56 µs
ST95HF
Commands
Table 12. List of values for the PROTOCOLSELECT command
for different protocols (Reader) (continued)
Parameters
Protocol
Code
Examples of commands
Byte
Bit
7:6
Transmission data rate
00: 106 Kbps
01: 212 Kbps
10: 424 Kbps
11: 848 Kbps
5:4
Reception data rate
00: 106 Kbps
01: 212 Kbps
10: 424 Kbps
11: 848 Kbps
3:1
RFU
0
0
ISO/IEC 14443
Type B
0x03
NFC Forum Tag
Type 4B
Function
>>>0x02020301:
ISO/IEC 14443 Type B tag with
CRC appended
Append CRC if set to ‘1’.
(1)
These 9 bytes are optional.
Default value of PP:MM:DD is 0
and corresponds to FWT
~302µs.
FWT =
(2^PP)*(MM+1)*(DD+128)*
32/13.56 µs
1
7:0
PP
2
7:0
MM
3
7:0
DD (optional to PP:MM)
5:4
7:0
TTTT (Optional)
TR0 = TTTT/FC (LSB first),
default 1023 = 0x3FF
6
7:0
YY (Optional)
PCD Min TR1 (Min_TR1 = 8 *
XX / fS), default = 0
7
7:0
ZZ (Optional)
PCD Max TR1 (Max_TR1 = 8 *
ZZ / fS), default = 26 = 0x1A
8
7:0
ST Reserved (Optional)
-
9
7:0
ST Reserved (Optional)
-
DocID025630 Rev 4
23/93
92
Commands
ST95HF
Table 12. List of values for the PROTOCOLSELECT command
for different protocols (Reader) (continued)
Parameters
Protocol
Code
Examples of commands
Byte
Bit
7:6
Transmission data rate
00: RFU
01: 212 Kbps
10: 424 Kbps
11: RFU
5:4
Reception data rate
00: RFU
01: 212 Kbps
10: 424 Kbps
11: RFU
3:1
RFU
0
0
ISO/IEC 18092
NFC Forum Tag
Type 3
7:5
0x04
Function
4
1
3:0
Append CRC if set to ‘1’.
(1)
RFU
0: FWT = 2.4 ms
1: FWT is specified by
PP:MM bits
Slot counter
0: 1 slot
1: 2 slots
…
F: 16 slots
2
7:0
PP
3
7:0
MM
4
7:0
DD (optional to PP:MM)
1. It is recommended to set this bit to ‘1’.
2. Not characterized.
24/93
DocID025630 Rev 4
>>>0x02020451:
ISO/IEC18092 tag, 212 Kbps
transmission and reception
rates with CRC appended.
Parameter ‘Slot counter’ is not
mandatory. If it is not present, it
is assumed that SlotCounter =
0x00 (1 slot)
For device detection
commands, byte 1 bit 4 must
be set to ‘0’. In this case, the
FWT is 2.4 ms for the 1st slot
and 1.2 ms more for each
following slot, if slot counter is
specified.
If slot counter = 0x10, the
ST95HF does not respect reply
timings, but polls incoming data
and searches a valid response
during ~8.4 ms.
These 3 bytes are optional.
Default value PP:MM:DD: is 0
and corresponds to RWT
~302µs.
RWT = (2^PP)*(MM+1)*
(DD+128)*32/13.56µs
ST95HF
Commands
Table 13. List of values for different protocols (Card Emulation)
Protocol
(Card)
ISO/IEC
14443
Type A (1)
Code
Parameters
Byte
Bit
Function
7:6
Transmission data rate
00: 106 Kbps
01: 212 Kbps (2)
10: 424 Kbps (2)
11: RFU
5:4
Reception data rate
00: 106 Kbps
01: 212 Kbps (2)
10: 424 Kbps (2)
11: RFU
3
0: Return an error, if no RF field
1: Wait for RF field
2
RFU
1
0: HFO
1: ClkRec
0
RFU
0x12 0
Examples of commands
Comments
>>>0x02021208
0x0300 Check if RF Field
is ON or OFF
>>> 0x0303010FFF - Wait for RF
Field appearance for (16*256)/13.56 µs
Flags, Presc and Timer parameters
are optional. They must be specidfied if
the application has to wait for RF field
appearance or disappearance.
The time to wait is
(Presc+1)*(Timer+1)/13.56 µs.
>> CR95HFDLL_SENDRECV, 02 00 A4040007D2760000850100 28
> CR95HFDLL_SENDRECV, 03 00 A4000002E103 28
> CR95HFDLL_SENDRECV, 02 00 B000000F 28
> CR95HFDLL_SENDRECV, 03 00 A40000020001 28
> CR95HFDLL_SENDRECV, 02 00 B0000002 28
> CR95HFDLL_SENDRECV, 03 00 A40000020001 28
> CR95HFDLL_SENDRECV, 02 00 B0000215 28
> CR95HFDLL_STCMD, 01 02020000
> CR95HFDLL_STCMD, 01 020403010180
> CR95HFDLL_STCMD, 01 090468010130
> CR95HFDLL_STCMD, 01 04 03 050000
> CR95HFDLL_STCMD, 01 04 09 1D AABBCCDD00070100
> CR95HFDLL_SENDRECV,
02
00 A4 040007D2760000850100
> CR95HFDLL_SENDRECV, 03 00 A4 0000 02 E103
> CR95HFDLL_SENDRECV, 02 00 B0 0000 0F
> CR95HFDLL_SENDRECV, 03
00 A4 0000 02 0001
> CR95HFDLL_SENDRECV, 02 00 B0 0000 02
> CR95HFDLL_SENDRECV, 03 00 A4 0000 02 0001
> CR95HFDLL_SENDRECV, 02 00 B0 0002 13
> CR95HFDLL_STCMD, 01 02020000
> CR95HFDLL_STCMD, 01 02020451
> CR95HFDLL_STCMD, 01 090468010150
> CR95HFDLL_STCMD, 01 09040A0102A1
> CR95HFDLL_STCMD, 01 04 05 00FFFF0000
> CR95HFDLL_STCMD, 01 02020105
> CR95HFDLL_STCMD, 01 090468010150
> CR95HFDLL_STCMD, 01 0403 260100
84/93
DocID025630 Rev 4
ST95HF
Examples of ST95HF command code to activate NFC Forum and ISO/IEC 15693 tags
> CR95HFDLL_SENDRECV, 022B
> CR95HFDLL_STCMD, 01 02020105
> CR95HFDLL_STCMD, 01 090468010150
> CR95HFDLL_STCMD, 01 0403 260100
> CR95HFDLL_SENDRECV, 0A2B
> Frame sent by Host to ST95HF
Card Emulator
REM, DEMO ST95HF for Card
Emulation Exchange
REM, 0A
REM, Check serial com with host
-
-
Set
Reader
Config.
ISO/IEC
14443
Type A at
106 Kbps
>>> ST95HFDLL_ECHO
> ST95HFDLL_IDN
> CR95HFDLL_STCMD, 01
020402000A05
> ST95HFDLL_STCMD, 01 0300
> ST95HFDLL_STCMD, 01
02021208
> CR95HFDLL_STCMD, 01
0904680101D3
> CR95HFDLL_STCMD, 01
09043A005804
> ST95HFDLL_STCMD, 01
0903680004
> CR95HFDLL_STCMD, 01
09110B00241204880F1F3F3F0100050
5005500
> ST95HFDLL_STCMD, 01
0803690100
> ST95HFDLL_STCMD, 01
0D0B440320880251744AEF2280
> ST95HFDLL_STCMD, 01 0300
> ST95HFDLL_STCMD, 01 0500
>
CR95HFDLL_ANTICOLSELECT123
------ ISO14443-A Start of Anti-Collision
Algorithm -----ISO14443-A REQA
>>> CR95HFDLL_SENDRECV, 2607
> CR95HFDLL_SENDRECV,
932008
> CR95HFDLL_SENDRECV,
937088025174A928
> CR95HFDLL_SENDRECV,
952008
> CR95HFDLL_SENDRECV,
95704AEF22800728
<
>
<
>
<
-
Response
automatically sent to
reader
ISO/IEC
14443-3
>
<
--> UID = 0251744AEF2280
--> TAG selected
------ ISO14443-A End of Anti-Collision
Algorithm -----BREAK
DocID025630 Rev 4
89/93
92
Card emulation communication
ST95HF
Comment
Direction
Table 58. Example logs (continued)
CR95HF Reader
ST95HF Card Emulation
Comment
Applicative Communication ISO/IEC 14443-4: Data Exchange between Reader (CR95HF) & Card Emulator
(ST95HF)
-
-
-
ST95HF is
in Listening
mode
REM, RATS 1A
>>> CR95HFDLL_SENDRECV,
E05028
>
> ST95HFDLL_POLLING_READING After
capture,
> ST95HFDLL_STCMD, 01
response
060B06757781028002F0080028
> ST95HFDLL_STCMD, 01 0500
> CR95HFDLL_SENDRECV,
D0110028
>
> ST95HFDLL_POLLING_READING After
capture,
> ST95HFDLL_STCMD, 01
defines the
0606D07387080028
response
> ST95HFDLL_STCMD, 01 0500
> CR95HFDLL_SENDRECV,
0200A4040007D276000086010028
Applica>> ST95HFDLL_POLLING_READING
After
> ST95HFDLL_STCMD, 01
response
0608029000F109080028
> ST95HFDLL_STCMD, 01 0500
> CR95HFDLL_STCMD, 01
02020000
> CR95HFDLL_RESET_SPI
link
> ST95HFDLL_POLLING_READING error
> ST95HFDLL_RESET_SPI