L o w P o w e r 3D Magnetic Sensor with I2C Interface 3D Magnetic Sensor with I2C Interface T L V 4 9 3 D - A 1 B 6 3D Magnetic Sensor 3D Magnetic Sensor User’s Manual V 1.02, 2016-05 Sense & Control TLV493D-A1B6 3D Magnetic Sensor Table of Contents 1 1.1 1.2 1.3 Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1 2.2 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Power mode control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Sensing part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 3.1 3.2 Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Calculation of the magnetic flux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Calculation of the temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4 4.1 4.2 4.3 4.3.1 I2C Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interface Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C format description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Timing diagrams and access modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I2C timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 10 11 13 13 5 5.1 5.2 5.3 5.3.1 5.4 5.4.1 5.5 5.6 5.6.1 Access modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power Up and Power Down Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fast mode (3.3 kHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Low Power mode (100 Hz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ultra Low Power Mode (10 Hz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Master-controlled Mode (variable to fmax = 3.3 kHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User defined configuration (Master controlled Low Power Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . ADC hang up in Master Controlled or Fast Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power supply considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14 15 16 16 17 18 18 19 19 6 Bus configuration with multiple sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7 7.1 7.2 7.2.1 7.2.1.1 7.2.2 7.2.2.1 I2C Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Registers overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bit Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Read Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Write Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 User’s Manual 2 5 5 5 6 24 24 24 25 25 31 31 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor List of Tables Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Conversion table for 12Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Conversion table for 8Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Conversion table for 12Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Interface and Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Addressing with multiple slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Addressing with multiple slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Bit Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 User’s Manual 3 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor 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 TLV493D-A1B6 measured magnetic field strength directions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 General I2C format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Read example with default setting ADDR=1 (=BD; Write = BC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Read example with ADDR=0 (3F; Write = 3E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 I2C read communication example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 I2C write communication example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 I2C timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Current consumption during power up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Fast Mode (/w and w/o temp. measurement) in relation to /INT output . . . . . . . . . . . . . . . . . . . . . 15 Synchronous, low-power I2C readout using an /INT wake-up pulse . . . . . . . . . . . . . . . . . . . . . . . . . 16 Synchronous, fast I2C access using a periodic I2C read-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Synchronous, fast I2C access using an /INT trigger for I2C readout . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Application circuit for bus configuration with two slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Start-up sequence and timing for bus configuration with two slaves . . . . . . . . . . . . . . . . . . . . . . . 21 Application circuit for bus configuration with eight slaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Start-up sequence and timing for bus configuration with eight slaves . . . . . . . . . . . . . . . . . . . . . . 23 Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Colour legend for the Bitmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 User’s Manual 4 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Product Description 1 Product Description 1.1 Overview The 3D magnetic sensor TLV493D-A1B6 detects the magnetic flux density in three directions; x, y and z. The magnetic flux density in the z-direction (Bz) is detected by a lateral-Hall plate parallel to the surface of the chip. The magnetic flux density in the x- and y-direction (Bx and By) are detected by vertical-Hall plates perpendicular to the surface of the chip. N N S Z X D GN D GN D VD Y D GN ( AD )S DR T) DA N Figure 1 L SC N (/ I S S TLV493D-A1B6 measured magnetic field strength directions With the measured magnetic flux density in the three directions, the TLV493D-A1B6 allows to map the position of a magnet in a 3D space. The magnet is usually glued (e.g. with silicone adhesives) in the moving part in a system. The magnet material (strength) and geometry (shape) will determine the maximum distance that can be measured in each of the three directions as well as the sensibility to position changes. 1.2 Features • 3D magnetic flux density sensing • Very low power consumption = 10µA during operation (10Hz, typ) • Power down mode with 7nA power consumption • Digtial output via 2-wire standard I2C interface up to 1MBit/sec • 12 bit data resolution for each measurement direction • Bx, By and Bz linear field measurement up to +-130mT • Excellent matching of X/Y measurement for accurate angle sensing • Variable update frequencies and power modes (configurable during operation) • Supply voltage range = 2.8V...3.5V • Temperature range Tj = -40°C...125°C • Small, industrial 6 pin TSOP package User’s Manual 5 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Product Description • Triggering by external µC possible • Interrupt signal available to wake up a microcontroller • Temperature measurement 1.3 Application The 3D magnetic sensor TLV493D-A1B6 measures three-dimensional, linear and and rotation movements. Therefore the TLV493D-A1B6 is suitable for appliactions such as joysticks, control elements (white goods, multifunction knops, human-machine interfaces or HMI), electric meters (anti tampering) and any other application that requires accurate angular measurements. Due to its low power consumption concept it can also address applications where power consumption is critical. User’s Manual 6 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Functional Description 2 Functional Description Description of the Block diagram and its functions. F-OSC Power Mode Control LP-OSC VDD GND Bias Spinning vertical-Hall plates X-Direction SCL; /INT Spinning lat. Hall plates Z-Direction Comparator z ADC Digital tracking , demodulation & I²C interface SDA MUX Spinning vertical -Hall plates Y-Direction Register & Interface Sensing Part Temperature Figure 2 Block Diagram The IC consists of three main function units containing following building blocks: • The power mode control system, containing a low-power oscillator, basic biasing, accurate reset, undervoltage detection and a fast oscillator. • The sensing part, containing the HALL biasing, HALL probes with multiplexers and successive tracking ADC. Furthermore a temperature sensor is implemented. • The I2C interface, containing the register file and I/O pads 2.1 Power mode control The power mode control provides the power distribution in the IC, a power-on reset function and a specialized low-power oscillator as clock source. Additionally it is handling the start-up behavior. • On start-up this unit: – activates the biasing, provides an accurate reset detector and fast oscillator – interprets the applied voltage level on ADDR pin as logical “0” or “1”. This determines one of two possible I2C bus addresses to access the sensor. See also Chapter 4.2. – sensor enters power down mode (configured via I2C interface) Note: After supplying the sensor (= power up) the sensor enters the mode power down by default. • After re-configuration to one of the operating modes a measurement cycle is performed regularly containing of: – starts the internal biasing, checks for reset condition and provides the fast oscillator User’s Manual 7 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Functional Description – provides the HALL biasing – the measurement of the three HALL probe channels sequentially incl. temperature (default = activated) – and enters the configured mode again In any case functions are only executed if the supply voltage is high enough, otherwise the reset circuit will halt the state machine until the level is reached and continues its operation afterwards. The functions are also restarted if a reset event occurs in between. 2.2 Sensing part Performs the measurements of the magnetic field in X, Y and Z direction. Each X, Y and Z-HALL probe is connected sequentially to a multiplexer, which is then connected to an Analog to Digital Converter (ADC). Optional, the temperature is determined as well after the three HALL channels. The current consumption decreases by -25% when temperature measurement is deactivated. User’s Manual 8 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Measurements 3 Measurements In the next chapters calculation of the magnetic flux and temperatures with 12 bit and 8 bit resolution are shown. 3.1 Calculation of the magnetic flux The TLV493D-A1B6 provides the Bx, By and Bz signed values based on Hall probes. The magnetic flux values can be found in the registers as documented in the registers chapter. A generic example is calculated next. Table 1 e.g. Conversion table for 12Bit MSB Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 LSB -2048 1024 512 256 128 64 32 16 8 4 2 1 1 1 1 1 0 0 0 0 1 1 1 1 Example for 12Bit read out: 1111 0000 1111: -2048 + 1024 + 512 + 256 + 0 + 0 + 0 + 0 + 8 + 4 + 2 +1 = -241 LSB Calculation to mT: -241 LSB * 0.098 mT/LSB = -23.6mT Table 2 e.g. Conversion table for 8Bit MSB Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 -128 64 32 16 8 4 2 1 0 1 0 1 1 1 0 1 Example for 8-Bit read out: 0101 1101: 0 + 64 + 0 + 16 + 8 + 4 + 0 + 1 = 93 LSB Calculation to mT: 93 LSB * 1.56 mT/LSB = 145.1 mT 3.2 Calculation of the temperature The TLV493D-A1B6 provides the temperature based on a bandgap circuit (reference voltage against ptat junction voltage). The temperature value can be found in two registers as documented in the registers chapter (register 3H for the MSBs, register 6H for the LSBs). The temperature is a signed value. A 340digit offset has to be subtracted as documented in the TLV493D-A1B6 Data Sheet. Two examples with 12 and 8 bits follow Table 3 e.g. Conversion table for 12Bit MSB Bit11 Bit10 Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 LSB -2048 1024 512 256 128 64 32 16 8 4 2 1 0 0 0 1 0 1 1 0 1 0 1 0 Example for 12Bit read out: 0001 0110 1010: 0 + 0 + 0 + 256 + 0 + 64 + 32 + 0 + 8 + 0 + 2 + 0 = 362 LSB Offset compensation: 362 LSB - 340 LSB = 22 LSB Calculation to temperature in degrees Celsius: 22 LSB * 1.1°C/LSB = 24.2°C User’s Manual 9 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Interface 4 I2C Interface The TLV493D-A1B6 uses Inter-Integrated Circuit (I2C) as communication interface with the microcontroller. The I2C interface has two main functions: configure the sensor and receive measurement data. Additionally, I2C also handles the interrupt. 4.1 • Interface Description The I2C interface requires two pins: – A serial clock (SCL) input pin. The clock is generated by the microcontroller. – A serial data pin (SDA) for in- & output (open drain). The microcontroller always initiates and concludes the communication. • Both pins are in open-drain configuration, therefore they usual output is “high”. For more details see the application circuit in the TLV493D-A1B6 Data Sheet. • The interface can be accessed in any power mode, even in power down mode, since the internal oscillators do not have to be active. • The data transmission order is Most-Significant Bit (MSB) first, Last-Significant Bit (LSB) last. • Data bytes start always with the register address 00H. • An acknowladge (ACK) error is indicated as “high” (1B). No error is indicated at ACK “low” (0B). • The values of all three axis (Bx, By, Bz) are stored in separate registers. After a power-on reset these registers will read zero. • Reset monitoring mechanisms are integrated. Reset levels which only effect the ADC supply during a conversion will lead to an ADC cycle reseting only, and the register values will remain as they are. Deep reset levels detected by the “zero current” reset block which could result in internal flip-flop corruptions will lead into a full reset including all registers (default fuse values to be reloaded) and a power-on cycle will be executed. • A full reset can be triggered via I2C by sending the address 0x00 to all slaves (sensors). More details are povided on Chapter 5.6. • A two bit frame counter allows to check for a “frozen” sensor functionality (e.g. the power unit did not initiate a measurement cycle or the ADC did not complete a new measurement - which means the frame counter does not get incremented anymore). • The shortest possible communication (read or write 1 register) requires a start condition, 18 bits transfer and a stop condition. At 400kbit/s this means approximately 50µs. • A communication reading the top seven registers (from Bx to Temp) requires a start condition, 63 bits transfer and a stop condition. At 400kbit/s this means approximately 165µs. • A communication writing all four write registers requires a start condition, 36 bits transfer and a stop condition. At 400kbit/s this means approximately 95µs. The interface conforms to the I2C fast mode specification (400kBit/sec max.) but allows operation up to at least 1 Mbit/sec in case the electrical setup of the bus is lean enough (which means the amount of devices and thus the parasitic load of the bus line is limited to keep rise/fall time conditions small). The allowed max. clock rate above 400kHz has to be defined on demand given a specific electrical setup. User’s Manual 10 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Interface 4.2 I2C format description 2 A I C communication is always initiated (with a start condition) and concluded (with a stop condition) by the master (microcontroller). During a start or stop condition the SCL line must stay high. The I2C communication frame consists of the start condition, one addressing byte which corresponds to the slave adress (sensor number), the data transfer bytes (writing to slave or reading from slave) and finally the stop condition. Addressing and data transfer bytes are always followed by an acknowledge (ACK) bit. During the addressing and the data transfer, bit transitions occur with the SCL line at low. If no error occurs during the data transfer, the ACK bit will be driven low. If an error occurs, the ACK bit will be driven high. • The start condition initiates the communication and consists of a falling edge of the SDA line while SCL stays high. It is the microcontroller that pulls down the SDA line. • The sensor addressing consists of one byte followed by one ACK bit. The purpose of the addressing is to identify (slave number) the sensor with which the communication should take place. These bits are required independently of whether only one or multiple slaves in bus configuration are connected to the master. The master sends 7 address bits starting with the MSB followed by one read/write bit (read = high, write = low). The slave (sensor) responds with one ACK bit. Every bit in the SDA line is pulled down or up while SCL is low, then SCL is pulled up for a pulse and again down before the SDA line is pulled again down. • Each data transfer consist of one byte data followed by one ACK bit. If the LSB bit of the sensor addressing byte was a write (low), then the master writes 8 data bits to the slave and the slaves responds with one ACK bit. If the LSB bit of the sensor addressing was a read (high), then the master reads 8 data bits from the slave and the master responds with one ACK bit. Data bytes start always with the register address 00H and as many bytes will be transfered as the SCL line is generating pulses (following a 9 bit pattern), till the stop condition • The stop condition concludes the communication and consists of a rising edge of the SDA line while SCL stays high. It is the microcontroller that pulls up the SDA line. Note: In case an overflow accours at address 9H (whole bitmap read) the SDA line remains pulled up (no output from the sensor) till the ACK bit, which will also remain high indicating an error (ACK = 1). In case the whole bitmap is written and the master continues sending data, this will be ignored by the sensor, and the ACK will be driven high, indicating an error. With the described I2C format some overhead used in conventional 7 bit “repeated-start” is avoided, optimizing the TLV493D-A1B6 for fast and power-efficient read out of sensor data. Therefore the master should be implemented to handle the direction switching after the second byte. The protocol uses a standard 7 bit address followed by data bytes to be sent or received. 12 bit addressing or any sub-addressing is not implemented, so each start condition always begins with writing the address, followed by reading (or writing) the first byte of the bitmap and continues with reading (or writing) the next byte until all bytes are read (or written) or the communication is simply terminated by a stop condition. The basic initiator for the protocol is the falling SDA edge. A(6) A(5) A(4) A(3) A(2) A(1) A(0) R/W ACK D(7) D(6) D(5) D(4) D(3) D(2) D(1) D(0) ACK 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SDA SCL Figure 3 P opt. further frames S General I2C format User’s Manual 11 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Interface Note: A reset can be triggered with general I2C address 0x00. After this command the sensor will do an power up sequence. (See Chapter 5.1) The default setting after startup for a read operation is shown below for ADDR=1 and ADDR=0. ADDR=1 is defined by Pin SDA at power up to be high according AppCircuit. In order to set ADDR=0 SDA must pulled down to low during power up. To set the address the high or low level must be kept 200us after supplying the sensor. A(6) A(5) A(4) A(3) A(2) A(1) A(0) R/W ACK D(7) D(6) D(5) D(4) D(3) D(2) D(1) D(0) ACK 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SDA SCL Figure 4 P opt. further frames S Read example with default setting ADDR=1 (=BD; Write = BC) For ADDR=1 bit A(6)=1 and A(0)=NOT(Addr) = 0 is used. After configuration to ADDR=0 following sequence is used. A(6) A(5) A(4) A(3) A(2) A(1) A(0) R/W ACK D(7) D(6) D(5) D(4) D(3) D(2) D(1) D(0) ACK 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 SDA SCL Figure 5 P opt. further frames S Read example with ADDR=0 (3F; Write = 3E) For ADDR=0 bit A(6)=0 and A(0)=NOT(Addr) = 1 is used. Communication examples An example of a read communication is provided in Figure 6. The master generates a start condition followed by the addressing to sensor number ADDR = 1 (1011110B) and the read bit (1B). The slave generates an ACK for the addressing and outputs the first register (register 0H), which corresponds to the Bx value (1011110B which equals 145.1mT). The master generates an ACK once the register is read. The slave outputs the second register (register 1H), which corresponds to the By value (11111001B which equals -10.92mT). The masters generates an ACK and since no more information is required the master generates the stop condition. Start Cond. SDA Addressing 1 0 1 1 1 1 ACK 0 1 0 Bx 0 1 0 1 ACK 1 1 0 1 0 Stop ACK Cond. By 1 1 1 1 1 0 0 1 0 SCL I2C master is driving data (µC) 2 I C slave is driving data (sensor) Figure 6 I2C read communication example User’s Manual 12 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Interface An example of a typical write communication at start-up is provided in Figure 7. The TLV493D-A1B6 is by default configured in power down and no Bx, By, Bz values are measured. To start Bx, By, Bz conversions at a given update rate the configuration has to be changed to low power mode for example. In this case after the master generates a start condition followed by the sensor number ADDR = 1 (1011110B) and a write bit (0B). The slaves generates an ACK. The master continues the transmission writing 00000000B at the first writing register (a Reserved register). The slaves generates an ACK. The master writes 0000 0101B in the second writing register (configuration register MOD1). The slaves generates an ACK and since no more data need to be written the master finishes the communication with a stop condition. With this configuration the interrupt pulse bit is enabled (MOD1 register = xxxx x1xxB) and the low power mode is enabled (MOD1 register = xxxx xxx1B). Every 12ms a Bx, By, Bz conversion will be measured and once the conversion is completed an interrupt pulse will be sent to master. The master can then read the Bx, By and Bz registers. Start Cond. SDA Addressing 1 0 1 1 1 1 ACK 0 0 0 Res 0 0 0 0 0 ACK 0 0 0 0 Stop ACK Cond. MOD1 0 0 0 0 0 1 0 1 0 SCL I2C master is driving data (µC) 2 I C slave is driving data (sensor) Figure 7 I2C write communication example 4.3 Timing diagrams and access modes The TLV493D-A1B6 timing requirements are available in the TLV493D-A1B6 Data Sheet. 4.3.1 I2C timing tSTOP tWAIT tSTA tRISE tSU tHOLD tFALL tH tFALL tL tRISE SDA SCL STOP Figure 8 START R/W BIT R/W BIT R/W BIT I2C timing diagram User’s Manual 13 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Access modes 5 Access modes At power up the TLV493D-A1B6 starts with the factory configuration, in power down mode (default mode). The power down mode allows to access the registers to read (default values) or write (for configuration), but no magnetic field nor temperature values are measured. To start measurements, one of the following modes has to be configured: • Fast mode • Low power mode • Ultra low power mode • Master controlled mode (MCM) • Master controlled low power mode These modes are described in the next chapters. Be aware that the Fast Mode and the Master Controller Modes are not specified in the TLV493D-A1B6 Data Sheet. 5.1 Power Up and Power Down Mode After power up, the sensor reads out the voltage applied on ADDR pin for 200µs. If the voltage level on ADDR=high than the address is set to “1”. If the voltage level on ADDR = low the address is set to “0”. SDA and ADDR use the same pin. In case of SDA = low a ZC-Reset may occur and ADDR = 0 will be clocked in. For a short period of time the power consumption increases to 3.7mA. During this short period all functional blocks are active (but no magnetic measurement nor temperature measurement take place). After this the sensor enters the “power down mode”, and all functional blocks are off. After that byte 7, 8 & 9 have to be read out at least one time and stored for later use by the user. This is necessary for any write command later on in order not to change the internal configurations accidentally. This means, that the bits transferred at any write command and not used for configuration, needs to be set to the same values as you read them out before, otherwise configuration will be changed (a power down and up will reset the sensor to factory settings again) For example: • Read Out Byte 7..9 (factory settings) • Write Byte 1: configurable are D(0), D(1) & D(2) to set different modes, but not configurable and therefore not to be changed are D(3) .. D(7). Not to change means you have to write back the former read values from Byte 7 D(3) .. D(7) and use them to write for byte 1. VDD IDD I peak = 3.7mA Power down mode = 7 nA Figure 9 Current consumption during power up User’s Manual 14 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Access modes Power Down Mode Please set in write-register 1H bit#1=0 (fast = 0) and set bit#0=0 (low=0) to enter power down mode. 5.2 Fast mode (3.3 kHz) Settings: fastmode=1, lp_mode=0, int_out=1 (byte settings [hex] = 00, x6, xx, xx, keep certain bits) tS (including T measurement) tINT tRD1 tRDn tINT /INT FRM & CH (IIC reg .) 0000 ADC sample T0 0001 read sample BX 0 ADC sample BX 1 read sample BY0 0010 ADC sample BY1 read sample BZ0 0011 ADC sample BZ1 0100 read sample T0 ADC sample T1 read sample BX 1 tS (excluding T measurement) tINT tRD1 tRDn tINT /INT FRM & CH (IIC reg .) 0000 ADC sample BZ0 Figure 10 0001 read sample BX 0 ADC sample BX 1 read sample BY0 0010 ADC sample BY1 read sample BZ0 0100 ADC sample BZ1 0101 read sample BX1 ADC sample BX 2 read sample BY 1 Fast Mode (/w and w/o temp. measurement) in relation to /INT output It is possible to optimize the readout in a way that the sample of the last conversion can be read while the next conversion is performed. To achieve this, the readout from I2C has to be done faster than the given time when the next value gets overwritten, including any possible clock variance between sensor and master (µC). Note: This read mode assumes to read only first three 8 bit values via I2C after an /INT pulse. To read out the 8 bit values for Bx, By and Bz the I2C address write and first byte read needs to be done within tRD1 (minus the w.c. accuracy of the sensor clock and the µC clock) after the rising interrupt clock edge. The next byte needs to be read latest within an additional tRDn timeframe (minus tolerances) and so on. Assuming all 3 values are read directly in one I2C sequence, the time for readout of the first byte is the most critical (as two I2C frames are required), reading the remaining bytes should not be a timing issue as here nevertheless more time is available. Note: Thus, this mode requires a non-standard 1MHz I2C clock to be used to read the data fast enough. User’s Manual 15 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Access modes Table 4 Interface and Timing Parameter Symbol min typ max Unit Note/Condition Time window to read first value tRD1 – 32.8 – µs read after rising /INT edge Time window to read next value tRDn – 33.6 – µs consecutive reads 5.3 Low Power mode (100 Hz) Settings: fastmode=0, lp_mode=1, int_out=1 (byte settings [hex]: 00, x5, xx, 4x, keep certain bits) tS (low power modes) /INT IIC idle or other comm . a d r b 0 b 1 b 2 b 3 b 4 b 5 b 6 idle or other comm . b 7 a d r b 0 b 1 power down ADC b 2 b 3 b 4 b 5 b 6 b 7 power down LPOSC Figure 11 Synchronous, low-power I2C readout using an /INT wake-up pulse In this low-power mode the sensor goes into power-down mode until it wakes up by itself to perform the next conversion. After the conversion the interrupt line will be pulled (if activated). This means for the low power modes the time window to read out all registers after the rising edge of the /INT pulse is equal one over the sample rate of this low power mode minus the conversion time. 5.3.1 Ultra Low Power Mode (10 Hz) Settings: fastmode=0, lp_mode=1, int_out=1 (byte settings [hex]: 00, x5, xx, 0x, keep certain bits) In this mode an excellent combination of ultra low power consumption and internal regular wake up function is reached. The basic function is equal to Low Power Mode, but Low Power Mode has about 8 times higher current consumption than Ultra Low Power Mode. As well the interrupt is available. If an even lower power consumption is needed please refer to Chapter 5.4.1. User’s Manual 16 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Access modes 5.4 Master-controlled Mode (variable to fmax = 3.3 kHz) Settings: fastmode=1, lp_mode=1, int_out=0/1 (byte settings: 00, x7, xx, xx, keep certain bits) • The fast oscillator is constantly enabled • One measurement cycle is performed and /INT is pulsed. • Measurement data is available for read out in the registers. • The sensor is waiting for read-out and no other measurements are done. • As soon as the master performs a read-out a new measurement cycle is internally started by the sensor and new values will be stored in the registers. If no further read out takes place no new measurement cycle is initiated. In the simplest case, periodic read-out of I2C causes a re-run of a new measurement cycle. It only needs to be ensured that the read-out time is larger than the time for the I2C read frame plus the sensor conversion time. constant time interval for IIC readouts (e.g. using a µC timer) tS (fast mode) µC internal IIC readout periodically initiated IIC ADC idle or other comm . µC internal IIC readout periodically initiated a d r b 0 (T) Figure 12 b 1 b 2 b 3 b 4 b 5 b 6 idle or other comm . b 7 Bx wait By Bz a d r b 0 b 1 (T) b 2 b 3 b 4 b 5 b 6 b 7 Bx wait Synchronous, fast I2C access using a periodic I2C read-out If possible, the /INT output should be activated and used in this mode as well. This will provide the fastest and safest way to read out all axis with a 12bit resolution value, as to be shown next. This allows a read-out of the sensor to the master (µC) using an interrupt service routine. The sample rate is now basically determined by the ADC conversion time plus the I2C readout time only and fully avoids the read of inconsistent values. The possible sample rate for this mode a regular 400kHz I2C speed is given in the specification section. tS (fast mode) /INT IIC ADC idle or other comm . (T) Figure 13 a d r b 0 b 1 b 2 wait b 3 b 4 b 5 b 6 idle or other comm . b 7 Bx By Bz (T) a d r b 1 b 0 b 2 wait b 3 b 4 b 5 b 6 b 7 Bx Synchronous, fast I2C access using an /INT trigger for I2C readout Please be aware that this modes does not switch off the internal biasing and oscillator, it should therefore not be used for low-power operation with large time intervals between measurements. See Chapter 5.4.1 User’s Manual 17 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Access modes 5.4.1 User defined configuration (Master controlled Low Power Mode) If even lower current consumptions compared to “Ultra Low Power Mode” are required this “User defined Configuration” can be used. For this, it is recommended to switch the sensor into “Power Down Mode” for the time interval in which the sensor is not used (fastmode=0, lp_mode=0) and shall only be re-activated for a new measurement and readout (fastmode=1, lp_mode=1) if necessary. Following example can be used: 1. Set sensor via I²C in master-controlled mode with /INT (fastmode=1, lp_mode=1, int_out=1) 2. Wait until INT/ =0 --> one measurement cycle was done 3. Set sensor via I²C in Power Down Mode (fastmode=0, lp_mode=0) --> IDD goes down to power down current consumption 4. Read out bytes 5. Wait for x ms 6. Goto 1 By using this example the sensor is toggled between two different modes by the I2C interface. The longer the waiting period (step 5) is, the lower is the current consumption. The I2C can always accessed. For example, for an update rate of f = 0.016Hz (update every 60s) the typical, average current consumption is only 20nA. See the TLV493D-A1B6 Data Sheet for the corresponding current consumption in each mode (sample rate). This principle described above can be adapted in order to toggle between any other modes. 5.5 ADC hang up in Master Controlled or Fast Mode Problem Description In the Master Controlled Mode (MCM) or the Fast Mode (FM) the ADC conversion may hang up. A hang up can be detected by: • Frame Counter (FRM) counter stucks and does not increment anymore. Corrective Action Operating Mode, Sensor used in polling mode1) / master controlled mode 1. Detect a non incrementing frame counter. 2. Send general address 0x00 to reset the sensor (see also power-up/reset behaviour in product data sheet). 3. Re-configure to Master controlled Mode. or Operating Mode, Sensor used in Interrupt mode (Fast or Master controlled Mode) 1. Use a system watchdog to detect a missing interrupt. 2. Optional: detect a non incrementing frame counter. 3. Send general address 0x00 to reset the sensor (see also power-up/reset behaviour in product data sheet). 4. Re-configure to desired Fast or Master controlled Mode. 1) polling:= no /Int is issued, uC reads out sensor in fixed periods User’s Manual 18 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Access modes 5.6 Power supply considerations The power supply and its circuitries have to be designed to ensure a stable start-up and sensor initialisation as well as a stable operation for correct communication. The sensor can be supplied by the same supply used by the microcontroller or by an alternative supply. The usage of a microcontroller ouput pin is considered an alternative power supply. The following considerations must be covered in any case: • The bus pins must not have a higher voltage than the supply pins. • The supply has to cope with the specified DC currents of the sensor and AC current peaks form digital logic operation (from bus interface and from internal sensor logic). • In-rush current of the supply buffer capacitor must be considered by dimensioning of the power supply. • The sensor must not be supplied by a voltage higher than 3.5V, which would reduce the operating lifetime or even cause an immediate damage. • The sensor does not have any internal overvoltage protection. • The supply power-up ramp has to be as smooth and steady as possible, as no classic reset circuitry is used. • The sensor does not provide a reverse voltage protection. 5.6.1 General reset In case of wrong initialization or any other undesired event, it is possible to trigger a general reset. A general reset can also be used to do reconfigure the address. A general reset is trigged by calling the address 0x00 in the I2C interface. This generates an internal reset, refreshes the fuse register settings and re-reads the SDA/ADR line to initialize the I2C bus address. The SDA state should be keep for at least 200µs after the reset to ensure a proper initialization with the right bus address. The general reset can also be used after power-on to improve system robustness in case of unstable power supplies. User’s Manual 19 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Bus configuration with multiple sensors 6 Bus configuration with multiple sensors It is possible to connect up to eight slaves (sensors) to a master in a bus configuration. To slave addresses are configured sequentially at start-up. Each slave requires an exclusive supply line, therefore the master must provide enough I/O pins capable of driving up to 5mA DC in each line. Two examples with two and eight slaves are presented next. Configuration with two slaves Slave #0 is powered up together with the whole system start up, while slave #1 remains powered down. Within the first 200µs after the power up, slave #0 reads the voltage applied on SDA / ADDR pin. If the voltage level on ADDR is high, the address is set to “1” (default case with open drain configuration). If the voltage level on ADDR is low the adress is set to “0”. This configuration remains fixed till the next power down or reset. Once the 200µs have transcurred, the master powers up slave #1 with one of the I/O lines. The master drives the SDA / ADDR pin to the opposite level at which slave #0 was configured. After 200µs slave #1 is also configured. Once the slaves are configured, the master can access to read or write any slave by addressing them accordingly to Table 5. Table 5 Addressing with multiple slaves Slave SDA / ADDR pin Read at power-up Bin Write Hex Bin Hex 0 high (1) 1011 110 1 BD 1011 110 0 BC 1 low (0) 0011 111 1 3F 0011 111 0 3E Power Supply VDD TLV493D (Slave #0, ADDR = 1) VDD R1 R SDA SCL GND (/INT) I/O_0 R2 C1 SDA R SCL R (/INT) µC e.g. XMC 1100 VDD TLV493D (Slave #1, ADDR = 0) GND Figure 14 R SDA SCL (/INT) Recommended R1, R2, C and C1 values available in the Data Sheet R C1 GND Application circuit for bus configuration with two slaves User’s Manual 20 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Bus configuration with multiple sensors VDD I/O_0 SDA SCL (/INT) Figure 15 >200µs >200µs Slave #0 is set with ADDR = 1 (slave #1 not supplied) Slave #1 is set with ADDR = 0 (slave #0 already set and above the start up period ) Master starts communication with either slave #0 (address BD /BC) or slave #1 (address 3F/3E) Start-up sequence and timing for bus configuration with two slaves Configuration with more than two slaves (e.g. eight) Additionally to the SDA / ADDR pin level to configure the slave number, there are two bits (IICAddr) in the write register MOD1 that allow to set an address. Therefore combining the SDA / ADDR pin levels with the two bits up to eigth slaves can be configured at start up. In this case the Vdd line plus seven I/O lines will be required to supply the total eight slaves. Slave #0 will be set to ADDR = 1 within the 200µs if SDA / ADDR pin is set to high. Once this is done the IICAddr bits have to be changed from the default “00” to “11”. The default address has now been changed from the default 0xBD for read and 0xBC for write to 0x95 for read and 0x94 for write. Next the I/O_0 line can be driven high to supply slave #1. Setting the SDA / ADDR pin high the default address is set to 0xBD for read and 0xBC for write. After 200µs the address will be changed to 0x9D and 0x9C respectively by writing the IICAddr bits to “10”. The slave #2 is now powered up with the I/O_1 line. SDA / ADDR pin is high for 200µs. The default addresses 0xBD and 0xBC will be changed to 0xB5 and 0xB4 by writing the IICAddr bits to “01”. The slave #3 is powered up with the I/O_2 line. SDA / ADDR pin remains high for 200µs. For slave #3 de IICAddr bits remain “00”, therefore no need to configure them via I2C. For the slaves #4, #5, #6 and #7 the same process described above will be carried, with just one difference, the SDA / ADDR pin will be driven low. Now each of the eight slaves has a specific address (summarized in Table 6). The data transfer to any slave will start when the master addresses the desired slave number. Table 6 Slave Addressing with multiple slaves SDA / ADDR pin IICAddr bits (Bin) Read (Bus) at power-up Default Bus Bin Hex Bin Hex 0 high 00 11 1001 010 1 95 1001 010 0 94 1 high 00 10 1001 110 1 9D 1001 110 0 9C 2 high 00 01 1011 010 1 B5 1011 010 0 B4 3 high 00 00 1011 110 1 BD 1011 110 0 BC 4 low 00 11 0001 011 1 17 0001 011 0 16 5 low 00 10 0001 111 1 1F 0001 111 0 1E 6 low 00 01 0011 011 1 37 0011 011 0 36 7 low 00 00 0011 111 1 3F 0011 111 0 3E User’s Manual 21 Write (Bus) V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Bus configuration with multiple sensors Power Supply VDD I/O_0 I/O_1 I/O_2 µC SDA e.g. SCL XMC 1100 (/INT) I/O_3 I/O_4 I/O_5 I/O_6 VDD TLV493D (Slave #0, ADDR = 1) TLV493D (Slave #1, ADDR = 1) GND TLV493D (Slave #2, ADDR = 1) TLV493D (Slave #3, ADDR = 1) SDA SCL VDD (/INT) SDA SCL (/INT) VDD SDA SCL VDD TLV493D (Slave #5, ADDR = 0) (/INT) SDA SDA SCL SCL (/INT) (/INT) VDD SDA SCL VDD (/INT) SDA SCL VDD (/INT) SDA SCL VDD TLV493D (Slave #6, ADDR = 0) TLV493D (Slave #7, ADDR = 0) (/INT) SDA SCL (/INT) Figure 16 TLV493D (Slave #4, ADDR = 0) Check Data Sheet for application circuit recommendations (passives omitted for illustratory purposes) Application circuit for bus configuration with eight slaves User’s Manual 22 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Bus configuration with multiple sensors VDD I/O_0 I/O_1 I/O_2 I/O_3 I/O_4 I/O_5 I/O_6 SDA SCL (/INT) >200µs >200µs >200µs >200µs Slave #0 start up ADDR = 1 Slave #2 start up ADDR = 1 Slave #4 start up ADDR = 0 Slave #6 start up ADDR = 0 Slave #0 write IICAddr = 11 >200µs >200µs Slave #1 start up ADDR = 1 Slave #3 start up ADDR = 1 Slave #1 write IICAddr = 10 Figure 17 Slave #6 write IICAddr = 01 Slave #4 write IICAddr = 11 Slave #2 write IICAddr = 01 Slave #3 IICAddr bits remain default 00 >200µs >200µs Slave #5 start up ADDR = 0 Slave #7 start up ADDR = 0 Slave #5 write IICAddr = 10 Master starts communication with slave #0 (address 95H/94H) or slave #1 (address 9D H/9CH) or slave #2 (address B5H/B4H) or slave #3 (address BD H/BC H) or slave #4 (address 17H/16H) or slave #5 (address 1F H/1EH) or slave #6 (address 37H/36H) or slave #7 (address 3F H/3EH) Slave #7 IICAddr bits remain default 00 Start-up sequence and timing for bus configuration with eight slaves Note: it is also possible to configure two slaves by changing the IICAddr bit in the write register MOD1 indepedently of the SDA / ADDR pin at start-up. User’s Manual 23 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers I2C Registers 7 The TLV493D-A1B6 includes several registers that can be accessed via Inter-Integrated Circuit interface (I2C) to read data as well as to write and configure settings. There are ten read registers and four write registers. 7.1 Registers overview A bitmap overview is presented in Figure 18: green bits contain measurement data, orange bits configuration parameters (e.g. power mode) and grey bits are relevant for diagnosis. Write Registers Read Registers 7 6 5 4 3 Bx (0H) Bx (11…4) By (1H) By (11…4) 2 1 0 7 6 5 4 3 2 1 0 Reserved Res (0H) r MOD1 (1H ) r Bz (11…4) Bz (2H ) P IICAddr w w Reserved INT FAST LOW w w w Reserved Res (2H) r Temp (3H) Bx2 (4H) Temp. (11…8) FRM CH r r r Bx (3…0) MOD2 (3H ) T LP PT w w w Reserved By (3…0) r r Bz2 (5H ) Reserved Temp2 (6H) PD Bz (3…0) r r Temp (7…0) r FactSet1 (7H) Reserved FactSet2 (8H) Reserved FactSet3 (9H) Reserved Figure 18 Bitmap Values (most relevant) Other Values Configuration Configuration bus Diagnosis Reserved bits Figure 19 Colour legend for the Bitmap 7.2 Bit Types The TLV493D-A1B6 contains read bits, write bits and reserved bits. Table 7 Bit Types Abbreviation Function Description r Read Read only bits w Write Read and write bits for configuration res Reserved Bits that must keep the default values (read prior to write required) User’s Manual 24 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers 7.2.1 Read Registers The I2C registers can be read at any time, starting always from address 0H and as long as the master generates a clock signal (SCL). It is recommended to use the sensor interrupt to read data after an interrupt pulse. This avoids reading inconsistent values, especially when running the fast mode. Additionally, several flags can be checked to ensure the data values are consistent and the ADC was not running at the time of readout. 7.2.1.1 Register Descriptions Bx register Bx Offset Bx value register Reset Value 0H 7 00H 0 Bx (11...4) r Field Bits Type Description Bx 7:0 r Bx Value Signed value from the vertical HALL probe in the xdirection of the magnetic flux. Contains the eight Most Significant bits (bits 11...4). Reset: 00H By register By Offset By value register Reset Value 1H 7 00H 0 By (11...4) r Field Bits Type Description By 7:0 r By Value Signed value from the vertical HALL probe in the ydirection of the magnetic flux. Contains the eight Most Significant bits (bits 11...4). Reset: 00H User’s Manual 25 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Bz register Bz Offset Bz value register Reset Value 2H 00H 7 0 Bz (11...4) r Field Bits Type Description Bz 7:0 r Bz Value Signed value from the lateral HALL probe in the zdirection of the magnetic flux. Contains the eight Most Significant bits (bits 11...4). Reset: 00H Temp register Temp Offset Temperature, counter, channel register Reset Value 3H 4 7 00H 3 2 1 0 Temp (11...8) FRM CH r r r Field Bits Type Description Temp 7:4 r Temperature Value Signed temperature value. Below or above the specified operating temperature range non-linearities may occur. If temperature measurement is deactivated during operation, the last value remains in the register. Reset: 0H FRM 3:2 r Frame Counter Increments at every update rate, once a X/Y/Z/T conversion is completed. The new Bx, By, Bz and Temperature values have been stored in the registers. Note: if the temperature measurement is disabled, FRM increases as soon as the Z conversion is completed. Reset: 00B User’s Manual 26 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Field Bits Type Description CH 1:0 r Channel Must be “00” at readout to ensure X/Y/Z/T come from the same conversion. Else, conversion is running. If “00” no conversion (internal power down) or xdirection conversion started (but value not yet stored in the register) If “01” y-direction conversion ongoing If “10” z-direction conversion ongoing If “11” temperature conversion (if temp. disabled, no If temperature measurement is disabled, no “11” combination possible. The MUX uses the CH bits to select the X/Y/Z/T channel. Note: PD has also to be “1” to indicate a conversion is completed. Reset: 00B Bx2 register Bx2 Offset Bx value register Reset Value 4H 4 7 00H 3 0 Bx (3...0) By (3...0) r r Field Bits Type Description Bx 7:4 r Bx Value Value from the vertical HALL probe in the x-direction of the magnetic flux. Contains the four Less Significant Bits (bits 3...0). Reset: 0H By 3:0 r By Value Value from the vertical HALL probe in the y-direction of the magnetic flux. Contains the four Less Significant Bits (bits 3...0). Reset: 0H User’s Manual 27 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Bz2 register Bz2 Offset Bz value register Reset Value Device specific 5H 5 7 4 Reserved 3 0 PD Bz (3...0) r r Field Bits Type Description PD 4 r Power-down flag Must be “0” at readout. If “0”, Bx, By, Bz and Temp conversion completed. If “1” Bx, By, Bz and Temp conversion running. If temperature measurement is disabled, flag toggles after Bz conversion. Reset: 0B Bz 3:0 r Bz Value Value from the lateral HALL probe in the z-direction of the magnetic flux. Contains the four Less Significant Bits (bits 3...0). Reset: 0H Temp2 register Temp2 Offset Temperature value register Reset Value 6H 7 00H 0 Temp (7...0) r Field Bits Type Description Temp 7:0 r Temperature Value Temperature value. Below or above the specified operating temperature range non-linearities may occur. If temperature measurement is deactivated during operation, the last value remains in the register. Reset: 00H User’s Manual 28 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Note: The factory settings (reg 7 .. byte 9) should be read out once and stored. Those values are needed for further writing commands and are not allowed to change. Reserved register Res Offset Reserved register 7H 7 Reset Value Device specific 0 Reserved Field Bits Type Description Reserved 7:0 res Factory settings Bits 6:3 must be written into register 1H in case of write. Reset: device specific Reserved register Res Offset Reserved register 8H 7 Reset Value Device specific 0 Reserved Field Bits Type Description Reserved 7:0 res Factory settings Bits 7:0 must be written into register 2H in case of write. Reset: device specific Reserved register Res Offset Reserved register 9H 7 Reset Value Device specific 0 Reserved User’s Manual 29 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Field Bits Type Description Reserved 7:0 res Factory settings Bits 4:0 must be written into register 3H in case of write. Reset: device specific User’s Manual 30 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers 7.2.2 Write Registers Registers will be written starting always from address 0H and as many registers as long as a the master generates a clock signal (SCL). 7.2.2.1 Register Descriptions Reserved register Res Offset Reserved register Reset Value 00H 0H 7 0 Reserved Field Bits Type Description Reserved 7:0 res Reserved Non-configurable bits. Reset: 00H Mode 1 register MOD1 Offset Mode 1 register 7 1H 6 5 P IICAddr w w User’s Manual Reset Value 4 Device specific 3 Reserved 31 2 1 0 INT FAST LOW w w w V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Field Bits Type Description P 7 w Parity bit Parity of configuration map. Sum of all 32 bits from write registers 0H, 1H, 2H and 3H must be odd. The parity bit must be calculated by the master prior to execute the write comand. Once the write comand is executed (including the parity bit), the sensor verifies the parity bit with the bits in the registers. If the verification fails, the sensor sets ACK at “high” at the next read command. Reset: device specific IICAddr 6:5 w I2C address bits Bits can be set to “00”, “01”, “10” or “11” to define the slave address in bus configuration. Reset: 00B Reserved 4:3 res Factory settings Bits must correspond to bits 4:3 from read register 7H. Reset: device specific INT w Interrupt pad enabled If “1” INT (interrupt pulse) enabled (default) If “0” INT (interrupt pulse) disabled After a completed conversion, an interrupt pulse will be generated. For bus configurations INT is not recommended, unless timing constraints between I2C data transfers and interrupt pulses are monitored and aligned Reset: 1B FAST w Fast mode If “1” fast mode enabled If “0” fast mode disabled In order to enter power down mode please set FAST=0 and LOW=0 Reset: 0B LOW w Low power mode If “0” disabled If “1” enabled In order to enter power down mode please set FAST=0 and LOW=0 Reset: 0B User’s Manual 32 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Reserved register Res Offset Reserved register Reset Value Device specific 2H 7 0 Reserved Field Bits Type Description Reserved 7:0 res Factory settings Bits must correspond to bits 7:0 from read register 8H. Reset: device specific Mode 2 register MOD2 Offset Mode 2 register Reset Value 3H 7 6 5 T LP PT w w w device-specific H 4 0 Reserved Field Bits Type Description T 7 w Temperature measurement enabled If “0” temperature measurement enabled (default) If “1” temperature measurement disabled IDD increases by +33% for enabled temperature measurement. If temperature measurement disabled, last value remains in the bitmap. Reset: 0B LP 6 w Low Power period If “0” period is 100ms (ultra low power period) If “1” period is 12ms Reset: 0B PT 5 w Parity test enabled If “0” parity test disabled If “1” parity test enabled (default) Reset: 1B User’s Manual 33 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor I2C Registers Field Bits Type Description Reserved 4:0 res Factory setting Bits must correspond to bits 4:0 from read register 9H. Reset: device specific User’s Manual 34 V 1.02, 2016-05 TLV493D-A1B6 3D Magnetic Sensor Revision History 8 Revision History Revision Date Changes 1.02 2016-05 Chapter 5.1: added Power Down Mode paragraph. Mode 1 Register: Desciption for P bit, for FAST and LOW bits updated 1.01 2016-04 Features: first feature updated. Mode 1 Register: Desciption for Reserved bits 4:3 updated 1.0 2016-02 Initial version User’s Manual 35 V 1.02 2016-05 Trademarks of Infineon Technologies AG AURIX™, C166™, CanPAK™, CIPOS™, CIPURSE™, CoolMOS™, CoolSET™, CORECONTROL™, CROSSAVE™, DAVE™, DI-POL™, EasyPIM™, EconoBRIDGE™, EconoDUAL™, EconoPIM™, EconoPACK™, EiceDRIVER™, eupec™, FCOS™, HITFET™, HybridPACK™, I2RF™, ISOFACE™, IsoPACK™, MIPAQ™, ModSTACK™, myd™, NovalithIC™, OptiMOS™, ORIGA™, POWERCODE™, PRIMARION™, PrimePACK™, PrimeSTACK™, PRO-SIL™, PROFET™, RASIC™, ReverSave™, SatRIC™, SIEGET™, SINDRION™, SIPMOS™, SmartLEWIS™, SPOC™, SOLID FLASH™, TEMPFET™, thinQ!™, TRENCHSTOP™, TriCore™. Other Trademarks Advance Design System™ (ADS) of Agilent Technologies, AMBA™, ARM™, MULTI-ICE™, KEIL™, PRIMECELL™, REALVIEW™, THUMB™, µVision™ of ARM Limited, UK. AUTOSAR™ is licensed by AUTOSAR development partnership. Bluetooth™ of Bluetooth SIG Inc. CAT-iq™ of DECT Forum. COLOSSUS™, FirstGPS™ of Trimble Navigation Ltd. EMV™ of EMVCo, LLC (Visa Holdings Inc.). EPCOS™ of Epcos AG. FLEXGO™ of Microsoft Corporation. FlexRay™ is licensed by FlexRay Consortium. HYPERTERMINAL™ of Hilgraeve Incorporated. IEC™ of Commission Electrotechnique Internationale. IrDA™ of Infrared Data Association Corporation. ISO™ of INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. MATLAB™ of MathWorks, Inc. MAXIM™ of Maxim Integrated Products, Inc. MICROTEC™, NUCLEUS™ of Mentor Graphics Corporation. MIPI™ of MIPI Alliance, Inc. MIPS™ of MIPS Technologies, Inc., USA. muRata™ of MURATA MANUFACTURING CO., MICROWAVE OFFICE™ (MWO) of Applied Wave Research Inc., OmniVision™ of OmniVision Technologies, Inc. Openwave™ Openwave Systems Inc. RED HAT™ Red Hat, Inc. RFMD™ RF Micro Devices, Inc. SIRIUS™ of Sirius Satellite Radio Inc. SOLARIS™ of Sun Microsystems, Inc. SPANSION™ of Spansion LLC Ltd. Symbian™ of Symbian Software Limited. TAIYO YUDEN™ of Taiyo Yuden Co. TEAKLITE™ of CEVA, Inc. TEKTRONIX™ of Tektronix Inc. TOKO™ of TOKO KABUSHIKI KAISHA TA. UNIX™ of X/Open Company Limited. VERILOG™, PALLADIUM™ of Cadence Design Systems, Inc. VLYNQ™ of Texas Instruments Incorporated. VXWORKS™, WIND RIVER™ of WIND RIVER SYSTEMS, INC. ZETEX™ of Diodes Zetex Limited. Last Trademarks Update 2011-11-11 www.infineon.com Edition 2016-05 Published by Infineon Technologies AG 81726 Munich, Germany © 2014 Infineon Technologies AG. All Rights Reserved. Do you have a question about any aspect of this document? Email: [email protected] Document reference 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 noninfringement 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.