Download BDTIC www.BDTIC.com/infineon S e n s e & ... T P M S

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Rectiverter wikipedia , lookup

Radio transmitter design wikipedia , lookup

Opto-isolator wikipedia , lookup

Regenerative circuit wikipedia , lookup

Air traffic control radar beacon system wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Index of electronics articles wikipedia , lookup

Carrier IQ wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
TP MS
Tire Pressure Monitoring Sensor
BDTIC
SP 37
Applic atio n N ote
LF Application Note
Revision 1.0, 2011-12-05
Sens e & Con trol
www.BDTIC.com/infineon
BDTIC
Edition 2011-12-05
Published by
Infineon Technologies AG
81726 Munich, Germany
© 2012 Infineon Technologies AG
All Rights Reserved.
Legal Disclaimer
The information given in this document shall in no event be regarded as a guarantee of conditions or
characteristics. With respect to any examples or hints given herein, any typical values stated herein and/or any
information regarding the application of the device, Infineon Technologies hereby disclaims any and all
warranties and liabilities of any kind, including without limitation, warranties of non-infringement of intellectual
property rights of any third party.
Information
For further information on technology, delivery terms and conditions and prices, please contact the nearest
Infineon Technologies Office (www.infineon.com).
Warnings
Due to technical requirements, components may contain dangerous substances. For information on the types in
question, please contact the nearest Infineon Technologies Office.
Infineon Technologies components may be used in life-support devices or systems only with the express written
approval of Infineon Technologies, if a failure of such components can reasonably be expected to cause the
failure of that life-support device or system or to affect the safety or effectiveness of that device or system. Life
support devices or systems are intended to be implanted in the human body or to support and/or maintain and
sustain and/or protect human life. If they fail, it is reasonable to assume that the health of the user or other
persons may be endangered.
www.BDTIC.com/infineon
LF-Application Note
Revision History
Page or Item
Subjects (major changes since previous revision)
Revision 1.0, 2011-10-10
Initial Version
Trademarks of Infineon Technologies AG
AURIX™, C166™, CanPAK™, CIPOS™, CIPURSE™, EconoPACK™, CoolMOS™, CoolSET™,
CORECONTROL™, CROSSAVE™, DAVE™, EasyPIM™, EconoBRIDGE™, EconoDUAL™, EconoPIM™,
EiceDRIVER™, eupec™, FCOS™, HITFET™, HybridPACK™, I²RF™, ISOFACE™, IsoPACK™, MIPAQ™,
ModSTACK™, my-d™, NovalithIC™, OptiMOS™, ORIGA™, PRIMARION™, PrimePACK™, PrimeSTACK™,
PRO-SIL™, PROFET™, RASIC™, ReverSave™, SatRIC™, SIEGET™, SINDRION™, SIPMOS™,
SmartLEWIS™, SOLID FLASH™, TEMPFET™, thinQ!™, TRENCHSTOP™, TriCore™.
BDTIC
Other Trademarks
Advance Design System™ (ADS) of Agilent Technologies, AMBA™, ARM™, MULTI-ICE™, KEIL™,
PRIMECELL™, REALVIEW™, THUMB™, µVision™ of ARM Limited, UK. AUTOSAR™ is licensed by
AUTOSAR development partnership. Bluetooth™ of Bluetooth SIG Inc. CAT-iq™ of DECT Forum.
COLOSSUS™, FirstGPS™ of Trimble Navigation Ltd. EMV™ of EMVCo, LLC (Visa Holdings Inc.). EPCOS™
of Epcos AG. FLEXGO™ of Microsoft Corporation. FlexRay™ is licensed by FlexRay Consortium.
HYPERTERMINAL™ of Hilgraeve Incorporated. IEC™ of Commission Electrotechnique Internationale. IrDA™
of Infrared Data Association Corporation. ISO™ of INTERNATIONAL ORGANIZATION FOR
STANDARDIZATION. MATLAB™ of MathWorks, Inc. MAXIM™ of Maxim Integrated Products, Inc.
MICROTEC™, NUCLEUS™ of Mentor Graphics Corporation. Mifare™ of NXP. MIPI™ of MIPI Alliance, Inc.
MIPS™ of MIPS Technologies, Inc., USA. muRata™ of MURATA MANUFACTURING CO., MICROWAVE
OFFICE™ (MWO) of Applied Wave Research Inc., OmniVision™ of OmniVision Technologies, Inc.
Openwave™ Openwave Systems Inc. RED HAT™ Red Hat, Inc. RFMD™ RF Micro Devices, Inc. SIRIUS™ of
Sirius Satellite Radio Inc. SOLARIS™ of Sun Microsystems, Inc. SPANSION™ of Spansion LLC Ltd.
Symbian™ of Symbian Software Limited. TAIYO YUDEN™ of Taiyo Yuden Co. TEAKLITE™ of CEVA, Inc.
TEKTRONIX™ of Tektronix Inc. TOKO™ of TOKO KABUSHIKI KAISHA TA. UNIX™ of X/Open Company
Limited. VERILOG™, PALLADIUM™ of Cadence Design Systems, Inc. VLYNQ™ of Texas Instruments
Incorporated. VXWORKS™, WIND RIVER™ of WIND RIVER SYSTEMS, INC. ZETEX™ of Diodes Zetex
Limited.
Last Trademarks Update 2011-02-24
www.BDTIC.com/infineon
Revision 1.0, 2011-12-05
SP37
LF-Application Note
Table of Contents
Table of Contents
1
Introduction ........................................................................................................................................ 7
2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
LF Receiver ......................................................................................................................................... 8
Voltage Divider ..................................................................................................................................... 8
Attenuator for AGC ............................................................................................................................... 8
RSSI Generator .................................................................................................................................... 8
Data Filter and Data Slicer ................................................................................................................... 9
Data Decoder and Baud Rate Generator ............................................................................................. 9
Carrier Detector .................................................................................................................................. 10
Carrier Detector Filter ......................................................................................................................... 10
RC-Oscillator ...................................................................................................................................... 11
On-Off-Timer and LF-Receiver .......................................................................................................... 11
LF-Baseband ...................................................................................................................................... 11
3
LF Operating Modes ........................................................................................................................ 12
4
BDTIC
LF-Telegram ...................................................................................................................................... 13
5
5.1
5.2
5.3
5.4
5.5
5.6
Example Code................................................................................................................................... 13
Example 1 - Carrier Detection Mode .................................................................................................. 13
Example 2 - Telegram Detection Mode ............................................................................................. 15
Example 3 - Mixed Mode Operation................................................................................................... 16
Example 4 - On-Off-Timer usage with Telegram Detection and Carrier Detection Modes ................ 20
Example 5- On-Off-Timer usage with Mixed Mode ............................................................................ 21
Example 6 - LF Data Reception ......................................................................................................... 22
6
6.1
6.2
Measurement setup considerations ............................................................................................... 23
Current consumption monitoring ........................................................................................................ 23
LF sensitivity measurement ............................................................................................................... 24
7
LF antenna design............................................................................................................................ 25
8
Appendix: Complementary C definitions ...................................................................................... 27
Application Note
4
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
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
Figure 17
Figure 18
SP37 block diagram ............................................................................................................................. 7
LF-Receiver Block Diagram ................................................................................................................. 8
LF telegram. The telegram is modulated on a 125 kHz carrier (shaded areas) ................................ 13
Program Flow for carrier detection mode ........................................................................................... 13
Example 1 code for Carrier Detection Mode ...................................................................................... 14
Telegram Detection Mode .................................................................................................................. 15
Example 2 code for Telegram Detection Mode ................................................................................. 16
Mixed Mode ........................................................................................................................................ 17
Example 3 code for Mixed Mode ........................................................................................................ 18
Timing of Mixed Mode wakeup .......................................................................................................... 19
Example 4 code for On-Off-Timer with Telegram Mode .................................................................... 20
Example 5 code for On-Off-Timer with Mixed Mode .......................................................................... 21
On-Off-Timer combined with Telegram Detection Mode ................................................................... 22
Example 6 code for Telegram Mode with data reception................................................................... 23
Circuit for current monitoring. The DC gain is 200 ............................................................................. 24
Measurement setup for LF sensitivity measurement ......................................................................... 24
LF antenna circuit. Left: ideal circuit. Right: real circuit with parasitic elements ................................ 25
Complementary C definitions ............................................................................................................. 27
BDTIC
Application Note
5
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
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
Important SFRs associated with Voltage Divider ................................................................................. 8
Important SFRs associated with Attenuator for AGC ........................................................................... 8
Important SFRs associated with Data Filter and Data Slicer ............................................................... 9
Important SFRs associated with Data Decoder and Baud Rate Generator......................................... 9
Important SFRs associated with Carrier Detector .............................................................................. 10
Important SFRs associated with Auto-Calibration function ................................................................ 10
Important SFRs associated with Carrier Detector Filter..................................................................... 11
Important SFRs associated with On-Off-Timer and LF-Receiver ...................................................... 11
Important SFRs associated with LF-Baseband .................................................................................. 11
LF Operating Modes .......................................................................................................................... 12
BDTIC
Application Note
6
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Introduction
1
Introduction
The SP37 is a highly specialized and optimized pressure sensor for automotive tire pressure monitoring
applications (TPMS). The SP37 contains all of the essential building blocks for a complete TPMS wheel module;
only a small number of external components are required. Figure 1shows a block diagram of the SP37. The
device incorporates an 8051-compatible microcontroller which can execute user application code from 6 kByte
of on-chip flash memory. Many functions of the device are controlled by Special Function Registers (SFR) which
may be manipulated by user code. The SFRs will assume default values upon device reset. In this document
only those registers and bits are discussed that need to be changed. However, in the explanation of the LF
receiver some SFRs that do not need to be changed are listed for the sake of completeness.
BDTIC
MEMS Sensor Die
Embedded
Microcontroller
Pressure Cell
Acceleration
Cell
V
GPIOs
ADC
RAM
Flash
ROM
T
125 kHz LF
Receiver
LF
XLF
I²C Interface
Clock and Reset
Sources
System
Controller
ISM band
Transmitter
PP0
PP1
PP2
PA
PGND
XTAL
XGND
XTALCAP
Voltage
Regulators
GND
GND
VREG
VBAT
Figure 1
SP37 block diagram
The scope of this application note is the LF Receiver block and how to apply it with respect to lowest possible
power consumption. The purpose of the LF interface is to allow a bidirectional communication with the wheel
modules, mainly for the following reasons:




Triggering a pressure measurement (pressure on demand function)
Triggering the transmission of a unique ID number (wheel localization feature)
Triggering of operation modes, e.g. diagnosis modes for production and maintenance
Update of user configuration data, e.g. frequency of pressure telegram transmission
The power consumption of the wheel module is crucial for its lifetime. Hence the communication from the
vehicle electronics to the wheel modules cannot be accomplished by RF because the power consumption of an
RF receiver is relatively high. An LF receiver can meet the very low power consumption requirements. In
contrast, the communication from wheel module back to the vehicle electronics is best accomplished by RF
since the power consumption of an RF transmitter is much lower than of an LF transmitter.
There are several configuration options for the LF receiver, controlled via SFR, that determine the following
system parameters:
Application Note
7
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF Receiver




Average LF current consumption, i.e. module operational lifetime
LF sensitivity
LF signal type, i.e. non-modulated or modulated carrier
LF signal length (carrier burst width , telegram length and requirements for signal repetition)
2
LF Receiver
Figure 2 shows a block diagram of the LF Receiver. The receiver is designed for a carrier frequency of 125 kHz
and a typical baud rate of 3.9 kbit/sec.
LF Analog Front End
LF Digital Baseband
BDTIC
Attenuator for
AGC
LF in
Carrier Detector
Voltage
Divider
Carrier
Threshold
RSSI
Generator
Comp
Detector Filter
Data Slicer
Data
Filter
Data
Threshold
Peak
Detector
Comp
Data Decoder
Interrupt
flags
Bit Rate
Generator
RC Oscillator
ON/OFF Timer
LF-Receiver
Figure 2
LF-Receiver Block Diagram
2.1
Attenuator for AGC
To prevent overload of the LF data slicer, an automatic gain control loop is implemented. The Peak Detector
block is part of the AGC control loop. The AGC threshold, decay time, and attack time are all programmable.
Table 1
Important SFRs associated with Attenuator for AGC
Register name <bit number> Bit name
Function
LFRX0<3:2>
LFRX1<7:6>
LFRX2<2:0>
LFRXC <6>
2.2
ATR
AGCTCD
AGCTCA
DISAGC
Reset Value
AGC Threshold
AGC Decay Time Constant
AGC Attack Time Constant
0= AGC enabled
10B
00B
111B
0B
Voltage Divider
This block allows attenuation of the LF input signal. It allows a coarse measure of control of the LF sensitivity of
the SP37.
Table 2
Important SFRs associated with Voltage Divider
Register name <bit number> Bit name
Function
LFRX0 <1:0>
Application Note
SELIN
Reset Value
00B Antenna voltage divider factor 1
01B Antenna voltage divider factor 6,8
10B Antenna voltage divider factor 22
11B reserved
8
00H
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF Receiver
2.3
RSSI Generator
This circuit provides an analog signal which varies logarithmically with the amplitude of the 125 kHz input signal.
2.4
Data Filter and Data Slicer
These blocks form a ASK demodulator. The Data Filter is a low pass filter that reduces the bandwidth of the
RSSI signal. The Data Slicer is an averaging type that converts the filtered signal into a digital signal that can be
processed by the digital baseband circuit.
Important SFRs associated:
Table 3
Important SFRs associated with Data Filter and Data Slicer
Register name <bit number> Bit name
Function
LFRXS <5>
LFRAW
Reset Value
Output of the data slicer (digital signal), Input of the
Data Encoder(read only)
undefined
BDTIC
2.5
Data Decoder and Baud Rate Generator
This digital circuit decodes the Manchester coded LF telegram. It inspects the digital output of the Data Slicer,
recognizes the synchronization pattern, decodes the Manchester coded data, detects wakeup pattern matching,
and extracts data bytes from the bit stream (see also section LF-Telegram). Wakeup bits in the SFR WUF are
set as soon as synchronization pattern or wakeup pattern are recognized. Note that all bits in the WUF register
can be masked with a corresponding bit in the WUM register.
Table 4
Important SFRs associated with Data Decoder and Baud Rate Generator
Register name <bit number> Bit name
Function
LFDIV<5:0>
LFPCFG<0>
LFPCFG<1>
LFPCFG<4>
LFP0H, LFP0L
LFP1H, LFP1L
LFRXC<1>
LFRXD<7:0>
LFRXS<0>
LFRXS<1>
LFRXS<2>
LFRXS<3>
LFRXS<4>
LFRXS<6>
WUF<2>
WUM<2>
WUF <3>
WUM <3>
WUF<4>
WUM<4>
Application Note
LFDIV
PSEL
LF Baud rate generator division factor.
Pattern Select mode: 0 = Wakeup on Pattern P0 only,
1 = Wakeup on both Pattern P1 and Pattern P0
PSL
Wakeup Pattern Length: 0 = 8 bit sequence, 1 = 16 bit
sequence
SYNM
LF Synchronizer Mode: 0 = Sync and Wakeup Pattern
match, 1 = Sync match only
LFCODEP0
Wakeup Pattern P0 (16 bit)
LFCODEP0
Wakeup Pattern P1 (16 bit)
SYNCIND
1 Indicates sync match, remains set as long as valid
Manchester data is detected
LFRXD
LF Receiver Data (byte)
LFDATA
LF serial decoded data (bit)
LFBP
Indicates available data bit in LFDATA
LFOV
1 = LFDATA overwrite condition
LFDP
Indicates available data byte in LFRXD (cleared upon
read of LFRXD)
LFDOV
1 = LFRXD overwrite condition
DECERR
1 = Manchester decode error detected
LFPM0
LF Pattern 0 Match Wakeup
LFPM0_MASK 1 = disable LFPM0 Wakeup
LFPM1
LF Pattern 1 Match Wakeup
LFPM1_MASK 1 = disable LFPM1 Wakeup
LFSY
LF Synchronization Match Wakeup
LFSY_MASK 1 = disable LFSY Wakeup
9
Reset Value
17H
0B
0B
0B
FFFFH
FFFFH
0B
00H
0B
0B
0B
0B
0B
0B
0B
1B
0B
1B
0B
1B
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF Receiver
2.6
Carrier Detector
This circuit detects the presence of an LF carrier. The sensitivity of the LF Carrier Detector depends on the
settings of the Carrier Threshold, the Voltage Divider and the AGC circuit. The SP37 provides three calibrated
sensitivity levels for carrier detection. In order to meet these levels appropriate register settings are determined
during production and stored in flash memory at the following memory locations:
 0x5810: LF-sensitivity = 0.33 ... 3.35 mVpp
 0x580F: LF-sensitivity = 2 ... 11 mVpp
 0x580E: LF-sensitivity = 10 ... 50 mVpp
The SFR LFRX0 has to be loaded in user code with the content of one of the three memory locations in order to
select the corresponding sensitivity level.
There is a hard-wired function implemented for auto-calibration of the carrier detector threshold. This function
automatically shifts the minimum detection threshold above noise level in order to prevent unintended wakeups.
If enabled, this function carries out the threshold calibration every time the LF-Receiver is switched on (see
section On-Off-Timer and LF-Receiver). After auto-calibration the threshold should be frozen by setting the bit
LFENFCTC. Otherwise the threshold follows the average of the input LF signal, resulting in unwanted low LF
sensitivity.
BDTIC
Table 5
Important SFRs associated with Carrier Detector
Register name <bit number> Bit name
Function
LFRXS<7>
CDRAW
LFRX0<1:0>
LFRX0<3:2>
LFRX0<7:4>
SELIN
ATR
CDETT
Reset Value
Output of the Carrier Detector, Input for the Detector
Filter
Antenna voltage divider factor
AGC Threshold
Carrier Detector Threshold Level
Table 6
Important SFRs associated with Auto-Calibration function
Register name <bit number> Bit name
Function
LFCDM0<2>
LFCDM0<3>
LFCDM0<5:4>
LFRX1<5:4>
LFENFCTC
LFENCDCAL
DYNTR
ATC
LFRXC<7>
CDRECAL
2.7
undefined
00B
10B
0011B
Reset Value
1 = freeze threshold after calibration. 0 = do not freeze
Enable LF Carrier Detect Calibration. 1 = enabled
Carrier Detector Dynamic Threshold. Set to 01B
Auto-calibration Time. Use 10B for telegram detection
and 01B for carrier detection.
Restart Carrier Detect Recalibration. Set 1 for
calibration start. Bit will be reset automatically.
0B
0B
00B
00B
0B
Carrier Detector Filter
This block rejects short carrier bursts in order to reduce wakeups caused by noise. If the Detector Filter is
enabled the carrier burst must be a minimum width before the carrier detector wakeup bit is set. As for the
sensitivity, there are predefined filter setting which can be loaded from flash memory into SFR LFCDFLT:
 0x580D: Detector Filter Time = 62...240µs
 0x580C: Detector Filter Time = 500 ... 800µs
 0x580B: Detector Filter Time = 800 ... 1150 µs
Note: In order to disable the filter LFCDFLT has to be loaded with 0x00.
Application Note
10
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF Receiver
Table 7
Important SFRs associated with Carrier Detector Filter
Register name <bit number> Bit name
Function
LFCDFLT<6:0>
LFCDFLT<7>
WUF<5>
WUM<5>
2.8
CDFT
CDFM
LFCD
LFCD_MASK
Reset Value
Carrier Detector Filtering Time
Reserved, must be 0
LF Carrier Wakeup Bit
LF Carrier Wakeup Bit
00H
0B
0B
0B
RC-Oscillator
This block provides the LF baseband circuit with a 90 kHz system clock.
2.9
On-Off-Timer and LF-Receiver
BDTIC
This timer allows operating the LF receiver in a polled mode for further reduction of current consumption in
power-down mode. The On-Off Timer has a programmable time-base and adjustable On- and Off- times. A
ROM-Library is available to calibrate the time-base of the On-Off-Timer to 50ms. This function writes a suitable
calibration value into the SFR LFOOTP. If another time-base value is desired LFOOTP may be changed in user
code, where the time-base is nominally (LFOOTP+1)/2000Hz. Note that the 2000Hz RC oscillator is not
calibrated and does vary with temperature and supply voltage.
The actual on-time is determined by the lower nibble of the SFR LFOOT (ONTIM):
On-time = Int (LFOOP/4+1) * (ONTIM+1) * time-base / (LFOOTP +1)  (ONTIM+1) * time-base / 4.
The actual off- time is determined by the higher nibble of the SFR LFOOT (OFFTIM):
OFF-time = (OFFTIM+1) * time-base * 4
Table 8
Important SFRs associated with On-Off-Timer and LF-Receiver
Register name <bit number> Bit name
Function
LFOOT<3:0>
LFOOT<7:4>
LFOOTP<7:0>
LFRXC<0>
ONTIM
OFFTIM
LFOOTP
LFONIND
LFRXC<2>
ENLFRX
LFRXC<3>
ENOOTIM
2.10
Reset Value
On/Off Timer on-time: 0000B: 12.5 ms ... 1111B: 200 ms
On/Off Timer off-time. 0000B: 200 ms ... 1111B: 3.2 s
LF ON/OFF Timer Precounter
LF receiver ON/OFF Indicator. Can be used for
indication of the ON/OFF timer duty cycle. 1 = LF
receiver is on.
0 Disable LF Receiver
1 LF Receiver state is determined by On/Off Timer
0 Disable On/Off Timer
1 Enable On/Off Timer
0000B
0000B
64H
0B
0B
0B
LF-Baseband
In order to reduce power-down current the LF-Baseband can be switched off while the LF analog FE remains
powered. In this mode the SP37 cannot analyze the content of a LF telegram and will always be woken up if the
LF-carrier is strong enough.
Table 9
Important SFRs associated with LF-Baseband
Register name <bit number> Bit name
Function
LFRXC<5:4>
Application Note
LFBBM
Reset Value
00B Disable LF baseband (e.g. LF Carrier Detect only) 00B
01B Enable LF baseband (e.g. LF Carrier Detect and/or
LF Telegram)
1XB reserved, do not use
11
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
3
LF Operating Modes
The LF operating modes discussed in this application note are listed in the following table. The table also shows
typical current consumption and pros and cons for each mode. Please be aware that the current consumption
only applies for power-down where the LF receiver is listening. During normal mode (execution of user code)
the current consumption is considerably higher. However, current consumption in power-down mode determines
battery lifetime because in a typical TPMS application the wheel module is 99% of its time in power-down.
It is important to note that if many unintended wakeup events per hour occur due to interference sources the
power consumption of the device may increase considerably. This is particularly critical for the Carrier Detection
Mode and the Mixed Mode, where user code execution is triggered by just the presence of an LF-carrier. Hence
these modes cannot be recommended generally for all applications. In fact it must be made sure on system
level that a certain number of unintended wakeups per hour is not exceeded (see also calculations in section
“Example 3 - Mixed Mode Operation”). The probability of false wakeups can be lowered by enabling the Carrier
Detector Filter. However, this increases current consumption to a level similar as in Telegram Detection Mode.
So, for low current consumption in an environment with high interference level the Telegram Detection Mode
with On-Off-Timer enabled is recommended.
BDTIC
Table 10
LF Operating Modes
LF Operating Typ. Current
LF analog LF
Mode
front end Baseband
Telegram
4.4 µA
on
on
Detection (TD)
Carrier
3.1 µA
Detection (CD) (Carrier
Detector Filter
disabled!)
on
off
Mixed Mode
(TD + CD )
3.1 µA
(Carrier
Detector Filter
disabled!)
on
off
On-Off-Timer
plus TD
<1µA (average) 6% on-time 6% on-time
Application Note
12
Comment
+ selective-wake up of modules
+ highest possible LF sensitivity
+ 100% listening time
- high current consumption
+ 100% listening time
+ lower current consumption
- no selective wakeup of wheel modules
- lower LF sensitivity
- wakeup of CPU by interference sources possible
+ selective-wake up of modules
+ 100% listening time
+ lower current consumption
- lower LF sensitivity
- wakeup of CPU by interference sources possible
++ lowest current consumption
+ selective-wake up of modules
+ highest possible LF sensitivity
- reduced LF- listening time, causes wakeup delay
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF-Telegram
4
LF-Telegram
LF Telegrams must start with a preamble in order to establish the LF Data Slicer threshold in the LF Analog
Front End. The preamble must have a 50% duty cycle. The minimum length of the preamble is 2ms. The
preamble is followed by the sync pattern, see Figure 3. Following the sync pattern are an optional 8 or 16 bit
long wake up ID and an arbitrary number of data bytes. Wakeup ID and data bytes are Manchester encoded.
The default bit time of SP37 is tbit=256µs (baud rate = 3906/s).
Preamble
Sync
Wakeup ID (16 bit)
tbit
1
Data Byte
1
...
Data Byte
n
time
0
BDTIC
Figure 3
5
...
LF telegram. The telegram is modulated on a 125 kHz carrier (shaded areas)
Example Code
The code examples are consecutive with increasing complexity and they are based on each other. Hence it is
recommended to start reading this chapter from the beginning. Please also note the hints in the appendix before
trying the example code provided in this application note.
5.1
Example 1 - Carrier Detection Mode
Figure 4 shows the program flow of a wakeup on carrier detection. Basically the user code is entered on each
device reset or wakeup event. Hence there must be a determination of the wakeup cause at the beginning of
the code. Wakeups events cause dedicated flags in the SFR WUF to be set. By analyzing the contents of WUF,
the wakeup source can be identified.
Reset/Wakeup
Start
Reset Event?
yes
Initialise Carrier
Detect Mode
yes
User Code
no
Carrier Detect
Wake Up?
no
Enter Power-Down
Mode
End
Figure 4
Program Flow for carrier detection mode
Application Note
13
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
The source code for this example is given in Figure 5. The LF Carrier Detector is initialized after device reset.
The actual user code is executed only after a carrier detection wakeup. In this example the Detector Filter is
disabled (LFCDFLT = 0x00;). The filter may be enabled by using one of the following assignments LFCDFLT =
CBYTE [0x580D]; or LFCDFLT = CBYTE[0x580C]; or LFCDFLT = CBYTE[0x580B]; (see the Carrier Detector
Filter description). Using the Carrier Detector Filter will increase noise immunity by rejecting short LF „burst
noise‟ pulses, at the expense of slightly higher current consumption because the Carrier Detector Filter is part of
the LF-baseband circuit and thus the RC-oscillator of the LF-baseband remains active.
The carrier detection threshold is determined by the assignment LFRX0 = CBYTE[0x5810];. This setting selects
the lowest specified carrier detection threshold (most sensitive setting). See the Carrier Detector description for
more details.
The SP37 includes an Interval Timer which periodically, every 0.5 s by default, generates a non-maskable
wakeup event. An Interval Timer wakeup is indicated by WUF<0> being set upon wakeup.
In this code example the device returns to power-down immediately after interval-timer wakeup, because the
corresponding bit (WUF<0>) does not trigger any action. However, frequent Interval Timer wakeups make it
difficult to measure the power-down current. The interval timer cannot be disabled so in order to overcome this
problem the Interval Timer wakeup interval is increased to approx. 2 min by the assignment ITPR=0x00; (details
see specification).
BDTIC
The auto-calibration function for the minimum carrier detection threshold is enabled by the assignment LFCDM0
= 0x1C;. Without this assignment the auto-calibration is disabled, resulting in a lower detection threshold but
with higher risk of unwanted wakeups.
void main (void)
{
unsigned char store_wuf;
store_wuf = WUF;
if (store_wuf == 0x00){
LFCDM0 = 0x1C;
LFRX0 = CBYTE[0x5810];
LFRX1 = 0x10;
LFCDFLT = 0x00;
WUM &= ~(0x20);
LFRXC = 0x04;
ITPR=0x00;
}
if (store_wuf & 0x20){
// *Place your user code here*
RS232_Init(PP2,PP1);
printf("\r\nCarrier Detected");
RS232_UnInit(PP2,PP1);
}
Powerdown();
//Load store_wuf with WUF. This action clears WUF.
//Reset value of WUF is 0x00
//Enable auto-calibration & freeze threshold
//Load Carrier Detector Threshold from flash
// location 0x5810 = 0.33 to 3.35 mVpp
//Choose auto-calibration time for carrier detection
//Disable Carrier Detector Filter for lowest current
// consumption in power-down.
//Set wakeup mask for carrier detection wakeup
//LF Baseband disabled, LF-Receiver enabled
//Set Interval Timer to approx. 2 min
//
//For demonstration purposes the predefined RS232
// functions are used to send out a string via
// RS232 Interface. Pin PP2 is used as TX, PP1 as RX
//This ROM-library function switches device into
// power-down mode.
}
Figure 5
Example 1 code for Carrier Detection Mode
Application Note
14
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
5.2
Example 2 - Telegram Detection Mode
Figure 6 shows the program flow for Telegram Detection Mode. The structure is the same as that of the Carrier
Detection Mode code example. There are two important differences within the initialization phase: The LFReceiver is configured for telegram reception, and the LF Baseband Baud Rate generation is calibrated.
Reset/Wakeup
Start
Reset Event?
yes
Initialise Pattern
Detect Mode
BDTIC
Calibrate LF BaudRate
no
Pattern-Match
Wake-Up?
yes
User Code
no
Enter Power-Down
Mode
End
Figure 6
Telegram Detection Mode
A predefined ROM-Library function is used for calibration of the LF Baud rate to 3906 bit/s. This function uses
the RF-quartz oscillator as a reference. Hence the quartz needs to be switched on before calibration by calling
the ROM-Library function StartXtalOsc(40); (see code listing in Figure 7). The parameter 40 defines a delay
time of 40 x 42.67µs before the next command executed in order to let the oscillator stabilize. The function call
StopXtalOsc(); stops the RF oscillator. There are up to three wakeup events available if a pattern match is
detected (see Data Decoder section for more details). In the code example (see code listing 2) the LF Pattern 0
Match Wakeup is used and SFR LFPCFG is configured accordingly. Pattern P0 can be defined arbitrary by
setting the SFRs LFP0H and LFP0L. In this example it is set to 0x1234, and Pattern P1 is not used.
Each Pattern has its own wakeup event flag, so the Wakeup Mask register (SFR WUM) must be configured to
enable Pattern P0 Wakeup. Furthermore, the baseband is switched on by setting bit 4 in SFR LFRXC.
Application Note
15
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
void main (void)
{
unsigned char store_wuf;
store_wuf = WUF;
if (store_wuf == 0x00){
LFPCFG = 0x02;
LFP0H = 0x12; LFP0L = 0x34;
LFRX1 = 0x20;
WUM &= ~(0x04);
LFRXC = 0x14;
ITPR=0x00;
StartXtalOsc(40);
LFBaudrateCalibration(3906);
StopXtalOsc();
}
if (store_wuf & 0x04){
// * Place your user code here *
RS232_Init(PP2,PP1);
printf("\r\nPattern Detected");
RS232_UnInit(PP2,PP1);
}
Powerdown();
//Load store_wuf with WUF. This action clears WUF.
//Reset value of WUF is 0x00
//Use 16Bit pattern P0 for wakeup
//Definition of P0 high byte and low byte
//Choose auto-calibration time for telegram detection
//Enable Pattern Match Wakeup
//LF-Receiver including LF Baseband enabled
//Set Interval Timer to approx. 2 min
//Start RF quartz oscillator and wait 40x42.67µs
//Calibrate LF Baud Rate to 3906
//Stop RF quartz oscillator
BDTIC
//For demonstration purposes the predefined RS232
// functions are used to send out a string via
// RS232 Interface. Pin PP2 is used as TX, PP1 as RX
//This ROM-library function switches device into
// power-down mode.
}
Figure 7
5.3
Example 2 code for Telegram Detection Mode
Example 3 - Mixed Mode Operation
Figure 8 shows the flow of an example of the LF Receiver in Mixed Mode. In this mode, the LF Base Band is
switched off in power-down and only turned on after LF Carrier Detection. As soon as a carrier is detected the
device starts user code execution. The user code first switches on the LF Base Band and then starts checking
for a pattern match event. Hence this mode combines low power-down current with Pattern Detection. Since the
current consumption during user code execution is high (typ. 1.4 mA) a timeout loop is used to return to powerdown mode soon, if no pattern match occurs. If a pattern match is detected the actual user code will be
executed.
Figure 9 shows the code that demonstrates how to use the Mixed Mode. In the initialization section actually
both, the pattern match and the carrier detection wakeup are configured. However, since the LF baseband is
turned off before entering power-down the pattern match wake up is inactive in this phase. Timer 0 is used as
time-out timer. In the code example a time-out of 25 ms is chosen. The time-out duration must be greater than
the sum of preamble length, sync length and matching pattern length (see also Figure 10).
As mentioned before it is important to consider that in a noisy environment the carrier detection threshold needs
to be high enough in order to prevent frequent unintended wakeups. Otherwise there will be no more power
saving advantage of the Mixed Mode compared to Telegram Mode. At the worst the average current
consumption in Mixed Mode becomes even higher than in Telegram Mode.
Application Note
16
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
Reset/Wakeup
Start
yes
Reset Event?
Initialise Carrier
Detect Mode
no
Carrier Detect
Wake Up?
BDTIC
Configure Pattern
Match
yes
LF-Baseband ON
Initialise Time- Out
Timer
Time-Out?
Calibrate LF BaudRate
no
no
no
yes
Pattern-Match?
yes
User Code
LF-Baseband OFF
Enter Power-Down
Mode
End
Figure 8
Mixed Mode
Application Note
17
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
void main (void)
{
unsigned char store_wuf;
unsigned char pattern_match;
store_wuf = WUF;
if (store_wuf == 0x00){
LFCDM0 = 0x1C;
LFRX0 = CBYTE[0x5810];
//
LFRX1 = 0x10;
LFCDFLT = 0x00;
WUM &= ~(0x24);
ITPR=0x00;
LFPCFG = 0x02;
LFP0H = 0x12; LFP0L = 0x34;
StartXtalOsc(40);
LFBaudrateCalibration(3906);
StopXtalOsc();
//Load store_wuf with WUF. This action clears WUF.
//Enable auto-calibration & freeze threshold
//Load Carrier Detector Threshold from flash
location 0x5810 = 0.33 to 3.35 mVpp
//Choose auto-calibration time for carrier detection
//Disable Carrier Detector Filter for lowest current
// consumption in power-down.
//Set wakeup mask for carrier detection and
//pattern match wakeup
//Set Interval Timer to approx. 2 min
//Use 16Bit pattern P0 for wakeup
//Definition of P0 high byte and low byte
//Start RF quartz oscillator and wait 40x42.67µs
//Calibrate LF Baud Rate to 3906
//Stop RF quartz oscillator
BDTIC
}
if (store_wuf & 0x20){
//Following code is executed after carrier detection
LFRXC = 0x14;
//Turn LF Baseband on
T0RUN = 0;
//Stop Timer 0
TMOD = 0x51;
//Set timer mode 1 and timer clock = 1.5MHz
TH0 = 0x92; TL0 = 0x7C;
//Initialize Timer 0 with 37500 = 25 ms
T0RUN = 1;
//Start Timer 0
do {
store_wuf = WUF;
if (store_wuf & 0x04){
//Following code is executed after pattern match
pattern_match=1;
//This assignment indicates the pattern match
}
}while ((!T0FULL)&&(!(store_wuf & 0x04))); //Exit loop if time out or pattern match
RS232_Init(PP2,PP1);
//Use predefined RS232 functions for demonstration
if (pattern_match==1){
// *** Place your user code here *** //Place code to be executed on pattern match here
printf("\r\nP0 Match");
//Transmit string for demonstration purpose
}
else printf("\r\nCarrier Detected"); //Print this string if no pattern match detected
RS232_UnInit(PP2,PP1);
//
}
LFRXC = 0x04;
//Turn LF Baseband off before entering powerdown
pattern_match=0;
//Reset pattern match indicator
Powerdown();
//This ROM-library function switches device into
//power-down mode.
}
Figure 9
Example 3 code for Mixed Mode
The following formula calculates the number N of unintended wakeups per hours for which current consumption
of Mixed Mode and Telegram Mode becomes equal:
(1)
Application Note
18
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
A typical value for N is
(2)
In praxis it should be taken care for N being much smaller than this value by proper choice of carrier detection
threshold.
Regarding telegram length the same applies for Mixed Mode and Telegram Mode. In both modes the preamble
is needed for adapting the data detection threshold to the received carrier amplitude. For this purpose a
minimum preamble length of 2ms is specified.
In Mixed Mode the preamble is also used for Carrier Detection Wakeup. In order to be still able to detect the
telegram after switching on the baseband, the minimum length of the preamble must be greater than the sum of
carrier detection latency, wakeup time and baseband settling time.
The carrier detection latency is in the order of 200µs (if detection filter is off); the wakeup time is about 1ms. The
baseband settling time is less than 500µs. Hence a preamble length of 2ms is sufficient for Mixed Mode
operation.
Figure 10 shows the oscillograph curve of a wakeup telegram (blue) along with the SP37 current consumption
(red), where the SP37 is programmed with the code of Figure 9. (See also section “Hardware Considerations”
for how to monitor the SP37 supply current). The carrier detection latency and the wakeup time can be clearly
observed in the oscillogram, whereas the baseband settling time is not visible. However, the baseband settling
time can be estimated by variation of the preamble length. The oscillating power consumption at the end is due
to the RS232 operation (transmission of the string “P0 Match”). Furthermore it can be seen in Figure 10 that the
RS232 transmission starts right after the pattern P0 = 0x1234 has been recognized. Note that the two data
bytes following the wakeup pattern P0 are ignored in this example.
BDTIC
preamble
sync
0x12
0x34
0xAB
0xC4
1 mV
wakeup pattern
DETECTION LATENCY
1 mA
RS232 Transmission
WAKE UP TIME
2ms
Figure 10
Timing of Mixed Mode wakeup
Application Note
19
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
5.4
Example 4 - On-Off-Timer usage with Telegram Detection and Carrier
Detection Modes
A considerable reduction of current consumption in power-down can be achieved by only periodically activating
LF and using the receiver in a polled fashion. The SP37 LF receiver supports this scenario with its built-in LF
On-Off-Timer. This timer periodically switches on and off the LF-Receiver independently of the CPU. See
section On-Off-Timer and LF-Receiver for the definition of On- and Off-time. Listing 4 shows the corresponding
code. Compared to the Telegram Detection Mode without On-Off-Timer, there are only a few additional steps
that must be taken. First, the ON- and OFF-time must be defined by setting SFR LFOOT. Second, the time
base of the On-Off-Timer must be defined by setting the precounter register (SFR LFOOTP ). This should be
done automatically by using the ROM library function “IntervalTimerCalibration” which calibrates the register
LFOOTP for a time base of exactly 50ms. This function also calibrates the Interval Timer (see section Example
1 - Carrier Detection Mode). The function argument (here 2) adjusts the Interval Timer time base to 500ms but
has no effect on the On-Off-Timer time base. Finally, the LF ON-OFF Timer must be activated before entering
power-down by setting the corresponding bit LFRXC<3> (ENOOTIM = 1;). This is necessary because
ENOOTIM is cleared automatically each time a sync or pattern match wakeup occurs.
BDTIC
void main (void)
{
unsigned char store_wuf;
store_wuf = WUF;
if (store_wuf == 0x00){
LFPCFG = 0x02;
LFP0H = 0x12; LFP0L = 0x34;
LFRX1 = 0x20;
WUM &= ~(0x04);
LFRXC = 0x14;
ITPR=0x00;
LFOOT = 0x22;
StartXtalOsc(40);
LFBaudrateCalibration(3906);
IntervalTimerCalibration(2);
StopXtalOsc();
}
if (store_wuf & 0x04){
// * Place your user code here *
RS232_Init(PP2,PP1);
printf("\r\nPattern Detected");
RS232_UnInit(PP2,PP1);
}
ENOOTIM = 1;
Powerdown();
//Load store_wuf with WUF. This action clears WUF.
//Reset value of WUF is 0x00
//Use 16Bit pattern P0 for wakeup
//Definition of P0 high byte and low byte
//Choose auto-calibration time for telegram detection
//Enable Pattern Match Wakeup
//LF-Receiver including LF Baseband enabled
//Set Interval Timer to approx. 2 min
//ON-Time = 37.5 ms , OFF-Time = 600ms
//Start RF quartz oscillator and wait 40x42.67µs
//Calibrate LF Baud Rate to 3906
//Calibrate On-Off-Timer precounter to 50ms
//Stop RF quartz oscillator
//For demonstration purposes the predefined RS232
// functions are used to send out a string via
// RS232 Interface. Pin PP2 is used as TX, PP1 as RX
//Activate On-Off-Timer
//This ROM-library function switches device into
// power-down mode.
}
Figure 11
Example 4 code for On-Off-Timer with Telegram Mode
The disadvantage of switching the LF-receiver is a reduction of LF-listening time. Hence, for safe wakeup the
telegram needs to be repeated several times, i.e. a burst of repeated telegrams must be transmitted. There are
two conditions for safe wakeup:
1. The telegram burst must be longer in duration than the sum of the LF On-Off-Timer „ON‟ and „OFF‟
durations.
2. The time of two subsequent telegrams (including any pause in-between telegrams) must be shorter
than the LF ON-OFF Timer „ON‟ time minus the LF receiver settling time.
Application Note
20
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
It is important to know that the effective listening time is shorter than the On-time due to the LF-receiver settling
time of maximal 5.8 ms (see SP37 specification).
The oscillogram in Figure 13 shows these timing requirements, wherein the blue curve is the telegram burst and
the red curve represents the SP37 supply current. The resolution of the current curve is high enough to detect
the increase of supply current when the LF-Receiver is switched on.
The burst in Figure 13 is about 650ms long which is longer than the sum of ON- and OFF-time of 637.5ms, i.e.
condition 1 is fulfilled. The listening time is approximately 37.5ms - 5.8 ms = 31.7ms. The telegram lasts 13ms,
the pause 4ms. Hence also condition 2 is fulfilled, because 2x13ms + 4ms = 30ms < 31.7ms.
5.5
Example 5- On-Off-Timer usage with Mixed Mode
Usage of the On-Off-Timer with Mixed Mode is basically the same as with TD- or CD-Mode. However,
reactivation of the timer after wakeup is different because in Mixed Mode the LF Base Band is switched
independently from the LF-receiver and internal clock synchronization processes are necessary. Figure
12Error! Reference source not found. shows how to use the On-Off-Timer with Mixed Mode.
Before entering power-down the LF receiver must be switched off by clearing the bit ENLFRX (LFRXC
&=0xFB;). Then, after a 128µs delay by calling the ROM library function Wait100usMultiples(1), the LF-receiver
is reconfigured with the assignment LFRXC = 0x0C;. This procedure allows internal synchronization and
assures reactivation of the On-Off-Timer after wakeup.
BDTIC
void main (void)
{
unsigned char store_wuf;
unsigned char pattern_match;
store_wuf = WUF;
if (store_wuf == 0x00){
LFCDM0 = 0x1C;
LFRX0 = CBYTE[0x5810];
LFRX1 = 0x10;
LFCDFLT = 0x00;
WUM &= ~(0x24);
ITPR=0x00;
LFOOT = 0x22;
LFPCFG = 0x02;
LFP0H = 0x12; LFP0L = 0x34;
StartXtalOsc(40);
LFBaudrateCalibration(3906);
IntervalTimerCalibration(2);
StopXtalOsc();
//Load store_wuf with WUF. This action clears WUF.
//Enable auto-calibration & freeze threshold
//Load Carrier Detector Threshold from flash
// location 0x5810 = 0.33 to 3.35 mVpp
//Choose auto-calibration time for carrier detection
//Disable Carrier Detector Filter for lowest current
// consumption in power-down.
//Set wakeup mask for carrier detection and
//pattern match wakeup
//Set Interval Timer to approx. 2 min
//ON-Time = 37.5 ms , OFF-Time = 600ms
//Use 16Bit pattern P0 for wakeup
//Definition of P0 high byte and low byte
//Start RF quartz oscillator and wait 40x42.67µs
//Calibrate LF Baud Rate to 3906
//Calibrate On-Off-Timer precounter to 50ms
//Stop RF quartz oscillator
}
if (store_wuf & 0x20){
//Following code is executed after carrier detection
LFRXC = 0x14;
//Turn LF Baseband on
T0RUN = 0;
//Stop Timer 0
TMOD = 0x51;
//Set timer mode 1 and timer clock = 1.5MHz
TH0 = 0x92; TL0 = 0x7C;
//Initialize Timer 0 with 37500 = 25 ms
T0RUN = 1;
//Start Timer 0
do {
store_wuf = WUF;
if (store_wuf & 0x04){
//Following code is executed after pattern match
pattern_match=1;
//This assignment indicates the pattern match
}
}while ((!T0FULL)&&(!(store_wuf & 0x04))); //Exit loop if time out or pattern match
RS232_Init(PP2,PP1);
//Use predefined RS232 functions for demonstration
if (pattern_match==1){
// *** Place your user code here *** //Place code to be executed on pattern match here
printf("\r\nP0 Match");
//Transmit string for demonstration purpose
}
else printf("\r\nCarrier Detected"); //Print this string if no pattern match detected
RS232_UnInit(PP2,PP1);
//
}
LFRXC &=0xFB;
//LF Receiver OFF
Wait100usMultiples(1);
//Delay for synchronization purposes (approx. 128µs)
LFRXC = 0x0C;
//LF Receiver ON, Enable interval timer, Baseband OFF
pattern_match=0;
//Reset pattern match indicator
Powerdown();
//This ROM-library function switches device into
//power-down mode.
}
Figure 12
Example 5 code for On-Off-Timer with Mixed Mode
Application Note
21
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Example Code
TELEGRAM
PAUSE
2 mV
BURST TIME
25µA
BDTIC
LISTENING TIME
100ms
ON TIME
Figure 13
5.6
OFF TIME
NORMAL MODE
On-Off-Timer combined with Telegram Detection Mode
Example 6 - LF Data Reception
The SP37 baseband includes an LF Receiver Data Interface which automatically receives and decodes
Manchester encoded data bits and bytes following the sync and optional wakeup ID matching pattern. As each
bit is received it is latched in bit LFDATA (SFR LFRXS<0>) and the data bit pending indicator flag LFBP (SFR
LFRXS<1>) is set. If a new data bit arrives before the previous LF data bit is read from LFDATA, the Serial
Decoded Data Overwritten flag, LFOV (SFR LFRXS<2>) will be set. Reading LFRXS will clear LFBP and
LFOV. As each group of eight data bits (i.e. a full data byte) is received, the entire byte is latched in the SFR
LFRXD and the data byte pending indicator flag LFDP (SRF LFRXS<3>) is set. If a new data byte arrives
before the previous LF data byte is read from LFRXD, the Data Byte Overwritten flag, LFDOV (SFR LFRXS<4>)
will be set. During user code execution, LFDP may be polled to see if a new data byte is available in LFRXD.
In idle state the µC core is stopped but the LF-receiver and other circuits like the timer module are still working.
Hence current consumption in idle mode is lower than in normal mode but still higher than in power-down mode.
Because LF data byte reception is one of the events that can cause the SP37 to resume from idle state, there is
an opportunity to reduce power consumption during LF reception.
After wakeup due to LF pattern match the SP37 can be switched to idle state. As soon as a data byte has been
received the device resumes from idle state and the data can be read from LFRXD. In this fashion, the overall
power consumption is reduced during LF data reception. Figure 14 shows how this method may be
implemented. Timer0 is used for generation of a timeout event for resuming the SP37 from idle state if no more
data is received. For all resume events a corresponding bit exists in the SFR REF. Hence REF is analyzed in
the code in order to distinguish between the two resume events. In case of timeout the code leaves the
reception loop and jumps back into power-down mode.
Application Note
22
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Measurement setup considerations
void main (void)
{
unsigned char store_wuf;
store_wuf = WUF;
if (store_wuf == 0x00){
LFPCFG = 0x02;
LFP0H = 0x12; LFP0L = 0x34;
LFRX1 = 0x20;
WUM &= ~(0x04);
LFRXC = 0x14;
ITPR=0x00;
StartXtalOsc(40);
LFBaudrateCalibration(3906);
StopXtalOsc();
}
if (store_wuf & 0x04) Data_Receive();
//Load store_wuf with WUF. This action clears WUF.
//Reset value of WUF is 0x00
//Use 16Bit pattern P0 for wakeup
//Definition of P0 high byte and low byte
//Choose auto-calibration time for telegram detection
//Enable Pattern Match Wakeup
//LF-Receiver including LF Baseband enabled
//Set Interval Timer to approx. 2 min
//Start RF quartz oscillator and wait 40x42.67µs
//Calibrate LF Baud Rate to 3906
//Stop RF quartz oscillator
//Call data receive function after Pattern Match
// Wakeup
//This ROM-library function switches device into
// power-down mode.
BDTIC
Powerdown();
}
void Data_Receive()
{
unsigned char LFData[MAX_LF_DATA];
unsigned char i, index=0, store, RECEIVING=TRUE;
LFData[0]= LFRXD;
while (RECEIVING)
{
T0RUN = 0;
TMOD = 0x51;
TH0 = 0x11; TL0 = 0x94;
T0RUN = 1;
IDLE = 1;
store = REF;
if (store & 0x10)
LFData[index++] = LFRXD;
if (store & 0x01)
RECEIVING = FALSE;
}
RS232_Init(PP2,PP1);
printf("\r\nPATTERN Match! LF-Data: ");
for(i=0;i<index;i++)
RS232_Send_Hex(LFData[i]);
RS232_UnInit(PP2,PP1);
//Reset data receiver modul by reading LFRXD
//Enter receiving loop
//Stop Timer0
//Set timer mode 1 and timer clock = 1.5MHz
//Configure Timer0 for 3ms timeout
//Start Timer0
//Enter IDLE Mode
//Load store with REF. This action clears REF
//Resume from idle due to data reception event?
// if yes, then read LF data
//Resume from idle due to timer0 timeout?
// if yes, then exit receiving loop
//Use predefined RS232 functions for demonstration
// purposes.
// Send out received LF-data via RS232 interface
//
//
}
Figure 14
6
6.1
Example 6 code for Telegram Mode with data reception
Measurement setup considerations
Current consumption monitoring
The evaluation board has a 10 resistor in series with the SP37 power supply pin. This resistor is intended for
current consumption measurement. If only average or power-down current consumption is of interest, a micro
voltmeter can be connected directly to the jumper pins X12 which represent the two resistor terminals, provided
that no terminal of the µV-meter is grounded. For time resolved current monitoring a differential amplifier is
needed because a normal oscilloscope cannot be directly connected to the resistor terminals. For measuring
the supply current in Figure 10 and Figure 13 the circuit shown in Figure 15 has been used. It is important to
notice that an offset is generated by the current through the 100k resistor which is connected to the noninverting input of the operational amplifier. For compensation of this offset as well as for other offsets the 1k
trimmer needs to be adjusted properly. It is recommended to use operational amplifiers with low offset voltage
and low input bias current.
Application Note
23
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Measurement setup considerations
Evaluation Board
1k
VDD
100k
1k
V0=200
X12_1
1k
10
X12_2
1k
SP37
+
+
+
9V
12k
12k
1n
2V7
48k
3k3
100k
BDTIC
Figure 15
Circuit for current monitoring. The DC gain is 200
6.2
LF sensitivity measurement
The SP37 evaluation board comes with a SMA connector for LF-Input (50 input impedance) which is intended
for LF sensitivity measurements. Figure 16 shows the recommended measurement setup.
The function generator should allow a minimum amplitude resolution of 0.1 mV. For the tests described here an
Agilent 33250A function generator was used. The -20dB attenuator improves the amplitude resolution of the test
setup. Alternatively, an RF signal generator capable of operating at 125 kHz may be used; suitable types
include the Rhode & Schwarz SMT and SME series. An RF signal generator will generally not require the 20dB
attenuator in order to achieve the required resolution.
The BALUN L1 transforms the single ended LF-input signal into a differential signal and doubles the voltage.
The relation between the generator voltage Vgen and the actual voltage Vin between the terminals LF-XLF with
an optional attenuator in-line is:
(3)
Because the generator voltage is often calibrated in volts RMS and the SP37 LF sensitivity specification is
expressed in peak-to-peak voltage, the following equation may be used:
(4)
Function Generator
Attenuator -20dB
SP37 Evaluation Board
100Ω
LF
Vin
125
kHz
Vgen
100Ω
SP37
XLF
L1
Figure 16
Measurement setup for LF sensitivity measurement
Application Note
24
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF antenna design
A complete measurement setup, however, requires that the function generator (or RF signal generator) is
capable of some form of amplitude modulation (AM), and a modulating source. For simple LF Carrier Detection
mode testing, the modulation source can be as simple as a pulse generator. For LF Telegram mode testing,
however, an Arbitrary Waveform Generator (AWG) is a very good modulation source. One suitable AWG is an
Agilent 33220A.
When applying the modulating signal to the generator‟s AM input, be sure that its coupling mode and amplitude
are correct. For example, the Rhode & Schwarz SME and SMT signal generators must be configured for DC
coupled, 100% AM modulation, the amplitude of the modulation source must be 1Vpk with no (0V) DC offset
present. Note that when AM modulation is used, there is an additional factor of 2 now present in the amplitude,
and so the voltage between the LF-xLF SP37 terminals becomes:
(5)
BDTIC
Some signal generators have a “Pulse Modulation” capability, which may be used instead of linear AM
modulation. In the case of Pulse Modulation, however, care must be taken to ensure that the modulation source
amplitude and offset are compatible with the pulse modulation input of the signal generator. Furthermore, even
if a signal generator is capable of Pulse Modulation, it may not necessarily accurate over the entire operating
frequency range of the signal generator. For example, the Rhode & Schwarz SME generator Pulse Modulation
option is only specified for accuracy above 100 MHz. Using Pulse Modulation below 100 MHz with this
particular signal generator is still possible, but the amplitude is no longer accurate and an additional loss factor
must be empirically determined. For this reason, it is not recommended to use Pulse Modulation for 125 kHz LF
testing unless it is absolutely clear that the equipment in question supports it with specified amplitude accuracy.
7
LF antenna design
In a typical application a ferrite coil is used for LF reception. The SP37 evaluation board can be configured for
use with a ferrite coil antenna (see board documentation).
The requirements for the LF antenna are:
1. Should be selective to carrier frequency (125kHz)
2. Must be highly sensitive to carrier frequency
3. Must allow a certain data rate (3906 Baud)
Requirement 1 can be best met if the LF coil is part of a LC resonant circuit. Requirements 2 and 3 mean a
tradeoff for the quality factor of the resonant circuit, since the higher the quality factor the higher the carrier
sensitivity and the lower the possible baud rate. Hence, for adjusting the quality factor a resistor should be
added to the resonant circuit. Figure 17 shows the resulting LF antenna circuit with and without parasitic
elements.
LF
LF
L
C
R
Zi = ∞
L
SP37
XLF
Figure 17
RL
Cr
Rr
Ci
Ri
SP37
XLF
LF antenna circuit. Left: ideal circuit. Right: real circuit with parasitic elements
Application Note
25
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
LF antenna design
The resonant frequency
of the resonant circuit is calculated as follows:
(6)
The maximum allowed quality factor
in order to meet requirement 3 is given by
(7)
Where is the carrier frequency,
the carrier frequency tolerance and
the resonant frequency tolerance
due to component tolerances. The contribution
is due to the amplitude modulation scheme used for
LF data transmission. If only LF Carrier Detect is used, with relatively long duration LF carrier bursts, then the
term can be ignored.
From
the parallel resistor is calculated as:
BDTIC
(8)
Example: For a ferrite coil like the one provided with the SP37 evaluation board the calculation is as follows:


Coil = Coilcraft type 4513TC-715XGL, L = 7.1mH, QCoil=51
Resonant frequency = 125 kHz
From equation (6) the capacitor C is calculated as C = 228 pF. Considering the input capacitance of the SP37
of about 10pF the external capacitance
is 218 pF.
Also from equation (6) the resonant frequency tolerance can be estimated. The application of the error
propagation law to equation (6) yields
(9)
If a tolerance of ±5% is assumed for both, and ,
also becomes ±5% or
.
The signal bandwidth for a Manchester coded signal is given by the bit Baud rate, i.e. 3.906 kHz. Assuming zero
tolerance of the carrier frequency (
) the maximum allowed quality factor
becomes:
(10)
From equation (8) the ideal parallel resistor
is calculated as:
(11)
The SP37 input impedance
by using equation (8) as:
at 125 kHz is typically 300k. The coil equivalent parallel resistor
is calculated
(12)
Hence the external resistor becomes:
(13)
Application Note
26
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
SP37
LF-Application Note
Appendix: Complementary C definitions
8
Appendix: Complementary C definitions
The code examples 1 to 6 are not complete. In order to generate complete code that can be compiled the
functions main() and Data_Receive() defined in the examples must be inserted in the code listing of Figure 18.
The include-libraries are provided in the software package of the SP37 evaluation kit.
It is recommended to start the Keil environment by opening one of the sample code projects of the software
package and subsequently replace the code by the listings given in this application note.
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
/*
*****************************************************************************************
Example code for SP37 LF Application Note
Autor MKA
Environment: Keil C51 V9.03, µVision V4.14
Date of C code creation: September 2011
*/
*/
*/
*/
*/
*/
(C)opyright Infineon Technologies AG. All rights reserved.
*/
*/
This SOFTWARE is Provided "AS IS" Without ANY WARRANTIES OF ANY KIND, WHETHER
*/
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
*/
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE or warranties of
*/
non-infringement of THIRD PARTY intellectual property rights. Infineon
*/
disclaims all liability regardless of the cause in law, in particular, but
*/
not limited to, the liability for indirect or consequential damages arising
*/
from interrupted operation, loss of profits, loss of information and data,
*/
unless in cases of gross negligence, intent, lack of assured characteristics
*/
or in any cases where liability is mandatory at law.
*/
***************************************************************************************** */
BDTIC
#include
#include
#include
#include
#include
#include
<stdio.h>
<ctype.h>
<absacc.h>
"Reg_SP37.h"
"SP37_ROMLibrary.h"
"SP37_DevLib.h"
#define TRUE
#define FALSE
#define MAX_LF_DATA
1
0
20
//Max LF Data that can be received
void main (void)
{
}
//Replace this section by main function from
// listing 1, 2, 3, 4, 5 or 6
//
void Data_Receive()
{
}
//Replace this section with Data_receive function
// from listing 6
//
Figure 18
Complementary C definitions
Application Note
27
Revision 1.0, 2011-12-05
www.BDTIC.com/infineon
BDTIC
w w w . i n f i n e o n . c o m
www.BDTIC.com/infineon
Published by Infineon Technologies AG