TPMS Tire Pressure Monitoring Sensor SP37T High integrated single-chip TPMS sensor with a low power embedded microcontroller and wireless FSK/ASK UHF transmitter SP37T Version A4 1300kPa Datasheet Revision 1.1, 2012-04-03 Sense & Control Edition 2012-04-03 Published by Infineon Technologies AG 81726 Munich, Germany (c) 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. SP37T Tire Pressure Monitoring Sensor SP37T High integrated single-chip TPMS sensor with a low power embedded micro-controller and wireless FSK/ASK UHF transmitter Revision History: 2012-04-03, Revision 1.1 Previous Revision: Revision 1.0 Page Subjects (major changes since last revision) Page 78 Update LF Receiver Input Select Page 148 Update Pressure Measurement Error Page 156 Temperature Conditions Updated Page 158 Temperature Conditions Updated We Listen to Your Comments Any information within this document that you feel is wrong, unclear or missing at all? Your feedback will help us to continuously improve the quality of this document. Please send your proposal (including a reference to this document) to: sensors@infineon.com Trademarks of Infineon Technologies AG AURIXTM, C166TM, CanPAKTM, CIPOSTM, CIPURSETM, EconoPACKTM, CoolMOSTM, CoolSETTM, CORECONTROLTM, CROSSAVETM, DAVETM, EasyPIMTM, EconoBRIDGETM, EconoDUALTM, EconoPIMTM, EiceDRIVERTM, eupecTM, FCOSTM, HITFETTM, HybridPACKTM, IRFTM, ISOFACETM, IsoPACKTM, MIPAQTM, ModSTACKTM, my-dTM, NovalithICTM, OptiMOSTM, ORIGATM, PRIMARIONTM, PrimePACKTM, PrimeSTACKTM, PRO-SILTM, PROFETTM, RASICTM, ReverSaveTM, SatRICTM, SIEGETTM, SINDRIONTM, SIPMOSTM, SmartLEWISTM, SOLID FLASHTM, TEMPFETTM, thinQ!TM, TRENCHSTOPTM, TriCoreTM. Other Trademarks Advance Design SystemTM (ADS) of Agilent Technologies, AMBATM, ARMTM, MULTI-ICETM, KEILTM, PRIMECELLTM, REALVIEWTM, THUMBTM, VisionTM of ARM Limited, UK. AUTOSARTM is licensed by AUTOSAR development partnership. BluetoothTM of Bluetooth SIG Inc. CAT-iqTM of DECT Forum. COLOSSUSTM, FirstGPSTM of Trimble Navigation Ltd. EMVTM of EMVCo, LLC (Visa Holdings Inc.). EPCOSTM of Epcos AG. FLEXGOTM of Microsoft Corporation. FlexRayTM is licensed by FlexRay Consortium. HYPERTERMINALTM of Hilgraeve Incorporated. IECTM of Commission Electrotechnique Internationale. IrDATM of Infrared Data Association Corporation. ISOTM of INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. MATLABTM of MathWorks, Inc. MAXIMTM of Maxim Integrated Products, Inc. MICROTECTM, NUCLEUSTM of Mentor Graphics Corporation. MifareTM of NXP. MIPITM of MIPI Alliance, Inc. MIPSTM of MIPS Technologies, Inc., USA. muRataTM of MURATA MANUFACTURING CO., MICROWAVE OFFICETM (MWO) of Applied Wave Research Inc., OmniVisionTM of OmniVision Technologies, Inc. OpenwaveTM Openwave Systems Inc. RED HATTM Red Hat, Inc. RFMDTM RF Micro Devices, Inc. SIRIUSTM of Sirius Satellite Radio Inc. SOLARISTM of Sun Microsystems, Inc. SPANSIONTM of Spansion LLC Ltd. SymbianTM of Symbian Software Limited. TAIYO YUDENTM of Taiyo Yuden Co. TEAKLITETM of CEVA, Inc. TEKTRONIXTM of Tektronix Inc. TOKOTM of TOKO KABUSHIKI KAISHA TA. UNIXTM of X/Open Company Limited. VERILOGTM, PALLADIUMTM of Cadence Design Systems, Inc. VLYNQTM Datasheet 3 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor of Texas Instruments Incorporated. VXWORKSTM, WIND RIVERTM of WIND RIVER SYSTEMS, INC. ZETEXTM of Diodes Zetex Limited. Last Trademarks Update 2011-02-24 Datasheet 4 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Table of Contents Table of Contents Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1 1.1 1.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2 2.1 2.2 2.3 2.4 2.5 2.5.1 2.5.2 2.5.3 2.5.3.1 2.5.3.2 2.5.3.3 2.5.3.4 2.5.3.5 2.5.3.6 2.5.3.7 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.7 2.7.1 2.7.1.1 2.7.1.2 2.7.1.3 2.7.1.4 2.7.1.5 2.7.2 2.7.2.1 2.7.2.1.1 2.7.2.1.2 2.7.2.2 2.7.2.2.1 2.7.2.2.2 2.7.2.3 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pin Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating Modes and States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resets and Operating Mode Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NORMAL Mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INIT State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RUN State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IDLE State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . POWER DOWN State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . THERMAL SHUTDOWN State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . State Transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Status of SP37T Blocks in Different States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fault Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VMIN Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADC Measurement Overflow & Underflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADC Selftest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bond Wire Surveillance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensor Integrity Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMAX Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Functional Block Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sensors and Data Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pressure Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acceleration Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Battery Voltage Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Memory Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ROM Library Functions and Reset/Wakeup Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ROM Protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FLASH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FLASH Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FLASH Protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1 Special Function Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Datasheet 5 14 14 14 15 17 18 19 20 21 21 21 21 21 22 22 22 24 24 24 24 24 24 24 24 25 25 25 25 26 26 26 27 28 28 28 29 29 29 30 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Table of Contents 3.2 General Purpose Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3 System Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4 System Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.5 Interval Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.6 Interval Timer Precounter / Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.7 Clock Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.8 Crystal Pulling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.9 RF 315/434 MHz FSK/ASK Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.10 Manchester/BiPhase Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.11 LF Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.12 LF Receiver Analog Front End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.13 LF Attenuator (AGC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.14 LF Carrier Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.15 LF Receiver On/Off Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.16 LF Receiver Baseband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.17 Wakeup Pattern Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 3.18 LF Receiver Data Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.19 16 Bit CRC (Cyclic Redundancy Check) Generator/Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 3.20 Pseudo Random Number Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 3.21 Timer Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 3.22 General Purpose Input/Output (GPIO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 3.23 I2C Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 3.23.1 Programming mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 3.23.1.1 FLASH Write Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.23.1.2 FLASH Erase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 3.23.1.3 FLASH Check Erase Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 3.23.1.4 FLASH Read Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 3.23.1.5 Read Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 3.23.1.6 FLASH Check CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.23.1.7 FLASH Set User Configuration Sector Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.23.1.8 Measure Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3.23.1.9 Measure Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 3.23.1.10 Measure Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3.23.1.11 Measure Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 3.23.2 DEBUG Mode Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.23.2.1 Debug Special Function Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 3.23.2.2 Debugging Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.23.2.3 Debugger Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.23.2.3.1 SetSFR - Set an SFR to a User-defined Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.23.2.3.2 ReadSFR - Read the Value of One SFR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 3.23.2.3.3 SetMemory - Set one Byte in RAM to a User-defined Value . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.23.2.3.4 ReadMemory - Read One Byte of the RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.23.2.3.5 SetPC - Set the Program Counter to a user-defined value . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.23.2.3.6 ReadPC - Read the Program Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.23.2.3.7 SingleStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 3.23.2.3.8 Run Interruptible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.23.2.3.9 Run to Next Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 4 4.1 4.1.1 4.1.2 Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SP37T Test Board Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SP37T Test Board Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datasheet 6 142 142 142 143 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Table of Contents 4.1.3 4.1.4 4.2 4.3 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.4.10 4.4.11 4.4.12 4.4.13 4.4.14 4.4.15 4.4.16 4.4.17 4.4.18 4.4.19 4.4.20 SP37T Test Board Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SP37T Test Board Bill of Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operating Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pressure Sensor (1300kPa variant) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . z-axis Acceleration Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temperature Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Battery Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supply Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RF Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LF Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LF Test Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Crystal Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 MHz RC HF Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 kHz RC LP Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interval Timer & LF On/Off Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power On Reset / Brown Out Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VMIN Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FLASH Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TMAX Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Digital I/O pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 144 145 147 148 148 149 150 150 151 153 155 159 160 161 161 162 163 164 164 165 165 166 166 166 5 5.1 5.2 5.2.1 Package Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Package Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identification Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identification Code Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 167 168 168 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Datasheet 7 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 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 Figure 19 Figure 20 Figure 21 Figure 22 Figure 23 Figure 24 Figure 25 Figure 26 Figure 27 Figure 28 Figure 29 Figure 30 Figure 31 Figure 32 Figure 33 Figure 34 Figure 35 Figure 36 Figure 37 Figure 38 Figure 39 Figure 40 Figure 41 Figure 42 Figure 43 Figure 44 Figure 45 Figure 46 Figure 47 Figure 48 Figure 49 Datasheet Pin Configuration PG-DSOSP-14-6 (Top View, Figure not to Scale) . . . . . . . . . . . . . . . . . . . . . . . 14 SP37T Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Available Operating Modes if Lockbyte 2 is not Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Available Operating Modes if Lockbyte 2 is Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Power On Reset / Brown Out Reset / Operating Mode Selection . . . . . . . . . . . . . . . . . . . . . . . . . 20 NORMAL Mode State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Device Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Memory Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Interval Timer Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 SP37T Clock Concept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 FSK using the internal capacitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ASK using the internal capacitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 FSK using only external capacitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ASK using only an external capacitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 RF Transmitter Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Manchester/BiPhase Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 RF PA Control Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Diagram of the Different RF Encoder Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 LF Receiver Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 LF Receiver AFE Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 AGC Timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 LF Receiver Carrier Detector Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 LF Carrier Detector Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Carrier Detector Threshold Calibration Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 LF Receiver Baseband . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 LF Receiver Baseband Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 LF Telegram Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 LF Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 LF Receiver Baseband Telegram Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 CRC (Cyclic Redundancy Check) Generator/Checker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Example for CRC16 usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Example for serial CRC generation/checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Shift Register Implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Timer Mode 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Timer Mode 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Timer Mode 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Timer Mode 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Timer mode 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Timer Mode 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Timer Mode 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Synchronization Stage & Spike Suppression Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 PROGRAMMING Mode State Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 I2C Legend - PROGRAMMING Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 FLASH Write Line I2C Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 FLASH Erase Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 FLASH Check Erase Status Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 FLASH Read Line Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 FLASH Read Status Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 FLASH Check CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 8 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor List of Figures Figure 50 Figure 51 Figure 52 Figure 53 Figure 54 Figure 55 Figure 56 Figure 57 Figure 58 Figure 59 Figure 60 Figure 61 Figure 62 Figure 63 Figure 64 Figure 65 Figure 66 Figure 67 Figure 68 Figure 69 Figure 70 Figure 71 Figure 72 Figure 73 Datasheet FLASH Set User Configuration Sector Lock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measure Pressure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measure Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measure Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Measure Supply Voltage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Legend - DEBUG Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG SetSFR Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG ReadSFR Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG SetMemory Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG ReadMemory Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG SetPC Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG ReadPC Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG SingleStep Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG Run Interruptible Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG Run to Next Breakpoint Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SP37T Test Circuit / Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SP37T Test Board Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SP37T Test Board Placement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LF Receiver Special Function Register Settings for Telegram Mode . . . . . . . . . . . . . . . . . . . . . . LF Receiver Special Function Register Settings for Carrier Detection . . . . . . . . . . . . . . . . . . . . . Test Circuit for large LF signal measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Circuit for small LF signal measurements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PG-DSOSP-14-6 Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PG-DSOSP-14-6 marking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 131 132 134 136 137 139 139 139 140 140 140 140 140 141 141 142 143 143 156 157 159 159 167 168 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor List of Tables List of Tables Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Table 10 Table 11 Table 12 Table 13 Table 14 Table 15 Table 16 Table 17 Table 18 Table 19 Table 20 Table 21 Table 22 Table 23 Table 24 Table 25 Table 26 Table 27 Table 28 Table 29 Table 30 Table 31 Table 32 Table 33 Table 34 Table 35 Table 36 Table 37 Table 38 Table 39 Table 40 Table 41 Table 42 Table 43 Table 44 Table 45 Table 46 Table 47 Table 48 Table 49 Datasheet IPin Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 SP37T - Operating Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 State Transitions in NORMAL Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Status of SP37T Blocks in Different States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Register Naming Convention Wakeup / Reset Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Registers Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Registers Access Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Register 0 to F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Crystal Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 GPIO Port Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 External Wakeup Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 I/O Port 1 - Alternative Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 FLASH Write Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 FLASH Erase Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 FLASH Check Erase Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 FLASH Check Erase Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 FLASH Read Line Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 FLASH Read Line Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 FLASH Read Status Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 FLASH Check CRC Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Measure Pressure Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Measure Pressure Return Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Measure Acceleration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Measure Acceleration Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Measure Temperature Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 Measure Supply Voltage Return values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 DEBUG mode SFRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 SP37T Test Board Bill of Material . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Operating Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Pressure Sensor (1300 kPa variant) , Vbat = 2.1 V...3.3 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 z-axis Acceleration Sensor, Vbat = 2.1 V...3.3 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Temperature Sensor, Vbat = 2.1 V...3.6 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Battery Sensor, Vbat = 2.1 V...3.6 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Supply Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 RF Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 LF Receiver, Vbat = 2.1 V...3.6 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 LF Receiver Telegram, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz . . . . . . . . . . . . . . . . . . . . . 156 LF Receiver Telegram, Vbat = 2.1 V...3.6 V, T = -20 C...90 C, fLF = 120 kHz...130 kHz . . . . . . 156 LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz . . . . . . . . . . . . . . . 157 LF Receiver Carrier Detection, Vbat = 2.3 V...3.3 V, T = -20 C...90 C, fLF = 120 kHz...130 kHz 158 Crystal Oscillator, fCrystal = 18 MHz...20 MHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 12 MHz RC HF Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 2 kHz RC LP Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Interval Timer / LF On/Off Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Power On Reset / Brown Out Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 VMIN Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 FLASH Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 10 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor List of Tables Table 50 Table 51 Table 52 Table 53 Datasheet TMAX Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Watchdog Timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Digital I/O pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 165 166 166 166 Revision 1.1, 2012-04-03 Tire Pressure Monitoring Sensor SP37T SP37T 1 Introduction 1.1 Overview The SP37T is a sensor for air pressure measurements designed for TPMS applications. With its microcontroller and integrated peripherals, the SP37T offers a single package solution for TPMS applications. It requires only few external components. The SP37T features * * * * * * * Pressure sensor for ambient pressure measurement Z-axis acceleration sensor for motion detection Temperature and supply voltage sensor 8051 based microcontroller Advanced system controller to minimize power consumption RF Transmitter LF Receiver Measurements of pressure, acceleration, temperature, and battery voltage are performed under software control, and the data can be formatted and prepared for RF transmission by the microcontroller. An intelligent wakeup mechanism is available to reduce power consumption. An Interval Timer controls the timing of measurements and transmissions. The circuitry can be programmed to wakeup at regular intervals or it can be woken up by the integrated LF Receiver, which furthermore enables SP37T to receive data. Additionally, wakeup is possible by an external wakeup source connected to a General Purpose Input/Output (GPIO). The integrated microcontroller is instruction set compatible to the standard 8051 processor. It is equipped with various peripherals (e.g. a hardware Manchester/BiPhase Encoder/Decoder and CRC Generator/Checker) enabling an easy implementation of customer-specific applications. The low power consumption RF Transmitter for 315 and 434 MHz contains a fully integrated PLL synthesizer, an ASK/FSK modulator and an efficient power amplifier. Fine tuning of the center frequency can be done either using the on-chip capacitors bank or adding external capacitors. On-chip FLASH memory is integrated to store: * * * The customer specific application program code A unique ID-Number The calibration data for the sensors Additional on-chip ROM memory is available that holds the ROM library functions (developed by Infineon) which covers standard tasks used by the application. The available ROM Library functions are described in a separate document (see [1]). Product Name Product Type Ordering Code Package SP37T Tire Pressure Monitoring Sensor SP370-23-156-0 PG-DSOSP-14-6 Datasheet 12 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Introduction 1.2 Features Main features: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Supply voltage range from 1.9 V up to 3.6 V Operating temperature range -40 to +125 C Low supply current Pressure sensor for 1300kPa range Z-axis acceleration sensor for motion detection Temperature sensor THERMAL SHUTDOWN mode for device protection at high temperatures Battery voltage sensor Integrated RF Transmitter for ISM Band 315/434 MHz Selectable output power 5 or 8 dBm (transformed into 50 Ohm load) Configurable RF transmission data rates up to 10 kbit/s Manchester coded (20 kchips/s) ASK/FSK modulation capability Frequency deviation up to 50 kHz in FSK mode Fully integrated VCO and PLL Synthesizer On chip crystal oscillator tuning LF Receiver with very high input sensitivity LF Receiver data rate 3.9 kbit/s 8051 instruction set compatible microcontroller (cycle-optimized) 6 kByte FLASH memory (for application code) 16 kByte ROM (for ROM library functions) 256 Bytes RAM Wakeup from POWER DOWN state using the Interval Timer, the LF Receiver or an external wakeup source connected via a GPIO pin I2C programming/debugging interface Hardware Manchester/BiPhase Encoder for RF Transmitter Hardware Manchester Decoder for LF Receiver 16 Bit Hardware CRC generator 8 Bit Pseudo Random Number Generator Watchdog timer 3 bidirectional GPIO pins Datasheet 13 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2 Functional Description 2.1 General 2.2 Pin Configuration Figure 1 Pin Configuration PG-DSOSP-14-6 (Top View, Figure not to Scale) Datasheet 14 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.3 Pin Description Table 1 IPin Description Pin Name No. Pin Type 1 Digital I/0 2 PP0 PP1 Buffer Type Function VBat GPIO PP0 / I2C Clock / OpMode0 Pullup Pulldown Tristate Digital I/0 P1Sens Pulling Resistor GPIO PP1 / I2C Data / OpMode1 GND Note: Internal pull-up/pull-down switchable VBat VBat 3 PP2 Digital I/0 Data Tristate Data PPx Note: Internal pull-up/pull-down switchable P1Dir P1Out 500 GPIO PP2 / TxData Note: Internal pull-up/pull-down switchable GND GND 4 PA P1In Analog 10 PA RF Transmitter Output S C R PGND 5 PGND Supply PGND PGND RF Transmitter Ground 7 GND Supply Ground 8 GND Supply Ground 12 XGND Supply Crystal Oscillator Ground GND XGND Datasheet 15 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description Table 1 IPin Description (cont'd) Pin Name No. Pin Type 6 Supply 9 VBAT VREG Supply Buffer Type Function Battery Supply Voltage VBat Internal voltage regulator output Vo lta g e R e g u la tor Note: Connect to decoupling capacitor (CBCAP=100nF) GN D VReg GN D 10 XLF Analog Analog Differential LF Receiver Input 1 50 (X)LF 15k Differential LF Receiver Input 2 Ri nput , LF / 2 11 LF GND 13 XTAL GND GND Analog Crystal Oscillator Input VReg VReg VReg XTAL 0.9Vdc VReg 500 XGND Bypass XGND XGND 14 XTALCAP Analog Crystal Oscillator Load Capacitance 10 XTALCAP XGN D Datasheet XGN D 16 Revision 1.1, 2012-04-03 Figure 2 Datasheet 17 xLF 11 10 High Gain Differential Input Bandgap Temp Sensor VREF and offset DAC 10-bit ADC Carrier Detector RC LF Oscillator System Controller Special Function Register Container Wakeup Logic Interval Timer Clock Controller Timer Calibration Clock/Reset Sources Reset Handler Low Dropout VREG Library ROM 16KB TMAX Detector Low Power VREG FLASH 6KB 8051 Microcontroller Core RAM 256B Embedded Microcontroller Peripherals I2C Interface GPIO Crystal Oscillator Note: Pin numbers shown are for DSOSP-14-6 package only ASK FSK Modulator Modulator Phase Locked Loop RF Power Amplifier UHF Transmitter Pseudo Random Generator CRC Timer 0/1 Generator Chip, Manchester, and Bi-Phase Encoder Voltage Regulators Analog Frontend Digital Baseband 125 KHz LF Receiver Sensor Excitation & Diagnostic Input Bond Wire Surveillance Input MUX LF High Gain Differential Input A Cell ADC State Machine Analog-Digital Converter 14 12 13 5 4 3 2 1 PP0/I2C_CLK/Mode0 XTALCAP XGND XTAL PGND PA PP2/Rfdata/WUP PP1/I2C_DAT/Mode1 2.4 P Cell MEMS Sensor Die SP37T Tire Pressure Monitoring Sensor Functional Description Block Diagram Test Mode Brown-out Detector Watchdog Reset Power-On Reset 2KHz LP Oscillator 12MHz RC Oscillator Power Management 8 GND 7 GND 9 VREG 6 VBAT SP37T Block Diagram Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.5 Operating Modes and States The SP37T can be operated in four different operating modes. * * * * NORMAL mode PROGRAMMING mode DEBUG mode (internal production TEST mode) The operating mode selection is done at Power On Reset by setting the GPIO pins PP0 and PP1 according to the following table: Table 2 SP37T - Operating Modes PP0 PP1 Operating mode Device controlled by 1 1 NORMAL mode FLASH Program at 4000H 0 1 PROGRAMMING mode ROM firmware / external I2C Master 1 0 DEBUG mode ROM firmware / external I2C Master 0 0 Internal production test mode1) ROM firmware / external I2C Master 1) IMPORTANT: Do not enter this mode since unpredictable behavior of the device might result Note: Since PP0 and PP1 have their internal pull-up resistors enabled at Power On Reset, the default startup mode is NORMAL mode if the PP0 and PP1 pins are left unconnected. Datasheet 18 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.5.1 Operating Modes The operating modes depend on the setting of Lockbyte 2, which protects the FLASH Sector 0 (Code Sector) against overwriting, erasing and read-out to prevent reverse engineering of the application code. Figure 3 shows the mode diagram if the Lockbyte 2 is not set. SYSTEM RESET NORMAL mode Power On Reset Software Reset Brown Out Reset PP0=1 PP1=1 INIT PP0=0 PP1=1 PP0=0 PP1=0 PROGRAMMING mode PP0=1 PP1=0 Internal production TEST mode DEBUG mode Figure 3 Available Operating Modes if Lockbyte 2 is not Set For security reasons some operating modes are not accessible anymore after the Lockbyte 2 (see "FLASH" on Page 29) is set. Figure 4 shows the behavior of the SP37T once the Lockbyte 2 is set. All mode selections (except the internal production TEST mode) lead to NORMAL mode. SYSTEM RESET Power On Reset Software Reset Brown Out Reset NORMAL mode PP0=0 PP1=1 PP0=1 PP1=0 PP0=1 PP1=1 INIT PP0=0 PP1=0 Figure 4 Datasheet Reduced Internal production TEST mode Available Operating Modes if Lockbyte 2 is Set 19 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.5.2 Resets and Operating Mode Selection Power On Reset Power On Reset Application forces SW Reset Brownout Reset VTHR= VBRD V_REG VPOR Internal Reset Signal (active low) PP0, PP1 (OpMode 0, OpMode 1) Figure 5 t POR t mode t POR t mode t POR Stable Levels Req. Stable Levels Req. t mode Stable Levels Req. t POR t mode Stable Levels Req. Power On Reset / Brown Out Reset / Operating Mode Selection Three kinds of resets can occur which cause an operating mode selection: * * * The Power On Reset circuit is activated if VREG rises above VPOR. The internal blocks are held in RESET state until VREG has risen above VTHR. The Brown Out Reset circuit is activated if VREG drops below VBRD. The internal blocks are held in RESET state until VREG has risen above VBRD again. The SP37T's Software Reset can be forced by SP37T setting SRF bit CFG2.0[RESET]. When the Internal Reset state is released (after tPOR is elapsed), a further period tMODE is required for reading the states applied to PP0 and PP1 to determine the operation mode of the device according to Table 2 "SP37T Operating Modes" on Page 18. The levels on these pins must be stable during the whole tMODE period. After tMODE has elapsed, the device starts operation in the selected mode. The Watchdog Reset is a special case and it does not result in a mode selection. The Watchdog Reset affects only the CPU core and forces a program restart. Datasheet 20 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.5.3 NORMAL Mode Operation After a startup in NORMAL mode the system controller handles the different states as shown in the state transition diagram below. Transitions SR - Sytem Reset WU - Wakeup PE - Enter POWER DOWN state TE - Enter THERMAL SHUTDOWN state WD - Watchdog wakeup IFLG -Enter IDLE state RS - Resume event WU THERMAL SHUTDOWN state SR TE WD INIT (App. Restart ) RUN state IFLG WU POWER DOWN state RS PE IDLE state WD Figure 6 NORMAL Mode State Diagram 2.5.3.1 INIT State The INIT state is entered after every System Reset (either Power On Reset, Brown Out Reset or Software Reset) to determine the desired operation mode (see "Operating Modes" on Page 19) and to initialize the SP37T. The INIT state is entered as well if a wakeup or watchdog timeout occurs, but no operation mode selection is done after a wakeup and RUN state is entered immediately. 2.5.3.2 RUN State In RUN state, the microcontroller is executing the application program from the FLASH. In this state the watchdog is active to prevent software-deadlocks. The microcontroller (CPU) clock source is always based on the 12MHz RC HF Oscillator. 2.5.3.3 IDLE State In IDLE state the microcontroller clock is stopped to reduce the current consumption, while the peripherals Timer 0, ADC, RF Transmitter and LF Receiver can continue normal operation. After a resume event is triggered by one of the enabled peripherals, the microcontroller continues the operation where it was interrupted. The resume event source can be identified by reading SFR REF (see "Resume Event Flag Register" on Page 50). 2.5.3.4 POWER DOWN State In POWER DOWN state, the system controller takes control of the SP37T microcontroller and most peripherals are switched off. Datasheet 21 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description In POWER DOWN state the active peripherals (Interval Timer, LF On/Off timer,...) are clocked by the 2kHz RC LP Oscillator. After a wakeup occurred, the wakeup source can be identified by reading SFR WUF (see "Wakeup Flag Register" on Page 48). 2.5.3.5 THERMAL SHUTDOWN State The application can enter THERMAL SHUTDOWN state if the temperature is above the TMAX threshold temperature. Once the device is in THERMAL SHUTDOWN state, only the TMAX circuit can provide a wakeup event. All other wakeup sources are disabled. The device will remain in this state until the temperature falls below the TREL threshold (see "TMAX Detector" on Page 24 for details). 2.5.3.6 State Transitions With reference to Figure 6 "NORMAL Mode State Diagram" on Page 21, the following state transitions can occur: Table 3 State Transitions in NORMAL Mode State transition Description RUN state => IDLE state The application program can set SFR bit CFG0.5 [IDLE] to enter IDLE state. (see "Configuration Register 0" on Page 41) Note: If no peripheral that can create a RESUME event is active, IDLE state will not be entered and the application will continue uninterrupted. IDLE state => RUN state A peripheral unit (Timer 0, ADC, RF Transmitter, LF Receiver) creates a resume event. The application automatically resumes where it was interrupted when entering IDLE state (see "Resume Event Flag Register" on Page 50) IDLE state => INIT state RUN state => INIT state Overflow of the watchdog timer. The application will restart. The watchdog wakeup is indicated in the SFR WUF. "Wakeup Flag Register" on Page 48 RUN state => THERMAL SHUDOWN state The application program can call a ROM Library function to enter THERMAL SHUTDOWN state. RUN state => POWER DOWN state The application program can call a ROM Library function to enter POWER DOWN state. POWER DOWN state => RUN state THERMAL SHUTDOWN state => RUN state A wakeup event will restart the application, and set the SFR WUF accordingly. (see "Wakeup Flag Register" on Page 48) INIT state => RUN state This state change is initiated automatically by the system controller as soon as the initialization is finished. 2.5.3.7 Status of SP37T Blocks in Different States Depending on the current state in NORMAL mode the internal blocks of the SP37T are active, inactive or are not supplied with supply voltage to minimize the current consumption. The following table gives an overview over of the individual blocks in the different states. Datasheet 22 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description Table 4 Status of SP37T Blocks in Different States Unit Run state IDLE state POWER DOWN state THERMAL SHUTDOWN state Power On Reset Active1) Active Active Active Brown Out Detector Active Active Inactive Inactive Inactive Active Active TMAX Detector Handled by Inactive 2) ROM Library functions 3) Voltage Regulator (VREG) Active Active Active System controller Active Active Active Active 4) Microcontroller Active Inactive No supply Manchester/ BiPhase encoder, Timer Active Active No supply No supply Peripheral modules CRC, Selectable inactive or I2C, Pseudo Random active Number Generator Inactive No supply No supply Watchdog timer Active Active No supply No supply Upper 128Bytes RAM Active Inactive No supply No supply Lower 128Bytes RAM Active Inactive Selectable No supply or inactive Selectable No supply or inactive FLASH Active Inactive No supply No supply ROM Active Inactive No supply No supply Crystal oscillator Selectable inactive or active Selectable inactive or active No supply No supply 2kHz RC LP Oscillator Active Active Active Inactive 12MHz RC HF Oscillator Active Active No supply No supply Interval Timer Active Active Active Inactive LF Receiver Selectable inactive or active Selectable inactive or active Selectable inactive or active Inactive RF Transmitter Selectable inactive or active Selectable inactive or active Inactive Inactive Sensor Handled by ROM Library functions Handled by No supply ROM Library functions 1) 2) 3) 4) No supply No supply Active: block is powered, active and keeps its register contents. The ADC, the Sensor and VMIN Detector are controlled by ROM Library functions described in [1]. Inactive: block is powered, cannot be used, but keeps its register contents. No supply: block is not powered, cannot be used and all register content is lost. Datasheet 23 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.6 Fault Protection The SP37T features multiple fault protections which prevent the application from unexpected behavior and deadlocks. This chapter gives a brief overview of the available fault protections. Detailed explanation of the usage can be found later in this document and in [1]. 2.6.1 Watchdog Timer For operation security a watchdog timer is available to avoid application software deadlocks. The watchdog timer is only active in NORMAL mode and DEBUG mode and must be reset periodically by the application, otherwise the timer generates a wakeup and forces a restart of SP37T application program. Setting SFR bit CFG2.1[WDRES] resets the watchdog timer (see "Configuration Register 2" on Page 43) The watchdog timeout period is fixed (see Table 51 "Watchdog Timer" on Page 166). The accuracy depends on the accuracy of the 2kHz RC LP Oscillator which is used to clock the watchdog timer. Upon wakeup the watchdog timer is automatically reset. The watchdog timer is not, however, automatically reset upon entry into IDLE state. Therefore care must be taken so that the application does not remain in IDLE state longer than the minimum watchdog timeout period. 2.6.2 VMIN Detector This circuit will detect if the supply voltage is very close to the minimum required value. The ROM library functions which perform measurements will return the VMIN status in a status byte with the measurement result (see [1]). 2.6.3 ADC Measurement Overflow & Underflow The ROM Library functions which perform measurements will return the over/underflow status in a status byte with the measurement result. (see [1]) 2.6.4 ADC Selftest A dedicated ROM Library function is able to perform a selftest of the ADC (see [1]). 2.6.5 Bond Wire Surveillance The continuity of the bond wire connection between the ASIC die and the sensor die is checked as part of every pressure and acceleration measurement. The ROM library routines which perform the measurements will return the bond wire status in a status byte with the measurement result (see [1]). 2.6.6 Sensor Integrity Check An integrity check of the acceleration sensor is performed as part of every measurement. The ROM library routine which performs acceleration measurements will return the integrity status in the status byte with the measurement result (see [1]). 2.6.7 TMAX Detector The TMAX detector is used to wakeup the SP37T from THERMAL SHUTDOWN state if the ambient temperature falls below the release trigger level TREL. Entering THERMAL SHUTDOWN state is initiated by a ROM Library function described in [1]. Datasheet 24 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.7 Functional Block Description 2.7.1 Sensors and Data Acquisition The SP37T has four sensors to acquire environmental data: 2.7.1.1 Pressure Sensor The pressure sensor consists of a single-crystal silicon, bulk micro machined membrane with an integrated full Wheatstone piezo-resistive bridge. The piezo-resistors are placed inside a vacuum reference chamber, whilst the pressure media to be measured in the application is applied to the opposite side of the membrane. This gives good long-term properties as the measurement bridge is protected from the environment. Pressure measurement is performed by a dedicated ROM library function (see [1]). 2.7.1.2 Acceleration Sensor The acceleration sensor consists of a single-crystal silicon, bulk micro machined beam and mass with an integrated full Wheatstone piezo-resistive bridge. The whole beam and mass are placed inside a hermetically sealed chamber and are therefore well protected from the environment. A diagnostic resistor is integrated along the edge of the beam to be used to check the mechanical integrity of the beam. Acceleration measurement is performed by a dedicated library ROM library function (see [1]). Figure 7 shows the direction of the sensitive axis for the accelerometer. If the SP37T is mounted on the wheel as shown in Figure 7, it will measure a positive acceleration when the wheel rotates. Figure 7 Datasheet Device Orientation 25 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.7.1.3 Temperature Sensor The temperature sensor is placed on the ASIC. This is read by the ADC referenced to a fixed (band gap) voltage. Temperature measurement is performed by a dedicated ROM library function (see [1]). 2.7.1.4 Battery Voltage Sensor The battery voltage sensor is a circuit which provides a signal proportional to the supply voltage. The voltage is read by the ADC referenced to a fixed (band gap) voltage. Supply Voltage measurement is performed by a dedicated ROM library function (see [1]). 2.7.1.5 Data Acquisition The analog data is acquired and digitized by the internal 10 Bit ADC. Measurement routines for acquiring the environmental data are available within the ROM library functions that are described in [1]. Characteristic of the individual sensors can be found in "Characteristics" on Page 148. Datasheet 26 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.7.2 Memory Organization Code memory Data memory FFFFH FFH Not used 64B Reference cells 64B Flash Configuration 128B FLASH Lockbyte 1 Coefficients XTAL Freq + Lockbyte 3 128B User Configuration CRC Sum + Lockbyte 2 RAM 256 byte 5900 H 58FFH 58C0 H 58BFH Data SFR 80 H 7FH Data 00 H 5880 H 587 FH Indirect addressing 5800 H 57FFH Direct addressing 5780 H 577FH 6kB Program Code 4000 H Reserved Revision number, CRC Sum ROM 16k 3FF7 H ROM Library Functions 0080 H Vector Table Figure 8 0000 H Memory Map The following memory blocks are implemented: * * * * 16 kByte ROM memory 6 kByte FLASH memory 256 Byte RAM memory 128 Byte SFR register Datasheet 27 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.7.2.1 ROM A 16 kB ROM memory is located in the address range 0000H to 3FF7H. 2.7.2.1.1 ROM Library Functions and Reset/Wakeup Handlers The ROM contains the reset handler, operation mode handler, wakeup handler, internal test and debug routines and the ROM Library functions (see in [1]). 2.7.2.1.2 ROM Protections To protect the ROM code against readout a hardware mechanism is implemented, thus no read operations can be performed on the ROM. Direct jumping into the ROM area is prevented by a hardware mechanism, thus access to the ROM library functions is granted only via a vector table at the bottom of the ROM address space. Datasheet 28 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.7.2.2 2.7.2.2.1 FLASH FLASH Organization The FLASH is divided into five sectors. Each sector can be erased and written individually. Sectors 0 and 1 are accessible for customer usage. Sectors 2, 3 and 4 are written in the Infineon production site and cannot be erased or re-written by the customer. * * * * * 4000H -- 577FH (6016 Bytes) Code sector (0): The code sector contains the application software including a CRC16 Checksum (to be written to 577DH -- 577EH) and the Lockbyte 2 (to be written to 577FH). 5780H -- 57FFH (128 Bytes) User Configuration sector (1):The User Configuration sector can store individual device configuration data. It also contains the crystal frequency which is needed as a timebase for ROM Library functions (to be written to 57FAH -- 57FCH) and the Lockbyte 3 (to be written to 57FFH). 5800H -- 587FH (128 Bytes) Coefficients sector (2): This sector is written during the sensor calibration process and contains calibration coefficients, the unique Sensor ID and Lockbyte 1 (to be written to 587FH). 5880H -- 58BFH (64 Bytes) FLASH Configuration sector (3): This sector contains the FLASH driver parameters and other device configuration parameters. 58C0H -- 58FFH (64 Bytes) Reference Cell sector (4): This sector contains the reference cells for FLASH reading. 2.7.2.2.2 FLASH Protection To protect the FLASH against unauthorized access three FLASH Lockbytes are available. Note: The Lockbytes are set, if the value in the appropriate FLASH address is programmed to D1H. Setting the Lockbyte to 00H will result in a unlocked FLASH area. Any other value must not be written to these locations. After programming a Lockbyte, the SP37T has to be reset before the FLASH lock takes effect. * Lockbyte 1 (587FH) This Lockbyte protects the FLASH sectors 2, 3 and 4 against overwriting and erasing. This Lockbyte is programmed at the Infineon production site. * Lockbyte 2 (577FH) This Lockbyte protects the FLASH sector 0 (Code Sector) against overwriting, erasing (except reduced internal production test mode) and read-out to prevent reverse engineering of the application code. This Lockbyte has to be set at the end of the programming sequence of the Code Sector via the I2C Interface (when writing the highest FLASH Line starting at 5760H). Once it is set, the available operating modes are reduced according to Figure 4 "Available Operating Modes if Lockbyte 2 is Set" on Page 19. * Lockbyte 3 (57FFH) This Lockbyte protects the FLASH sector 1 (User Configuration Sector) against overwriting and erasing (except reduced internal production test mode). The Lockbyte can be set either via I2C in PROGRAMMING mode in the same programming sequence as Lockbyte 2 is set, or by using a dedicated ROM Library function in NORMAL mode by the application software (see [1]). Datasheet 29 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Functional Description 2.7.2.3 RAM The RAM is available as volatile data storage for the application program. Some RAM locations are required by the ROM Library Functions and therefore not freely available for use by the application program. For more details please refer to the ROM Library function guide [1]. The upper 128 bytes of RAM are switched off in POWER DOWN state and THERMAL SHUTDOWN state and lose their contents. The lower 128 bytes of RAM can be powered during POWER DOWN state and THERMAL SHUTDOWN state. This is selectable using SFR bit CFG2.4[PDLMB]. If not powered in these states, this RAM loses the content, otherwise it can be used as battery buffered storage like the General Purpose Registers (see "General Purpose Registers" on Page 39). Note: The RAM is not reset at a System Reset or watchdog timeout. After a Brown Out Reset this feature may be used to possibly recover data. After Power On Reset the application has to initialize the RAM if needed. Datasheet 30 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3 Special Function Registers Special Function Registers (SFR) are used to control and monitor the state of the SP37T and its peripherals. The following table shows the naming convention for the SFR descriptions that are used throughout this document Table 5 Register Naming Convention Wakeup / Reset Value State Symbol Description Low 0 Register value is 0B High 1 Register value is 1B Undefined X Register value is undefined Unchanged U Register value is unchanged Table 6 provides links within this document to detailed description of the application relevant SFRs. In addition to register names and offset addresses, this table indicates how each SFR behaves after wakeup and reset events. The Wakeup Value column applies in the case of a wakeup event, which includes a watchdog timeout. The Reset Value column applies in the case of a Power On Reset, Brownout Reset or Software Reset event. Table 6 Registers Overview Register Short Name Register Long Name Offset Address Wakeup Value Reset Value ACC Accumulator E0H 00H 00H B Register B F0H 00H 00H DPH Data Pointer (high) 83H 00H 00H DPL Data Pointer (low) 82H 00H 00H PSW Program Status Word D0H 00H 00H SP Stack Pointer 81H 07H 07H Microcontroller 1) General Purpose Registers GPR0 General Purpose Register 0 B8H UUH XXH GPR1 General Purpose Register 1 B0H UUH XXH GPR2 General Purpose Register 2 A8H UUH XXH GPR3 General Purpose Register 3 F1H UUH XXH GPR4 General Purpose Register 4 F2H UUH XXH GPR5 General Purpose Register 5 F3H UUH XXH GPR6 General Purpose Register 6 F5H UUH XXH GPR7 General Purpose Register 7 F6H UUH XXH GPR8 General Purpose Register 8 F7H UUH XXH GPR9 General Purpose Register 9 F9H UUH XXH GPRA General Purpose Register 10 FAH UUH XXH GPRB General Purpose Register 11 FBH UUH XXH Datasheet 31 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Table 6 Registers Overview (cont'd) Register Short Name Register Long Name Offset Address Wakeup Value Reset Value GPRC General Purpose Register 12 FCH UUH XXH GPRD General Purpose Register 13 FDH UUH XXH GPRE General Purpose Register 14 FEH UUH XXH GPRF General Purpose Register 15 FFH UUH XXH System Configuration Registers CFG0 Configuration Register 0 F8H 0000U000B 00H CFG1 Configuration Register 1 E8H 000U000UB 00H CFG2 Configuration Register 2 D8H 000U1000B 18H DSR Diagnosis and Status Register D9H 0XUU00XUB 0XXX0000B WUF Wakeup Flag Register C0H XXH 00H WUM Wakeup Mask Register C1H UUH FFH REF Resume Event Flag Register D1H 00H 00H Interval Timer Period Register BCH UUH 01H System Controller Interval Timer ITPR Interval Timer Precounter / Calibration ITPH Interval Timer Precounter Register (High Byte) BBH 0000UUUUB 03H ITPL Interval Timer Precounter Register (Low Byte) BAH UUH E8H Internal Clock Divider B9H 000000UUB 00H XTAL0 XTAL Frequency Register (FSKLOW) C4H UUH FFH XTAL1 XTAL Frequency Register (FSKHIGH/ASK) C3H UUH FFH Clock Controller DIVIC Crystal Pulling RF 315/434 MHz FSK/ASK Transmitter RFC RF-Transmitter Control Register C8H 00H 00H RFTX RF-Transmitter Configuration Register AEH UUU0UUUUB 87H Manchester/BiPhase Encoder RFENC RF-Encoder Tx Control Register CAH E0H E0H RFD RF-Encoder Tx Data Register C9H 00H 00H RFS RF-Encoder Tx Status Register CBH 02H 02H LF Receiver Control Register 98H 0UUUUU00B 00H LF Receiver Configuration Register 0 B7H UUH 38H LF Receiver Configuration Register 1 B6H UUH 00H LF Receiver LFRXC LF Receiver Analog Front End LFRX0 LF Attenuator (AGC) LFRX1 Datasheet 32 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Table 6 Registers Overview (cont'd) Register Short Name Register Long Name Offset Address Wakeup Value Reset Value LFRX2 LF Receiver Configuration Register 2 AFH UUH 77H LFCDFLT LF Carrier Detect Filtering B2H UUH 00H LFCDM0 LF Carrier Detector Mode Register 0 B5H UUUUUUU0B 00H LF Carrier Detector LF Receiver On/Off Timer LFOOT LF On/Off Timer Configuration Register C6H UUH 00H LFOOTP LF OnOff Timer Precounter C5H UUH 64H B4H 00UUUUUUB 17H LF Receiver Baseband LFDIV LF Bitrate Divider Factor Wakeup Pattern Detector LFPCFG LF Pattern Detection Configuration Register C7H 00UU00UUB 00H LFP0H LF Pattern 0 Detector Sequence Data MSB CDH UUH FFH LFP0L LF Pattern 0 Detector Sequence Data LSB CCH UUH FFH LFP1H LF Pattern 1 Detector Sequence Data MSB CFH UUH FFH LFP1L LF Pattern 1 Detector Sequence Data LSB CEH UUH FFH LF Receiver Data Interface LFRXD LF Receiver Data Register A5H UUH 00H LFRXS LF Receiver Status Register A4H XUXUUUUUB X0X00000B 16 Bit CRC (Cyclic Redundancy Check) Generator/Checker CRCC CRC Control Register A9H 02H 02H CRCD CRC Data Register AAH 00H 00H CRC0 CRC Preload/Result Register 0 (low byte) ACH 00H 00H CRC1 CRC Preload/Result Register 1 (high byte) ADH 00H 00H Random Number Generator Data Register ABH UUH 55H TCON Timer Control Register 88H 00H 00H TMOD Timer Mode Register 89H 00H 00H TH0 Timer 0 Register High Byte 8CH 00H 00H TL0 Timer 0 Register Low Byte 8AH 00H 00H TH1 Timer 1 Register High Byte 8DH 00H 00H TL1 Timer 1 Register Low Byte 8BH 00H 00H Pseudo Random Number Generator RNGD Timer Unit General Purpose Input/Output (GPIO) P1DIR IO-Port 1 Direction Register 91H UUH FFH P1IN IO-Port 1 Data In Register 92H 00000XXXB 00000XXXB P1OUT IO-Port 1 Data Out Register 90H UUH FFH P1SENS IO-Port 1 Sensitivity Register 93H 00000UUUB 00H I2C Interface Datasheet 33 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Table 6 Registers Overview (cont'd) Register Short Name Register Long Name Offset Address Wakeup Value Reset Value I2CD I2C Data Register 9AH 00H 00H I2CS I2C Status Register 9BH 00H 00H Debug Special Function Register DBCH0 Debug Compare Register 0 (high byte) 95H 00H 00H DBCL0 Debug Compare Register 0 (low byte) 94H 00H 00H DBCH1 Debug Compare Register 1 (high byte) 9DH 00H 00H DBCL1 Debug Compare Register 1 (low byte) 9CH 00H 00H DBTH0 Debug Target Register 0 (high byte) 97H 00H 00H DBTL0 Debug Target Register 0 (low byte) 96H 00H 00H DBTH1 Debug Target Register 1 (high byte) 9FH 00H 00H DBTL1 Debug Target Register 1 (low byte) 9EH 00H 00H 1) Reset Value for GRP0 - GPRF is typically undefined (X) except in the case of Software Reset, which leaves the GPR content unchanged (U). The register is addressed bytewise. Table 7 Registers Access Types Mode Symbol Description Hardware (HW) Description Software (SW) Basic Access Types write/read wr Register is used as input for the HW Register is read and writable by SW read only r Register is written by HW Value written by SW is ignored by HW; that is, SW may write any value to this field without affecting HW behavior write only w Register is written by software and affects hardware behavior with every write by software. Register is writable by SW. When read, the register does not return the value that has been written previously, but the reset value instead. UNUSED - Register is not used by HW. Value written by SW is ignored by HW; that is, SW may write any value to this field without affecting HW behavior. Register is used as input for internal HW; Access Type is not documented. Value must be kept by SW. SW read or write any value to this field affecting HW behavior. Reserved Special Access Types1) Read self clearing rc Reading from the register generates a Register is used as input for the HW, the register will be cleared due to a HW strobe signal for the HW. Register is readable by SW. mechanism. Write self clearing wc Register is used as input for the HW, Writing to the register generates a strobe the register will be cleared due to a HW signal for the HW. Register is writable by mechanism. SW. 1) Optional types Datasheet 34 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.1 Microcontroller The SP37T incorporates an 8051 instruction set compatible microcontroller. It offers an 8-bit data path, several addressing modes (direct, register, register indirect, immediate, index), and accesses the built-in peripherals through SFRs. To handle the sequential nature of TPMS applications efficiently, wakeup and resume mechanisms are implemented instead of an interrupt controller. The microcontroller incorporates the following basic SFRs: Accumulator (ACC), Register B (B) and Program Status Word (PSW) are bit addressable registers used to perform arithmetical and logical operations. The Stack Pointer (SP) and Data Pointer (DPTR) are included to allow basic programming structures. The Data Pointer (DPTR) is determined by SFR DPH and SFR DPL. SFR PSW holds the status of basic arithmetic operations. Accumulator ACC Offset Wakeup Value E0H 00H Accumulator Reset Value 00H 7 0 ACC wr Field Bits Type Description ACC 7:0 wr Accumulator Reset: 00H Register B B Offset Wakeup Value F0H 00H Register B 7 Reset Value 00H 0 B wr Field Bits Type Description B 7:0 wr Register B 7-0 Reset: 00H Data Pointer (high) Datasheet 35 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers DPH Data Pointer (high) Offset Wakeup Value 83H 00H Reset Value 00H 7 0 DPH wr Field Bits Type Description DPH 7:0 wr Data Pointer (high) Reset: 00H Data Pointer (low) DPL Data Pointer (low) Offset Wakeup Value 82H 00H 7 Reset Value 00H 0 DPL wr Field Bits Type Description DPL 7:0 wr Data Pointer (low) Reset: 00H Datasheet 36 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Program Status Word PSW Program Status Word 7 6 5 CY AC F0 wr wr wr Offset Wakeup Value D0H 00H 4 3 Reset Value 00H 2 1 0 RS OV F1 P wr wr wr r Field Bits Type Description CY 7 wr Carry Reset: 0H AC 6 wr Auxiliary Carry Carry-out for BCD operations Reset: 0H F0 5 wr Flag 0 Available for general purpose use. Reset: 0H RS 4:3 wr Register Bank Select 00B Bank 0 (00H - 07H ) 01B Bank 1(08H - 0FH ) 10B Bank 2(10H - 17H ) 11B Bank 3(18H - 1FH ) Reset: 0H OV 2 wr Overflow Reset: 0H F1 1 wr Flag 1 Available for general purpose use. Reset: 0H P 0 r Parity Set or cleared each instruction cycle to indicate an odd or even number of 1 bits in the accumulator Reset: 0H Datasheet 37 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Stack Pointer SP Stack Pointer Offset Wakeup Value 81H 07H 7 Reset Value 07H 0 SP wr Field Bits Type Description SP 7:0 wr Stack Pointer (SP) SP is incremented before data is pushed and decremented after data is popped. SP always points to the last valid stack byte. Reset: 07H Datasheet 38 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.2 General Purpose Registers The SP37T incorporates 16 general purpose registers that can be used by the application to store data beyond a POWER DOWN state / THERMAL SHUTDOWN state period. The GPR Registers are not cleared after a System Reset. After a Power On Reset, the GPR contents will be undefined. General Purpose Register 0 GPR0 General Purpose Register 0 Offset Wakeup Value B8H UUH Reset Value XXH 7 0 GPR0 wr Field Bits Type Description GPR0 7:0 wr General Purpose Reset: XXH General Purpose Registers 0 - F are freely available for application program use. GPR0, GPR1, GPR2 are located at Offset Addresses that make them well suited for bit manipulation. Placing bit variables in these GPRs will result in more efficient CPU operation. Table 8 Register 0 to F1) Register Short Name Register Long Name Offset Address Wakeup Value Reset Value GPR0 General Purpose Register 0 B8H UUH XXH GPR1 General Purpose Register 1 B0H UUH XXH GPR2 General Purpose Register 2 A8H UUH XXH GPR3 General Purpose Register 3 F1H UUH XXH GPR4 General Purpose Register 4 F2H UUH XXH GPR5 General Purpose Register 5 F3H UUH XXH GPR6 General Purpose Register 6 F5H UUH XXH GPR7 General Purpose Register 7 F6H UUH XXH GPR8 General Purpose Register 8 F7H UUH XXH GPR9 General Purpose Register 9 F9H UUH XXH GPRA General Purpose Register 10 FAH UUH XXH GPRB General Purpose Register 11 FBH UUH XXH GPRC General Purpose Register 12 FCH UUH XXH GPRD General Purpose Register 13 FDH UUH XXH Datasheet 39 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Table 8 Register 0 to F1) (cont'd) Register Short Name Register Long Name Offset Address Wakeup Value Reset Value GPRE General Purpose Register 14 FEH UUH XXH GPRF General Purpose Register 15 FFH UUH XXH 1) Reset Value for GRP0 - GPRF is typically undefined (X) except in the case of Software Reset, which leaves the GPR content unchanged (U). Datasheet 40 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.3 System Configuration Registers The system configuration registers can be used for: * * * Initiating state transitions (SFR CFG0) Enabling or disabling peripherals (SFR CFG1 and SFR CFG2) Monitoring the operation mode, the system state and peripherals (SFR DSR) Configuration Register 0 CFG0 Configuration Register 0 Offset Wakeup Value F8H 0000U000B Reset Value 00H 7 6 5 4 3 2 1 0 PDWN TSHDWN IDLE ENXOSC FTM Res UNUSED Res wr wr wr wr wr - Field Bits Type Description PDWN 7 wr Enter POWER DOWN State If set to 1 by software the POWER DOWN state is entered; This bit is automatically reset to 0 by the system controller after a wakeup. Entering POWER DOWN state is handled by a ROM Library function. It is not recommended to set this bit manually. Reset: 0H TSHDWN 6 wr Enter THERMAL SHUTDOWN State If set to 1 by software the THERMAL SHUTDOWN state is entered; This bit is automatically reset to 0 by the system controller after wakeup. Entering THERMAL SHUTDOWN state is handled by a ROM Library function. It is not recommended to set this bit manually. Reset: 0H IDLE 5 wr Enter IDLE State If set to 1 by software the IDLE state is entered; This bit is automatically reset to 0 by the system controller after a resume event occurs. Reset: 0H ENXOSC 4 wr Enable XTAL Oscillator Control of XTAL oscillator enable is handled by a ROM Library function. It is not recommended to change this bit manually. 0B XTAL oscillator disable 1B XTAL oscillator enable Reset: 0H FTM 3 wr Enable Functional Test Mode This mode is used only during internal device testing. 0B FTM disabled 1B FTM enable Reset: 0H Datasheet 41 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Field Bits Res 2 UNUSED 1 Res 0 Type Description Reserved This bit must be set to 0B. Reset: 0H - UNUSED Reset: 0H Reserved This bit must be set to 0B. Reset: 0H Configuration Register 1 CFG1 Offset Wakeup Value E8H 000U000UB Configuration Register 1 Reset Value 00H 7 6 5 4 3 2 1 0 Res I2CEN RNGEN RFTXPEN Res ITRD ITINIT ITEN wr wc wr wr r wr Field Bits Res 7 I2CEN 6 wr I2C Enable Standard I/O Port functionality 0B 1B I2C functionality on Pins PP0/SCL and PP1/SDA Reset: 0H RNGEN 5 wc Random Number Generator Enable 0B Cleared automatically after random number is generated 1B Initiates generation of a new pseudo random number Reset: 0H RFTXPEN 4 wr Transmitter Data Port Output Enable If this bit is set the RF transmission baseband data is made available on PP2, and the RF Manchester/BiPhase Encoder does not turn on the PA. If RF transmission in parallel with PP2 mirroring is desired , the PA must be enabled by the application prior to RF transmission (RFC.0 = 1). 0B Standard I/O Port functionality 1B Echoes RF transmission baseband data on port PP2/TXData Reset: 0H Res 3 Datasheet Type Description Reserved This bit must be set to 0B. Reset: 0H Reserved This bit must be set to 0B. Reset: 0H 42 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Field Bits Type Description ITRD 2 wr Interval Timer Read Enable To safely read SFR ITPR, this bit should be set to 1 prior to reading ITPR. After the ITPR contents are read, this bit should be checked. 0B SFR ITPR read result is not valid 1B SFR ITPR read result is valid Reset: 0H ITINIT 1 r Interval Timer Initialization When the wakeup interval is changed by programming ITPR, ITPL or ITPH with a new value, this bit is set to 1 until the new value has taken effect. The application should not leave RUN state while this bit is 1 otherwise the ITPR setting does not take effect. This bit is automatically cleared after initialization is complete. 0B Interval Timer Initialization complete 1B Interval Timer Initialization in progress Reset: 0H ITEN 0 wr Interval Timer Enable Interval Timer is always enabled in NORMAL mode, setting or clearing ITEN bit has no effect. 0B Disable Interval Timer (TEST/DEBUG mode only) 1B Enable Interval Timer Reset: 0H Configuration Register 2 CFG2 Configuration Register 2 Offset Wakeup Value D8H 000U1000B Reset Value 18H 7 6 5 4 3 2 1 0 UNUSED I2CGCEN UNUSED PDLMB Res UNUSED WDRES RESET - wr - wr - wc wc Field Bits Type Description UNUSED 7 - UNUSED Reset: 0H I2CGCEN 6 wr I2C General Call Enable 0B Disabled 1B Enabled Reset: 0H UNUSED 5 - UNUSED Reset: 0H Datasheet 43 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Field Bits Type Description PDLMB 4 wr Lower RAM Memory Block (00H-7FH) Power Control 0B Lower RAM retains power in POWER DOWN and THERMAL SHUTDOWN states 1B Lower RAM is not powered in POWER DOWN and THERMAL SHUTDOWN states Reset: 1H Res 3 UNUSED 2 - UNUSED Reset: 0H WDRES 1 wc Reset Watchdog Counter 0B Cleared automatically after reset of watchdog counter 1B Watchdog counter is reset Reset: 0H RESET 0 wc System Reset 0B Cleared automatically after software reset is performed 1B A software reset is performed Reset: 0H Datasheet Reserved This bit must be set to 1B. Reset: 1H 44 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Diagnosis and Status Register DSR Diagnosis and Status Register 7 6 5 Res TGOOD OPMODE r r Wakeup Value Reset Value D9H 0XUU00XUB 0XXX0000B 4 3 2 Res 1 0 WUPEND Res r Field Bits Res 7 TGOOD 6 r TMAX Detector Status Entering THERMAL SHUTDOWN state is handled by a ROM Library function. 0B Temperature > TMAX 1B Temperature < TMAX Reset: XB OPMODE 5:4 r Operating Mode 00B TEST Mode 01B DEBUG Mode 10B PROGRAMMING Mode 11B NORMAL Mode Reset: XXB Res 3:2 WUPEND 1 Res 0 Datasheet Type Offset Description Reserved This bit must be set to 0B. Reset: 0H Reserved These bits must be set to 00B. Reset: 0H r Wakeup Pending in SFR WUF 0B SFR WUF contents have not changed since the last read 1B SFR WUF contents have changed since the last read Reset: 0H Reserved This bit must be set to 0B. Reset: 0H 45 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.4 System Controller While the microcontroller controls the SP37T in RUN state, the system controller takes over control in POWER DOWN state, IDLE state and THERMAL SHUTDOWN state. The system controller handles wakeup / resume events and system resets. It is clocked by the 2kHz RC LP Oscillator. Difference between System Reset and Wakeup: * * System Reset - The digital circuit is reset. Program execution starts at address 0000H to perform reset initialization routines (including operation mode selection) and will jump to the FLASH at address 4000H to execute the application program. Wakeup - Only the program counter of the microcontroller and its peripheral units are reset. Program Execution starts at address 0000H to perform wakeup initialization routines and jumps to the FLASH at 4000H to execute the application program. Wakeup Event Handling Whenever a wakeup occurs, the SP37T leaves POWER DOWN state and enters RUN state to execute the application program. This transition can be initiated from various sources. The wakeup source can be identified by reading SFR WUF. The wakeup sources can be enabled or disabled by setting the appropriate bits in SFR WUM. The bits WDOG, TMAX and ITIM are always enabled. Setting these bits have no effect in NORMAL/DEBUG modes. The bits in SFR WUF are cleared upon read (read-clear). If subsequent wakeup source activity is detected, the SFR DSR.WUPEND bit and the corresponding SFR WUF bit(s) will be set. Note that wakeup sources that have a mask bit set (disabled) in SFR WUM will always be cleared (inactive) in SFR WUF. The SFR WUF is not automatically cleared when entering the POWER DOWN state. For this reason it is a good practice to have the application software read WUF and handle any pending wakeup events before entering POWER DOWN. Otherwise, any flags in SFR WUF will remain marked as pending upon the next device wakeup. Note that only new wakeup source activity, occurring after entering POWER DOWN, will cause a device wakeup to occur. Watchdog Wakeup A watchdog wakeup occurs after the watchdog timer has elapsed. See "Watchdog Timer" on Page 24 for details about the watchdog timer. TMAX Wakeup A TMAX wakeup occurs only if the device was in THERMAL SHUTDOWN state and the temperature falls below the threshold release temperature TREL. See "TMAX Detector" on Page 24 for details about the TMAX wakeup. LF Receiver Wakeup Event The LF Receiver wakeup can be enabled by setting one of following bits: * * * SFR bit WUM.5 [LFCD] or SFR bit WUM.4 [LFSY] or SFR bit WUM.3[LFPM1] and/or SFR bitWUM.2 [LFPM0] The wakeup source can be read in the SFR WUF. The LF Receiver has to be configured appropriate for the particular wakeup modes. See "LF Receiver" on Page 74 for details. Datasheet 46 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers External PP2 Wakeup Event I/O Port PP2 can be configured to wakeup the SP37T from POWER DOWN state by an external source. PP2 has to be configured according to "External Wakeup on PP2" on Page 118 for this feature. Interval Timer Wakeup Event When the Interval Timer elapses, a wakeup event is generated and POWER DOWN state is left. The wakeup can be identified by the application software reading SFR bit WUF.0[ITIM]. The Interval Timer is reloaded automatically with the actual value from SFR ITPR and immediately restarted. The Interval Timer is also counting during RUN state which leads to accurate wakeup intervals even if RUN state periods vary in execution time. Datasheet 47 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Wakeup Flag Register WUF Wakeup Flag Register Offset Wakeup Value C0H XXH Reset Value 00H 7 6 5 4 3 2 1 0 WDOG_FL AG TMAX_FL AG LFCD_FL AG LFSY_FL AG LFPM1_F LAG LFPM0_F LAG EXT_FLA G ITIM_FL AG rc rc rc rc rc rc rc rc Field Type Description WDOG_FLAG 7 rc Watchdog Wakeup Reset: 0H TMAX_FLAG 6 rc Thermal Shutdown (TMAX) Release Wakeup Reset: 0H LFCD_FLAG 5 rc LF Carrier Wakeup Reset: 0H LFSY_FLAG 4 rc LF Sync Match Wakeup Reset: 0H LFPM1_FLAG 3 rc LF Pattern 1 Match Wakeup Reset: 0H LFPM0_FLAG 2 rc LF Pattern 0 Match Wakeup Reset: 0H EXT_FLAG 1 rc I/O-Port PP2 External Wakeup Reset: 0H ITIM_FLAG 0 rc Interval Timer Wakeup Reset: 0H Datasheet Bits 48 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Wakeup Mask Register WUM Offset Wakeup Value C1H UUH Wakeup Mask Register Reset Value FFH 7 6 5 4 3 2 1 0 WDOG_MA SK TMAX_MA SK LFCD_MA SK LFSY_MA SK LFPM1_M ASK LFPM0_M ASK EXT_MAS K ITIM_MA SK wr wr wr wr wr wr wr wr Field Type Description WDOG_MASK 7 wr Disable Watchdog Reset Watchdog is always enabled, setting this bit has no effect in NORMAL/DEBUG modes. Reset: 1H TMAX_MASK 6 wr Disable Thermal Shutdown (TMAX) Release Wakeup TMAX Wakeup is handled by ROM Library Functions, setting this bit has no effect in NORMAL/DEBUG modes. Reset: 1H LFCD_MASK 5 wr Disable LF Carrier Wakeup 0B Enable LF Carrier wakeup 1B Disable LF Carrier wakeup Reset: 1H LFSY_MASK 4 wr Disable LF Sync Match Wakeup 0B Enable LF Sync Match wakeup 1B Disable LF Sync Match wakeup Reset: 1H LFPM1_MASK 3 wr Disable LF Pattern 1 Match Wakeup 0B Enable LF Pattern 1 Match wakeup 1B Disable LF Pattern 1 Match wakeup Reset: 1H LFPM0_MASK 2 wr Disable LF Pattern 0 Match Wakeup Enable LF Pattern 0 Match wakeup 0B 1B Disable LF Pattern 0 Match wakeup Reset: 1H EXT_MASK 1 wr Disable I/O-Port PP2 External Wakeup 0B Enable I/O-Port PP2 wakeup 1B Disable I/O-Port PP2 wakeup Reset: 1H ITIM_MASK 0 wr Disable Interval Timer Wakeup Interval Timer Wakeup is always enabled in NORMAL mode, setting this bit has no effect in NORMAL/DEBUG modes. Reset: 1H Datasheet Bits 49 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Resume Event Flag Register Note: SFR DIVIC must be 00b in order to reliably read SFR REF REF Resume Event Flag Register 7 6 Offset Wakeup Value D1H 00H Reset Value 00H 5 4 3 2 1 0 UNUSED READC RELFO RERFF RERFU UNUSED RET0 - rc rc rc rc - rc Field Bits Type Description UNUSED 7:6 - UNUSED Reset: 0H READC 5 rc A/D Conversion complete This bit is for use by ROM Library functions. Reset: 0H RELFO 4 rc LF Receive Buffer full Data can be read by the application software. Reset: 0H RERFF 3 rc RF Transmission complete All bits in the transmitter shift register have been transmitted. Reset: 0H RERFU 2 rc RF Transmit Buffer empty Next byte to be transmitted may be loaded to SFR RFD. Reset: 0H UNUSED 1 - UNUSED Reset: 0H RET0 0 rc Timer 0 Underflow Reset: 0H Datasheet 50 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.5 Interval Timer Interval Timer 2kHz RC LP Oscillator (uncalibrated) Figure 9 ITPL/ITPH ITPR Precounter Postcounter Interval Wakeup Interval Timer Block Diagram The Interval Timer is responsible to wakeup the SP37T from the POWER DOWN state after a predefined time interval. It is clocked by the 2kHz RC LP Oscillator and incorporates two dividers: * * Precounter: can be calibrated and represents the timebase; please refer to "Interval Timer Precounter / Calibration" on Page 53 Postcounter: configures the Interval Timer duration in multiples of the timebase. The Precounter (ITPH/L) is a 16 bit register with 12 significant bits. The precounter values 0001H up to 0FFFH corresponds to 1dec up to 4095dec. The maximum precounter value 0000H corresponds to 4096D. To increase the timer accuracy, it is recommended to use a ROM library function which calibrates the precounter dependent on the actual frequency of the 2kHz RC LP Oscillator. See [1] for details. The Postcounter (ITPR) is an 8 bit register. 01H up to FFH corresponds to a multiplication of the timebase with 1dec up to 255dec. The maximum postcounter value 00H corresponds to 256D. The Interval Timer duration is determined by the SFR ITPR. The desired value can be calculated by using the following equation Intervaltimerperiod[ s ] = timebase[ s ] * postcounter[ ITPR] timebase[ s ] = (1) precounter[ITPL / H ] f l 2 kHzRCLPOscillator s (2) Writing to the Postcounter (ITPR) establishes the counter reload value. Reading from the Postcounter (ITPR) returns the counter value, not the counter reload value. The Interval Timer is asynchronous from the CPU, so care must be taken when reading its contents. To safely read the ITPR, the SFR CFG1 ITRd bit should be set to one prior to reading ITPR. After the ITPR contents are read, the SFR CFG1 ITRd bit should be checked: If the ITPR read result is valid, the SFR CFG ITRd bit will still be set. If the SFR CFG1 ITRd bit is cleared during ITPR read, the ITPR read result is not valid. Datasheet 51 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Interval Timer Period Register ITPR Interval Timer Period Register Offset Wakeup Value BCH UUH 7 Reset Value 01H 0 ITPR wr Field Bits Type Description ITPR 7:0 wr Interval Timer Period Register To safely read ITPR, SFR CFG1.2 should be set to 1 prior to reading ITPR. If the ITPR read was successful, SFR CFG1.2 will remain set to 1. Reset: 01H Datasheet 52 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.6 Interval Timer Precounter / Calibration Calibration is done by counting clock cycles from the crystal oscillator during one 2kHz RC LP Oscillator period. In the case that the crystal oscillator is not available (not running), the 12 MHz RC HF Oscillator is used instead. The calibration is performed automatically by a ROM library function (see [1]). Notes 1. SFR ITPL and SFR ITPH can be modified manually for using other (uncalibrated) precounter values than the ones determined by the ROM Library function. 2. After writing SFR ITPR, SFR ITPL or SFR ITPH some time is needed to activate the new setting. SFR bit CFG1.1[ITInit] is cleared automatically when the new setting takes effect. 3. Reading SFR ITPL or SFR ITPH returns the low byte or the high byte of the Precounter reload value, respectively. Interval Timer Precounter Register (High Byte) ITPH Interval Timer Precounter Register (High Byte) 7 Offset Wakeup Value BBH 0000UUUUB 4 03H 3 0 UNUSED ITPH - wr Field Bits Type Description UNUSED 7:4 - UNUSED Reset: 0H ITPH 3:0 wr Interval Timer Precounter Register (High Byte) Reset: 3H Datasheet 53 Reset Value Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Interval Timer Precounter Register (Low Byte) ITPL Interval Timer Precounter Register (Low Byte) Offset Wakeup Value BAH UUH Reset Value E8H 7 0 ITPL wr Field Bits Type Description ITPL 7:0 wr Interval Timer Precounter Register (Low Byte); Reset: E8H Datasheet 54 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.7 Clock Controller The Clock Controller for internal clock management is part of the system controller. In SP37T the microcontroller (CPU) clock source is always based on the 12 MHz RC HF Oscillator (system clock). to provide minimum current consumption. The internal clock divider (SFR DIVIC) may be used to slow down the speed of the microcontroller and to reduce the current consumption further. The crystal is used as clock source for the RF Transmitter and for the Timer Unit (e.g. for oscillator calibrations). The start up of the crystal (e.g. for RF Transmission) can be performed automatically by a ROM library function (see [1]). Figure 10 shows the clocking scheme for the different SP37T blocks. 12 MHz RC HF Oscillator (Systemclock) :64 / :16 / :4 / :1 8051 CPU and Peripherals DIVIC TMOD Crystal Oscillator :4 19,6875 MHz 18,0800 MHz :8 RF Transmitter Timer Unit *2 2 kHz RC LP Oscillator Interval Timer PP2 LF On/Off Timer RC LF Oscillator Figure 10 LF Baseband Receiver SP37T Clock Concept 2kHz RC LP Oscillator (Low Power) The 2 kHz RC LP Oscillator stays active throughout all operating states except THERMAL SHUTDOWN state. The typical oscillator frequency is 2kHz. Characteristics can be found in Table 44 "2 kHz RC LP Oscillator" on Page 161. 12MHz RC HF Oscillator (High Frequency) The 12 MHz RC HF Oscillator runs at typical 12 MHz and is used as system clock for the SP37T in RUN state. Characteristics can be found in Table 43 "12 MHz RC HF Oscillator" on Page 161. Datasheet 55 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Crystal Oscillator The crystal oscillator is a Negative Impedance Converter (NIC) oscillator with a crystal operating in series resonance. Characteristics can be found in Table 42 "Crystal Oscillator, fCrystal = 18 MHz...20 MHz" on Page 160. RC LF Oscillator The RC LF Oscillator is part of the LF Receiver and only used as clock for the LF Receiver Baseband. Datasheet 56 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Internal Clock Divider DIVIC Internal Clock Divider Offset Wakeup Value B9H 000000UUB 7 2 00H 1 0 UNUSED DIVIC - wr Field Bits Type Description UNUSED 7:2 - UNUSED Reset: 00H DIVIC 1:0 wr SystemClock Divider 00B Duvide by 1 01B Divide by 4 10B Divide by 16 11B Divide by 64 Reset: 0H Datasheet Reset Value 57 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.8 Crystal Pulling To achieve FSK transmission, the reference frequency of the NIC crystal oscillator is detuned by switching between two different capacitances (one for the low and one for the high FSK frequency). These capacitance values are achieved with embedded switchable capacitors and/or with external capacitors, mounted in series to the crystal. For ASK transmission, the capacitance can be used to tune the center frequency. The SP37T offers the possibility to use either internal capacitors and/or external capacitors for pulling the crystal frequency. This is determined by the SFR bit RFTX.FSKSWITCH. Note: Cparasitic used in Figure 11, Figure 13 and Figure 14 is the overall parasitic capacitance between the pins XGND an XCAP (switch, bond wires, pad parasitics,...). The formulas for calculating the resulting capacitance for ASK/FSK (CASK, CFSKHIGH, CFSKLOW) only take into account the dominating factor of CSwitch, OFF.. Specification for the parasitic capacitance can be found in Table 42 "Crystal Oscillator, fCrystal = 18 MHz...20 MHz" on Page 160. The following pages show the configurations for ASK/FSK using internal or external capacitors. Datasheet 58 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers FSK with internal capacitors * * In the configuration shown in Figure 11 the internal capacitors are used. The desired capacitor values must be selected by using SFR XTAL1 and SFR XTAL0. The exact values used should be verified by module level testing. During FSK transmission the output of the Manchester/Biphase Encoder determines which capacitor value is used. The capacitor value in SFR XTAL0 is applied when the output of the Manchester/Bi-phase Encoder is 0; SFR XTAL1 is applied when the output is 1. Note: SFR bit RFTX.FSKSWITCH must be set to 0 for this configuration C FSKHIGH C XTAL1 + C Switch ,OFF (3) C FSKLOW C XTAL 0 + C Switch ,OFF Crystal Oscillator XTAL Cparasitic (4) 18 - 20 MHz (`0' for Internal Cap Bank ) Cswitch,OFF XGND RFTX.FSKSWITCH Internal Cap Array (8 capacitors) XTALCAP FSK Switch SFR XTAL 1 SFR XTAL0 Timer1 Bitrate Strobe RFENC.RFDLEN RFENC.TXDD RFS.RFSE Shift Reg RFS.RFBF Buffer SFR RFD RFENC.RFMODE Encoder Output Raw Data Bit Encoder (PP2 when CFG 1. RFTXPEN set ) Mod Shift Reg Empty RF Manchester/Bi-Phase Encoder (simplified view ) RFTX.ASKFSK PA Control Logic RF PA Enable (`1' for ASK ) RFC.ENPA CFG1.RFTXPEN Figure 11 Datasheet FSK using the internal capacitors 59 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers ASK with internal capacitor * * In the configuration shown in Figure 12 the internal capacitor array is used. The desired capacitor value must be selected by using SFR XTAL1 to establish the RF carrier frequency. The exact value used should be verified by module level testing. During ASK transmission the output of the Manchester/Biphase Encoder controls the RF Power Amplifier. The PA is enabled when the output of the Manchester/Bi-phase Encoder is 1; disabled when the output is 0. C ASK C XTAL1 + C Switch ,OFF Crystal Oscillator XTAL Cparasitic (5) 18 - 20 MHz (normally 0 in ASK mode ) Cswitch,OFF XGND RFTX.FSKSWITCH Internal Cap Array (8 capacitors) XTALCAP FSK Switch SFR XTAL 1 SFR XTAL 0 Timer1 Bitrate Strobe RFENC.RFDLEN RFENC.TXDD RFS.RFSE Shift Reg RFS.RFBF Buffer SFR RFD RFENC.RFMODE Encoder Output Raw Data Bit Encoder (PP2 when CFG 1. RFTXPEN set ) Mod Shift Reg Empty RF Manchester/Bi-Phase Encoder (simplified view ) RFC.ENPA PA Control Logic RF PA Enable RFTX.ASKFSK (`1' for ASK ) CFG1.RFTXPEN Figure 12 Datasheet ASK using the internal capacitor 60 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers FSK with external capacitors * * In the configuration shown in Figure 13 the FSK switch is used in conjunction with external capacitors. Guidelines for determining the external capacitor values are Equation (6) and Equation (7). The exact values used should be verified by module level testing. During FSK transmission the output of the Manchester/Biphase Encoder opens and closes the FSK switch. The FSK switch is closed when the output of the Manchester/Bi-phase Encoder is 0; opened when the output is 1. Note: SFR bit RFTX.FSKSWITCH must be set to 1 for this configuration C FSKHIGH C1 (C2 + CSwitch,OFF ) C1 + (C2 + CSwitch,OFF ) 6 (6) d C FSKLOW C1 (7) Crystal Oscillator Cparasitic XTAL 18 - 20 MHz C1 XGND (`1' for External Caps ) Cswitch,OFF C2 RFTX.FSKSWITCH Internal Cap Array (8 capacitors) XTALCAP FSK Switch SFR XTAL1 SFR XTAL 0 Timer1 Bitrate Strobe Note: XTAL0 should be set to ` 0x00' when using external caps ! RFENC.RFDLEN RFENC.TXDD RFS.RFSE Shift Reg RFS.RFBF Buffer SFR RFD RFENC.RFMODE Encoder Output Raw Data Bit Encoder (PP2 when CFG 1. RFTXPEN set ) Mod Shift Reg Empty RF Manchester/Bi-Phase Encoder (simplified view ) RFC.ENPA PA Control Logic RF PA Enable RFTX.ASKFSK (`0' for FSK ) CFG1.RFTXPEN Figure 13 Datasheet FSK using only external capacitors 61 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers ASK with external capacitor * * In the configuration shown in Figure 14 an external capacitor is used to establish the RF carrier frequency. A guideline for determining the external capacitor value is Equation (8). The exact value used should be verified by module level testing. During ASK transmission the output of the Manchester/Biphase Encoder controls the RF Power Amplifier. The PA is enabled when the output of the Manchester/Bi-phase Encoder is 1; disabled when the output is 0. Note: SFR XTAL1 is typically set to 00H for this configuration. C ASK C XTAL1 + CSwitch,OFF + C1 Crystal Oscillator XTAL Cparasitic (8) 18 - 20 MHz XGND (normally 0 in ASK mode ) Cswit ch,OFF C1 RFTX.FSKSWITCH Internal Cap Array (8 capacitors) XTALCAP FSK Switch SFR XTAL1 SFR XTAL0 Timer1 Bitrate Strobe RFENC.RFDLEN RFENC.TXDD RFS.RFSE Shift Reg RFS.RFBF Buffer SFR RFD RFENC.RFMODE Encoder Output Raw Data Bit Encoder (PP2 when CFG 1. RFTXPEN set ) Mod Shift Reg Empty RF Manchester/Bi-Phase Encoder (simplified view ) RFC.ENPA PA Control Logic RF PA Enable RFTX.ASKFSK (`1' for ASK ) CFG1.RFTXPEN Figure 14 Datasheet ASK using only an external capacitor 62 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers XTAL Frequency Register (FSKLOW) XTAL0 XTAL Frequency Register (FSKLOW) Offset Wakeup Value C4H UUH Reset Value FFH 7 0 FSKLOW w Field Bits Type Description FSKLOW 7:0 w FSK Low Frequency Pulling/Trimming capacitor select for lower FSK modulation frequency. The capacitor array is binary weighted from 00000001B: 156fF 00000010B: 312fF ... 11111111B: 40pF Reset: FFH XTAL Frequency Register (FSKHIGH/ASK) XTAL1 XTAL Frequency Register (FSKHIGH/ASK) Offset Wakeup Value C3H UUH 7 Reset Value FFH 0 FSKHASK w Field Bits Type Description FSKHASK 7:0 w FSK High Frequency / ASK Center Frequency Pulling/Trimming capacitor select for upper FSK modulation frequency and ASK center frequency. The capacitor array is binary weighted from 00000001B: 156fF 00000010B: 312fF ... 11111111B: 40pF Reset: FFH Datasheet 63 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.9 RF 315/434 MHz FSK/ASK Transmitter RFTX.PAOP1-0 RFTX RFC.EnPA L O G I C Manchester/ BiPhase Encoder RFENC RFD RFS ASKTransmit data PA 315 MHz 434 MHz FSKTransmit data RFC.ENFSYN RFTX.ISMB1-0 VCO 1736MHz 1890MHz Divider /2//3 Divider /2 Divider /4 Divider /3//2 Divider /2 Divider Charge Pump LoopFilter FSKModulator Crystal frequency PLL Lock Detector (used by ROM Library function ) PLL Figure 15 Phase Detector RF Transmitter Block Diagram The RF-Transmitter can be configured for the 315/434 MHz ISM-Band frequencies by setting SFR bits RFTX.32[ISMB1-0] and choosing the proper crystal according to Table 9 below. Table 9 Crystal Selection Center Frequency [MHz] PLL Divider Factor Required XTAL Frequency [MHz] 433.92 24 18.0800 315.00 16 19.6875 Datasheet 64 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Voltage Controlled Oscillator (VCO) The VCO uses on-chip inductors and varactors for tuning. The tuning range VCO is split up into 16 frequency ranges. A ROM library function (see [1]) is available which selects the tuning curve automatically dependent on environmental conditions (Tambient, Vbat). Note: Re-calibration of the tuning curve is necessary when Vbat changes by more than 800mV or Tambient changes by more than 70C. Power Amplifier PA In a typical application, the highly efficient power amplifier is automatically turned on by the Manchester/BiPhase encoder as soon as data is written to the SFR RFD. After the last bit is transmitted and the shift register is empty the PA is turned off again. If, however, the automatic control of the PA is not desired, then manual control is possible when SFR bit RFC.0[ENPA] is set. The nominal output power levels are specified in Table 36 "RF Transmitter" on Page 153. The output power is determined by SFR bits RFTX.1-0[PAOP1-0] and the matching network (see also "Test Board" on Page 142 for details on the matching network). Note: For test purpose the PLL synthesizer and the power amplifier can be enabled separately by using the SFR RFC control register. The power amplifier should be switched on with a delay of at least 100s after enabling the frequency synthesizer. This delay is needed for the PLL to lock. PLL Monitoring In order to avoid unwanted out-of-band emissions in case the PLL goes out-of-lock, the SP37T includes a PLL Monitoring feature . This feature can be enabled via SFR bit RFC.7[ENPLLMON]. If PLL Monitoring is enabled and the PLL becomes unlocked, the RF Power Amplifier is automatically disabled and SFR bit RFS.7[PADIS] bit is set. The application program can verify that a transmission was successful by checking PADIS - if PADIS is clear, the PLL remained locked throughout the transmission. Note: The Manchester/BiPhase Encoder state machine continues executing transmission even though PA is off. Datasheet 65 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers RF-Transmitter Control Register RFC RF-Transmitter Control Register 7 Offset Wakeup Value C8H 00H 6 2 Reset Value 00H 1 0 ENPLLMO N UNUSED ENPLL ENPA wr - wr wr Field Bits Type Description ENPLLMON 7 wr Enables PLL Monitoring PLL Monitoring will automatically disable the PA during RF transmission if the PLL goes out of lock. 0B Disable 1B Enable Reset: 0H UNUSED 6:2 - UNUSED Reset: 00H ENPLL 1 wr Enable RF Frequency Synthesizer (PLL) The ROM Library Function VCO-Tuning should be used to enable the PLL. After RF transmission is complete this bit may be used to disable the PLL. 0B Disable 1B Enable Reset: 0H ENPA 0 wr Enable RF Power Amplifier (PA) This bit is normally cleared to allow the Manchester/Bi-Phase Encoder to control the RF PA during transmission. (see SFR CFG1 RFTXPEN for exceptional case) 0B PA controlled automatically by Manchester/Bi-Phase Encoder 1B PA controlled manually Reset: 0H Datasheet 66 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers RF-Transmitter Configuration Register RFTX RF-Transmitter Configuration Register Offset Wakeup Value AEH UUU0UUUUB 3 Reset Value 87H 7 6 5 4 2 1 0 FSKSWIT CH ITXD ASKFSK UNUSED ISMB PAOP wr wr wr - wr wr Field Bits Type Description FSKSWITCH 7 wr FSK modulation switch 0B Switch is always open (disabled) - to be used with internal pulling capacitors 1B Switch is controlled by RF Encoder when ASKFSK = 0B to be used with external capacitors The FSK Switch is open when the RF Encoder output is 1. The FSK Switch is closed when the RF Encoder output is 0. Switch is closed when ASKFSK = 1B. Reset: 1H ITXD 6 wr Invert Transmit Data 0B Data not inverted 1B Data inverted Reset: 0H ASKFSK 5 wr ASK/FSK Modulation Select FSK modulation (Frequency Shift Keying) 0B 1B ASK modulation (Amplitude Shift Keying) Reset: 0H UNUSED 4 - UNUSED Reset: 0H ISMB 3:2 wr RF Frequency Band Select 00B 300MHz - 320MHz 01B 433MHz - 450MHz 10B Reserved 11B Reserved Reset: 1H PAOP 1:0 wr RF Power Amplifier Output Stage Select 00B 1 PA output stage enabled 01B 2 PA output stages enabled 10B 2 PA output stages enabled 11B 3 PA output stages enabled Reset: 3H Datasheet 67 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.10 Manchester/BiPhase Encoder The SP37T offers a Hardware Manchester/BiPhase encoder which uses Timer 1 (see "Timer Unit" on Page 105) to configure the bitrate for the encoder. The application software needs to configure the timer and can subsequently send the raw uncoded data to the Manchester/BiPhase Encoder which takes care about encoding and the RF transmission itself (controlling the Power Amplifier). Using the Hardware encoder allows that the CPU to be operated at a reduced clock rate thereby reducing the peak current consumption during RF transmission. The reduced CPU clock rate also reduces the possibility of clock noise artifacts in the RF signal (see "Internal Clock Divider" on Page 57). Furthermore, the encoder creates a resume event after sending each byte so that the application can enter IDLE state while sending each databyte (see "Resume Event Flag Register" on Page 50). It is recommended to use both reduced clock rate and IDLE mode for best performance during RF transmission. Timer1 Bitrate Strobe RFENC.RFDLEN RFENC.TXDD RFS.RFBF RFS.RFSE Shift Reg Buffer SFR RFD RFENC.RFMODE Raw Data Bit Encoder Encoder Output Mod PA Control Logic Shift Reg Empty RF Manchester/Bi-Phase Encoder (simplified view ) RF PA Enable RFC.ENPA RFTX.ASKFSK Figure 16 Manchester/BiPhase Encoder The encoder mode, transmit buffer length, and RF carrier idle state are all controlled by SFR RFENC. The RFENC settings for encoder mode and transmit buffer length take effect upon transfer of the data from SFR RFD to the internal shift register, not at the time of writing to SFR RFENC. The RF Power Amplifier (RF PA) is controlled by the PA Control Logic. In most cases the control logic enables and disables the RF PA according to the table in Figure 17. Cases in which the behavior differs from this table include usage of SFR bit RFTXPEN and the PLL Monitoring features. By enabling the RF Encoder Data Output alternate port functionality of PP2 via the SFR bit RFTXPEN in CFG1, the SFR bit ENPA in SFR RFC must be set in order to allow the RF Encoder output to properly modulate the RF PA. It is recommended that the RF Encoder Data Output functionality of PP2 is used only during software development debugging or device testing. Another exception to the behavior in Figure 17 is when the PLL Monitoring feature is enabled. See "PLL Monitoring" on Page 65 for more details." Datasheet 68 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers RFC.ENPA RFS.RFSE RFTX.ASKFSK X X 0 1 1 Figure 17 0 0 1 1 1 0 1 X 0 1 Encoder RF PA Output Enable ON Mod Mod Mod OFF TXDD ON TXDD TXDD TXDD RF PA Control Logic By default the transmission takes place byte-aligned (SFR bits RFENC.7-5[RFDLEN2-0]= 111b. If less than 8 Bits should be transmitted, SFR bits RFENC.7-5[RFDLEN2-0] can be set to any value between 110b...000b to transmit only 7...1 MSBs of the transmit buffer SFR RFD. In this case the unused LSBs are disregarded. In addition to Manchester/BiPhase encoding, it is also possible to send data with a user-defined encoding scheme, e.g. for sending a preamble. This can be achieved by the chipmode (SFR bits RFENC.2-0[RFMOD2-0] = 101b). In chipmode the encoder sends each bit in SFR RFD without any encoding. The following figure shows the timing diagrams for the different encoding schemes: 1 0 1 0 0 1 1 0 Data Clock Manchester Encoder- Mode (Manchester/BiPhase) Inverted Manchester Differential Manchester Biphase-0 Biphase-1 1 0 10 0 1 1 0 SFR RFD Clock Chip- Mode Chip time Start of data transmission Transmission finished in Encoder-Mode Transmission finished in Chip-Mode Figure 18 Datasheet Diagram of the Different RF Encoder Modes 69 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers As shown in Figure 16 "Manchester/BiPhase Encoder" on Page 68 Timer 1 (see "Timer Unit" on Page 105) is used as bitrate generator and has to be configured according to the desired bitrate. The required timer clock source is the crystal oscillator. The required timer value can be calculated with the following formula: f Hz [ ] timerclock source -1 timervalue = 1 8 Baudrate s (9) This timer value has to be written to the timer registers (see "Timer 1 Register High Byte" on Page 115 and "Timer 1 Register Low Byte" on Page 115). RF Encoder Status SFR RFS represents the status of the RF Encoder. After writing a databyte to SFR RFD, the SFR bit RFS.0[RFBF] is set by the encoder hardware. It is cleared automatically when the databyte in SFR RFD is transferred to the shift register and the buffer is ready to be filled with the next databyte. Since the encoder creates a resume event (see "Resume Event Flag Register" on Page 50) when the SFR bit RFS.0[RFBF] is cleared, the application can enter IDLE state between sending two consecutive databytes. Note: It is necessary to provide the RF encoder with a continuous data stream to prevent the RF receiver from losing synchronization. SFR bit RFS.1[RFSE] is cleared as long as the shift register still contains data that has to be transmitted and is set if there is no more data available in the shift register (this indicates the end of a data transmission) and automatically turns off the RF Power Amplifier. If PLL Monitoring is enabled and the PLL becomes unlocked, the RF Power Amplifier is automatically disabled and SFR bit RFS.7[PADIS] bit is set. The application program can verify that a transmission was successful by checking PADIS - if PADIS is clear, the PLL remained locked throughout the transmission. Note: The Manchester/BiPhase Encoder state machine continues executing transmission even though PA is off. Datasheet 70 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers RF-Encoder Tx Control Register RFENC RF-Encoder Tx Control Register 7 5 Offset Wakeup Value CAH E0H Reset Value E0H 4 3 2 0 RFDLEN UNUSED TXDD RFMODE wr - wr wr Field Bits Type Description RFDLEN 7:5 wr RF Data Length Number of bits to be transmitted from SFR RFD. 000B Transmit RFD MSB only 001B Transmit RFD two MSBs 010B 011B 100B 101B 110B 111B Transmit all bits of RFD Reset: 7H UNUSED 4 - UNUSED Reset: 0H TXDD 3 wr RF Encoder Idle state Determines the state of the RF Transmitter when the RF Shift Register is empty and the SFR bit RFC.0[ENPA] is set. 0B FSK Carrier low / ASK Carrier off 1B FSK Carrier high / ASK Carrier on Reset: 0H RFMODE 2:0 wr RF Encoder Mode Refer to Diagram of different RF Encoder modes figure. 000B Manchester 001B Inverted Manchester 010B Differential Manchester 011B Biphase 0 100B Biphase 1 101B Chip Mode (NRZ) 110B Reserved 111B Reserved Reset: 0H Datasheet 71 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers RF-Encoder Tx Data Register RFD RF-Encoder Tx Data Register Offset Wakeup Value C9H 00H 7 Reset Value 00H 0 RFD w Field Bits Type Description RFD 7:0 w RF Data Transmit Byte Reset: 00H Datasheet 72 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers RF-Encoder Tx Status Register RFS RF-Encoder Tx Status Register 7 Offset Wakeup Value CBH 02H 6 2 Reset Value 02H 1 0 PADIS UNUSED RFSE RFBF wr - r r Field Bits Type Description PADIS 7 wr PLL Monitoring PA Status If the PLL Monitoring is enabled (RFC.ENPLLMON is set) and during RF transmission the PLL goes out of lock, this bit is set and the PA is automatically disabled. The PA remains disabled until this bit is cleared by CPU. This bit can be cleared only when the content of the RF shift register is cleared. Writing a logical '1' to this bit has no effect. 0B PA is enabled 1B PLL Monitoring has disabled the PA Reset: 0H UNUSED 6:2 - UNUSED Reset: 00H RFSE 1 r RF Encoder Shift Register Empty Flag Automatically set by hardware if no further bits are available in RF Shift Register. When RF Shift Register becomes empty, the state of the RF Transmitter is determined by SFR RFENC.3 [TXDD]. 0B Data transmission in progress 1B Data transmission complete Reset: 1H RFBF 0 r RF Encoder Buffer Full Automatically set by hardware on write to SFR RFD and cleared when data in SFR RFD is transferred to RF Shift Register. 0B Buffer empty, SFR RFD ready for new data Buffer full, do not write to SFR RFD 1B Reset: 0H Datasheet 73 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers E NOOTIM LFONIND LF Receiver E NLFRX 3.11 LF Receiver LFBBM .1-0 LF RX On/Off Timer LF RX Analog Front End AFE xLF Attenuator AGC LF Voltage Divider LF-Antenna Low Noise Amplifier Carrier Detector RSSI Generator Data Filter LF RX Baseband Processor LF Carrier Detector Filter Data Slicer LF Data Recovery Bit Rate Generator Figure 19 Carrier Detect Wakeup Sync/Pattern Match Wakeup RC LF Oscillator LF Receiver Block Diagram The LF Receiver is used for wireless data transmission towards the SP37T and for waking up the device from POWER DOWN state. It can generate a wakeup directly by the carrier detector if the carrier amplitude is above a predefined threshold, or it can decode the received data and wake up the microcontroller only if a sync match pattern or sync match pattern/wakeup pattern is detected in the data stream. Data recovery using a synchronizer and a decoder is available for Manchester coded data. The synchronizer can also handle Manchester code violations. Other coding scheme can be handled by the microcontroller at the chip level, thus no limitations on data coding schemes apply. An LF On/Off Timer is implemented to generate periodical On/Off switching (polling) of the LF Receiver in POWER DOWN state to minimize the current consumption. Datasheet 74 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Receiver Control Register LFRXC LF Receiver Control Register 7 6 CDRECAL DISAGC wc wr 5 Offset Wakeup Value 98H 0UUUUU00B 4 Reset Value 00H 3 2 1 0 LFBBM ENOOTIM ENLFRX SYNCIND LFONIND wr wr wr r r Field Bits Type Description CDRECAL 7 wc Restart Carrier Detect Recalibration Calibration is automatically performed each time the LFRx is powered on. This bit forces manual Recalibration when set. This bit is automatically cleared after Recalibration has started 0B Cleared automatically after Recalibration has started 1B Start Carrier Detect Recalibration Reset: 0H DISAGC 6 wr Disable Automatic Gain Control (AGC) 0B Enable 1B Disable Reset: 0H LFBBM 5:4 wr LF Baseband Processor Mode It is recommended to first disable the LF Receiver (ENLFRX = 0) prior to changing the LF Baseband Processor Mode. 00B Disabled, only Carrier Detect function remains Note: Carrier Detector Filter may be enabled separately 01B Mode 1: LF baseband is enabled while LF Receiver is on 10B Mode 2: LF baseband is enabled only after carrier detection 11B Not used Reset: 0H ENOOTIM 3 wr Enable On/Off Timer This bit controls the LF On/Off Timer. This bit has to be stable for at least 1 LP RC clock (2 kHz) period in order to take effect. When the LF On/Off Timer is disabled the LF Receiver is controlled by ENLFRX. This bit is automatically cleared if sync or pattern match wakeup occurs. 0B Disable On/Off Timer 1B Enable On/Off Timer Reset: 0H ENLFRX Datasheet 2 wr Enable LF Receiver This bit controls power to LF Receiver and has priority over ENOOTIM. 0B LF Receiver disabled 1B LF Receiver state is determined by On/Off Timer Reset: 0H 75 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Field Bits Type Description SYNCIND 1 r Synchronization Indicator This bit is set upon Sync Match and remains set as long as valid Manchester data is detected. When invalid Manchester bit is detected this bit is cleared and SFR bit LFRXS.DECERR is set.(e.g. Figure 29) 0B No Synchronization 1B Synchronization achieved Reset: 0H LFONIND 0 r LF ON/OFF Indicator Indicates if the LF Analog Frontend is turned on or off. This bit may be used to observe the LF On/Off Timer period and duty cycle. 0B LF Analog Frontend power is off 1B LF Analog Frontend power is on Reset: 0H Datasheet 76 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Receiver Analog Front End LFENFCTC LFENCDCAL LF RX Analog FrontEnd (AFE) DYNTR.1-0 3.12 Protection Diodes LF HP-Filter Input Caps Low Noise Limiter DF[3] Amplifier Low Noise AELFGAIN Amplifier Threshold ATTN Threshold TRH_ATTN CDETT Voltage Voltage Divider Divider LFRXS. CDRAW AGC Peak Detector ATR.1-0 xLF RSSI Generator RSSI Generator RSSI Datafilter LF_DF TRH_Data Data Comp LFRXS. LFRAW Data Threshold Generator Protection Diodes AGC (ATTN) Antenna damping Figure 20 Carrier Comp AGCTCA.2-0 SELIN.1-0 ACT CDRECAL CDETT.3-0 AGCTCD.1-0 Carrier Detector ATTN DISAGC LF Receiver AFE Block Diagram The LF Receiver Analog Frontend has two input pins LF and xLF. An antenna coil in parallel resonance to a capacitor and resistor are externally connected to them in the application. The LF input pins are protected against overvoltage with antiparallel ESD-Diodes. The "Differential Input Capacitance" on Page 155 needs to be considered for the calculation of the parallel resonance frequency of the antenna. A Voltage Divider with three divider factors is available to attenuate the LF input signal. The attenuation is determined by the SFR bits LFRX0.1-0[SELIN1-0]. The LF input signal is amplified with a Low Noise Limiter Amplifier and the signal strength is indicated by the RSSI Generator. The internal RSSI signal is used as input for the Carrier detector and the ASK demodulator. The Carrier Detector has an adjustable threshold which is determined by SFR bits LFRX0.7-4[CDETT3-0]. An LF input signal above the Carrier Detector threshold level may trigger a device wakeup from POWER DOWN state. The Carrier Detector Raw (CDRAW) signal is used as input for the LF Baseband. The ASK demodulator consists of a datafilter together with a data threshold generator and the dataslicer. The demodulated output signal (LFRAW) is used as input for the LF Baseband. To cover a high dynamic range of the LF input signal an input attenuator with an Automatic Gain Control (AGC) is implemented. In the event that AGC is not desired, it can be disabled by setting SFR bit LFRXC.6[DISAGC]. Datasheet 77 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Receiver Configuration Register 0 LFRX0 LF Receiver Configuration Register 0 7 Offset Wakeup Value B7H UUH 4 3 2 38H 1 0 CDETT ATR SELIN wr wr wr Field Bits Type Description CDETT 7:4 wr Carrier Detector Threshold Level 0000B: Lowest threshold ... 1111B: Highest threshold Reset: 3H ATR 3:2 wr AGC Threshold These bits must be set to 11B. Reset: 2H SELIN 1:0 wr LF-Receiver Input Select 00B Antenna voltage divider factor 1 01B Antenna voltage divider factor 6,8 10B Antenna voltage divider factor 22 11B Do not use Reset: 0H Datasheet Reset Value 78 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.13 LF Attenuator (AGC) An input attenuator is provided to limit strong signals and interferers across the differential input. An automatic gain control block (fast attack, slow decay) is implemented to cover a high dynamic range of the LF input signal. The AGC threshold is determined by the SFR bits LFRX0.3-2[ATR1-0] and the carrier detector settings in SFR bits LFRX0.7-4[CDETT3-0]. The attenuator attack time is controlled via the SFR bits LFRX2.2-0[AGCTCA20]. The decay slew rate can be adjusted by SFR bits LFRX1.7-6[AGCTCD1-0]. Please refer to the register description for the proper setting of the AGC SFR bits. Incoming LF Signal AGC Attenuation AGC is maintained while signal is present or briefly OOK modulated (LF Input Conductance ) Initial AGC Attack Figure 21 Final AGC Decay AGC Timing diagram LF Receiver Configuration Register 1 LFRX1 LF Receiver Configuration Register 1 7 6 5 Offset Wakeup Value B6H UUH 4 AGCTCD ACT wr wr 00H 3 0 Res Field Bits Type Description AGCTCD 7:6 wr AGC Decay Time Constant Recommended setting 00B Reset: 0H ACT 5:4 wr Autocalibration Time Recommended setting for LF Telegram detection 10B Recommended setting for carrier detection 01B Reset: 0H Res 3:0 Datasheet Reset Value Reserved These bits must be set to 0000B. Reset: 0H 79 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Receiver Configuration Register 2 LFRX2 LF Receiver Configuration Register 2 Offset Wakeup Value AFH UUH 7 3 Reset Value 77H 2 Res 0 AGCTCA wr Field Bits Res 7:3 AGCTCA 2:0 Datasheet Type Description Reserved These bits must be set to 01110B. Reset: 0EH wr AGC Attack Time Constant Selection Recommended setting 111B Reset: 7H 80 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.14 LF Carrier Detector A level detection circuit is implemented to determine if the carrier amplitude is above a predetermined level. An LF input signal above the Carrier Detector threshold level may cause a device wakeup from POWER DOWN state. Three different Carrier Detector thresholds can be chosen by the application. In order to achieve LF sensitivity as specified in Table 40 "LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz" on Page 157 an appropriate Voltage Divider setting (SFR bits LFRX0.1-0[SELIN1-0]) is used in conjunction with the adjustable threshold level (SFR bits LFRX0.7-4[CDETT3-0]). During the testing and calibration process at the factory, individually calibrated CDETT values are programmed into each device. The CDETT calibration information for each device may vary, and so the application software must retrieve the calibrated CDETT values from the appropriate Flash address and apply it in conjunction with the predefined SELIN setting. The complete proper setting for SFR LFRX0 (CDETT[7:4], ATR[3:2], SELIN[1:0]) for the according Carrier Detector Threshold Level must be read by the application from the following Flash addresses and be written into SFR LFRX0 : * * * Carrier Detector Threshold 1: Flash address 5810H Carrier Detector Threshold 2: Flash address 580FH Carrier Detector Threshold 3: Flash address 580EH Carrier Detector Filtering To prevent the device from undesired carrier detect wakeups, an LF Carrier Detector Filter is implemented. SFR LFCDFLT is used to determine the Filtering Time. The LF Carrier Detector Filter is enabled/disabled according to LFCDFLT.CDFT[6-0]. The following figure shows the behavior of the LF Carrier Detector Filter. Incoming LF Signal Recovered Carrier FT Operating State Figure 22 FT FT POWERDOWN FT FT RUN LF Receiver Carrier Detector Filtering Three different Carrier Detector Filter settings are predefined for the application. In order to achieve LF filter times as specified in Table 40 "LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz" on Page 157 an appropriate Filter Time setting (SFR LFCDFLT.CDFT[6-0]) needs to be applied. During the testing and calibration process at the factory, individually calibrated CDFT values are programmed into each device. The CDFT calibration information for each device may vary, and so the application software must retrieve the calibrated CDFT values from the appropriate Flash address. The proper settings for SFR LFCDFLT are indicated in following list: * * * Carrier Detector Filter Time 1: [CDFT.6-0]: Flash address 580DH Carrier Detector Filter Time 2: [CDFT.6-0]: Flash address 580CH Carrier Detector Filter Time 3: [CDFT.6-0]: Flash address 580BH Figure 23 summarizes the LF Carrier Detector response versus input signal duration and amplitude. Datasheet 81 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Signal Amplitude Smax Always Detection Sdet Detection Possible Snodet No Detection LF Signal Duration tCDnodet Figure 23 tCDdet tCDCFH LF Carrier Detector Response Automatic Carrier Detector Threshold Calibration To achieve high sensitive thresholds the Carrier Detector has to be calibrated. This auto-calibration is enabled by setting SFR bit LFCDM0.3[LFENCDCAL] and is executed everytime the LF Receiver is turned on (either manually by SFR bit LFRXC.2[ENLFRX] or automatically by the LF On/Off Timer). An auto-calibration sequence can be manually initiated by setting SFR bit LFRXC.7[CDRECAL]. The auto-calibration duration is determined by SFR bits LFRX1.5-4[ATC1-0] and specified in Table 40 "LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz" on Page 157. For the proper setting of the auto-calibration please refer to the register description. If set, SFR Bit LFCDM0.2[LFENFCTC] "freezes" the threshold level after the calibration is finished. If this bit is not set, the threshold will follow the mean value of the input signal, resulting in a threshold signal that is dependent on the LF signal strength. Note: If SFR Bit LFCDM0[LFENFCTC] is set, a periodic recalibration is required especially at higher temperatures since the "frozen" threshold level might drift after the Carrier Detector Freeze Hold Time (TCDCFH). The recalibration is achieved automatically by the next Off/On transition of the LF On/Off Timer or by turning off and on the LF Receiver manually by SFR Bit LFRXC.2[ENLFRX]. The Carrier Detector Freeze Hold Time is specified in Table 40 "LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz" on Page 157. The following figure shows the timing behavior of the calibration. Datasheet 82 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Incoming LF Signal Carrier Detector Autocalibration tcalibration Recovered Carrier LFRXS.CDRAW LF Receiver Operating State Figure 24 Datasheet LF RX OFF LF RX ON Carrier Detector Threshold Calibration Timing 83 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Carrier Detect Filtering LFCDFLT LF Carrier Detect Filtering 7 Offset Wakeup Value B2H UUH Reset Value 00H 6 0 CDFM CDFT wr wr Field Bits Type Description CDFM 7 wr Carrier Detector Filtering Mode For typical applications it is recommended to set this bit to 0B. 0B Filter enabled 1B Filter enabled until Carrier detected Reset: 0H CDFT 6:0 wr Carrier Detector Filtering Time 01H-7FH Enables and adjusts filtering time in steps of 1 LF RC Oscillator period (typ. 11.1 us). 00H Disables filtering. Reset: 00H Datasheet 84 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Carrier Detector Mode Register 0 LFCDM0 LF Carrier Detector Mode Register 0 7 6 5 Res Wakeup Value B5H UUUUUUU0B 4 Reset Value 00H 3 2 1 0 DYNTR LFENCDC AL LFENFCT C Res UNUSED wr wr wr Field Bits Res 7:6 DYNTR 5:4 wr Carrier Detector Dynamic Threshold Recommended setting 01B Reset: 0H LFENCDCAL 3 wr Enable LF Carrier Detect Calibration 0B Disable Calibration 1B Calibration occurs each LF Rx power up Reset: 0H LFENFCTC 2 wr Enable LF Calibration Freeze 0B Disable Calibration Freeze 1B Hold Calibration threshold Reset: 0H Res 1 UNUSED 0 Datasheet Type Offset - Description Reserved These bits must be set to 00B. Reset: 0H Reserved This bit must be set to 0B. Reset: 0H - UNUSED Reset: 0H 85 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.15 LF Receiver On/Off Timer An On/Off Timer is implemented to reduce the LF Receiver current consumption in POWER DOWN state. It can be enabled by SFR bit LFRXC.3[ENOOTIM]. The LF Analog Frontend will be periodically turned On and Off corresponding to the timer settings. The current state of the LF Receiver (On or Off) can be evaluated using SFR bit LFRXC.0[LFONIND].The LF Receiver On/Off Timer incorporates a precounter (SFR LFOOTP) as timebase and a postcounter for independently setting the On time and the Off time (SFR LFOOT). LF Receiver On/Off Timer Calibration The calibration process is done automatically by a ROM Library function (see [1]) which calibrates the timebase to 50ms. If any other (uncalibrated) timebase is needed SFR LFOOTP can be configured manually according the following equation: timebase [s ] = LFOOTP + 1 f 2 kHzRCLPOsc ilator [Hz ] (10) The On time and the Off time can be configured individually using SFR LFOOT. They can be calculated using the two following two equations: ontime [s ] = ontime [s ] = offtime[s ] = Datasheet (ONTIM (ONTIM + 1) [Integer ((LFOOTP ) / 4 ) + 1] (LFOOTP + 1) (LFOOTP + 1) f 2 k HzR CLP Oscilator [Hz ] + 1) [Integer ((LFOOTP ) / 4 ) + 1] timebase [s ] (LFOOTP + 1) (OFFTIM + 1) (LFOOTP + 1) 4 = (OFFTIM + 1) timebase[s ] 4 f 2 k HzRC LPOscila to r[Hz ] 86 (11) (12) (13) Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF On/Off Timer Configuration Register LFOOT LF On/Off Timer Configuration Register 7 Offset Wakeup Value C6H UUH 4 Reset Value 00H 3 0 OFFTIM ONTIM wr wr Field Bits Type Description OFFTIM 7:4 wr LF Polling OFF-Time If time base is set to 50 ms (default after calibration) in SFR LFOOTP : 0000B: 200 ms ... 1111B: 3.2 s Reset: 0H ONTIM 3:0 wr LF Polling ON-Time If time base is set to 50 ms (default after calibration) in SFR LFOOTP : 0000B: 12.5 ms ... 1111B: 200 ms Reset: 0H LF OnOff Timer Precounter LFOOTP LF OnOff Timer Precounter Offset Wakeup Value C5H UUH Reset Value 64H 7 0 LFOOTP wr Field Bits Type Description LFOOTP 7:0 wr LF ON/OFF Timer Precounter Establishes timebase for the LF-ON/OFF-Timer. 00H: 1 RC-LP-Oscillator (2 kHz) periods 01H: 2 RC-LP-Oscillator (2 kHz) periods ... FFH: 256 RC-LP-Oscillator (2 kHz) periods Reset: 64H Datasheet 87 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.16 LF Receiver Baseband The LF Receiver Baseband circuitry allows reception of ASK modulated LF Telegrams. As in the case of the LF Carrier Detector, the LF Receiver Baseband may be enabled and disabled manually via SFR LFRXC.2[ENLFRX] or automatically by the LF Receiver On/Off Timer. The LF Receiver Baseband may be operated in one of two modes: Mode 1, in which the baseband is fully operational whenever the LF receiver is enabled; and Mode 2, in which the baseband is only operational after the LF Carrier Detector has detected an incoming signal. LF Baseband Mode selection is accomplished by SFR bits LFRXC5:4[LFBBM]. The specified telegram sensitivity is only accomplished in Mode 1 and with the proper SFR register settings(see Table 68 "LF Receiver Special Function Register Settings for Telegram Mode" on Page 156) LF RX Baseband Processor LF Carrier Detector Filter LFRXS.CDRAW WUF.LFCD LF Data Recovery LFPCFG.PSEL LFPCFG.PSL LFP1L/LFP1H LFP0L/LFP0H LFRXS.LFRAW LFPCFG.SYNM LFDIV Wakeup Pattern Detector LF Pattern matching 1 LF Pattern matching 0 Manchester Decoder 1 Bit Serial Data Buffer Chip Buffer 8 Bit Data Buffer Sync Matching WUF.LFPM1 WUF.LFPM0 LFRXS.DECERR LFRXS.LFBP LFRXS.LFDATA LFRXS.LFOV LFRXS.SYNCIND LFRXS.LFDOV LFRXD WUF.LFSY Bitrate Generator RC LF Oscillator Figure 25 Datasheet LF Receiver Baseband 88 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Telegram Format The LF Receiver Baseband requires that an LF Telegram contain at least two elements: a Preamble sequence and a Synchronization Pattern. The LF Telegram may also contain a user defined "wakeup ID" field which may be either 8-bits or 16-bits in length. The LF Receiver baseband supports matching against two different wakeup ID patterns, allowing separate "broadcast address" and "unique address" ID patterns to be implemented, for example. Finally, an LF Telegram will typically contain at least one data bit, so the reception of data as individual bits or groups of 8-bit bytes is supported. The CPU must handle the unloading of buffered data bits or bytes to prevent data overflow. The LF Receiver Baseband is configured for a specific LF Telegram format via the SFR LFPCFG. Figure 26 illustrates typical LF Telegram formats and the relationship of the telegram elements. SYNM 0 Preamble Sync pattern (18chips) 1 Preamble Sync pattern (18chips) Wakeup Pattern (8-16Bits) Data #1 Data #1 Data #n Data #n Legend: Run in for adjusting the data slicer threshold Figure 26 Decoded by the synchronizer Decoded by the Manchester Decoder LF Receiver Baseband Configurations An LF Telegram must begin with a Preamble sequence, which serves to stabilize the LF Data Threshold within the LF Analog Front End. The Preamble typically consists of several Manchester symbols, all of equal value (i.e. all '0' or all '1' bits). A Preamble may consist of mixed value bits, but in this case the duration of the Preamble must be longer than that required for equal value bits. There is no maximum duration for the Preamble. The "raw data" output of the LF Data Comparator may be observed via the SFR bit LFRXS.5[LFRAW]. A Synchronization ("Sync") pattern must follow the Preamble. The Sync pattern is 9.5 bits (18 chips) in duration, and includes non-Manchester symbols so that it is not possible to accidentally encounter the Sync pattern in any other portion of a properly formatted LF Telegram. The Sync Matching circuit within the LF Receiver Baseband is responsible for monitoring the raw data output of the LF Data Comparator and determining when a Sync pattern has been received. Detection of the Sync pattern (a "Sync match") will cause the SFR bit LFRXS.1[SYNCIND] to be set, and may be used as a CPU wakeup event. Figure 27 provides more detail relating to the Preamble sequence and Sync pattern. Datasheet 89 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers PREAMBLE SYNC WAKEUP ID DATA1 tpreamble DATAn-1 DATAn 9 t bit 10101010101010101010101010101010111000101100110010 1.5*tbit t bit 0.5*tbit 3*tbit t bit t bit t bit tbit 2*tbit 2*tbit Figure 27 LF Telegram Format The LF Telegram data payload must follow the synchronization pattern, and may be of any arbitrary length. Figure 28 illustrates the relationship between modulated Manchester symbols and decoded data bits. In the case that the LF Receiver Baseband is configured to detect a Wakeup ID pattern, the first 8 or 16 bits (depending on length of the wakeup ID) will be considered as ID bits rather than as data bits. Detection of a Wakeup ID pattern (a "Pattern Match") may be used as a CPU wakeup event. Decoding and buffering of incoming LF Telegram bits will continue until the Manchester Decoder within the baseband encounters a decoding error (code violation) or until the LF Receiver Baseband is disabled. A decoding error will cause the SFR bit LFRXS.6[DECERR] to be set and SFR bit LFRXC.1[SYNCIND] to be cleared. LF Signal Manchester Enccoded Data Manchester Deccoded Data 0 1 Tbit Figure 28 Datasheet LF Decoder 90 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Telegram Mode Settling Time LF Telegram reception using the LF Receiver Baseband requires some "startup time" to elapse after it is enabled. When the LF Receiver is brought from any other mode (typically "off") into Baseband Mode 1, there is a settling time that must be allowed to elapse before any LF telegram reception may begin. The sequence of events that take place when Baseband Mode 1 is enabled is shown in Figure 29. When the LF Receiver is brought from any other mode into Baseband Mode 2, the LF Carrier Detector auto-calibration time must be allowed to elapse before any LF telegram reception may begin (in Mode 2 the auto-calibration and telegram mode settling times are coincident. The auto-calibration time is always greater than telegram mode settling time, so only the former needs to be considered for timing purposes). The startup sequence for LF Baseband Mode 2 is similar to that for LF Carrier Detection as shown in Figure 24. When the LF Receiver Baseband is used in conjunction with the LF Receiver On/Off Timer, the result is a self-polling LF data interface. The appropriate startup time requirement ("Settling time" on Page 156 for Mode 1, "Auto-Calibration time" on Page 157 for Mode 2) must be considered and enabled via the SFR bits LFRX1.5:4[ACT]. Furthermore, the startup time must also be included within the LF "On time" duration when configuring the LF Receiver On/Off Timer. Preamble Sync Wakeup ID Data Incoming LF Signal Receiver Settling tsettling Recovered Data tpreamble Data Slicer stabilization LFRXS.LFRAW Sync Indicator Set when SYNC is decoded LFRXC.SYNCIND Cleared upon manchester error Decode Error Cleared when LFRXS is read LFRXS.DECERR LF Receiver Operating State Figure 29 Datasheet OFF LF RX ON LF Receiver Baseband Telegram Timing 91 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Bitrate Generator Calibration A ROM Library function which automatically configures the bitrate clock divider SFR LFDIV is available. It automatically compensates drift and offset of the RC LF Oscillator. The ROM Library function compares the current RC LF Oscillator frequency towards the highly accurate crystal oscillator frequency and configures the SFR LFDIV according to frequency of the RC LF Oscillator. Attention: It is mandatory to call ROM Library function "LF_BaudrateCalibration" at least once before the LF Receiver is used. It is recommended to store the SFR LFDIV value into the FLASH and reprogram SFR LFDIV with such a value anytime the LF Receiver is operated. The bitrate tolerance is specified in Table 38 "LF Receiver Telegram, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz" on Page 156; it can only be achieved with the usage of this ROM Library function and under the specified conditions. If this calibration is performed regularly by the application, the bitrate tolerance for the transmitted data can be increased compared to this specified value. For details on the ROM Library function see [1]. LF Bitrate Divider Factor LFDIV LF Bitrate Divider Factor 7 6 Offset Wakeup Value B4H 00UUUUUUB 5 Reset Value 17H 0 UNUSED LFDIV - wr Field Bits Type Description UNUSED 7:6 - UNUSED Reset: 0H LFDIV 5:0 wr LF Bitrate Divider LF Bitrate generator division factor. The reset value corresponds to an LF baudrate of 3.9 kbit/s Reset: 17H Datasheet 92 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.17 Wakeup Pattern Detector Two independent wakeup patterns - each with a length of 8 or 16 bits (SFR bit LFPCFG.1[PSL]) are available (SFR LFP1L/H and SFR LFP0L/H). SFR bit LFPCFG.0[PSEL] determines on which pattern (pattern 0 only, or either pattern 0 or pattern 1) a wakeup can occur. Note: The Wakeup must be enabled in addition in the SFR WUM (see Table "Wakeup Mask Register" on Page 49) to globally enable the wakeup on LF Patterns. LF Pattern Detection Configuration Register LFPCFG LF Pattern Detection Configuration Register 7 6 UNUSED 5 4 Res SYNM wr - Offset Wakeup Value C7H 00UU00UUB 3 2 Reset Value 00H 1 0 UNUSED PSL PSEL - wr wr Field Bits Type Description UNUSED 7:6 - UNUSED Reset: 0H Res 5 SYNM 4 wr LF Synchronizer Mode Sync and Pattern match 0B 1B Sync match only Reset: 0H UNUSED 3:2 - UNUSED Reset: 0H PSL 1 wr Pattern Sequence Length 8 bit sequence 0B 1B 16 bit sequence Reset: 0H PSEL 0 wr Pattern Select Selects which LF Wakeup Pattern (P0 or P0 and P1) can cause an LF Pattern Match Wakeup. 0B LFP0 Pattern Detection Enable 1B LFP0 and LFP1 Pattern Detection Enable Reset: 0H Datasheet Reserved This bit must be set to 0B. Reset: 0H 93 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Pattern 0 Detector Sequence Data MSB LFP0H LF Pattern 0 Detector Sequence Data MSB Offset Wakeup Value CDH UUH Reset Value FFH 7 0 LFCODEP0 wr Field Bits Type Description LFCODEP0 7:0 wr LF Pattern 0 Sequence Data MSB High Byte of 16 bit pattern, ignored in case of 8 bit pattern. Reset: FFH LF Pattern 0 Detector Sequence Data LSB LFP0L LF Pattern 0 Detector Sequence Data LSB Offset Wakeup Value CCH UUH 7 Reset Value FFH 0 LFCODEP0 wr Field Bits Type Description LFCODEP0 7:0 wr LF Pattern 0 Sequence Data LSB Low Byte of 16 bit pattern, or 8 bit pattern. Reset: FFH Datasheet 94 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Pattern 1 Detector Sequence Data MSB Note: LFP1H and LFP1L may be used as two additional GPR registers (value maintained during powerdown, but not in event of RESET) if only wakeup on Pattern Match 0 is required. LFP1H LF Pattern 1 Detector Sequence Data MSB Offset Wakeup Value CFH UUH Reset Value FFH 7 0 LFCODEP1 wr Field Bits Type Description LFCODEP1 7:0 wr LF Pattern 1 Sequence Data MSB High Byte of 16 bit pattern, ignored in case of 8 bit pattern. Reset: FFH LF Pattern 1 Detector Sequence Data LSB LFP1L LF Pattern 1 Detector Sequence Data LSB Offset Wakeup Value CEH UUH 7 Reset Value FFH 0 LFCODEP1 wr Field Bits Type Description LFCODEP1 7:0 wr LF Pattern 1 Sequence Data LSB Low Byte of 16 bit pattern, or 8 bit pattern. Reset: FFH Datasheet 95 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.18 LF Receiver Data Interface LF Receiver Data Interface The received data can be read by the microcontroller using the following different interfaces: * * * * 8 bit databyte (synchronized, Manchester decoded) Serial bitstream data (synchronized, Manchester decoded) RAW data (synchronized, chip level) RAW Carrier Detect (un-synchronized) 8 Bit databyte Synchronized and decoded databytes are received using SFR LFRXD. Decoded bits are shifted into an 8 bit receive buffer, until a byte boundary is reached. The received byte is then shifted into the SFR LFRXD, and a flag SFR bit LFRXS.3[LFDP] is set, while the following byte is shifted into the receive buffer. If the SFR LFRXD is not read before the following byte is received, it will be overwritten, and an overflow flag SFR bit LFRXS.4[LFDOV] is set. Serial bitstream data Synchronized and decoded serial data can be received by using SFR bit LFRXS.0[LFDATA]. A flag SFR bit LFRXS.1[LFBP] is set if data is pending, while the following bit is buffered. If the SFR bit LFRXS.0[LFDATA] is not read before the following bit is received, it will be overwritten, and an overflow flag SFR bit LFRXS.2 [LFOV] is set. RAW data Synchronized and undecoded serial data can be read by the microcontroller using SFR bit LFRXS.5[LFRAW]. This can be used to handle any other coding scheme than Manchester. This bit is the RAW output after the synchronizer, thus the decoding (including identifying the beginning/end of a bit period) has to be done by the application software. RAW Carrier Detect Un-synchronized and undecoded serial data can be read by the microcontroller using SFR bit LFRXS.7 [CDRAW]. This indicates if a Carrier Signal is currently present (SFR bit LFRXS.7[CDRAW]==1) or not (SFR bit LFRXS.7[CDRAW]==0). The application software can perform the LF baseband processing; in order to implement non-standard LF information encoding schemes, for example. Datasheet 96 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Receiver Data Register LFRXD LF Receiver Data Register Offset Wakeup Value A5H UUH 7 Reset Value 00H 0 LFRXD r Field Bits Type Description LFRXD 7:0 r LF Receiver Data Reset: 00H Datasheet 97 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers LF Receiver Status Register LFRXS LF Receiver Status Register Offset Wakeup Value Reset Value A4H XUXUUUUUB X0X00000B 7 6 5 4 3 2 1 0 CDRAW DECERR LFRAW LFDOV LFDP LFOV LFBP LFDATA r rc r rc r rc rc r Field Bits Type Description CDRAW 7 r Carrier Detector Raw Data Instantaneous value of comparison of LF Carrier versus the LF Carrier Detect Threshold. Reset: XB DECERR 6 rc Manchester Decode Error 0B No error detected 1B Error detected Reset: 0H LFRAW 5 r LF Receiver Raw Data Instantaneous output of the LF Data slicer. Reset: XB LFDOV 4 rc LF Data Byte Overwritten This bit will be set if a new LF data byte is received prior to the previous byte being read from SFR LFRXD. Reset: 0H LFDP 3 r LF Data Byte Pending This bit will be set if a new LF data byte is available in SFR LFRXD. It will be cleared when the LFRXD register is read. Reset: 0H LFOV 2 rc LF Serial Decoded Data Overwritten This bit will be set if a new LF data bit is received prior to the previous bit being read from LFDATA. Reset: 0H LFBP 1 rc LF Serial Decoded Data Pending This bit will be set if a new LF data bit is available in LFDATA. Reset: 0H LFDATA 0 r LF Serial Decoded Data 0B Manchester 0 decoded 1B Manchester 1 decoded Reset: 0H Datasheet 98 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.19 16 Bit CRC (Cyclic Redundancy Check) Generator/Checker CRCC.CRCSS CRC Shiftregister/Logic CRCC.CRCSD CRCC.CRCValid Polynomial = x16 +x12+x5+1 CRCD CRC1 (High Byte) CRC0 (Low Byte ) Figure 30 CRC (Cyclic Redundancy Check) Generator/Checker CRC is a powerful method to detect errors in data packets that have been transmitted over a distorted connection. The CRC Generator/Checker divides each byte of a data packet by a polynomial, leaving the remainder which represents the checksum. The CRC-Generator/Checker is using the 16 Bit CCITT polynomial x16+x12+x5+1. The 16 bit start value is determined by the initial contents of SFR CRC0 and SFR CRC1. CRC Generation and Checking Figure 31 shows the basic usage of the CRC16. CRC Generation (Transmitter side ) CRC1 CRC0 Preload value 0xFF 0xFF Example data 0xAB 0x02 0x04 0xCC 0x00 0xB5 CRC1 CRC0 Resulting CRC16 0xB5 0x06 Append checksum to transmitted data 0x06 CRC Checking (Receiver side) CRC1 CRC0 Preload value 0xFF 0xFF Example data incl. Checksum 0xAB 0x02 0x04 0xCC 0x00 0xB5 0x06 CRC1 CRC0 Resulting CRC16 Figure 31 Datasheet 0x00 0x00 (CRCC.CRCValid = 1) Example for CRC16 usage 99 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Byte aligned CRC Generation CRC generation is done by executing the following steps: * * The CRC shift register has to be initialized by writing FFH (or if desired another start value) to both SFR CRC0 and SFR CRC1. The databytes which are to be used for the CRC Generation have to be shifted one after the other into the SFR CRCD.The process of CRC Generation is automatically invoked when data bytes are written to the SFR CRCD. Note: Processing the data in SFR CRCD takes 3 instruction cycles, therefore the application has to assure that there are no consecutive write instructions without one extra instruction cycle between. * The resulting checksum is available in the CRC Result Register SFR CRC0 and SFR CRC1 after the last data byte has been processed. Byte aligned CRC Checking CRC checking is done by executing the following steps: * * The CRC shift register has to be initialized by writing FFH (or if desired another start value) to both SFR CRC0 and SFR CRC1. The databytes which should be checked have to be shifted one after the other into the SFR CRCD. It is important that the order (MSB-LSB) is the same as it was during the CRC Generation. In addition to the data the CRC16 has to be shifted into SFR CRCD as well (first the high byte then the low byte - see also Figure 31). The process of CRC Checking is automatically invoked when data bytes are written to the SFR CRCD. Note: Processing the data in SFR CRCD takes 3 instruction cycles, therefore the application has to assure that there are no consecutive write instructions without one extra instruction cycle between. Note: One instruction cycle corresponds to 6 system clock cycles. * After the last byte is processed the SFR bit CRCC.1[CRCValid] indicates the correctness of the CRC calculation after the last data byte has been processed and both - SFR CRC0 and SFR CRC1 are 0. Serial bitstream CRC Generation/Checking The CRC Generator/Checker features a serial mechanism to perform CRC generation and checking of non bytealigned data streams. In this case SFR bit CRCC.5[CRCSS] and SFR bit CRCC.6[CRCSD] are used instead of SFR CRCD. The data stream is written bit by bit into SFR bit CRCC.6[CRCSD]. Each bit is processed by setting the flag SFR bit CRCC.5[CRCSS]. The following figure shows an example for the usage of SFR bit CRCC.5[CRCSS] and SFR bit CRCC.6[CRCSD]. Note: No time limitations apply when using serial data, so the software can shift and strobe without any wait states between processing consecutive bits. Data to be encoded 0 1 1 0 0 0 1 0 1 1 1 0 0 CRCC.CRCSD CRCC.CRCSS Figure 32 Datasheet Example for serial CRC generation/checking 100 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Note: The serial and byte-aligned generation/checking mechanism is interchangeable within the same generation/checking process. Example: If a data packet consists of 18 bits, 16 bits can be processed byte-aligned via SFR CRCD and the two remaining bits can be processed bit-aligned by using SFR bit CRCC.5[CRCSS] and SFR bit CRCC.6[CRCSD]. CRC Control Register CRCC CRC Control Register 7 6 5 UNUSED CRCSD CRCSS - wr w Offset Wakeup Value A9H 02H 4 2 Reset Value 02H 1 0 UNUSED CRCVALI D UNUSED - r - Field Bits Type Description UNUSED 7 - UNUSED Reset: 0H CRCSD 6 wr CRC Serial Data Reset: 0H CRCSS 5 w CRC Serial Data Strobe By setting this bit the data bit from CRCSD is strobed into CRC generator/checker Reset: 0H UNUSED 4:2 - UNUSED Reset: 0H CRCVALID 1 r CRC Valid This bit is set automatically when all CRC result bits are zero. 0B CRC check failed 1B CRC check successful Reset: 1H UNUSED 0 - UNUSED Reset: 0H Datasheet 101 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers CRC Data Register CRCD CRC Data Register Offset Wakeup Value AAH 00H Reset Value 00H 7 0 CRCD w Field Bits Type Description CRCD 7:0 w CRC Data Register Reset: 00H CRC Shift Register 1 (high byte) CRC1 CRC Preload/Result Register 1 (high byte) Offset Wakeup Value ADH 00H 7 Reset Value 00H 0 CRC1 wr Field Bits Type Description CRC1 7:0 wr CRC Preload/Result Register 1 (high byte) Reset: 00H Datasheet 102 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers CRC Shift Register 0 (low byte) CRC0 CRC Preload/Result Register 0 (low byte) Offset Wakeup Value ACH 00H 7 Reset Value 00H 0 CRC0 wr Field Bits Type Description CRC0 7:0 wr CRC Preload/Result Register 0 (low byte) Reset: 00H Datasheet 103 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.20 Pseudo Random Number Generator The SP37T offers a Pseudo Random Number Generator. It consists of a Maximum Length Linear Feedback Shift Register (MLFSR) as built in hardware unit which creates a new pseudo random number everytime SFR bit CFG1.5[RNGEn] is set. SFR RNGD Bit7 Bit6 Bit5 Bit4 Bit3 XOR Figure 33 Bit2 XOR Bit1 Bit0 XOR Shift Register Implementation A user-defined start value (except 00H) can be written to SFR RNGD. The default value is 55H. The generation of a new random number is initiated by setting SFR bit CFG1.5[RNGEn]. The random number generation requires one systemclock cycle, thus the application can read the generated number in the next instruction without any extra wait states. Random Number Generator Data Register RNGD Random Number Generator Data Register Offset Wakeup Value ABH UUH 7 Reset Value 55H 0 RNGD wr Field Bits Type Description RNGD 7:0 wr Random Number Generator Data Register Reset: 55H Datasheet 104 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.21 Timer Unit The SP37T comprises two independent 16 bit timers which operate as down counters. Different timer modes are available for extended functionality. Basic Timer Configuration Timer 0 and Timer 1 comprise two fully programmable 16-bit timers, which can be used for time measurements as well as generating time delays. The clock source is selectable in order to enlarge the timer runtime.SFR TMOD is used to select the clock source and the desired timer mode. Setting the SFR bit TCON.0[T0Run] (respectively SFR bit TCON.4[T1Run]) starts Timer 0 (resp. Timer 1). The Timer counts down from the start values SFR TH/L0 (resp. SFR TH/L1) using the selected counter clock (see SFR TMOD) until the timer is elapsed. SFR bit TCON.1[T0Full] (resp. SFR bit TCON.5[T1Full]) is set. Note: The timer full flag is set when the timer would underflow from 0000H ==> FFFFH. To count e.g. 10 events with timer 0 SFR TL0 has to be configured to 9H instead of 0AH. After a timer is elapsed there are two possibilities that can occur (dependant on the selected timer mode): * * Reload: If the selected timer mode uses timer reload, the timer is automatically reloaded and restarted. Stop: If the selected timer mode doesn't use timer reload, the timer is stopped and SFR bit TCON.0[T0Run] (resp. SFR bit TCON.4[T1Run]) is cleared. Timer Modes Timer mode 0 Comprises: * 16 bit timer with reload The timer unit is configured as one 16 bit reloadable timer. SFR TL0 and SFR TH0 hold the start value. When SFR bit TCON.0[T0Run] is set, the timer starts counting down. SFR bit TCON.1[T0Full] is set when the timer is elapsed. The timer value is reloaded from SFR TL1 and SFR TH1 and the timer is restarted automatically. SFR bit TCON.1[T0Full] has to be cleared by the application software. It is not cleared automatically on a readaccess. TH0 TL0 Timer 0 T0Run T0Full Reload Timer 0 Reload T1Run TL1 Figure 34 T1Full TH1 Timer Mode 0 Note: In this mode both SFR bit TCON.4[T1Run] and SFR bit TCON.5[T1Full] are not used. Datasheet 105 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer Mode 1 Comprises: * * 16 bit timer without reload 8 bit timer with reload and bitrate strobe signal for RF Transmitter Timer 0 operates as a 16 bit timer with the start value in SFR TL0 and SFR TH0, timer run bit SFR bit TCON.0[T0Run] and timer elapsed indicator SFR bit TCON.1[T0Full]. If the timer is elapsed, it is stopped, SFR bit TCON.1[T0Full] is set and the timer run bit SFR bit TCON.0[T0Run] is cleared. Timer 1 sets up a reloadable 8 bit timer holding the startup value in SFR TL1, timer reload value in SFR TH1, timer run bit in SFR bit TCON.4[T1Run] and timer elapsed indicator in SFR bit TCON.5[T1Full]. TL0 T0Run TH0 T0Full Timer 0 Bitrate strobe Timer 1 T1Run Timer 1 Reload T1Full Reload TL1 Figure 35 TH1 Timer Mode 1 Timer Mode 2 Comprises: * * 8 bit timer with reload 8 bit timer with reload and bitrate strobe signal for RF Transmitter Timer 0 sets up a reloadable 8 bit timer holding the start value SFR TL0, timer reload value SFR TH0, timer run bit SFR bit TCON.0[T0Run] and timer elapsed indicator SFR bit TCON.1[T0Full]. Timer 1 sets up a reloadable 8 bit timer holding the start value SFR TL1, timer reload value SFR TH1, timer run bit SFR bit TCON.4[T1Run] and timer elapsed indicator SFR bit TCON.5[T1Full]. TL0 T0Run Timer 0 TH0 T0Full Timer 0 Reload Reload T1Run Timer 1 Timer 1 Reload Bitrate strobe T1Full Reload TL1 Figure 36 Datasheet TH1 Timer Mode 2 106 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer Mode 3 Comprises: * * * 8 bit timer without reload (1) 8 bit timer without reload (2) 8 bit timer with reload and bitrate strobe signal for RF Transmitter Timer 0 (1) uses SFR TL0 as start value. Setting SFR bit TCON.0[T0Run] starts the timer. SFR bit TCON.1[T0Full] is set when the timer is elapsed. SFR bit TCON.0[T0Run] is cleared automatically when the timer is elapsed. Timer 0 (2) uses SFR TH0 as start value. Setting SFR bit TCON.4[T1Run] starts the timer. SFR bit TCON.5[T1Full] is set when the timer is elapsed. SFR bit TCON.4[T1Run] is cleared automatically when the timer is elapsed. Timer 1 operates as a dedicated 8 bit bitrate timer for the RF Encoder. The timer uses no Run bit or Full flag. It is started automatically when the timer mode is activated. TL0 T0Run Timer 0 (1) TH0 T0Full Timer 0 (2 ) Bitrate strobe T1Run Timer 1 Timer 1 Reload T1Full Reload TL1 Figure 37 Datasheet TH1 Timer Mode 3 107 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer mode 4 Comprises: * 16 bit timer with reload and bitrate strobe signal for RF Transmitter The timer unit is configured as one 16 bit reloadable timer. SFR TL1 and SFR TH1 hold the start value. If SFR bit TCON.4[T1Run] is set, the timer starts counting. SFR bit TCON.5[T1Full] is set when the timer is elapsed. The timer value is reloaded from SFR TL0 and SFR TH0 and the timer is restarted automatically. SFR bit TCON.5[T1Full] has to be cleared by the application software. It is not cleared on read-access. TL0 T0Run TH0 T0Full Timer 1 Reload Reload Timer 1 T1Run T1Full TL1 Figure 38 Bitrate strobe TH1 Timer mode 4 Note: In this mode both SFR bit TCON.0[T0Run] and SFR bit TCON.1[T0Full] are not used. Datasheet 108 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer Mode 5 Comprises: * * 8 bit timer with reload 16 bit timer without reload and bitrate strobe signal for RF Transmitter Timer 0 sets up a reloadable 8 bit timer holding the start value in SFR TL0, timer reload value in SFR TH0, timer run bit SFR bit TCON.0[T0Run] and timer elapsed indicator in SFR bit TCON.1[T0Full]. Timer 1 operates as a 16 bit timer with the start value in SFR TL1 and SFR TH1, timer run bit SFR bit TCON.4[T1Run] and timer elapsed indicator SFR bit TCON.5[T1Full]. If the timer is elapsed the timer is stopped, SFR bit TCON.5[T1Full] is set and the timer run bit SFR bit TCON.4[T1Run] is cleared. TL0 T0Run Timer 0 TH0 Timer 0 Reload T0Full Reload Bitrate strobe Timer 1 T1Run T1Full TL1 Figure 39 Datasheet TH1 Timer Mode 5 109 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer Mode 6 Comprises: * * 16 bit timer without reload 16 bit timer without reload and bitrate strobe signal for RF Transmitter Timer 0 operates as a 16 bit timer with the start value in SFR TL0 and SFR TH0, timer run bit SFR bit TCON.0[T0Run] and timer elapsed indicator SFR bit TCON.1[T0Full]. If the timer is elapsed the timer is stopped, SFR bit TCON.1[T0Full] is set and the timer run bit SFR bit TCON.0[T0Run] is cleared. Timer 1 operates as a 16 bit timer with the start value in SFR TL1 and SFR TH1, timer run bit SFR bit TCON.4[T1Run] and timer elapsed indicator SFR bit TCON.5[T1Full]. If the timer is elapsed the timer is stopped, SFR bit TCON.5[T1Full] is set and the timer run bit SFR bit TCON.4[T1Run] is cleared. TL0 T0Run TH0 T0Full Timer 0 Bitrate strobe Timer 1 T1Run TL1 Figure 40 T1Full TH1 Timer Mode 6 Timer Mode 7 This timer mode is not available for application usage. It is used by the ROM library functions for calibration purpose. Datasheet 110 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer Mode Register TMOD Timer Mode Register 7 6 5 Offset Wakeup Value 89H 00H 4 3 Reset Value 00H 2 0 T1CLK T0CLK TCLKM TM wr wr wr wr Field Bits Type Description T1CLK 7:6 wr Timer 1 Clock Source Select 00B System clock 01B If TCLKM = 0: System clock divided by SFR DIVIC and 8 If TCLKM = 1: Crystal Oscillator divided by 4 10B 4kHz (2*2kHz LP RC Oscillator) 11B If TCLKM = 0: PP2 event count (rising edge) Reset: 0H T0CLK 5:4 wr Timer 0 Clock Source Select 00B System clock 01B If TCLKM = 0: System clock divided by SFR DIVIC and 8 If TCLKM = 1: Crystal Oscillator divided by 4 10B 4kHz (2*2kHz LP RC Oscillator) 11B If TCLKM = 0: Timer 1 underflow event count Reset: 0H TCLKM 3 wr Timer Unit Crystal Clock Source Enable If TCLKM is set to 1, then Crystal Oscillator is available as T0 and T1 clock source, refer to T0CLK and T1CLK. When TCLKM is set, the Crystal Oscillator is automatically enabled. When TCLKM is cleared, the crystal oscillator will be disabled unless required by other functional blocks (e.g. during RF transmission, or while SFR CFG0.EnXOSC = 1). Note: It is recommend to call StartXtalOsc() ROM library function prior to setting TCLKM. 0B Crystal Oscillator is not available as Timer clock source 1B Crystal Oscillator is available as Timer clock source Reset: 0H Datasheet 111 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Field Bits Type Description TM 2:0 wr Timer Mode 000B Mode 0: 16 bit timer w/ reload and no baudrate strobe 001B Mode 1: 16 bit timer w/o reload and 8 bit timer w/ reload 010B Mode 2: two 8 bit timers w/ reload 011B Mode 3: two 8 bit timers w/o reload and 8 bit timer w/ reload 100B Mode 4: 16 bit timer w/ reload 101B Mode 5: 8 bit timer w/ reload and 16 bit timer w/o reload 110B Mode 6: two 16 bit timer w/o reload 111B Mode 7: Not available for application use Reset: 0H Datasheet 112 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer Control Register TCON Timer Control Register 7 6 5 4 UNUSED T1FULL T1RUN - wr wr Offset Wakeup Value 88H 00H 3 2 0 UNUSED T0FULL T0RUN - wr wr Bits Type Description UNUSED 7:6 - UNUSED Reset: 0H T1FULL 5 wr Timer 1 Full Flag Set if a Timer 1 underflow has occurred. Reset: 0H T1RUN 4 wr Timer 1 Run 0B Timer 1 is stopped 1B Timer 1 counts downward Reset: 0H UNUSED 3:2 - UNUSED Reset: 0H T0FULL 1 wr Timer 0 Full Flag Set if a Timer 0 underflow has occurred. Reset: 0H T0RUN 0 wr Timer 0 Run 0B Timer 0 is stopped 1B Timer 0 counts downward Reset: 0H 113 00H 1 Field Datasheet Reset Value Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer 0 Register High Byte TH0 Timer 0 Register High Byte Offset Wakeup Value 8CH 00H Reset Value 00H 7 0 TH0 wr Field Bits Type Description TH0 7:0 wr Timer 0 High Byte Timer 0 [15:8] Reset: 00H Timer 0 Register Low Byte TL0 Timer 0 Register Low Byte Offset Wakeup Value 8AH 00H 7 Reset Value 00H 0 TL0 wr Field Bits Type Description TL0 7:0 wr Timer 0 Low Byte Timer 0 [7:0] Reset: 00H Datasheet 114 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Timer 1 Register High Byte TH1 Timer 1 Register High Byte Offset Wakeup Value 8DH 00H Reset Value 00H 7 0 TH1 wr Field Bits Type Description TH1 7:0 wr Timer 1 High Byte Timer 1 [15:8] Reset: 00H Timer 1 Register Low Byte TL1 Timer 1 Register Low Byte Offset Wakeup Value 8BH 00H 7 Reset Value 00H 0 TL1 wr Field Bits Type Description TL1 7:0 wr Timer 1 Low Byte Timer 1 [7:0] Reset: 00H Datasheet 115 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.22 General Purpose Input/Output (GPIO) The SP37T has three GPIO pins that are used for: * * * * General purpose by the application software Dedicated digital peripherals ("Alternative Port Functionality" on Page 118). Operating mode selection ("Resets and Operating Mode Selection" on Page 20) If configured for general purpose usage, the GPIO pins can be accessed directly by the CPU. All GPIO pins have selectable pull-up and pull-down resistors. Note: The GPIO pins are configured as input with the pull-up resistor enabled after reset. In POWER DOWN state and THERMAL SHUTDOWN state the GPIOs keep their configuration. Peripheral Port Configuration The following table shows the different possible configurations for the GPIO pins. The 'x' in the table has to be replaced by either 0,1 or 2 (for PP0, PP1 or PP2). Table 10 GPIO Port Configuration P1DIR.x P1OUT.x P1SENS.x I/O Pull-up/ pull-down Comment 0 0 - Output No LOW (sink) 0 1 - Output No HIGH (source) 1 0 - Input No high-Z (Tri-State) 1 1 0 Input Pull-up Weak-High 1 1 1 Input Pull-down Weak-Low Note: The GPIO pin PP2 can be configured as external wakeup. For the required register settings please refer to "External Wakeup on PP2" on Page 118. Spike Suppression on Input Pins To avoid unstability when reading the GPIO pins, a synchronization stage with a two-stage spike filter is included. Due to the synchronization stage the following conditions might occur: * * * Signal duration (TSIGNAL) < 1 systemclock1) period (1 TCLK): Signal is suppressed 1 TCLK < TSIGNAL < 2 TCLK: undefined if suppressed or passed TSIGNAL > 2 TCLK: Signal appears in SFR P1IN Figure 41 shows examples of different input signals and how they are processed by the the synchronization stage and the spike filter. 1) For PP0, PP1 and PP2 the synchronization stage uses the undivided systemclock (SFR DIVIC) as clocksource, so SFR DIVIC has no influence. The synchronization stage is disabled in POWER DOWN state, so it is not used for an external wakeup (see "External Wakeup on PP2" on Page 118). Datasheet 116 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Systemclock PPx @ the pin Signal is visible with the 4th rising edge of the systemclock PPxInput Register Signal suppressed since it is not stable for 2 rising edges of the systemclock Systemclock PPx @ the pin PPxInput Register Spike suppre ssed Signal is visible with the 4th rising edge of the systemclock Systemclock PPx @ the pin PPxInput Register Spike suppress ed Figure 41 Datasheet Spike suppre ssed Signal is visible with the 4th rising edge of the systemclock Synchronization Stage & Spike Suppression Examples 117 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers External Wakeup on PP2 PP2 can be used as an external wakeup source if enabled by the Wakeup-Mask SFR bit WUM.1[EXT1] and configured as input pin by setting SFR bit P1DIR.2[PPD2]. The internal pull-up/pull-down resistor is enabled if SFR bit P1OUT.2[PPO2] is set. SFR bit P1SENS.2[PPS2] selects the sensitivity (high active/low active): Table 11 External Wakeup Configuration SFR Settings Description SFR bit P1DIR.2[PPD2] = 1 SFR bit P1OUT.2[PPO2]=1 SFR bitP1SENS.2[PPS2] = 0 SFR bit WUM.1[EXT] = 0 PP2 configured as Input, pull-up enabled, Wakeup occurs if PP2 is forced to LOW externally. SFR bit P1DIR.2[PPD2] = 1 SFR bit P1OUT.2[PPO2] =1 SFR bitP1SENS.2[PPS2] = 1 SFR bit WUM.1[EXT] = 0 PP2 configured as Input, pull-down enabled, Wakeup occurs if PP2 is forced to HIGH externally. Alternative Port Functionality In Table 12, the alternative port functionality which has higher priority than standard I/O port functionality is shown. Table 12 I/O Port 1 - Alternative Functionality Pin Function I/O Description PP0 I2C-SCL I I2C Serial Clock Line Configured to I2C clock pin if SFR bit CFG1.6 [I2CEN] is set. Weak-High has to be provided by an external pull-up resistor or by the I2C master device. Port Pin I/O I/O Standard I/O port functionality I2C-SDA I/O I2C Serial Data Configured to I2C data pin if bit CFG1.6 [I2CEN] is set. Weak-High has to be provided either by the internal pull-up resistor, by an external pull-up resistor or by the I2C master device. Port Pin I/O I/O Standard I/O port functionality TX Data Out O RF Encoder Data Output If bit CFG1.4[RFTXPEN] is set to one, the Manchester/BiPhase encoded data is delivered serially to PP2. Port Pin I/O I/O Standard I/O port functionality / External Wakeup PP1 PP2 Datasheet 118 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers IO-Port 1 Direction Register P1DIR IO-Port 1 Direction Register Offset Wakeup Value 91H UUH 7 3 Res Field Bits Res 7:3 PPD2 2 wr PP2 I/O Port Direction 0B Output 1B Input Reset: 1H PPD1 1 wr PP1 I/O Port Direction 0B Output 1B Input Reset: 1H PPD0 0 wr PP0 I/O Port Direction 0B Output 1B Input Reset: 1H Datasheet Type Reset Value FFH 2 1 0 PPD2 PPD1 PPD0 wr wr wr Description Reserved These bits must be set to 11111B. Reset: 1FH 119 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers IO-Port 1 Data In Register P1IN IO-Port 1 Data In Register Offset Wakeup Value Reset Value 92H 00000XXXB 00000XXXB 7 3 2 1 0 UNUSED PPI2 PPI1 PPI0 - r r r Field Bits Type Description UNUSED 7:3 - UNUSED Reset: 00H PPI2 2 r PP2 I/O-Port Input Data 0B LOW Level 1B HIGH Level Reset: XB PPI1 1 r PP1 I/O-Port Input Data 0B LOW Level 1B HIGH Level Reset: XB PPI0 0 r PP0 I/O-Port Input Data 0B LOW Level 1B HIGH Level Reset: XB Datasheet 120 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers IO-Port 1 Data Out Register P1OUT IO-Port 1 Data Out Register Offset Wakeup Value 90H UUH 7 3 Res FFH 2 1 0 PPO2 PPO1 PPO0 wr wr wr Field Bits Res 7:3 PPO2 2 wr PP2 I/O-Port Output Data / Pulling Resistor When SFR P1DIR.PPD2 is clear (output), then PPO2 defines the output port state. When SFR P1DIR.PPD2 is set (input), then PPO2 controls the input pulling resistor. 0B Output low / Tristate 1B Output high / Pulling Resistor enabled Reset: 1H PPO1 1 wr PP1 I/O-Port Output Data / Pulling Resistor When SFR P1DIR.PPD1 is clear (output), then PPO1 defines the output port state. When SFR P1DIR.PPD1 is set (input), then PPO1 controls the input pulling resistor. 0B Output low / Tristate 1B Output high / Pulling Resistor enabled Reset: 1H PPO0 0 wr PP0 I/O-Port Output Data / Pulling Resistor When SFR P1DIR.PPD0 is clear (output), then PPO0 defines the output port state. When SFR P1DIR.PPD0 is set (input), then PPO0 controls the input pulling resistor. 0B Output low / Tristate 1B Output high / Pulling Resistor enabled Reset: 1H Datasheet Type Reset Value Description Reserved These bits must be set to 11111B. Reset: 1FH 121 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers IO-Port 1 Sensitivity Register P1SENS IO-Port 1 Sensitivity Register Offset Wakeup Value 93H 00000UUUB 7 3 Reset Value 00H 2 1 0 UNUSED PPS2 PPS1 PPS0 - wr wr wr Field Bits Type Description UNUSED 7:3 - UNUSED Reset: 00H PPS2 2 wr PP2 I/O-Port Sensitivity Only applies when SFR P1DIR.PPD2 is set (input) and SFR P1OUT.PPO2 is set (enable pulling). 0B Pull-up Resistor 1B Pull down Resistor Reset: 0H PPS1 1 wr PP1 I/O-Port Sensitivity Only applies when SFR P1DIR.PPD1 is set (input) and SFR P1OUT.PPO1 is set (enable pulling). 0B Pull-up Resistor 1B Pull down Resistor Reset: 0H PPS0 0 wr PP0 I/O-Port Sensitivity Only applies when SFR P1DIR.PPD0 is set (input) and SFR P1OUT.PPO0 is set (enable pulling). 0B Pull-up Resistor 1B Pull down Resistor Reset: 0H Datasheet 122 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers 3.23 I2C Interface For communication between a host and the SP37T a I2C slave interface is implemented. * * * * PP1 is used as serial data line (SDA) PP0 is used as serial clock line (SCL) SP37T responds to I2C Address 6CH or a general call (if enabled) by addressing slave address 00H. General call can be enabled by setting SFR bit CFG2.6[I2CGCEN]. The data transfer rate is specified in "I2C Interface" on Page 166. Note: In PROGRAMMING mode and DEBUG mode the I2C Interface is handled by the mode handlers located in the ROM automatically. Manual access to those registers is only required if the I2C Interface is utilized in NORMAL mode Using the slave I2C interface in NORMAL mode To enable the I2C interface the SFR bit CFG1.6[I2CEN] has to be set. Once the I2C interface has been enabled, the SP37T waits for a start condition to occur. After the SP37T has received a start condition, the following received 8 bits are compared to the device address. If the address matches, the hardware automatically generates an acknowledge, sets SFR bit I2CS.7[AM] and configures SFR bit I2CS.3[RNW] according to the received address which determines if the I2C access is read or write. Dependant on SFR bit I2CS.3[RNW] the following two actions has to be performed by the application software: (SFR bit I2CS.3[RnW] == 0) - Receive I2C-data * * * If SFR bit I2CS.0[RBF] is set, one byte has been received and can be read by the application software via SFR I2CD. Each byte is acknowledged automatically as long as no receive buffer overflow (SFR bit I2CS.5[OV]) occurs. If SFR bit I2CS.4[S] is set, a stop condition has occurred; the transmission was closed by the I2C master device. If SFR bit I2CS.7[AM] is set, a restart condition has been initiated. In case of a write access (SFR bit I2CS.3[RNW] == 1) a branch to the transmit subroutine has to be performed. (SFR bit I2CS.3[RnW] == 1) - Transmit I2C-data * * Data to be transmitted has to be written to SFR I2CD. SFR bit I2CS.1[TBF] cleared when the data written to SFR I2CD is taken over by the shift-register. If the I2C master device requests more data bytes it creates an acknowledge (SFR bit I2CS.2[RACK]) and subsequently new data may be written to SFR I2CD. If no data is provided, the I2C-interface automatically sets line SCL to low until data is written to SFR I2CD (slave device gains access over the I2C clock line). If SFR bit I2CS.4[S] is set, the transmission process has been terminated by the I2C master device and the transmission subroutine can be left. To control I2C slave interface the following registers are implemented: Datasheet 123 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers I2C Data Register I2CD I2C Data Register Offset Wakeup Value 9AH 00H Reset Value 00H 7 0 I2CD wr Field Bits Type Description I2CD 7:0 wr I2C Data Register Reset: 00H I2C Status Register I2CS I2C Status Register Offset Wakeup Value 9BH 00H Reset Value 00H 7 6 5 4 3 2 1 0 AM UNUSED OV S RNW RACK TBF RBF rc - rc rc r r r r Field Bits Type Description AM 7 rc I2C Address Match This bit will be set when the device address or general call matches with received address byte. It is automatically cleared by hardware after I2CS is read. Reset: 0H UNUSED 6 - UNUSED Reset: 0H OV 5 rc I2C Overflow This bit will be set when a received byte is not read out before a new byte is received. In this case the old byte value is kept, the new byte is rejected. Overflow also occurs if a new byte is written to register I2CD prior to transmitting the previous byte. In this case the old byte value is overwritten with the new byte. This bit is automatically cleared by hardware after I2CS is read. Reset: 0H Datasheet 124 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Special Function Registers Field Bits Type Description S 4 rc I2C Stop Condition This bit will be set when a stop condition is detected. It is automatically cleared by hardware after I2CS is read. Reset: 0H RNW 3 r I2C Read/Write Information RnW reflects the state of the Read/Write bit received within the I2C address byte. 0B I2C Write Command 1B I2C Read Command Reset: 0H RACK 2 r I2C Acknowledge 0B Not acknowledged 1B Acknowledged Reset: 0H TBF 1 r I2C Transmit Buffer Full Bit is automatically cleared after the data byte is transferred to the shift register. 0B Ready to accept new byte 1B Byte transmission is pending Reset: 0H RBF 0 r I2C Receive Buffer Full Bit is automatically cleared by hardware after I2CD is read. 0B No new received data 1B Received data byte is available Reset: 0H Datasheet 125 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1 Programming mode Operation In PROGRAMMING mode the SP37T is only accessible via the IC Interface. The device is operating using the internal 12 MHz RC HF Oscillator. If started up in PROGRAMMING mode (see "Resets and Operating Mode Selection" on Page 20), the SP37T waits until an I2C commands is received. No I2C Command received Reset with PP0/PP1 in condition PROGRAMMING mode" Wait for incoming I2C commands finished Valid I2C Command received Execute I 2C command Figure 42 PROGRAMMING Mode State Diagram Note: To avoid programming failures all PROGRAMMING mode commands are protected by a 16 bit CRC at the end of each command ("16 Bit CRC (Cyclic Redundancy Check) Generator/Checker" on Page 99 shows details about the used CRC polynomial). The checksum has to be calculated over all bytes in the command excluding the SP37T IC device address. PROGRAMMING Mode Commands * * * * * * * * * * * "FLASH Write Line" on Page 127 "FLASH Erase" on Page 127 "FLASH Check Erase Status" on Page 128 "FLASH Read Line" on Page 129 "Read Status" on Page 130 "FLASH Check CRC" on Page 131 "FLASH Set User Configuration Sector Lock" on Page 131 "Measure Pressure" on Page 132 "Measure Acceleration" on Page 134 "Measure Temperature" on Page 136 "Measure Supply Voltage" on Page 137 Figure 43 shows the nomenclature for the I2C commands. from master to slave S start condition nA not acknowledge from slave to master P stop condition A acknowledge SR repeated start condition,may be replaced by Stop-Start condition Figure 43 Datasheet I2C Legend - PROGRAMMING Mode 126 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.1 FLASH Write Line The FLASH Write Line command writes 32 bytes to the FLASH. The start address has to be a multiple of 20H. This command should only be used if the FLASH line is fully erased. If an already programmed FLASH line gets overwritten (without being erased before) the resulting data is undefined. Note: After the Stop condition (P) is received the data is programmed into the FLASH. During the programming time incoming IC commands are not acknowledged. This programming time is specified in Table 49. S 0x6C A AdrHi A AdrLo A Data0 A Figure 44 FLASH Write Line I2C Command Table 13 FLASH Write Line Parameters ... A Data31 A CRCH A CRCL Parameter Description AdrHi High Byte of FLASH start address AdrLo Low Byte of FLASH start address Must be a multiple of 20H Data0 - Data 31 32 Databytes that shall be written to the FLASH line indicated with AdrHi&AdrLo CRCH High Byte of CRC16 CRCL Low Byte of CRC16 3.23.1.2 A P FLASH Erase The FLASH Erase command erases the individual sectors of the FLASH. Note: After the Stop condition (P) is received the selected FLASH sectors are being erased. During the erase time incoming IC commands are not acknowledged. This erase time is specified in Table 49. S 0x6C A 0xA2 Figure 45 FLASH Erase Command Table 14 FLASH Erase Parameters A Sect Parameter Description Sect Selects which sectors to erase A CRCH A CRCL A P Note: Set individual bits to '1' to erase or to '0' to NOT erase Bit7:2 protected FLASH area -don't care Bit1 FLASH User Configuration Sector Bit0 FLASH Code Sector CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 127 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.3 FLASH Check Erase Status This function returns the status of the selected FLASH sector(s). Note: After the first Stop condition (P) is received the selected FLASH sectors are checked. During this time incoming IC commands are not acknowledged. S 0x6C A 0xA3 A Sect A CRCH A CRCL A P Pause > 35ms S 0x6D A Status A Figure 46 FLASH Check Erase Status Command Table 15 FLASH Check Erase Parameters Parameter Description Sect Selects which sectors to erase CRCH A CRCL nA P Note: Set individual bits to '1' to check or to '0' to NOT check. Bit7:2 protected FLASH area -don't care Bit1 FLASH User Configuration Sector Bit0 FLASH Code Sector CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Table 16 FLASH Check Erase Return values Parameter Description Status Returns the Status of the Check Note: '0' means Sector is erased or unchecked '1' means that at least one bit is not erased in the checked Sector. Bit7:2 protected FLASH area -don't care Bit1 FLASH User Configuration Sector Bit0 FLASH Code Sector CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 128 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.4 FLASH Read Line The contents of the FLASH memory can be read out using the following command. S 0x6C A AdrHi A AdrLo A SR S 0x6D A Data0 A ... Figure 47 FLASH Read Line Command Table 17 FLASH Read Line Parameters A Data31 A CRCH A CRCL nA P Parameter Description AdrHi High Byte of FLASH start address AdrLo Low Byte of FLASH start address Must be a multiple of 20H Table 18 FLASH Read Line Return values Parameter Description Data0 - Data 31 32 Databytes Read from FLASH starting at address AdrHi&AdrLo CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 129 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.5 Read Status This function is intended to read out the status of previous I2C commands. It can be called whenever desired to verify if errors occurred since the last Read Status call. S 0x6C A 0xA4 A 0x14 A 0x9E A P Pause > 9s S 0x6D A Status Figure 48 FLASH Read Status Command Table 19 FLASH Read Status Return values A CRCH A CRCL nA P Parameter Description Status Status byte Bit7:4 CmdCnt Counter indicating the number of executed commands since first detected error Note: 0000b = no error occurred since the last call 0001b = 1 command ... 1111b = 15 commands or more Bit3:2 ErrCntInvCmdL Counter of erroneous events since last call Note: 00b = no error 01b = one error 10b = two errors 11b = three or more errors Bit1 InvCmdL Flag indicating if there was a invalid command or execution failure since the last call. Note: 0b = no failure found 1b = failure found Bit0 CRCFail CRC Failure detected since the last call Note: 0b = no CRC Error detected since the last call 1b = one or more CRC Error detected since last call CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 130 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.6 FLASH Check CRC This function performs a CRC check on the locked FLASH Code sector. The CRC-Generator/Checker is using the 16 bit CCITT polynomial x16+x12+x5+1 with a preload value of FFFFH. The resulting CRC checksum (CRCHi, CRCLo) is compared with value stored at the FLASH addresses 577DH and 577EH in the FLASH Code sector. For this function to operate correctly the CRC of the entire code sector, including memory locations otherwise unused by the application software, must be considered. S 0x6C A 0xA6 A 0x34 A 0xDC A P Pause > 21.5ms S 0x6D A Status A CRCHi A CRCLo A Figure 49 FLASH Check CRC Table 20 FLASH Check CRC Return values CRCH Parameter Description Status Status Byte Returns the pass/fail information of the FLASH Check CRC A CRCL nA P Note: 00H = CRC Check passed, no ECC error detected FFH = CRC Check failed FEH = CRC Check passed, but ECC error detected (correctable error) CRCHi High Byte of calculated CRC16 (not the CRCH Byte stored in the FLASH address 577DH) CRCLo Low Byte of calculated CRC16 (not the CRCL Byte stored in the FLASH address 577EH) CRCH High Byte of CRC16 CRCL Low Byte of CRC16 3.23.1.7 FLASH Set User Configuration Sector Lock This command may be issued in order to lock the User Configuration Sector from any further writing or reading. This command causes Lockbyte 3 to become set. The structure for this command is as follows: S 0x6C Figure 50 Datasheet A 0xA1 A 0x44 A 0x3B A P FLASH Set User Configuration Sector Lock 131 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.8 Measure Pressure This function performs a pressure sensor measurement. The result can either: * * Compensated for sensitivity, offset and temperature Output as raw value without performing the compensation The function can measure up to 64 samples with a specified sample rate and can average them in order to compensate for noise. S 0x6C A 0xA7 A ConfigH A ConfigL A S-Rate A CRCH A CRCL A A A P Pause > 984s1) S 0x6D Figure 51 A Status A Data0 A ... A Data5 CRCH CRCL nA P Measure Pressure Note: 1) When the sample rate is > 0, this time increases Table 21 Measure Pressure Parameters Parameter Description ConfigH Config Parameters Bit7:1 Reserved Bit0 Selects source of raw temperature data for compensation Note: 0b = Perform new raw temperature measurement 1b = Use raw temperature data from previous measurement ConfigL Config Parameters Bit7 Select Pressure Measurement, set to 1b Bit6 Defines if the RAW ADC result is compensated Note: 0b = temperature compensation is performed. Returns Compensated & RAW value 1b = no compensation is performed. Returns only RAW value Bit5:4 Select Pressure Range Note: 00b = Reserved 01b = Reserved 10b = Reserved 11b = 1300 kPa Bit3 Reserved, set to 0b Bit2:0 Number of ADC measurements that are taken and averaged Note: 000b = 1 Samples (default) 001b = 2 Samples 010b = 4 Samples 011b = 8 Samples 100b = 16 Samples 101b = 32 Samples 110b = 64 Samples 111b = 64 Samples Datasheet 132 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Table 21 Measure Pressure Parameters (cont'd) Parameter Description S-Rate Bit7:0 Number of systemclock cycles divided by 8 between two consecutive samples (only applicable if more than one sample is taken and averaged) Note: 00H = No delay (fastest possible samplerate) 01H..4FH = Not allowed 50H..FFH = 1/samplerate (samplerate in systemclocks divided by 8) CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Table 22 Measure Pressure Return Values Parameter Description Status Status Byte Bit7 Reserved Bit6 Reserved Bit5 Reserved Bit4 VMIN warming Note: 0B= Battery Supply Voltage above VMIN threshold 1B= Battery Supply Voltage below VMIN threshold Bit3 Reserved Bit2 Sensor Fault Wire Bond Check Note: 0B = Wire Bond Check successful 1B = Wire Bond Check Failed Bit1 Overflow of ADC Result Note: 0B= No overflow of the ADC Result 1B= Overflow of the ADC Result Bit0 Underflow of the ADC Result Note: 0B= No underflow of the ADC Result 1B= underflow of the ADC Result Data0 Compensated Pressure High Byte Data1 Compensated Pressure Low Byte Data2 RAW Pressure High Byte Data3 RAW Pressure Low Byte Data4 RAW Temperature High Byte Data5 RAW Temperature Low Byte CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 133 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.9 Measure Acceleration This function performs an acceleration sensor measurement. The result can either: * * Compensated for sensitivity, offset and temperature Output as raw value without performing the compensation The function can measure up to 64 samples with a specified sample rate and can average them in order to compensate for noise. S 0x6C A 0xA8 A ConfigH A ConfigL A S-Rate A CRCH A CRCL A A A P Pause > 984s1) S 0x6D Figure 52 A Status A Data0 A ... A Data5 CRCH CRCL nA P Measure Acceleration Note: 1) When the sample rate is > 0, this time increases Table 23 Measure Acceleration Parameters Parameter Description ConfigH Config Parameters Bit7:1 Reserved Bit0 Selects source of raw temperature data for compensation Note: 0b = Perform new raw temperature measurement 1b = Use raw temperature data from previous measurement ConfigL Config Parameters Bit7 Select Acceleration Measurement, set to 0b Bit6 Defines if the RAW ADC result is compensated Note: 0b = temperature compensation is performed. Returns Compensated & RAW value 1b = no compensation is performed. Returns only RAW value Bit5:4 Specifies the sensor gain, set to 00b Bit3 Measure Mode: Note: 0b = Average value 1b = Maximum value Bit2:0 Number of ADC measurements that are taken and averaged Note: 000b = 1 Samples (default) 001b = 2 Samples 010b = 4 Samples 011b = 8 Samples 100b = 16 Samples 101b = 32 Samples 110b = 64 Samples 111b = 64 Samples Datasheet 134 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Table 23 Measure Acceleration Parameters (cont'd) Parameter Description S-Rate Bit7:0 Number of systemclock cycles divided by 8 between two consecutive samples (only applicable if more than one sample is taken and averaged) Note: 00H = No delay (fastest possible samplerate) 01H..5EH = Not allowed 5FH..FFH = 1/samplerate (samplerate in systemclocks divided by 8) CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Table 24 Measure Acceleration Return values Parameter Description Status Status Byte Bit7 Reserved Bit6 Reserved Bit5 Reserved Bit4 VMIN warning Note: 0b = Battery Supply Voltage above VMIN threshold 1b = Battery Supply Voltage below VMIN threshold Bit3 Sensor Fault Diagnosis Resistor Note: 0b = Diagnosis Resistor Check successful 1b = Diagnosis Resistor Check failed Bit2 Sensor Fault Wire Bond Check Note: 0b = Wire Bond Check successful 1b = Wire Bond Check failed Bit1 Overflow of ADC Result Note: 0b = No overflow of the ADC Result 1b = Overflow of the ADC Result Bit0 Underflow of ADC Result Note: 0b = No underflow of the ADC Result 1b = Underflow of the ADC Result Data0 Compensated Acceleration High Byte Data1 Compensated Acceleration Low Byte Data2 RAW Acceleration High Byte Data3 RAW Acceleration Low Byte Data4 RAW Temperature High Byte Data5 RAW Temperature Low Byte CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 135 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.10 Measure Temperature This function performs a temperature measurement. The result is compensated for sensitivity and offset. S 0x6C A 0xA9 A 0xC5 A 0x33 A P Pause > 534s S 0x6D A Status A Data0 A Figure 53 Measure Temperature Table 25 Measure Temperature Return values Parameter Description Status Status Byte Bit7 Reserved Bit6 Reserved Bit5 Reserved Bit4 VMIN warning ... A Data3 A CRCH A CRCL nA P Note: 0b = Battery Supply Voltage above VMIN threshold 1b = Battery Supply Voltage below VMIN threshold Bit3 Reserved Bit2 Reserved Bit1 Overflow of ADC Result Note: 0b = No overflow of the ADC Result 1b = Overflow of the ADC Result Bit0 Underflow of ADC Result Note: 0b = No underflow of the ADC Result 1b = Underflow of the ADC Result Data0 Compensated Temperature High Byte Data1 Compensated Temperature Low Byte Data2 RAW Temperature High Byte Data3 RAW Temperature Low Byte CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 136 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.1.11 Measure Supply Voltage This function performs a battery voltage measurement. The result is compensated for offset. S 0x6C A 0xAA A 0xF5 A 0x50 A P Pause > 385s S 0x6D A Status A Data0 A ... Figure 54 Measure Supply Voltage Table 26 Measure Supply Voltage Return values Parameter Description Status Status Byte Bit7 Reserved Bit6 Reserved Bit5 Reserved Bit4 Reserved Bit3 Reserved Bit2 Reserved Bit1 Overflow of ADC Result A Data3 A CRCH A CRCL nA P Note: 0b = No overflow of the ADC Result 1b = Overflow of the ADC Result Bit0 Underflow of ADC Result Note: 0b = No underflow of the ADC Result 1b = Underflow of the ADC Result Data0 Compensated Battery Voltage High Byte Data1 Compensated Battery Voltage Low Byte Data2 RAW Battery Voltage High Byte Data3 RAW Battery Voltage Low Byte CRCH High Byte of CRC16 CRCL Low Byte of CRC16 Datasheet 137 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.2 DEBUG Mode Operation Note: DEBUG mode operation is automatically handled by the development environment provided by Infineon. Manual changes of the SFRs (see Table 27) and/or usage of the Debugger Commands (see "Debugger Commands" on Page 139) by other tools may result in undefined operation. 3.23.2.1 Debug Special Function Register The SP37T incorporates 8 debug registers that are cleared after Wakeup and Reset. CPU Debug Compare Register 0 (high) DBCH0 CPU Debug Compare Register 0 (high) Offset Wakeup Value 95H 00H Reset Value 00H 7 0 DBCH0 wr Field Bits Type Description DBCH0 7:0 wr CPU Debug Compare Register 0 (high) Reset: 00H Table 27 DEBUG mode SFRs Register Short Name Register Long Name DBCH0 Debug Compare Register 0 (highbyte) 95H 00H 00H DBCL0 Debug Compare Register 0 (lowbyte) 94H 00H 00H DBCH1 Debug Compare Register 1 (highbyte) 9DH 00H 00H DBCL1 Debug Compare Register 1(lowbyte) 9CH 00H 00H DBTH0 Debug Target Register 0 (highbyte) 97H 00H 00H DBTL0 Debug Target Register 0 (lowbyte) 96H 00H 00H DBTH1 Debug Target Register 1 (highbyte) 9FH 00H 00H DBTL1 Debug Target Register 1 (lowbyte) 9EH 00H 00H Datasheet Offset Address Wakeup Value Reset Value 138 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.2.2 Debugging Functionality During program execution the Program Counter (PC) of the microcontroller is continuously compared with the contents of the DBCHx + DBCLx registers. In case of a match the PC is automatically set to the address given in DBTHx + DBTLx to handle exceptions (e.g. breakpoints). The debugger consists of a debug handler and a single stepper. The debug handler processes the I2C communication and debug command interpretation. The debug commands SetSFR, ReadSFR, SetMemory, ReadMemory and SetPC, ReadPC are executed directly by the debug handler. The debug commands Single Step, Run Interruptible and Run to next Breakpoint are executed by the single stepper. 3.23.2.3 Debugger Commands The following figure shows the I2C nomenclature for the commands. from master to slave S start condition nA not acknowledge from slave to master P stop condition A acknowledge SR repeated start condition,may be replaced by Stop-Start condition Figure 55 3.23.2.3.1 I2C Legend - DEBUG Mode SetSFR - Set an SFR to a User-defined Value S 0x6C Figure 56 A 0x00 A Adr A Data A P DEBUG SetSFR Command Addr: represents the address of the SFR to be set. Data: this value has to be put into the SFR address specified by Addr. 3.23.2.3.2 ReadSFR - Read the Value of One SFR S 0x6C Figure 57 A 0x03 A Adr A P Pause > 9s S 0x6D A Data nA P DEBUG ReadSFR Command Addr: represents the address of the SFR to be read. Data: this value was read on the SFR address specified by Addr. Datasheet 139 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.2.3.3 SetMemory - Set one Byte in RAM to a User-defined Value S 0x6C Figure 58 A 0x06 A Adr A Data A P DEBUG SetMemory Command Addr: represents the address of the internal data memory to be set. Data: this value that has to be written into the internal data memory byte specified by Addr. 3.23.2.3.4 ReadMemory - Read One Byte of the RAM S 0x6C Figure 59 A 0x09 A Adr A P Pause > 9s S 0x6D A Data nA P DEBUG ReadMemory Command Addr: represents the address of the Internal data memory location to be read. Data: this value was read from the internal data memory address specified by Addr. 3.23.2.3.5 SetPC - Set the Program Counter to a user-defined value S 0x6C Figure 60 A 0x0C A AdrHi A AdrLo A P DEBUG SetPC Command AdrHi: MSB of the new Program Counter. AdrLo: LSB of the new Program Counter. 3.23.2.3.6 ReadPC - Read the Program Counter S 0x6C Figure 61 A 0x0F A P Pause > 9s S 0x6D A PCHi A PCLo nA P DEBUG ReadPC Command PCHi: MSB of the Program Counter. PCLo: LSB of the Program Counter. 3.23.2.3.7 SingleStep Execute one Opcode Instruction and return to the debug handler. S 0x6C Figure 62 Datasheet A 0x12 A P DEBUG SingleStep Command 140 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor 3.23.2.3.8 Run Interruptible The function executes consecutive single steps until any IC command is received on the bus. Compared to running the program in real-time this function has a slower execution speed by a factor of roughly 1/50, thus it cannot be used for debugging time critical application code. S 0x6C Figure 63 3.23.2.3.9 A 0x15 A P DEBUG Run Interruptible Command Run to Next Breakpoint The debugged program is executed without single steps in real-time. This enables debugging of runtime critical functions like RF transmission or LF data receiving. The execution is stopped when the PC matches one of the two hardware breakpoints. The second Breakpoint (Register 1) can be set if required using the SetSFR command. Note: If none of these breakpoints is hit the communication to the debugger is lost. S 0x6C Figure 64 A 0x18 A BPHi A BPLo A P DEBUG Run to Next Breakpoint Command BPHi: MSByte of the Breakpoint Register 0. BPLo: LSByte of the Breakpoint Register 0. Datasheet 141 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4 Specification 4.1 Test Board The parameters described in Table 35 "Supply Currents" on Page 151 and Table 36 "RF Transmitter" on Page 153 were obtained using the SP37T Testboard described in this chapter. The environment of the customer application have not been taken into account. 4.1.1 SP37T Test Board Schematics Figure 65 SP37T Test Circuit / Schematic Datasheet 142 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.1.2 SP37T Test Board Layout Figure 66 SP37T Test Board Layout 4.1.3 SP37T Test Board Placement Figure 67 SP37T Test Board Placement Datasheet 143 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.1.4 SP37T Test Board Bill of Material Table 28 SP37T Test Board Bill of Material Part Value C41 100 nF C42 100 nF, ESR max. 15 Ohm IC1 SP37T R11, R50, R51, R52, 0R Jumper X11 2pin Header (male) X51 5pin Header (male) X01 SMA Connector (female) 315 MHz 434 MHz PLow PMed/High PLow PMed/High C01 5.6 pF 4.7 pF 2.7 pF 2.7 pF C02 n.p. n.p. n.p. n.p. 1) C03 51 nH 39 pF 0 Ohm 0 Ohm C04 12 pF 8.2 pF 2.2 nH1) 2.2 nH1) C05 2.7 pF 1.5 pF n.p. n.p. C15 100 pF 100 pF 100 pF L01 1) 43 nH 47 nH 1) 1) 22 nH 30 nH1) L02 27 pF 47 nH1) 30 nH1) 18 nH1) L03 0 Ohm 0 Ohm 33 pF 27 pF 1) 1) 47 pF 1) 12 nH 18 nH1) 0 Ohm 5.6 pF 5.6 pF n.p. n.p. n.p. L04 18 nH 18 nH L05 0 Ohm L06 n.p. Q21 NDK NX5032SD 19.6875 MHz EXS00A-02825 NDK NX5032SD 18.0800 MHz EXS00A-03552 C21 15 pF 15 pF C22 4.7 pF 7.5 pF L21 82 nH 82 nH BAT11 Battery Clip 2032 C31, C32, C33, C50, C51, C52, L31, R12, R31, R32 Not placed 1) Coilcraft 0603CS Datasheet 144 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.2 Absolute Maximum Ratings Table 29 Absolute Maximum Ratings Parameter Symbol Values Unit Min. Typ. Max. Max. Supply Voltage Vbatmax -0.3 - +4.0 V Operating Temperature Tj -40 - +150 -55 Note / Test Condition Test Number 1.1 C Max 24 hrs accumulated over lifetime between 125C and 150C. Device powered Vbat=3.6 V 1.2 -40 C Temperature measurement, operation of interval timer 1.3 Operating temperature (transient) Ttrans +150 - +175 C Max 3 min., 10 times over lifetime device powered Vbat=3.6 V 1.4 Storage temperature Tstorage -40C - +150 C Max 1000 hours accumulated over lifetime between 125C and 150C. Device not powered 1.5 ESD robustness HBM VESD,HBM - 5000 V All pins According to EIA/JESD22-A114-B 1.6 ESD robustness CDM VESD,CDM - 500 V All pins (According to ESDA STM 5.3.1) 1.7 - 750 V Corner pins (According to ESDA STM 5.3.1) 1.8 Latch up ILU -100 - +100 mA AEC-Q100 (transient current) 1.9 Input voltage VIn,Digital -0,3 - Vbat + 0,3 V Pin PP0, PP1, PP2 1.10 VIn,LF -0,3 - +0,3 V Pin LF, XLF 1.11 XTAL Input Voltage VIn,XTAL -0,3 - Vreg + 0,3 V Pin XTAL 1.12 Input and Output current (digital I/O pins) IIO,Digital - - 4 mA Pin PP0, PP1, PP2 1.13 - - 4 mA Pin LF, XLF 1.14 0 - 2000 kPa - 1.15 2000 - 2500 kPa Max. 2 sec. 5 times over lifetime 1.16 Input current (LF pins) IIn,LF Input Pressure range Datasheet pIn 145 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification Table 29 Absolute Maximum Ratings Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Test Number Static acceleration astatic - 3000 g - 1.17 Mechanical shock ashock - 4000 g Level: 4000 g peak Pulse duration: 0.3ms Waveform: Half sine Power: 3.0 V 5 shocks each dir. +/x,y,z-axis (MIL-STD 883E) 1.18 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Attention: Stresses above the max. values listed here may cause permanent damage to the device. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Maximum ratings are absolute ratings; exceeding only one of these values may cause irreversible damage to the integrated circuit. Datasheet 146 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.3 Operating Range The following operating conditions must not be exceeded in order to ensure correct operation of the SP37T. All parameters specified in the following sections refer to these operating conditions unless otherwise mentioned. Table 30 Operating Range Parameter Supply Voltage Symbol Unit Note / Test Condition Test Number Min. Typ. Max. Vbat1 2.1 - 3.6 V Measurement of pressure, acceleration or temperature. Operation of LF receiver 2.1 Vbat2 1.9 - 3.6 V Battery measurements, microcontroller, RF transmitter, FLASH reading 2.2 Vbat3 2.5 - 3.6 V FLASH programming/erasing 2.5 -40 - 125 C Normal Operation 2.11 0 - 60 C FLASH programming/erasing 2.12 - 1600 g Exceeding this value will result in a higher pressure error than specified in Table 31 2.13 Ambient Temperature TOperating TFlash z-axis acceleration Values aOperating Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 147 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4 Characteristics Product characteristics involve the spread of values within the specified voltage and ambient temperature range. Supply voltage: Vbat = 1.9 V ... 3.6 V, unless otherwise specified Ambient temperature: Tamb = -40C ... +125C, unless otherwise specified 4.4.1 Pressure Sensor (1300kPa variant) Table 31 Pressure Sensor (1300 kPa variant)1) , Vbat = 2.1 V...3.3 V Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Test Number Minimum Input Pressure pin, min - - 100 kPa T= -40...125C 4.1 Maximum Input Pressure2) pin, max 1300 - - kPa T= -40...125C 4.2 100 - 500 kPa T= -40...125C 4.3 pError,100-500 -35 - +35 kPa T= -40...0C 4.4 -23 - +23 kPa T= 0...80C 4.5 -50 - +50 kPa T= 80...125C 4.6 500 - 1050 kPa T= -40...125C 4.8 pError,500-1050 -30 - +30 kPa T= -40...0C 4.9 -23 - +23 kPa T= 0...40C 4.10 -30 - +30 kPa T= 40...80C 4.11 -40 - +40 kPa T= 80...125C 4.12 1050 - 1300 kPa T= -40...125C 4.14 pError,1050- -35 - +35 kPa T= -40...0C 4.15 1300 -25 - +25 kPa T= 0...40C 4.16 -30 - +30 kPa T= 40...80C 4.17 -50 - +50 kPa T= 80...125C 4.18 0.9 - 2.0 kPa T= -40C 4.19 1.12 - 2.3 kPa T= 25C 4.20 1.3 - 2.75 kPa T= 125C 4.21 4.7 kPa Minimum 95% of the measurements 4.22 Input Pressure Range pin,100-500 Measurement Error Input Pressure Range pin,500-1050 Measurement Error Input Pressure Range pin,1050-1300 Measurement Error RAW LSB resolution pLSB,RAW Pressure psta Measurement Stability Range -4.7 1) This table is based on the average of 2 ADC samples 2) The maximum input pressure is equal or greater than 1300 kPa for +40C< T < 125C. For -40C < T < + 40C, the maximum input pressure is allowed to decrease below 1300 kPa but shall respect the following law: Pin max >= 1300kPa + 4.15 * (T - 40C) Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 148 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.2 z-axis Acceleration Sensor Table 32 z-axis Acceleration Sensor1), Vbat = 2.1 V...3.3 V Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Test Number g T= -40...125C Input Acceleration Range ain -115 - 115 Sensitivity Error aSensitivity -18.75 - +18.75 % T= -40...90C 5.2 -24 - +24 % T= 90...125C 5.3 -6 - +6 g T= -20...70C 5.4 -8.5 - +8.5 g T= -40...-20C T= 70...90C 5.5 -12 - +12 g T= 90...125C 5.6 0.46 - 0.82 g T= -40C 5.9 0.53 - 0.93 g T= 25C 5.10 0.62 - 1.14 g T= 125C 5.11 Acceleration arandom Measurement Stability Range -1.6 - +1.6 g Minimum 95% of the measurements 5.12 Accelerometer Quality Qacc Factor - - 600 - 5.13 Offset Error RAW LSB resolution aOffset aLSB,RAW 5.1 1) This table is based on the average of 2 ADC samples Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 149 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.3 Temperature Sensor Table 33 Temperature Sensor1), Vbat = 2.1 V...3.6 V Parameter Symbol Measurement Error TError Temperature Tsta Measurement Stability Range Values Unit Note / Test Condition Test Number Min. Typ. Max. -3 - +3 C T= -20...70C 6.1 -5 - +5 C T= -40..-20C T= 70..125C 6.2 +1 C Minimum 95% of the measurements -1 6.3 1) This table is based on the average of 2 ADC samples Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. 4.4.4 Battery Sensor Table 34 Battery Sensor1), Vbat = 2.1 V...3.6 V Parameter Measurement Error Symbol VError Values Min. Typ. Max. -100 - +100 Unit Note / Test Condition mV - Test Number 7.1 1) This table is based on the average of 2 ADC samples Datasheet 150 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.5 Supply Currents Table 35 Supply Currents Parameter Symbol Values Min. Supply Current RF Transmission1) Modulation: FSK SFR DIVIC[1:0]: 11B Note / Test Condition Test Number Typ. Max. IP Low,1.9V,-40 - - 8 mA Vbat= 1.9 V, T= -40C SFR RFTX.PAOP = 00b Pout ~ 1 dBm Zload,434MHz ~ 500 Ohm Zload,315MHz ~ 650 Ohm 8.1 IP Low,3.0V,-40 - - 9 mA Vbat= 3.0 V, T= -40C SFR RFTX.PAOP = 00b Pout ~ 5 dBm Zload,434MHz ~ 500 Ohm Zload,315MHz ~ 650 Ohm 8.3 IP Low,3.0V,25 - - 10 mA Vbat= 3.0 V, T= 25C SFR RFTX.PAOP = 00b Pout ~ 5 dBm Zload,434MHz ~ 500 Ohm Zload,315MHz ~ 650 Ohm 8.4 IP Low,3.0V,125 - - 12 mA Vbat= 3.0 V, T= 125C SFR RFTX.PAOP = 00b Pout ~ 5 dBm Zload,434MHz ~ 500 Ohm Zload,315MHz ~ 650 Ohm 8.5 IP Med,1.9V,-40 - - 10 mA Vbat= 1.9 V, T= -40C SFR RFTX.PAOP = 01b Pout ~ 4 dBm Zload,434MHz ~ 300 Ohm Zload,315MHz ~ 450 Ohm 8.6 IP Med,3.0V,-40 - - 12 mA Vbat= 3.0 V, T= -40C SFR RFTX.PAOP = 01b Pout ~ 8 dBm Zload,434MHz ~ 300 Ohm Zload,315MHz ~ 450 Ohm 8.8 IP Med,3.0V,25 - - 14 mA Vbat= 3.0 V, T= 25C SFR RFTX.PAOP = 01b Pout ~ 8 dBm Zload,434MHz ~ 300 Ohm Zload,315MHz ~ 450 Ohm 8.9 IP - 15 mA Vbat= 3.0 V, T= 125C SFR RFTX.PAOP = 01b Pout ~ 8 dBm Zload,434MHz ~ 300 Ohm Zload,315MHz ~ 450 Ohm 8.10 - Med,3.0V,125 Datasheet Unit 151 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification Table 35 Supply Currents (cont'd) Parameter Symbol Values Min. Unit Note / Test Condition Test Number Typ. Max. POWER DOWN IPD,3.0V,25C - current IPD,3.0V,90C - RAM lower memory IPD,3.0V,125C - block powered down SFR CFG2.PDLMB:1b - 700 nA Vbat= 3.0 V, T= 25C - 3.5 A Vbat= 3.0 V, T= 90C - 19.5 A Vbat= 3.0 V, T= 125C IPD_RAMen,3.0 - POWER DOWN current V,25C RAM lower memory IPD_RAMen,3.0 - block kept powered V,90C SFR CFG2.PDLMB:0b IPD_RAMen,3.0 - - 750 nA Vbat= 3.0 V, T= 25C 8.16 - 3.9 A Vbat= 3.0 V, T= 90C 8.17 - 21 A Vbat= 3.0 V, T= 125C 8.18 ITS,3.0V,125C - THERMAL SHUTDOWN current RAM lower memory block powered down SFR CFG2.PDLMB:1b - 170 A Vbat= 3.0 V, T= 125C THERMAL ITS_RAMen, SHUTDOWN current 3.0V, 125C RAM lower memory block powered down SFR CFG2.PDLMB:1B - - 175 A Vbat= 3.0 V, T= 125C IDLE current SFR DIVIC: 00B Timer0 active IIdle,3.0V,25C - - 1 mA Vbat= 3.0 V, T= 25C IIdle,3.0V,125C - - 1.1 mA Vbat= 3.0 V, T= 125C RUN current (Peripheral units in active state) SFR DIVIC: 00B IRun,3.0V,25C - - 2.1 mA Vbat= 3.0 V, T= 25C IRun,3.0V,125 - - 2.4 mA Vbat= 3.0 V, T= 125C 8.24 RUN current (PLL enabled) SFR DIVIC: 11B IPLL,3.0V,25C - - 8 mA Vbat= 3.0 V, T= 25C 8.25 IPLL,3.0V,125 - - 9 mA Vbat= 3.0 V, T= 125C 8.26 LF Receiver current ILF_Add,AFE SFR bits LFBBM: 00B 4 A 8.27 LF Receiver current2) ILF_Add,l SFR bits LFBBM: 01B 6.1 A Vbat= 3.0 V, T= -40...90C 8.28 ILF_Add,f, 7.8 A Vbat= 3.0 V, T=-40...125C 8.29 8.13 8.14 8.15 V,125C 8.19 8.20 8.21 8.22 8.23 C C 1) These parameters were obtained using the SP37T Test Board. Tolerances of the passive elements (matching network) not taken into account. The environment of the customer application have not been taken into account 2) This additional LF current is valid for all LF baseband conditions. The difference in current consumption between decoding and not decoding is negligible. Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 152 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.6 RF Transmitter Table 36 RF Transmitter1) Parameter Symbol Values Min. Transmit Frequency Output Power transformed into 50 Ohm fTx,315MHz Typ. Unit Note / Test Condition Test Number Max. 300 320 MHz - 9.1 fTx,433.92MHz 433 450 MHz - 9.2 Plow, 4 5 6 dBm Vbat= 3.0 V, T= 25C SFR RFTX.PAOP = 00b Zload~ 500 Ohm 9.5 7 8 9 dBm Vbat= 3.0 V, T= 25C SFR RFTX.PAOP = 01b Zload~ 300 Ohm 9.6 Plow, 315 MHz 4 5 6 dBm Vbat= 3.0 V, T= 25C SFR RFTX.PAOP = 00b Zload~ 650 Ohm 9.9 Pmed, 315 MHz 7 8 9 dBm Vbat= 3.0 V, T= 25C SFR RFTX.PAOP = 01b Zload~ 450 Ohm 9.10 433.92 MHz Pmed, 433.92 MHz Output Power change dP-40C over temperature 0 - +1 dB Vbat= 3.0 V, T= -40C 9.13 Output Power change dP125C over temperature 0 - -1.5 dB Vbat= 3.0 V, T= 125C 9.14 Output Power change dP1.9V over supply voltage 0 - -8 dB Vbat= 1.9 V, T= 25C 9.15 Output Power change dP2.5V over supply voltage 0 - -2.8 dB Vbat= 2.5 V, T= 25C 9.17 Output Power change dP3.6V over supply voltage 0 - +2.8 dB Vbat= 3.6 V, T= 25C 9.18 Datarate DRRF - - 10 kBit/s Equivalent to 20 kchips/s 9.19 Datarate accuracy dDRRF - - +/-1 % fcrystal = 18.080/19.6875MHz DRRF = 9600Bit/s SFR TMOD.T1CLK = 01b SFR TMOD.TCLKM = 1b 9.20 Spurious emissions (incl. harmonics) @ fTx = 315 MHz Pspurii,FCC - - -28 dBc FCC 15.231a/e 2nd - 10th harmonic other spurious <1GHz 9.21 Datasheet 153 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification Table 36 RF Transmitter1) (cont'd) Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Test Number Spurious emissions (incl. harmonics) @ fTx = 433.92 MHz Pspurii,ETSI,RB - - -54 dBm ETSI EN300220 BW = 10 kHz, 4774 MHz, 87.5 MHz118 MHz, 174230 MHz, 470862 MHz 9.22 Spurious emissions (incl. harmonics) @ fTx = 433.92 MHz Pspurii,ETSI,<1 - - -36 dBm ETSI EN300220 BW = 10 kHz other <1 GHz 9.23 - -30 dBm ETSI EN300220 BW = 10 kHz >1 GHz 9.24 G Pspurii,ETSI,>1 - Spurious emissions (incl. harmonics) @ fTx = 433.92 MHz G Phase Noise PPN, 10kHz - - -80 dBc/H fCarrier +/- 10 kHz z 9.25 PPN, 100kHz - - -80 dBc/H fCarrier +/- 100 kHz z 9.26 PPN, 1 MHz - - -90 dBc/H fCarrier +/- 1 MHz z 9.27 PPN, 10 MHz - - -120 dBc/H fCarrier +/- 10 MHz z 9.28 1) The parameter in this table were obtained using the SP37T Test Board. Tolerances of the passive elements (matching network) not taken into account. The environment of the customer application have not been taken into account. Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 154 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.7 LF Receiver Table 37 LF Receiver, Vbat = 2.1 V...3.6 V Parameter Symbol Values Min. Typ. Max. - 12 Differential Input Capacitance CInput,LF 8 Differential Input Resistance DC RInput,LF 1M Unit Note / Test Condition Test Number pF @ 125 kHz Ohm AGC disabled 10.1 10.2 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 155 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification LF Receiver Telegram // Basic LFRX0 = LFRX1 = LFRX2 = LFCDM0 = LFRXC = LF Telegram Configuration 0x8C; // AGC Threshold, LF Antenna Voltage Divider Factor 0x20; // AGC Decay Time Constant, Autocalibration Time 0x77; // AGC Attack Time Constant 0x1C; // Enable Autocalibration 0x14; // Enable AGC, LF Baseband on while LFRx enabled, Enable LFRx Figure 68 LF Receiver Special Function Register Settings for Telegram Mode Table 38 LF Receiver Telegram, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz Parameter Symbol Values Unit Note / Test Condition Test Number Min. Typ. Max. 3.9 - kBit/s - 10.6 2.5 % Using "LFBaudrateCalibration " ROM Library function once for initial calibration in production @ Vbat= 2.5 V, T= 25C 10.8 10.9 Datarate DRLF - Datarate error DRerror,c -2.5 Preamble length tpreamble 2 4 - ms DRLF = 3.9 kbit/s,tbit = 1/DRLF Settling time tsettling 2.4 3.5 5.8 ms LFRX enabled by LFOOT1) Min/Max tolerances from 2 kHz RC Oscillator applied SFR LFRX1.ACT = 10b SFR bit ENOOTIM = 1b 10.10 LF Telegram Sensitivity LFtele,det,f 2.5 mVpp Refer to test case T-1.2 10.13 1) If LF Receiver (LFRX) is enabled by CPU via SFR LFRXC.ENLFRX or autocalibration cycle is started by SFR LFRXC.CDRECAL then up to one additional 2 kHz RC oscillator period must be added to the given times Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Table 39 Parameter LF Receiver Telegram, Vbat = 2.1 V...3.6 V, T = -20 C...90 C, fLF = 120 kHz...130 kHz Symbol Values Min. LF Telegram Sensitivity LFtele,det,l Typ. Unit Note / Test Condition Test Number Max. 1.3 mVpp Refer to test case T-1.2 10.19 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 156 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification LF Receiver Carrier Detector // Defines #define CDETT_Levels_Base_Address 0x580E #define CDETT_Level 1 // Configure Carrier Detector Threshold Level (values 1, 2 or 3) #define CDFLT_Times_Base_Address 0x580B #define CDFLT_Time 1 // Configure Carrier Detector Filter Time (values 1, 2 or 3) // Basic LF Carrier Detection Configuration, Sensitivity Settings, Filter Settings LFCDM0 = 0x1C; // Carrier Detector Dynamic Treshold, Enable Autocalibration & Freeze Hold // Load Carrier Detector Filter Time from Flash LFCDFLT = CBYTE[CDFLT_Times_Base_Address-(CDFLT_Time-3)]; // Load Carrier Detector Threshold from Flash LFRX0 = CBYTE[CDETT_Levels_Base_Address-(CDETT_Level-3)]; LFRX1 = 0x10; LFRX2 = 0x77; LFRXC = 0x04; // AGC Decay Time Constant, Autocalibration Time // AGC Attack Time Constant // Enable AGC, LF Baseband off, Enable LFRx Figure 69 LF Receiver Special Function Register Settings for Carrier Detection Table 40 LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz Parameter Symbol Values Min. Typ. Max. 5.5 9.1 Unit Note / Test Condition Test Number ms LFRX enabled by LFOOT1) Min/Max tolerances from 2 kHz RC Oscillator applied SFR LFRX1.ACT = 01b SFR bit ENOOTIM = 1b 10.20 Auto-Calibration time tcalibration,1 3.8 Maximum Amplitude for Carrier Detector Filter Smax,f 30 mVpp Refer to test case T-1.1 10.22 LF Carrier Detect Threshold 12) Snodet,1,f 0.33 mVpp Refer to test case T-1.2 10.23 3.35 mVpp 10.24 LF Carrier Detect Threshold 22) Snodet,2,f 10.25 11 mVpp Carrier Detector Filter mVpp Time 1 Refer to test case T-1.2 10.26 LF Carrier Detect Threshold 32) Snodet,3,f mVpp Refer to test case T-1.2 10.27 mVpp 10.28 Sdet,1,f 2 Sdet,2,f 10 Sdet,3,f 50 Carrier Detector Filter tCDnodet,1 Time 1 t 62 Carrier Detector Filter tCDnodet,2 Time 2 t 500 Carrier Detector Filter tCDnodet,3 Time 3 t 800 240 CDdet,1 800 CDdet,2 CDdet,3 Datasheet s 1150 157 Refer to test case T-1.1 10.29 s 10.30 s Refer to test case T-1.1 10.31 s 10.32 s Refer to test case T-1.1 10.33 s 10.34 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification Table 40 LF Receiver Carrier Detection, Vbat = 2.1 V...3.6 V, fLF = 120 kHz...130 kHz (cont'd) Parameter Symbol Values Min. Carrier Detection Freeze Hold Time Typ. Unit Note / Test Condition Test Number Max. tCDCFH,125 2 s T=125C 10.35 tCDCFH,25 300 s T=25C 10.36 1) If LF Receiver (LFRX) is enabled by CPU via SFR LFRXC.ENLFRX or autocalibration cycle is started by SFR LFRXC.CDRECAL then up to one additional 2 kHz RC oscillator period must be added to the given times 2) For reliable carrier detection a minimum pulse length of 240s is required Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Table 41 LF Receiver Carrier Detection, Vbat = 2.3 V...3.3 V, T = -20 C...90 C, fLF = 120 kHz...130 kHz Parameter Symbol Values Min. Typ. Unit Note / Test Condition Test Number Max. Maximum Amplitude for Carrier Detector Filter Smax,l 100 mVpp Refer to test case T-1.1 10.37 LF Carrier Detect Threshold 21)2) Snodet,2,l 3 mVpp Carrier Detector Filter mVpp Time 1 Refer to test case T-1.2 10.38 Sdet,2,l 10 10.39 1) For reliable carrier detection a minimum pulse length of 240s is required 2) Tested with LF Carrier Detector Filter Time 1 - verified by characterization/design for LF Carrier Detector Filter Times 2, 3 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 158 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.8 LF Test Cases T-1.1, Test Case for large LF signal measurements Setup Test Circuit Alternate Test Circuit Epcos B1032 LF 16 .5k 50 LF 50 16 .5k 100 50 Vp=1/2*Q*50 mV/T Q = 2.5 vLF vLF ASIC 100 ASIC 16 .5k Vp=1/2*Q*50 mV/T Q = 2.5 XLF Note: Vppdiff = 4* Vp 50 50 16.5k XLF Figure 70 Test Circuit for large LF signal measurements T-1.2, Test Case for small LF signal measurements Setup Test Circuit Alternate Test Circuit Epcos B1032 LF 50 LF 50 50 100 Vp=1/2*Q*50 mV/T Q = 2.5 vLF vLF ASIC 100 ASIC Vp=1/2*Q*50 mV/T Q = 2.5 XLF Note: Vppdiff = 4* Vp 50 50 XLF Figure 71 Datasheet Test Circuit for small LF signal measurements 159 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.9 Crystal Oscillator Table 42 Crystal Oscillator, fCrystal = 18 MHz...20 MHz Parameter Crystal startup time Symbol tXTAL,Startup Parasitic capacitance Cparasitic from XTAL pin to GND (PCB tracks, XTAL shield, etc.) Values Unit Note / Test Condition Test Number Min. Typ. Max. - 700 1250 s Measured on SP37T Test Board (see "Test Board" on Page 142) with Crystal NX5032SD EXS00A-03552 CL=12 pF, fCrystal = 18,08 MHz 12.1 - - 4 pF - 12.2 - - 60 Ohm - 12.3 2.9 3.8 H Vbat= 3.0 V, T= 25C 12.4 Serial resistance of the crystal RRmax Input inductance LOSC,3.0V,25 2.0 C LOSC 1.8 2.9 4.3 H - 12.5 Internal cap bank Cbank maximum capacitance 36 40 44 pF Between pin XTALCAP and pin XGND SFR XTAL1 = FFH SFR RFENC.TXDD = 1 12.6 60 Ohm Between pin XTALCAP and pin XGND SFR bit FSKSWITCH = 1B SFR RFENC.TXDD = 1 12.7 kOhm Between pin XTALCAP and pin XGND SFR bit FSKSWITCH = 0B SFR RFENC.TXDD = 1 12.8 pF 12.9 FSK Switch ON resistance RSwitch,ON FSK Switch OFF resistance RSwitch,OFF 100 FSK Switch OFF capacitance CSwitch,OFF 3.2 3.5 3.8 Between pin XTALCAP and pin XGND SFR XTAL1 = 0x00B SFR bit FSKSWITCH = 0B SFR RFENC.TXDD = 1 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 160 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.10 12 MHz RC HF Oscillator Table 43 12 MHz RC HF Oscillator Parameter Symbol Operating frequency fRC,HF Values Min. Typ. Max. 11.04 12.00 12.96 4.4.11 2 kHz RC LP Oscillator Table 44 2 kHz RC LP Oscillator Parameter Unit Symbol Values Min. Typ. Max. Note / Test Condition MHz Test Number 13.1 Unit Note / Test Condition Test Number Operating frequency fRC,LP 1.3 2 2.7 kHz Vbat= 3.0 V, T= 25C 14.1 Frequency drift dfRC,LP -7 - +7 % - 14.2 Datasheet 161 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.12 Interval Timer & LF On/Off Timer Table 45 Interval Timer / LF On/Off Timer Parameter Symbol Interval Timer dfITP Precounter calibration error Values Unit Note / Test Condition Test Number Min. Typ. Max. -0.083 - 0 %/Hz Error is dependent upon Interval Timer timebase specified to "Interval Timer Calibration" ROM Library function. This error does not include reference clock (XTAL or 12 MHz RC oscillator) and 2 kHz RC LP oscillator drift errors. 15.1 LF On/Off Timer calibration error "On" Time dfLFON -1.64 - 4.92 % Error is assumes usage of "Interval Timer Calibration" ROM Library function. This error does not include reference clock (XTAL or 12 MHz RC oscillator) and 2 kHz RC LP oscillator drift errors. 15.2 LF On/Off Timer calibration error "Off" Time dfLFOFF -1.64 - 0 % Error is assumes usage of "Interval Timer Calibration" ROM Library function. This error does not include reference clock (XTAL or 12 MHz RC oscillator) and 2 kHz RC LP oscillator drift errors. 15.3 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 162 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.13 Voltage Regulator Table 46 Voltage Regulator1)2) Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Test Number Regulated output voltage in RUN state VREG 1.9 2.1 2.4 V Vbat= 2.1 V - 3.6 V, 17.1 Regulated output voltage at low battery in RUN state VREG,Low 1.8 - 2.1 V Vbat= 1.9 V - 2.1 V 17.2 Regulated output voltage in Programming mode VREG 2.3 2.5 2.75 V Vbat= 2.5 V - 3.6 V 17.4 Regulated output voltage in POWERDOWN and THERMAL SHUTDOWN VREG,PD 1.7 - 2.5 V - 17.5 External Capacitance at Vreg Pin CVREG 60 100 - nF Maximum ESR 15 Ohm 17.6 1) The voltage regulator is designed to supply only the internal blocks of the SP37T and not designed to drive any external circuitry, thus only the decoupling cap is allowed to be connected to pin Vreg. A 100nF decoupling cap with an maximum ESR of 15 Ohm is recommended for proper operation. 2) The voltage regulator is designed to supply only the internal blocks of the SP37T. It is not designed to drive any external circuitry, including the embedded PA. A 100nF decoupling cap with an maximum ESR of 15 Ohm is recommended for proper operation. It is not prohibited to connect the PA to pin Vreg as long as the customer verifies that the behavior of the different SP37T devices is always correct and within the specification. Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 163 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.14 Power On Reset / Brown Out Reset Table 47 Power On Reset / Brown Out Reset Parameter Symbol Values Unit Note / Test Condition Test Number Min. Typ. Max. Power On Reset level VPOR 0.2 0.4 1.7 V Min. supply voltage level measured at Pin VREG for a valid logic LOW at Power On Reset circuit Power On Reset release level VTHR 1.7 - 1.8 V Measured at Pin VREG 16.3 Power On reset time tPOR 0.25 - 10 ms - 16.4 Brown Out detect level VRUN,BRD in RUN state 1.7 - 1.8 V Measured at Pin VREG 16.5 Brown Out detect level VPD,BRD in POWERDOWN and THERMAL SHUTDOWN 0.7 - 1.7 V Measured at Pin VREG 16.8 16.1 Mode selection time tmode - - 2.5 ms - 16.10 Minimum detectable Brown Out glitch in RUN state tBrownout,RUM - - 1 s - 16.11 Minimum detectable Brown Out glitch in POWERDOWN and THERMAL SHUTDOWN state tBrownout,PD - 100 s - 16.12 - Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. 4.4.15 VMIN Detector Table 48 VMIN Detector Parameter Symbol Low battery threshold THLBAT warning level Datasheet Values Min. Typ. Max. 2.0 2.1 2.2 164 Unit Note / Test Condition V Used by ROM Library functions only Test Number 18.1 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.16 FLASH Memory Table 49 FLASH Memory Parameter Symbol Erase/Program temperature TFL Erase/Program supply Vbat3 voltage Values Unit Note / Test Condition Test Number Min. Typ. Max. 0 - +60 C - 19.1 2.5 - 3.6 V - 19.2 19.3 Endurance EnFlash 100 - - cycles Programming/erase cycles per wordline Erase time tErase - 102 - ms Min/max can be derived by adding the tolerance and drift of the 12 MHz RC HF Osc. (see Table 43) 19.4 - 2.2 - ms FLASH line = 32 Byte min/max can be derived by adding the tolerance and drift of the 12 MHz RC HF Osc. (see Table 43) 19.5 Write time per FLASH tProgram line Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. 4.4.17 TMAX Detector Table 50 TMAX Detector Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Used by "ThermalShutdown" ROM Library function only. The TMAX enable temperature is verified to be above the release temperature. THERMAL SHUTDOWN release temperature TTMAX,Release 115.5 - - C THERMAL SHUTDOWN enable temperature TTMAX, Enable 117 - 125 C Test Number 20.1 20.2 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 165 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Specification 4.4.18 Watchdog Timer Table 51 Watchdog Timer Parameter Symbol Watchdog timeout tWatchdog Values Min. Typ. Max. 0.6 1 1.7 Unit Note / Test Condition Test Number s Min/max is derived by considering the tolerance and drift of the 2 kHz RC LP Osc. (see Table 44) 21.1 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. 4.4.19 Digital I/O pins Table 52 Digital I/O pins Parameter Symbol Values Min. Typ. Max. Unit Note / Test Condition Test Number Input LOW voltage VIL -0.2 - 0.4 V - 22.1 Input HIGH voltage VIH VBat 0.4 - VBat + V 0.2 - 22.2 Output LOW voltage VOL - - 0.5 V IOL= 1.6 mA 22.3 Output HIGH voltage VOH VBat 0.5 - - V IOH= -1.6 mA 22.4 Output transition time tHL, LH - - 30 ns 20 pF load, 10% ... 90% 22.5 Parasitic capacitance Cpad - - 5 pF - 22.6 Internal pullup / pulldown resistor Rup/down 35 50 70 kOhm Pin PP0, PP1 22.7 Rup/down 175 250 335 kOhm Pin PP2 22.8 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. 4.4.20 I2C Interface Table 53 I2C Interface Parameter 2 I C bitrate Symbol DRI2C Values Min. Typ. Max. - - 400 Unit Note / Test Condition Test Number kbit/s SFR DIVIC[1:0]: 00B 23.1 Attention: Test means that the parameter is not subject to production test. It was verified by design/characterization. Datasheet 166 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Package Information 5 Package Information 5.1 Package Outline Figure 72 PG-DSOSP-14-6 Package Dimensions Dimensions in [mm]1)2) 1) Dimension does not include mold flash, protrusions or gate burrs. Mold flash, protrusions and gate burrs do not exceed 0.15mm (0.006 inch) per side. 2) Dimension does not include inter-lead flash or protrusions. Inter-lead flash and protrusions do not exceed 0.25mm (0.010 inch) per side. Datasheet 167 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor Package Information 5.2 Identification Code Figure 73 PG-DSOSP-14-6 marking The marking for the SP37T is on the topside of the package. 5.2.1 Identification Code Definition KKJWWNNNSXX: Infineon Lot Number ZZZZZ: Product Identification (SP370) O: Pin 1 Marking NNNNN: Manufacturer Version (NN = 23 Villach Sensor) and Sensor Information Code (NN = 15) G: Green Package Indicator1) YYWW: Date Code (YY = Year, WW = week) 1) The Green Package fulfils the solder condition for Pb-Free Assembly according to IPC/JEDEC J-STD-020C. Datasheet 168 Revision 1.1, 2012-04-03 SP37T Tire Pressure Monitoring Sensor References References This section contains documents used for cross-reference throughout this document. [1] SP37T ROM Library function guide Datasheet 169 Revision 1.1, 2012-04-03 www.infineon.com Published by Infineon Technologies AG