AN3433 STMICROELECTRONICS | Alldatasheet
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 34
Technical content
Datasheet sections
- 1 Reference information
- 1.1 Reference documents
- 1.2 Terms and acronyms
- 1.3 Notation conventions
- 2 Management of CR95HF or STRF NFCA activity
- 2.1 Overview of operating modes
- 2.2 Idle command
- 2.3 Idle command parameters
- 2.4 Using LFO frequency setting to reduce power consumption
- 2.5 Optimizing wake-up conditions
- 2.5.1 Wake-up source register
- 2.6 Using various techniques to return to Ready state
- 2.6.1 Default setting: from POR to Ready state
- 2.6.2 From Ready state to Hibernate state and back to Ready state
- 2.6.3 From Ready state to Sleep state and back to Ready state
- 2.7 Tag detection calibration procedure
- 3 Power consumption considerations
- 3.1 Transition from Ready to Hibernate state
- 3.2 Transition from Ready to Sleep state
- 3.3 Wake-up by Tag Detection
February 2012 Doc ID 019046 Rev 2 1/34 AN3433 Application note Optimizing wakeup time and power consumption in CR95HF and STRFNFCA devices Introduction 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.
Appendix D Example of CR95HF tag detec tion command using results of tag
1 Reference information
1.1 Reference documents
1.2 Terms and acronyms
1.3 Notation conventions
Table 1. List of terms and acronyms Table 2. List of characteristic values MaxSleep Number of inactivity periods (t INACTIVE) before a timeout.
Table 2. List of characteristic values (continued)
2 Management of CR95HF or STRFNFCA activity
2.1 Overview of operating modes
mode includes four low consumption states: Power-up, Hibernate, Sleep and Tag Detector. The CR95HF or STRFNFCA can switch from one mode to another. 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. Table 3. CR95HF or STRFNFCA operating modes and states This mode is accessible directly after POR. source. LFO (low-frequency oscillator) is running in this state. LFO (low-frequency oscillator) is running in this state. LFO (low-frequency oscillator) is running in this state. This mode is accessible directly after POR. source. LFO (low-frequency oscillator) is running in this state.
2.2 Idle command
way it returns to Ready state. ), it will return to Ready mode in only a few milliseconds. external interrupt or the presence of a tag detected by the device. trade-off between the wakeup delay and the power budget. Figure 1. CR95HF or STRFNFCA initialization and operating state change
Table 4. Idle command description
07 Command code Example of switch from Active
2.3 Idle command parameters
- An initial calibration is necessary to determine Da cDataL and DacDataH values required for leaving Tag
Detector state. For more information, contact your ST sales office for the corresponding application note. Table 4. Idle command description (continued) Table 5. Idle command structure Table 6. Summary of parameters command switches the device from Active mode to WFE mode. These two bytes (WuCtrlL and WuCtrlH) define the wakeup resources.
2.4 Using LFO frequency settin g to reduce power consumption
approximately 0x64 and 0x74, respectively. Swing Count This byte defines the number of HF swings allowed during Tag Detection. coefficient to adjust the maximum inactivity duration before timeout. Also used to specify duration before timeout. Table 6. Summary of parameters (continued)
AN3433 Management of CR95HF or STRFNFCA activity Doc ID 019046 Rev 2 11/34
2.5 Optimizing wakeup conditions
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.
2.5.1 Wakeup source register
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*t LFO = 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).
Management of CR95HF or STRFNFCA activity AN3433 12/34 Doc ID 019046 Rev 2
2.6 Using various techniques to return to Ready state
The Idle command and reply set offers several benefits to users by enabling various methods to return the CR95HF or STRFNFCA to Ready state. Some methods are nearly automatic, such as waiting for a timer overflow or a tag detection, but others consume more power compared to the ones requesting a host action. A description of each method follows below.
2.6.1 Default setting: fr om POR to Ready state
After power-on, the CR95HF or STRFNFCA enters Power-up state. To wake up the device and set it to Ready state, the user must send a low pulse on the IRQ_IN pin. The device then automatically selects the external interface (SPI or UART) and enters Ready state and is able to accept commands after a delay of approximately 3 ms.
2.6.2 From Ready state to Hiber nate state and back to Ready state
In Hibernate state, most resources are switched off to achieve an ultra-low power consumption. The only way the CR95HF or STRFNFCA can wake up from Hibernate state is by an external event (low pulse on pin IRQ_IN). A basic Idle command is: >>>0x07 0E 08 04 00 04 00 18 00 00 00 00 00 00 00 00 Note: The Wakeup flag value is NOT significant when returning to Ready state from Hibernate state or after a POR.
2.6.3 From Ready state to Sl eep state and back to Ready state
Wake up by external event (low pulse on IRQ_IN or SPI_SS pin) In Sleep or Power-up states, operating resources are limited in function of the selected wakeup source to achieve a moderate power consumption level. An Idle command example when wakeup source is pin IRQ_IN: >>>0x07 0E 08 01 00 38 00 18 00 00 60 00 00 00 00 00 A similar command can be implemented using pin SPI_SS as a wakeup source: >>>0x07 0E 10 01 00 38 00 18 00 00 60 00 00 00 00 00 Wakeup by Timeout The LFO is required to use the timer. However, this increases the typical power consumption by 80 µA. Several parameters can be modified to reduce power consumption as much as possible. The Duration before Timeout is defined by parameters WU period and MaxSleep, respectively 0x60 and 0x08 in the following example. Duration before Timeout = 256 * t L * (WU period + 2) * (MaxSleep + 1) Note: Note that: 0x00 < MaxSleep < 0x1F .
AN3433 Management of CR95HF or STRFNFCA activity Doc ID 019046 Rev 2 13/34 An Idle command example when wakeup source is timer (0x01) when fLFO = 32 kHz (mean power consumption is 25 µA) >>>0x07 0E 01 21 00 38 00 18 00 60 60 00 00 00 00 08 An Idle command example when wakeup source is timer (0xC1) when fLFO = 4 kHz (mean power consumption is 20 µA): >>>0x07 0E C1 21 00 38 00 18 00 60 60 00 00 00 00 08 The same command can be used mixing a timer and the IRQ_IN pin (0xC9) as a wakeup source: >>>0x07 0E C9 21 00 38 00 18 00 60 60 00 00 00 00 08 Wakeup by Tag Detection In this mode, the typical consumption can greatly vary in function of parameter settings (WU period without RF activity and Swing Count defining the RF burst duration). Using default settings, consumption in the range of 100 µA can be achieved. Tag Detector is a state where the CR95HF or STRFNFCA is able to detect an RF event and a wakeup will occur when a tag sufficiently modifies the antenna load and is detected by the device. An Idle command example when wakeup source is Tag Detection (0x02): >>>0x07 0E 02 21 00 79 01 18 00 20 60 60 64 74 3F 08 The same command can be used mixing Tag Detection and the IRQ_IN pin (0x0A) as a wakeup source: >>>0x07 0E 0A 21 00 79 01 18 00 20 60 60 64 74 3F 08 The tag detection sequence is defined by dedicated parameters:
- WU source (Byte 3) – The Timeout bit (bit 0) must be set to ‘1’ in order to manage a certain number of emitted bursts. Otherwise, bursts will be sent indefinitely until a stop event occurs (for example, tag detection or a low pulse on pin IRQ_IN). – The Tag Detect bit (bit 1) must be set to ‘1’ to enable RF burst emissions. – It is recommended to also set Bits 3 or 4 to ‘1’ to ensure that it is possible to leave Tag Detect mode via an external event (for example, a low pulse on pin IRQ_IN
- WU period (Byte 10): Defines the period of inactivity (tINACTIVE) between two RF bursts: tINACTIVE = (WuPeriod + 2) * tREF
- OscStart, DacStart (Bytes 11 and 12): Define the set-up time of the HFO and Digital Analog Converter, respectively. In general, 3 ms is used both set-up times. HFO | DAC set-up time = (OscStart | DacStart) * tL
- DacDataL, DacDataH (Bytes 13 and 14): Reference level for Tag Detection (calculated during the tag detection calibration process).
- SwingsCnt (Byte 15): Represents the number of 13.56-MHz swings allowed during a Tag Detection burst. We recommend using 0x3F.
- MaxSleep (Byte 16): The CR95HF or STRFNFCA emits (MaxSleep +1) bursts before leaving Tag Detection mode if bit 0 (Timer Out) of the WU source register is set to ‘1’. Otherwise, when this bit is set to ‘0’, a burst is emitted indefinitely.
Management of CR95HF or STRFNFCA activity AN3433 14/34 Doc ID 019046 Rev 2 Note: Bytes 4 to 9 should be used as shown in the examples in Section 2.3: Idle command parameters. Note that the MaxSleep value is coded on the 5 least significant bits, thus: 0x00 < MaxSleep < 0x1F . All the previously described command parameters must be chosen accordingly for the initial tag detection calibration when setting up the CR95HF or STRFNFCA. Their value will impact tag detection efficiency and CR95HF or STRFNFCA power consumption during Tag Detection periods.
2.7 Tag detection calibration procedure
The Idle command allows the use of a tag detection as a wakeup event. Certain parameters of the Idle command are dedicated to setting the conditions of a tag detection sequence. During the tag detection sequence, the CR95HF or STRFNFCA regularly emits RF bursts and measures the current in the antenna driver I DRIVE using the internal 6-bit DAC. When a tag enters the device antenna RF operating volume, it modifies the antenna loading characteristics and induces a change in IDRIVE, and consequently, the DAC data register reports a new value. This value is then compared to the reference value established during the tag detection calibration process. This enables the device to decide if a tag has entered or not its operating volume. The reference value (DacDataRef) is established during a tag detection calibration process using the device application setting with no tag in its environment. The calibration process consists in executing a tag detection sequence using a well-known configuration, with no tag within the antenna RF operating volume, to determine a specific reference value (DacDataRef) that will be reused by the host to define the tag detection parameters (DacDataL and DacDataH). During the calibration process, DacDataL is forced to 0x00 and the software successively varies the DacDataH value from its maximum value (0xFE) to its minimum value (0x00). At the end of the calibration process, DacDataRef will correspond to the value of DacDataH for which the wakeup event switches from timeout (no tag in the RF field) to tag detected. To avoid too much sensitivity of the tag detection process, we recommend using a guard band. This value corresponds to 2 DAC steps (0x08). Recommended guard band value: DacDataL = DacDataRef – Guard and DacDataH = DacDataRef + Guard The parameters used to define the tag detection calibration sequence (clocking, set-up time, burst duration, etc.) must be the same as those used for the future tag detection sequences. When executing a tag detection sequence, the device compares the DAC data register value to the DAC Data parameter values (DacDataL and DacDataH) included in the Idle command. The device will exit WFE mode through a Tag Detection event if the DAC data register value is greater than the DAC Data parameter high value (DacDataH) or less than the DAC Data parameter low value (DacDataL). Otherwise, it will return to Ready state after a timeout.
AN3433 Management of CR95HF or STRFNFCA activity Doc ID 019046 Rev 2 15/34 An efficient 8-step calibration algorithm is described in Example of CR95HF tag detection calibration process on page 29. An example of a basic Idle command used during the Tag Detection Calibration process: >>>0x07 0E 03 A1 00 F8 01 18 00 20 60 60 00 xx 3F 01 where xx is the DacDataH value. An example of a tag detection sequence is provided in Example of CR95HF tag detection command using results of tag detection calibration on page 32.
Power consumption considerations AN3433 16/34 Doc ID 019046 Rev 2
3 Power consumption considerations
This chapter describes the advantages and benefits for using the various Idle command parameters to select the best wakeup configuration for your device to ensure optimal power consumption for your application. The previous chapter describes how to use the Idle command to set the device from Ready to one of the three WFE modes (Hibernate, Sleep, and Tag Detector). The following sections describe the various wakeup processes for the selected WFE mode.
3.1 Transition from Ready to Hibernate state
Hibernate state consumes the least amount of power of all the possible device states. Only an Idle command can set the device from Ready state to Hibernate state. After receiving the Hibernate command via the SPI bus, the device (Figure 2) stops the oscillator and analog resources and the device enters Hibernate state. A basic Idle command to set the device from Ready state to Hibernate state is: >>> 0x07 0E 08 04 00 04 00 18 00 00 00 00 00 00 00 00 In Hibernate state, the device minimizes its power consumption by disabling most of its resources before stopping the external oscillator. In this state, power consumption will decrease from approximately 2.5 mA to less than 2 µA. The only way the device can wakeup from Hibernate state is by an external event (pin IRQ_IN goes low). The device will only send its response after having returned to Ready state after an external event is detected. When the device wakes up from Hibernate state (Figure 3), it restarts the external oscillator and all other resources, including the selected communication interface, before returning to Ready state and waiting for a new command.
Power consumption considerations AN3433 18/34 Doc ID 019046 Rev 2
3.2 Transition from Ready to Sleep state
This transition ensures low power consumption as well as a fast recovery (switch to Ready state). When the CR95HF or STRFNFCA receives an Idle command with the Sleep option, it only partially disables its resources. In this state, power consumption will decrease from 2.5 mA to approximately 20 µA. The device can wake up from Idle state only at the end of pre-defined timeout or by an external event (pin IRQ_IN or SPI_SS goes low). A basic Idle command used to wake up the device at the end of pre-defined timeout is: >>> 0x07 0E 01 01 00 38 00 18 00 60 00 00 00 00 00 00 In this example, the timer uses only the LF oscillator. The timeout period is defined by the following command parameters: TO = 256*tLFO*WuPeriod*MaxSleep A basic Idle command used to wake up the device by an external event (pin IRQ_IN) is: >>> 0x07 0E 08 01 00 38 00 18 00 60 00 00 00 00 00 00 A basic Idle command used to wake up the device by an external event (pin SPI_SS) is: >>> 0x07 0E 10 01 00 38 00 18 00 60 00 00 00 00 00 00 The device will only send its response after having returned to Ready state after an external event is detected. When the device wakes up from Sleep state, it restarts the external oscillator and all other resources, including the selected communication interface, before returning to Ready state and waiting for a new command. In certain cases (mainly when using the UART), it may be necessary to use an Echo command to re-synchronize the host and CR95HF or STRFNFCA device.
3.3 Wakeup by Tag Detection
The Tag Detection process requires the temporary use of internal resources such as the 13.56-MHz HF oscillator or the DAC which are usually switched off in WFE mode and only turned on during an RF burst emission to determine if tag entered the device operating range. The delay (t INACTIVE) between two RF burst emissions is defined in the Idle command by the WuPeriod parameter. For a complete description of the Tag Detection process, see Appendix A: Tag detection principle. tINACTIVE = (WuPeriod+1)*tREF In the example shown in Figure 4: tINACTIVE = (32+1)*8 ms = 264 ms
the best measurement stability. consumption of the RF drivers (pin VPS_TX). shown in Figure 6. This results in a mean power consumption of 100 µA. Figure 6. RF burst in Tag Detection mode
- In the above figure, yellow represents the 27.12-MH z (HFO) oscillator and the RF emission is in green.
Figure 7. Power consumption in Tag Detection mode
- In the above figure, yellow represents the 27.12-MH z (HFO) oscillator and the device power consumption
Tag detection principle AN3433 22/34 Doc ID 019046 Rev 2 Appendix A Tag detection principle The Tag Detection process requires the temporary use of internal resources such as the
13.56 MHz HF oscillator or the DAC which are usually switched off in WFE mode and only
turned on during an RF burst emission to determine if tag entered the device operating range. To detect the presence of a tag, the device measures a portion of the device antenna’s current using the DAC (DacLevel) and compares this value to a reference value (CalRef) determined in the same way when the application is initialized. To do this, once the HF oscillator is stabilized, the device emits an RF burst and monitors its antenna current using its internal 64-bit DAC. This result is then compared to a reference value established during the Tag Detection Calibration phase. The device is initially calibrated by the user application in a free-air environment (no tags present) in order to obtain a reference value (CalRef) that corresponds to the basic threshold of its comparator. When a new measurement of the antenna’s current results in a value different from the CalRef value, a tag is probably present in the RF field. To reduce the margin of error for false detections, in addition to comparing the value of the measured antenna current (DacLevel) to the reference value (CalRef), the device checks that the measured value is within a given range: DacDataL < DacLevel < DacDataH Using range limits ensures a stable Tag Detection process. We usually choose: DacDataL = CalRef – 0x08 and DacDataH = CalRef + 0x08 The parameters that define measurement resources, oscillator and DAC setup times or RF burst duration, can be individually adjusted within the Idle command parameters, but they must remain unchanged between the calibration and tag detection periods. We recommend for the HF oscillator and DAC stabilization times (OscStart and DacStart, respectively) using a minimum value of 0x60 that corresponds to a duration of 3 ms (96 * t LFO).
Figure 8. Tag detection principle (levels of antenna current) The user can choose to limit number of tag detection trials by adjusting the MaxSleep value. until a wakeup event occurs. command and are both usually set to 0x60. The RF burst length (SwingCnt) corresponds to the acquisition time necessary for the DAC. Idle command and is usually set to 0x3F.
Tag Detection Calibration process AN3433 26/34 Doc ID 019046 Rev 2 Appendix B Tag Detection Calibration process The Tag Detection Calibration process must be performed when the application is initialized. A fast and efficient dichotomist flow in 8 steps is proposed to achieve best results. Before starting this flow, the user must define its basic setup which consists in defining the following parameters using the Idle command. These parameters are described in Section 2.3: Idle command parameters on page 9. When using the CR95HF or STRFNFCA demoboard and development kit, the following values are recommended:
- Wakeup condition: 0x03 (tag detection or timeout)
- EnterCtrlL/EnterCtrlH, WUCtrlL/WUCtrlH, and LeaveCtlL/LeaveCtrlH values define internal parameters settings during the tag detection process. We recommend: >>> 0xA1 00 F8 01 18 00
- MaxSleep: MUST be set to ‘01’ in Tag Detection Calibration process for immediate wakeup. This means that only one detection impulse will be sent and immediately afterwards the device will exit Tag Detection Calibration mode.
- Oscillator and DAC stabilization times. We recommend: 0x60
- Number of 13.56 MHz swings during tag detection (SwingsCnt), we recommend using 0x3F to obtain a good reproducibility of measurements.
- WakeUp period. This parameter is not used during the Tag Detection Calibration process.
- The Host can then use the RdReg command to read the Wakeup condition register to determine the cause of the wakeup or check the reply code. A basic Tag Detection Calibration command is: >>> 0x 07 0E 03 A1 00 F8 01 18 00 20 60 60 00 xx 3F 01 B.1 Tag Detection Calibration algorithm To determine the RF Field reference level (CalRef) corresponding to your application setup, you must use the Tag Detection Calibration function (TagCal). For calibration purposes, parameters are set to execute only one RF field evaluation before leaving Tag Detection state. This is achieved by setting the WU condition parameter to 0x03 (wakeup upon timeout or tag detection) and the MaxSleep value to 0x01 forcing the CR95HF or STRFNFCA to leave the Tag Detection state after only one attempt. The value of the Wakeup flag is updated to the following value each time the device leaves Tag Detection state. Here, the WakeUp_n variable corresponds to the third byte of the device Idle command reply. If the measured antenna current is between DacDataL and DacDataH, the wakeup event will be a timeout: WakeUp_n = 1 If the measured antenna current is less than DacDataL or greater than DacDataH, the wakeup event will be a tag detection: WakeUp_n = 2
AN3433 Tag Detection Calibration process Doc ID 019046 Rev 2 27/34 During the calibration process, DacDataL is set to 0x00 and the reference level is determined changing only the DacDataH parameter. The reference level corresponds to the switching level between wakeup sources. It is determined using the fast dichotomist process in 8 steps; The Tag Detection Calibration command is formatted as follows: TagCal (Ref_H) = 0x07 0E 03 A1 00 F8 01 18 00 20 60 60 00 Ref_H 3F 01 All the parameters are predefined to fit applicative requests in terms of wakeup sources and power consumption. A compromise must be established between the detection period and power consumption. TagDet (64,74, or DacDataL and DacDataH, respectively) is defined using the command: >>> 0x07 0E 0B 21 00 79 01 18 00 20 60 60 64 74 3F 00 B.2 Tag Detection calibration command The Tag Detection Calibration command (TagCal) is a special setting of the Tag Detection command (TagDet) for which the only variable is Ref_H. >>> 0x07 0E 03 A1 00 F8 01 18 00 01 60 60 00 XX 3F 00 <<< 0x00 01 01 (in the event of a timeout) or <<< 0x00 01 02 (in the event of a tag detection in the RF field) Here, the third byte (the WakeUp_n variable) defines the Wakeup event. It is also possible to directly use the Wakeup Flag command: 0x08 03 62 01 00 Read Wakeup Flag reply: – In case of timeout: 0x00 01 01 (WakeUp_n = 0x01) – In case of Tag Detection: 0x00 01 02 (WakeUp_n = 0x02) In Figure 11, the function TagCal (0xRef_n) corresponds to the execution of the following device Idle command: >>> 0x07 0E 03 A1 00 F8 01 18 00 20 60 60 00 0xRef_n 3F 01 <<< 0x00 01 01 (in the event of a timeout) or <<< 0x00 01 02 (in the event of a tag detection in the RF field) Here, the third byte (the WakeUp_n variable) defines the Wakeup event.
Figure 11. Dichotomist algorithm for tag detection calibration
AN3433 Example of CR95HF tag detection calibration process Doc ID 019046 Rev 2 29/34 Appendix C Example of CR95HF tag detection calibration process From this Revision 1.1, we can directly use the CR95HF reply during Tag Detection Calibration or Tag Detection sequences and avoid using the RDREG command. This is a dichotomic approach to quickly converge to the DacDataRef value for which a wakeup event switches from tag detection to timeout. In this process, only the DacDataH parameter is changed in successive Idle commands. And we look at the wakeup event reply to decide the next step. <<< 00 01 02 corresponds to a Tag Detection (WakeUp_n = 2) <<< 00 01 01 corresponds to a Timeout (WakeUp_n = 1) REM, Tag Detection Calibration Test REM, Sequence: Power-up Tag Detect Wake-up by Tag Detect (1 try measurement greater or equal to DacDataH) or Timeout REM, CMD 07 0E 03 A100 F801 1800 20 60 60 00 XX 3F 01 REM, 03 WU source = TagDet or Timeout REM, A100 Initial Dac Compare REM, F801 Initial Dac Compare REM, 1800 HFO REM, 20 WuPeriod = 32, Inactivity period = 256ms (LFO @ 32kHz) REM, 60 Osc 3ms (LFO @ 32kHz) REM, 60 Dac 3ms (LFO @ 32kHz) REM, 00 DacDataL = minimum level (floor) REM, xx DacDataH 00 = minimum level (ceiling) REM, 3F Swing 13.56 4.6 us REM, 01 Maximum number of Sleep before Wakeup 2 REM, Tag Detection Calibration Test REM, During tag detection calibration process DacDataL = 0x00 REM, We execute several tag detection commands with different DacDataH values to determine DacDataRef level corresponding to CR95HF application set-up REM, DacDataReg value corresponds to DacDataH value for which Wake- up event switches from Timeout (0x01) to Tag Detect (0x02) REM, Wake-up event = Timeout when DacDataRef is between DacDataL and DacDataH
Example of CR95HF tag detection calibration process AN3433 30/34 Doc ID 019046 Rev 2 REM, Search DacDataref value corresponding to value of DacDataH for which Wake-up event switches from Tag Detect (0x02) to Timeout (0x01) REM, Step 0: force wake-up event to Tag Detect (set DacDataH = 0x00) REM, With these conditions Wake-Up event must be Tag Detect >>> CR95HFDLL_STCMD, 01 070E03A100F801180020606000003F01 <<< 00 01 02 REM, Read Wake-up event = Tag Detect (0x02); if not, error . REM, Step 1: force Wake-up event to Timeout (set DacDataH = 0xFC REM, With these conditions, Wake-Up event must be Timeout >>> CR95HFDLL_STCMD, 01 070E03A100F801180020606000FC3F01 <<< 00 01 01 REM, Read Wake-up event = Timeout (0x01); if not, error. REM, Step 2: new DacDataH value = previous DacDataH +/- 0x80 REM, If previous Wake-up event was Timeout (0x01) we must decrease DacDataH (-0x80) >>> CR95HFDLL_STCMD, 01 070E03A100F8011800206060007C3F01 <<< 00 01 01 REM, Read Wake-up event = Timeout (0x01) or Wake-up event = Tag Detect (0x02) REM, Step 3: new DacDataH value = previous DacDataH +/- 0x40 REM, If previous Wake-up event was Timeout (0x01), we must decrease DacDataH (-0x40); else, we increase DacDataH (+ 0x40) >>> CR95HFDLL_STCMD, 01 070E03A100F8011800206060003C3F01 <<< 00 01 02 REM, Read Wake-up event = Timeout (0x01) or Wake-up event = Tag Detect (0x02) REM, Step 4: new DacDataH value = previous DacDataH +/- 0x20 REM, If previous Wake-up event was Timeout (0x01), we must decrease DacDataH (-0x20); else, we increase DacDataH (+ 0x20) >>> CR95HFDLL_STCMD, 01 070E03A100F8011800206060005C3F01 <<< 00 01 02
AN3433 Example of CR95HF tag detection calibration process Doc ID 019046 Rev 2 31/34 REM, Read Wake-up event = Timeout (0x01) or Wake-up event = Tag Detect (0x02) REM, Step 5: new DacDataH value = previous DacDataH +/- 0x10 REM, If previous Wake-up event was Timeout (0x01), we must decrease DacdataH (-0x10); else, we increase DacDataH (+ 0x10) >>> CR95HFDLL_STCMD, 01 070E03A100F8011800206060006C3F01 <<< 00 01 02 REM, Read Wake-up event = Timeout (0x01) or Wake-up event = Tag Detect (0x02) REM, Step 6: new DacDataH value = previous DacDataH +/- 0x08 REM, If previous Wake-up event was Timeout (0x01), we must decrease DacDataH (-0x08); else, we increase DacDataH (+ 0x08) >>> CR95HFDLL_STCMD, 01 070E03A100F801180020606000743F01 <<< 00 01 01 REM, Read Wake-up event = Timeout (0x01) or Wake-up event = Tag Detect (0x02) REM, Step 7: new DacDataH value = previous DacDataH +/- 0x04 REM, If previous Wake-up event was Timeout (0x01), we must decrease DacDataH (-0x04); else, we increase DacDataH (+ 0x04) >>> CR95HFDLL_STCMD, 0 1070E03A100F801180020606000703F01 <<< 00 01 01 REM, Read Wake-up event = Timeout (0x01) or Wake-up event = Tag Detect (0x02) REM, If last Wake-up event = Tag Detect (0x02), search DacDataRef = last DacDataH value REM, If last Wake-up event = Timeout (0x01), search DacDataRef = last DacDataH value -4 REM, For tag detection usage, we recommend setting DacDataL = DacDataRef -8 and DacDataH = DacDataRef +8 >>> CR95HFDLL_STCMD, 01 070E0B21007901180020606064743F01 <<< 00 01 01
Example of CR95HF tag detection command using results of tag detection calibration AN3433 32/34 Doc ID 019046 Rev 2 Appendix D Example of CR95H F tag detection command using results of tag detection calibration This is an example of a Tag Detection command when a tag is not present in the RF operating volume using CR95HF revision 1.1.: >>> CR95HFDll_STCmd, 01 070E0B21007901180020606064743F01 <<< 00 01 01 Wake-up event = Timeout (0x01) >>> CR95HFDll_STCmd, 01 0803620100 <<< 00 01 01 This is an example of a Tag Detection command when a tag is present in the RF operating volume using CR95HF revision 1.1.: >>> CR95HFDll_STCmd, 01 070E0B21007901180020606064743F01 <<< 00 01 02 Wake-up event = Tag Detect (0x02) >>> CR95HFDll_STCmd, 01 0803620100 <<< 00 01 02
Revision history
Table 7. Document revision history 05-Dec-2011 1 Initial release. 23-Feb-2012 2 Updated the document through out to include the STRFNFCA device.