AN3433
Application note
Optimizing wakeup time and power consumption in CR95HF and STRFNFCA devices
This document describes several tips for application engineers to effectively manage CR95HF and STRFNFCA operating states and modes to define an adapted wakeup condition to return to its Active state to start communication with the external world in order to reduce power consumption.
The CR95HF and STRFNFCA have 2 main functional domains. In the first one, Active mode, the devices are able to communicate with a host using one of the serial interfaces (UART or SPI) or with RFID tags using its RF capabilities. In this mode, the device consumption is only a few milliamps, and when it emits RF signals, its field consumption becomes tens of milliamps. In the second domain, Wait for Event (WFE) mode, the device remains quiescent while waiting for an external event. In this mode, a very low level of power consumption (only a few microamps) may be achieved.
An application engineer is able to manage the wakeup conditions in order to adapt his strategy to optimize wakeup time or system power consumption.
This application note will provide guidelines for choosing the best implementation.
February 2012 |
Doc ID 019046 Rev 2 |
1/34 |
www.st.com
Contents |
AN3433 |
|
|
Contents
Introduction . . . |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
1 |
|
1 |
Reference information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
|
|
1.1 |
Reference documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
|
1.2 |
Terms and acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
|
1.3 |
Notation conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
4 |
2 |
Management of CR95HF or STRFNFCA activity . . . . . . . . . . . . . . . . . . . |
6 |
2.1 Overview of operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Idle command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Idle command parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Using LFO frequency setting to reduce power consumption . . . . . . . . . . 10 2.5 Optimizing wake-up conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5.1 Wake-up source register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
|
2.6 |
Using various techniques to return to Ready state . . . . . . . . . . . . . . . . . |
12 |
|
|
|
2.6.1 |
Default setting: from POR to Ready state . . . . . . . . . . . . . . . . . . . . . . . |
12 |
|
|
2.6.2 |
From Ready state to Hibernate state and back to Ready state . . . . . . . |
12 |
|
|
2.6.3 |
From Ready state to Sleep state and back to Ready state . . . . . . . . . . |
12 |
|
2.7 |
Tag detection calibration procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
14 |
|
3 |
Power consumption considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . |
16 |
3.1 Transition from Ready to Hibernate state . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2 Transition from Ready to Sleep state . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3 Wake-up by Tag Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Appendix A Tag detection principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
A.1 |
Tag detection sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
23 |
Appendix B Tag Detection Calibration process. . . . . . . . . . . . . . . . . . . . . . . . . . 26
B.1 |
Tag Detection Calibration algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
26 |
B.2 |
Tag Detection calibration command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
27 |
Appendix C Example of CR95HF tag detection calibration process . . . . . . . . . 29
2/34 |
Doc ID 019046 Rev 2 |
AN3433 |
Contents |
|
|
Appendix D Example of CR95HF tag detection command using results of tag detection calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Doc ID 019046 Rev 2 |
3/34 |
Reference information |
AN3433 |
|
|
CR95HF: 13.56 MHz Multi-protocol Contactless Transceiver IC with SPI and UART serial access datasheet
STRFNFCA: Near field communication transceiver datasheet
Table 1. |
List of terms and acronyms |
|
|
|
Term |
|
Meaning |
|
|
|
|
AFE |
|
Analog Front End |
|
|
|
|
|
DAC |
|
Digital-to-analog converter |
|
|
|
|
|
DFT |
|
Design for Test |
|
|
|
|
|
NVM |
|
Non Volatile Memory |
|
|
|
|
|
RFID |
|
Radio frequency identification |
|
|
|
|
|
RFU |
|
Reserved for Future Use |
|
|
|
|
|
WFE |
|
Wait For Event |
|
|
|
|
|
The following symbols correspond to:
>>>: Frame sent by the host to CR95HF or STRFNFCA
<<<: Frame sent by the CR95HF or STRFNFCA to the host
Table 2. |
List of characteristic values |
|
|
Symbol |
|
Definition |
Value |
|
|
|
|
CalRef |
|
Tag Calibration Reference level and |
|
|
DAC threshold level for device setup |
|
|
|
|
|
|
|
|
|
|
DacDataH |
|
High Level detection limit |
|
|
|
|
|
DacDataL |
|
Low Level detection limit |
|
|
|
|
|
MaxSleep |
|
Number of inactivity periods (tINACTIVE) before a timeout. |
|
SwingCnt |
|
Number of 13.56 MHz periods in the RF burst |
|
|
|
|
|
tDAC |
|
DAC set up time |
|
tHFO |
|
Period of RF carrier (13.56 MHz) |
73 ns |
tINACTIVE |
|
Inactivity period, delay between two wakeups for RF burst |
tINACTIVE = |
|
emissions in a Tag Detection sequence |
(WuPeriod+1)*tREF |
|
|
|
||
tLFO |
|
Period of device Low frequency oscillator (32 kHz) |
31.25 µs |
4/34 |
Doc ID 019046 Rev 2 |
AN3433 |
|
|
Reference information |
||
|
|
|
|
|
|
|
Table 2. |
List of characteristic values (continued) |
|
|
|
|
|
|
|
|
|
|
Symbol |
|
Definition |
|
Value |
|
|
|
|
|
|
|
tOSC |
|
Oscillator set-up time |
|
|
|
tREF |
|
Reference time |
|
tREF |
|
|
|
= 256*tLFO = 8 ms |
||
|
|
|
|
|
|
|
tSWING |
|
RF Burst duration in Tag detection |
|
tSWING = Swing * tHFO |
|
tTO |
|
Timeout delay after which the device will automatically |
|
tTO = (MaxSleep) * |
|
|
leave WFE mode. |
|
tINACTIVE |
|
|
|
|
|
||
|
WuPeriod |
|
Number of reference times (RT) in an inactivity period |
|
|
|
|
(tINACTIVE) |
|
|
|
|
|
|
|
|
Doc ID 019046 Rev 2 |
5/34 |
Management of CR95HF or STRFNFCA activity |
AN3433 |
|
|
The CR95HF and STRFNFCA have 2 operating modes: Wait for Event (WFE) and Active. In Active mode, the device communicates actively with a tag or an external host (MCU). WFE mode includes four low consumption states: Power-up, Hibernate, Sleep and Tag Detector.
The CR95HF or STRFNFCA can switch from one mode to another.
Table 3. |
CR95HF or STRFNFCA operating modes and states |
|||||||||
Mode |
State |
|
|
|
|
|
Description |
|||
|
|
|
||||||||
|
|
This mode is accessible directly after POR. |
||||||||
|
Power-up |
Low level on |
|
pin (longer than 10 µs) is the only wakeup |
||||||
|
IRQ_IN |
|||||||||
|
|
source. LFO (low-frequency oscillator) is running in this state. |
||||||||
|
|
|
||||||||
|
|
Lowest power consumption state. The device has to be woken-up in |
||||||||
|
Hibernate |
order to communicate. Low level on |
IRQ_IN |
pin (longer than 10 µs) is |
||||||
|
|
the only wakeup source. |
||||||||
|
|
|
||||||||
|
|
Low power consumption state. Wakeup source is configurable: |
||||||||
Wait For |
|
– Timer |
||||||||
|
|
|
|
|
|
|
|
|
||
Sleep |
– IRQ_IN pin |
|||||||||
Event |
||||||||||
|
|
|
|
|
|
|
|
|
||
|
– SPI_SS pin |
|||||||||
(WFE) |
|
|||||||||
|
LFO (low-frequency oscillator) is running in this state. |
|||||||||
|
|
|||||||||
|
|
|
||||||||
|
|
Low power consumption state with tag detection. Wakeup source is |
||||||||
|
|
configurable: |
||||||||
|
|
– Timer |
||||||||
|
|
– |
|
pin |
||||||
|
Tag Detector |
IRQ_IN |
||||||||
|
|
– |
|
pin |
||||||
|
|
SPI_SS |
||||||||
|
|
– Tag detector |
||||||||
|
|
LFO (low-frequency oscillator) is running in this state. |
||||||||
|
|
|
||||||||
|
|
This mode is accessible directly after POR. |
||||||||
|
Power-up |
Low level on |
|
pin (longer than 10 µs) is the only wakeup |
||||||
|
IRQ_IN |
|||||||||
Active |
|
source. LFO (low-frequency oscillator) is running in this state. |
||||||||
|
|
|
|
|
|
|
|
|
||
|
Lowest power consumption state. The device has to be woken-up in |
|||||||||
|
|
|||||||||
|
Hibernate |
order to communicate. Low level on |
IRQ_IN |
pin (longer than 10 µs) is |
||||||
|
|
the only wakeup source. |
||||||||
|
|
|
|
|
|
|
|
|
|
Hibernate, Sleep and Tag Detector states can only be activated by a command from the external host (MCU). As soon as any of these three states are activated, the device can no longer communicate with the external host. It can only be woken up.
The behavior of the device in 'Tag Detector' state is defined by the Idle command.
6/34 |
Doc ID 019046 Rev 2 |
AN3433 |
Management of CR95HF or STRFNFCA activity |
|
|
The Idle command switches the device into WFE mode (low consumption) and defines the way it returns to Ready state.
In WFE mode, the device has two low consumption states: Hibernate and Sleep/TagDetector.
In Hibernate state, the device power consumption is extremely low (a few microamps) because most of its resources are switched off. When it receives an external event (pin IRQ_IN), it will return to Ready mode in only a few milliseconds.
In Sleep/Tag-Detector state, the device power consumption is low (tens of microamps) depending on the selected wakeup source. The wakeup source can be an internal timer, an external interrupt or the presence of a tag detected by the device.
In Tag-Detector state, after executing an initial Tag Detection Calibration procedure to set-up the device, the application engineer must adjust command parameters to select the best trade-off between the wakeup delay and the power budget.
Doc ID 019046 Rev 2 |
7/34 |
Management of CR95HF or STRFNFCA activity |
|
|
|
|
AN3433 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Table 4. |
Idle command description |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
Direction |
|
Data |
Comments |
|
|
Example |
|
||
|
|
|
|
|
|
|
||||
|
|
|
07 |
Command code |
Example of switch from Active |
|
||||
|
|
|
|
|
mode to Hibernate state: |
|
||||
|
|
|
0E |
Length of data |
|
|||||
|
|
|
>>>0x07 0E 08 04 00 04 |
|
||||||
|
|
|
|
|
|
|||||
|
|
|
|
Specifies authorized wakeup |
|
|||||
|
|
|
<WU Source> |
00 18 00 00 00 00 00 00 |
|
|||||
|
|
|
sources and the LFO frequency |
|
||||||
|
|
|
00 00 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|||
|
|
|
EnterCtrlL |
Settings to enter WFE mode |
Example of switch from Active |
|
||||
|
|
|
|
to WFE mode (wakeup by low |
|
|||||
|
|
|
EnterCtrlH |
|
||||||
|
|
|
|
|
||||||
|
|
|
|
|
pulse on |
IRQ_IN |
pin): |
|
||
|
|
|
WUCtrlL |
Settings to wake up from WFE |
|
|||||
|
|
|
>>>0x07 0E 08 01 00 38 |
|
||||||
|
|
|
WUCtrlH |
mode |
|
|||||
|
|
|
00 18 00 00 00 00 00 00 |
|
||||||
|
|
|
|
|
||||||
|
|
|
LeaveCtrlL |
Settings to leave WFE mode |
00 00 |
|
|
|
|
|
|
|
|
|
(Default value = 0x1800) |
Example of switch from Active |
|
||||
|
|
|
LeaveCtrlH |
|
||||||
|
|
|
|
|
to WFE mode (wakeup by low |
|
||||
|
|
|
|
Period of time between two tag |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pulse on SPI_SS pin): |
|
|||||
|
|
|
|
detection bursts. Also used to |
|
|||||
|
|
|
<WUPeriod> |
>>>0x07 0E 10 01 00 38 |
|
|||||
|
|
|
specify the duration before |
|
||||||
|
|
|
|
00 18 00 00 00 00 00 00 |
|
|||||
|
|
|
|
timeout. |
|
|||||
|
|
|
|
00 00 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Defines the Wait time for HFO to |
Example of wakeup by timeout |
|
||||
|
|
|
<OscStart> |
stabilize: <OscStart> * tL |
(7 seconds): |
|
||||
|
|
|
|
(Default value = 0x60) |
Duration before Timeout = 256 |
|
||||
|
|
|
|
|
* tL * (WU period + 2) * |
|
||||
|
|
|
|
Defines the Wait time for DAC to |
|
|||||
|
Host to |
|
<DacStart> |
stabilize: <DacStart> * tL |
(MaxSleep + 1) |
|
||||
|
|
>>>0x07 0E 01 21 00 38 |
|
|||||||
|
CR95HF or |
|
|
(Default value = 0x60) |
|
|||||
|
STRFNFCA |
|
|
|
00 18 00 60 60 00 00 00 |
|
||||
|
|
|
Lower compare value for tag |
|
||||||
|
|
|
00 08 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|||
|
|
|
|
detection (1). |
|
|
|
|
||
|
|
|
|
Example of switch from Active |
|
|||||
|
|
|
<DacDataL> |
This value must be set to 0x00 |
|
|||||
|
|
|
to Tag Detector mode (wakeup |
|
||||||
|
|
|
|
during Tag Detection |
by tag detection or low pulse |
|
||||
|
|
|
|
Calibration. |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
on IRQ_IN pin) (32 kHz, |
|
|||||
|
|
|
|
|
|
|||||
|
|
|
|
Higher compare value for tag |
inactivity duration = 272 ms, |
|
||||
|
|
|
<DacDataH> |
detection (1). |
DAC oscillator = 3 ms, Swing |
|
||||
|
|
|
This is a variable used during |
= 63 pulses of 13.56 MHz), 0A |
|
|||||
|
|
|
|
|
||||||
|
|
|
|
Tag Detection Calibration. |
= Infinite sequence, 0B = Until |
|
||||
|
|
|
|
|
TimeOut: |
|
||||
|
|
|
<SwingsCnt> |
Number of swings HF during tag |
|
|||||
|
|
|
detection (Default value = 0x3F) |
>>>0x07 0E 0A 21 00 79 |
|
|||||
|
|
|
|
|
||||||
|
|
|
|
|
01 18 00 20 60 60 64 74 |
|
||||
|
|
|
|
|
|
|||||
|
|
|
|
Max. number of tag detection |
3F 08 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
trials before timeout (1). |
|
|
|
|
|
|
|
|
|
|
This value must be set to 0x01 |
Example of a basic Idle |
|
||||
|
|
|
|
command used during the Tag |
|
|||||
|
|
|
|
during Tag Detection |
|
|||||
|
|
|
<MaxSleep> |
Calibration. |
Detection Calibration process: |
|
||||
|
|
|
|
Also used to specify duration |
>>>0x07 0E 03 A1 00 F8 |
|
||||
|
|
|
|
before timeout. |
01 18 00 20 60 60 00 xx |
|
||||
|
|
|
|
MaxSleep must be: |
3F 01 |
|
||||
|
|
|
|
0x00 < MaxSleep < 0x1F |
where xx is the DacDataH |
|
||||
|
|
|
|
|
value. |
|
||||
|
|
|
|
|
|
|
|
|
|
|
8/34 |
Doc ID 019046 Rev 2 |
AN3433 |
|
|
Management of CR95HF or STRFNFCA activity |
|||||
|
|
|
|
|
|
|
|
|
|
Table 4. |
Idle command description (continued) |
|
|
|
|
||
|
|
|
|
|
|
|
||
|
Direction |
|
Data |
Comments |
Example |
|
||
|
|
|
|
|
|
|
||
|
|
|
0x00 |
Result code |
This response is sent only |
|
||
|
|
|
0x01 |
Length of data |
when CR95HF or STRFNFCA |
|
||
|
|
|
exits WFE mode. |
|
||||
|
|
|
|
|
|
|||
|
CR95HF or |
|
|
|
<<<0x000101 Wakeup by |
|
||
|
STRFNFCA |
|
<Data> |
Data (Wakeup source) |
timeout |
|
||
|
to Host |
|
<<<0x000102 Wakeup by |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tag detect |
|
||
|
|
|
|
|
<<<0x000108 Wakeup by |
|
||
|
|
|
|
|
low pulse on |
IRQ_IN |
pin |
|
|
CR95HF or |
|
0x82 |
Error code |
<<<0x8200 Invalid command |
|
||
|
STRFNFCA |
|
|
|
|
|||
|
|
|
|
|
||||
|
|
0x00 |
Length of data |
length |
|
|||
|
to Host |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.An initial calibration is necessary to determine DacDataL and DacDataH values required for leaving Tag Detector state. For more information, contact your ST sales office for the corresponding application note.
The Idle command (Host to device) has the following structure (all values are hexadecimal):
Table 5. |
Idle command structure |
|
|
|
|
|
|
|
|||
07 |
0E |
xx |
yy zz |
yy zz |
yy zz |
aa |
bb |
cc |
dd ee |
ff |
gg |
Comma |
Data |
WU |
Enter |
WU |
Leave |
WU |
Osc |
DAC |
DAC |
Swing |
Max |
nd code |
length |
source |
Control |
Control |
Control |
Period |
Start |
Start |
Data |
Count |
Sleep |
|
|
|
|
|
|
|
|
|
|
|
|
Table 6. |
Summary of parameters |
|
|
|
||||
Parameter |
|
|
|
Description |
||||
|
|
|
||||||
Command code |
This byte is the command code. ‘07’ represents the Idle command. This |
|||||||
command switches the device from Active mode to WFE mode. |
||||||||
|
|
|||||||
|
|
|
||||||
Data length |
|
This byte is the length of the command in bytes. Its value depends on the |
||||||
|
following parameter values. |
|
|
|
||||
|
|
|
|
|
||||
|
|
|
||||||
|
|
This byte defines the authorized wakeup sources in the wakeup source |
||||||
WU Source |
|
register. Predefined values are: |
|
|
|
|||
|
01: Time out |
02: Tag Detection |
||||||
|
|
|||||||
|
|
08: Low pulse on |
IRQ_IN |
|
10: Low pulse on |
SPI_SS |
|
|
|
|
|
||||||
|
|
These two bytes (EnterCtrlL and EnterCtrlH) define the resources when |
||||||
|
|
entering WFE mode. |
|
|
|
|||
Enter Control |
|
0x0400: Hibernate |
|
|
|
|||
|
|
0x0100: Sleep (or 0x2100 if Timer source is enabled) |
||||||
|
|
0xA100: Tag Detector Calibration |
||||||
|
|
0x2100: Tag detection |
|
|
|
|||
|
|
These two bytes (WuCtrlL and WuCtrlH) define the wakeup resources. |
||||||
WU Control |
|
0x0400: Hibernate |
0x3800: Sleep |
|||||
|
|
0xF801: Tag Detector Calibration 0x7901: Tag detection |
Doc ID 019046 Rev 2 |
9/34 |
Management of CR95HF or STRFNFCA activity |
AN3433 |
|||
|
|
|
|
|
|
Table 6. |
Summary of parameters (continued) |
|
|
|
|
|
||
|
Parameter |
Description |
||
|
|
|
|
|
|
|
|
These two bytes (LeaveCtrlL and LeaveCtrlH) define the resources when |
|
|
Leave Control |
returning to Ready state. |
|
|
|
0x1800: Hibernate |
0x1800: Sleep |
||
|
|
|
||
|
|
|
0x1800: Tag Detector Calibration |
0x1800: Tag detection |
|
|
|
This byte is the coefficient used to adjust the time allowed between two tag |
|
|
WU Period |
|
detections. Also used to specify the duration before timeout. (Typical value: |
|
|
|
0x20) |
|
|
|
|
|
|
|
|
|
|
Duration before Timeout = 256 * tL * (WU period + 2) * (MaxSleep + 1) |
|
|
|
|
This byte defines the delay for HFO stabilization. (Recommended value: |
|
|
Osc Start |
|
0x60) |
|
|
|
|
Defines the Wait time for HFO to stabilize: <OscStart> * tL |
|
|
|
|
This byte defines the delay for DAC stabilization. (Recommended value: |
|
|
DAC Start |
|
0x60) |
|
|
|
|
Defines the Wait time for DAC to stabilize: <DacStart> * tL |
|
|
|
|
These two bytes (DacDataL and DacDataH) define the lower and higher |
|
|
|
|
comparator values, respectively. These values are determined by a |
|
|
DAC Data |
|
calibration process. |
|
|
|
|
When using the device demoboard, these values should be set to |
|
|
|
|
approximately 0x64 and 0x74, respectively. |
|
|
Swing Count |
|
This byte defines the number of HF swings allowed during Tag Detection. |
|
|
|
(Recommended value: 0x3F) |
|
|
|
|
|
|
|
|
|
|
This byte defines the maximum number of tag detection trials or the |
|
|
|
|
coefficient to adjust the maximum inactivity duration before timeout. |
|
|
|
|
MaxSleep must be: 0x00 < MaxSleep < 0x1F |
|
|
Max Sleep |
|
This value must be set to 0x01 during the Tag Detection Calibration |
|
|
|
|
process. |
|
|
|
|
Also used to specify duration before timeout. |
|
|
|
|
Duration before Timeout = 256 * tL * (WU period + 2) * (MaxSleep + 1) |
|
|
|
|
(Typical value: 0x28) |
|
|
|
|
|
|
In WFE mode, the high frequency oscillator (HFO) is stopped and most processes being executed are clocked by the low frequency oscillator (LFO). To minimize CR95HF or STRFNFCA power consumption in WFE mode, the slower the LFO frequency, the lower the power consumption.
Example 1: Setting a lower LFO frequency
The following equation defines a basic timing reference:
tREF = 256*tL ms (where tL = 1/fLFO)
tREF = 8 ms (when bits [7:6] are set to ‘00’, or 32 kHz) tREF = 64 ms (when bits [7:6] are set to ‘11’, or 4 kHz)
10/34 |
Doc ID 019046 Rev 2 |
AN3433 |
Management of CR95HF or STRFNFCA activity |
|
|
Using the Wakeup source register, it is possible to cumulate sources for a wakeup event. It is strongly recommended to always set an external event as a possible wakeup source.
To cumulate wakeup sources, simply set the corresponding bits in the wakeup source register. For example, to enable a wakeup when a tag is detected (bit 1 set to ‘1’) or on a low pulse on pin IRQ_IN (bit 3 set to ‘1’), set the register to 0x0A.
Wakeup conditions are defined in the 8-bit wakeup condition register. These bits select one or several external conditions to be evaluated by the device in order to exit Idle mode.
Bit 0: When set, the device will wake up and return to Ready state at the end of a predefined cycle. The Time Out (TO) value is defined by the Max sleep and Wake Up period:
TO = (MaxSleep *(WuPeriod+1)*RT or RT= 256*tLFO = 8 ms
This bit must be set when using the timer as a possible wakeup source. It must be set during Tag Detection Calibration to force a wakeup after the first Tag Detection trial.
Bit 1: When set, the device will wake up when a Tag is detected in the RF field. This bit must also be set during Tag Detection Calibration or during Tag Detection (when the RF field is active).
Bit 2: This bit is RFU.
Bit 3: When set, the device will wake up when an external interrupt (low level on pin IRQ_IN) is detected. This is useful for SPI communications.
It is recommended to set this bit to ‘1’ in order to recover in the event of a system crash.
Bit 4: When set, the device will wake up when an external interrupt (low level on pin |SPI_SS) is detected. This is useful for UART communication.
Bits [7:5] These bits are RFU.
Cumulation of wakeup conditions
The wakeup conditions selected in the Wakeup condition register can be cumulated.
When the device returns to Ready state, it is possible to use the RdReg command to read the Wakeup condition register to know which event caused the device to wake up from Idle mode.
Read Wakeup condition register: |
08 |
03 |
62 |
01 00 |
Reply (‘xx’ represent the Wakeup condition register bits): |
00 |
01 |
xx |
|
This information is used after each iteration during the Tag Detection Calibration process to determine the CalRef level. This level corresponds to the switching of the bits in the Wakeup condition register from 0x02 (Tag Detector) to 0x01 (TimeOut) when using the device previously calibrated in a free-air environment (no tags present).
Doc ID 019046 Rev 2 |
11/34 |