6 Gauss, Low Noise 2-axis Magnetic Sensor MMC246xMT FEATURES * Fully integrated 2-axis magnetic sensor and electronic circuits requiring fewer external components * Superior Dynamic Range and Accuracy: 6 G FSR with 16/14 bit operation 0.25 mG per LSB resolution 0.8 mG total RMS noise Enables heading accuracy <1 * Wide operating Voltage ( 1.62 V ~ 3.6 V ) Single 1.8 V supply capable 1.8 V I/O compatibility. * Low power consumption ( 50 A @ 7Hz ) * 20 nA power down current function * SET/RESET Function Allows for elimination of temperature variation induced offset error (Null Field output) Clears the sensors of residual magnetization resulting from exposure to strong external fields * On-chip sensitivity temperature compensation * I2C Slave, FAST (400 KHz) mode * Low Profile package 2 x 2 x 1 mm * RoHS compliant APPLICATIONS Electronic Compassing GPS Navigation Assist Magnetic Field Measurement Contact MEMSIC for access to advanced calibration and tilt-compensation algorithms. An integrated SET/RESET function provides for the elimination of error due to Null Field output change with temperature. In addition it clears the sensors of any residual magnetic polarization resulting from exposure to strong external magnets. The SET/RESET function can be performed for each measurement or periodically as the specific application requires. The MMC246xMT is packaged in an ultra-small low profile LGA package (2 x 2 x 1 mm) and operates over a temperature range from -40 to 85 C. DESCRIPTION The MMC246xMT is a complete 2-axis magnetic sensor 2 with on-chip signal processing and integrated I C bus. The device can be connected directly to a microprocessor, eliminating the need for A/D converters or timing resources. It can measure magnetic fields within the full scale range of 6 G (gauss), with 0.25 mG per LSB resolution in 16 bit operation mode and 0.8 mG Information furnished by MEMSIC is believed to be accurate and reliable. However, no responsibility is assumed by MEMSIC for its use, or for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of MEMSIC. MEMSIC MMC246xMT Rev D total RMS noise, enabling heading accuracies of <1 in electronic compass applications. The MMC246xMT provides an I2C digital output with 400 KHz, fast mode operation. MEMSIC, Inc. One Technology Drive, Suite 325, Andover, MA01810, USA Tel: +1 978 738 0900 Fax: +1 978 738 0196 www.memsic.com Page 1 of 15 5/30/2014 SPECIFICATIONS: (Measurements at 25 C, unless otherwise noted; VDA = VDD= 1.8 V unless otherwise specified) Parameter Field Range (each axis) Supply Voltage Conditions Min Typ Max Units Total applied field VDA 2 VDD (I C interface) 6 1.621 1 1.62 1.8 1.8 3.6 3.6 5.0 60 30 25 50 85 125 gauss V V mS A A A nA C C Supply Voltage rising time Supply Current2 (7measurements/second) (Max = Mean +4 at 25 C) Power Down Current3 Operating Temperature Storage Temperature Linearity Error (Least Squares Line) Hysteresis Repeatability Error Alignment Error Transverse Sensitivity Total RMS Noise BW[1:0]=00, 16bit mode BW[1:0]=01, 16bit mode BW[1:0]=10, 14bit mode 50 25 20 20 -40 -55 Happlied 6 gauss Happlied 4 gauss 6 gauss 6 gauss 0.25 0.15 0.1 0.25 0.5 0.2 0.8 1.0 2.5 16/14 0.5 BW[1:0]=00, 16 bit mode BW[1:0]=01, 16 bit mode BW[1:0]=10, 14 bit mode Output resolution Heading accuracy4 Sensitivity Initial sensitivity matching ( X to Y) Sensitivity Change over Temperature Sensitivity Change over Temperature Matching ( X to Y) Null Field Output Null Field Output Change over Temperature5 Null Field Accuracy over temperature using SET/RESET Disturbing Field Maximum Exposed Field 1 6 gauss 14 bit mode 16 bit mode -40 ~ 85 C 6 gauss %FS 1024 4096 %FS %FS degrees % mG mG mG bits degrees % counts/G counts/G 1 % -3 -5 1.0 1.0 1.0 +3 +5 1 6 gauss 14 bit mode 16 bit mode Delta from 25C -0.2 -40 to 85C % % +0.2 8192 32768 G counts counts 120 mG 2 mG 8 10000 G G 1.62 V is the minimum operation voltage. Both VDA and VDD should be equal to or greater than 1.62 V Supply current is proportional to the number of measurements performed per second. See page 2 and 6 for additional information. 3 See Supplemental Performance Characteristics for typical current change over temperature 4 Noise, resolution and accuracy specifications enable a typical heading accuracy calculation of 0.5 degrees. Actual heading accuracy depends upon user system design and algorithms. 5 This error can be eliminated by using SET and RESET to determine the actual null field output at any temperature from -40 to 85 C MEMSIC MMC246xMT Rev D Page 2 of 15 5/30/2013 2 SUPPLEMENTAL PERFORMANCE CHARACTERISITCS (Vdd = 1.8 V) MEMSIC MMC246xMT Rev D Page 3 of 15 5/30/2013 I2C INTERFACE I/O CHARACTERISTICS (VDD = 1.8 V) Parameter Symbol Test Condition Min. Typ. Max. Unit Logic Input Low Level VIL -0.5 0.3* VDD V Logic Input High Level VIH 0.7*VDD VDD V Hysteresis of Schmitt input Vhys 0.2 Logic Output Low Level VOL Input Leakage Current Ii SCL Clock Frequency fSCL START Hold Time tHD;STA 0.6 S START Setup Time tSU;STA 0.6 S LOW period of SCL tLOW 1.3 S HIGH period of SCL tHIGH 0.6 S Data Hold Time tHD;DAT 0 Data Setup Time tSU;DAT 0.1 Rise Time tr From VIL to VIH 0.3 S Fall Time tf From VIH to VIL 0.3 S Bus Free Time Between STOP and START tBUF 1.3 S STOP Setup Time tSU;STO 0.6 S 0.1VDD. These bits determine how often the chip will take measurements in Continuous Measurement Mode. CM Freq1 CM Freq0 Frequency 0 0 1.5 Hz 0 1 12 Hz 1 0 25 Hz 1 1 50 Hz Setting this bit high will disable the charge pump and cause the storage capacitor to be charged off VDD. Writing "1" will set the sensor by passing a large current through Set/Reset Coil Writing "1" will reset the sensor by passing a large current through Set/Reset Coil at a reversed direction Writing "1" will recharge the capacitor at CAP pin, it is requested to be issued before SET/RESET command. MEMSIC MMC246xMT Rev D Page 8 of 15 5/30/2013 Internal Control 1 Control Register 1 Addr: 08H Reset Value Mode Bit Name BW0 BW1 X-inhibit Y-inhibit Z-inhibit ST_XY Temp_tst SW_RST 7 6 SW_RST Temp_tst 2'h0 W W 5 4 3 2 1 0 ST_XY 0 W Z-inhibit 0 W Y-inhibit 0 W X-inhibit 0 W BW1 0 W BW0 0 W Description Output resolution BW1 BW0 0 0 0 1 1 0 1 1 Factory-use Register Output Resolution 16bits 16bits 14bits reserved Measurement Time 7.92mS 4.08mS 2.16mS Need to be set to "1" Self-test check, write "1" to this bit and execute a TM command, after TM is completed the result can be read as bit ST_XY_OK. Write this bit to 0 to return to normal operation Factory-use Register Writing "1"will cause the part to reset, similar to power-up. It will clear all registers and also re-read OTP as part of its startup routine. R0, R1, R2, R3, R4 R0 Addr: 1BH Reset Value Mode 7 6 5 4 3 Factory-use Register Factory-use Register R 2 1 0 R1 Addr: 1CH Reset Value Mode 7 6 5 4 3 Factory-use Register Factory-use Register R 2 1 0 R2 Addr: 1DH Reset Value Mode 7 6 5 4 3 Factory-use Register Factory-use Register R 2 1 0 R3 Addr: 1EH Reset Value Mode 7 6 5 4 3 Factory-use Register Factory-use Register R 2 1 0 R4 Addr: 1FH Reset Value Mode 7 6 5 4 3 Factory-use Register Factory-use Register R 2 1 0 MEMSIC MMC246xMT Rev D Page 9 of 15 5/30/2013 Product ID 0 Product ID 0 7 6 5 Addr: 10H Product ID0[2:0] Reset Value X X X Mode R R R XXX: I2C address code. 4 3 2 1 Factory-use Register Factory-use Register R R R R 0 R Product ID 1 Product ID 1 Addr: 20H Reset Value Mode 7 6 5 0 R 0 R 0 R 4 3 Product ID1[7:0] 0 0 R R DATA TRANSFER A data transfer is started with a "START" condition and ended with a "STOP" condition. A "START" condition is defined by a HIGH to LOW transition on the SDA line while SCL line is HIGH. A "STOP" condition is defined by a LOW to HIGH transition on the SDA line while the SCL line is held HIGH. All data 2 transfer in I C system are 8-bits long. Each byte has to be followed by an acknowledge bit. Each data transfer involves a total of 9 clock cycles. Data is transferred starting with the most significant bit (MSB). After a START condition, the master device calls a specific slave device by sending its 7-bit address with th the 8 bit indicating that either a READ or WRITE operation will follow, [1] for READ and [0] for WRITE. The MEMSIC device 7-bit device address is [x110xxx] where the three LSB's are pre-programmed into the MMC246xMT by the factory and they are indicated on the package as shown in the previous section "Package Marking Illustration". A total of 8 different addresses can be pre-programmed into 2 MEMSIC device by the factory. This variation of I C address avoids a potential address conflict, either by ICs from other manufacturers or by other MEMSIC devices on the same bus The initial addressing of the slave is always followed by the master writing the number of the slave register to be read or written, so this initial addressing always indicates a WRITE operation by sending [0110xxx]. After being addressed, the MEMSIC device being called should respond by an "Acknowledge" signal by pulling SDA line LOW. Subsequent communication bytes can either be: a) the data to be written to the device register, or b) Another START condition followed by the device address indicating a READ operation [1110xxx], and then the master reads the register data. Multiple data bytes can be written or read to numerically sequential registers without the need of another START condition. Data transfer is terminated by a STOP condition or another START condition. MEMSIC MMC246xMT Rev D 2 1 0 1 R 1 R 1 R Two detailed examples of communicating with the MEMSIC device are listed below for the actions of acquiring a magnetic field measurement and magnetizing the sensor. POWER STATE MEMSIC MR Sensor will enter power down mode automatically after data acquisition is finished. VDA OFF(0 V) VDD OFF(0 V) OFF(0V) 1.62~3.6 V 1.62~3.6 V OFF(0 V) 1.62~3.6 V 1.62~3.6 V Power State OFF(0V), no power consumption OFF(0V), power consumption is less than 1uA. Power consumption is not predictable, not recommended state. Normal operation mode, device will enter into power down mode automatically after data acquisition is finished EXAMPLE MEASUREMENT First cycle: A START condition is established by the Master Device followed by a call to the slave address [0110xxx] with the eighth bit held low to indicate a WRITE request. Note: [xxx] is determined by factory programming and a total of 8 different addresses are available. Second cycle: After an acknowledge signal is received by the master device (MEMSIC device pulls SDA line th low during 9 SCL pulse), the master device sends the address of Control Register 0 or [00000111] as the target register to be written. The MEMSIC device th should acknowledge receipt of the address (9 SCL pulse, SCL pulled low). Third cycle: The Master device writes to the Internal Control Register 0 the code [00000001] (TM high) to initiate data acquisition. The MEMSIC device should send an Acknowledge and internally initiate a Page 10 of 15 5/30/2013 measurement (collect x and y data). A STOP condition indicates the end of the write operation. programming and a total of 8 different addresses are available. Fourth cycle: The Master device sends a START command followed by the MEMSIC device's seven bit address, and finally the eighth bit set low to indicate a WRITE. An Acknowledge should be send by the MEMSIC device in response. Second cycle: After an acknowledge signal is received by the master device (The MEMSIC device pulls the th SDA line low during the 9 SCL pulse), the master device sends [00000111] as the target address (Internal Control Register 0). The MEMSIC device th should acknowledge receipt of the address (9 SCL pulse). Fifth cycle: The Master device sends the MEMSIC device's Status Register [00000110] as the address to read. Sixth cycle: The Master device sends a START command followed by the MEMSIC device's seven bit address, and finally the eighth bit set high to indicate a READ. An Acknowledge should be send by the MEMSIC device in response. Seventh cycle: The Master device cycles the SCL line. This causes the Status Register data to appear on SDA line. Continuously read the Status Register until the Meas Done bit (bit 0) is set to `1'. This indicates that data for the x and y sensors is available to be read. Eighth cycle: The Master device sends a START command followed by the MEMSIC device's seven bit address, and finally the eighth bit set low to indicate a WRITE. An Acknowledge should be send by the MEMSIC device in response. Ninth cycle: The Master device sends a [00000000] (Xout LSB register address) as the register address to read. Tenth cycle: The Master device calls the MEMSIC th device's address with a READ (8 SCL cycle SDA line high). An Acknowledge should be send by the MEMSIC device in response. Eleventh cycle: Master device continues to cycle the SCL line, and each consecutive byte of data from the X and Y registers should appear on the SDA line. The internal memory address pointer automatically moves to the next byte. The Master device acknowledges each. Thus: Eleventh cycle: LSB of X channel. Third cycle: The Master device writes to the MEMSIC device's Internal Control Register 0 the code [10000000] (Refill Cap) to prepare for SET action.* A minimum of 50ms wait should be provided to allow the MEMSIC device to finish its preparation for the SET action. Fourth cycle: The Master device writes to the MEMSIC device's Internal Control 0 register the code [00100000] (SET bit) to initiate a SET action. The MEMSIC device should send an Acknowledge. EXAMPLE OF RESET* First cycle: A START condition is established by the Master Device followed by a call to the slave address [0110xxx] with the eighth bit held low to indicate a WRITE request. Note: [xxx] is determined by factory programming and a total of 8 different addresses are available. Second cycle: After an acknowledge signal is received by the master device (The MEMSIC device pulls the th SDA line low during the 9 SCL pulse), the master device sends [00000111] as the target address (Internal Control Register 0). The MEMSIC device th should acknowledge receipt of the address (9 SCL pulse). Third cycle: The Master device writes to the MEMSIC device's Internal Control Register 0 the code [10000000] (Refill Cap) to prepare for RESET action. A minimum of 50ms wait should be provided to allow the MEMSIC device to finish its preparation for the RESET action. Fourth cycle: The Master device writes to the MEMSIC device's Internal Control 0 register the code [01000000] (RESET bit) to initiate a RESET action. The MEMSIC device should send an Acknowledge. Twelfth cycle: MSB of X channel. Thirteenth cycle: LSB of Y channel. Fourteenth cycle: MSB of Y channel. At this point, the MEMSIC AMR sensors have been conditioned for optimum performance and data measurements can commence. Master ends communications by NOT sending an `Acknowledge' and also follows with a `STOP' command. Note *: The RESET action can be skipped for most applications EXAMPLE OF SET First cycle: A START condition is established by the Master Device followed by a call to the slave address [0110xxx] with the eighth bit held low to indicate a WRITE request. Note: [xxx] is determined by factory MEMSIC MMC246xMT Rev D Page 11 of 15 5/30/2013 USING SET AND RESET TO REMOVE BRIDGE OFFSET The integrated SET and RESET functions of the MMC246xMT enables the user to remove the error associated with bridge Null Field Output (Offset) change as a function of temperature, thereby enabling more precise heading measurements over a wider temperature than competitive technologies. The SET and RESET functions effectively alternately flip the magnetic sensing polarity of the sensing elements of the device. The most accurate magnetic field measurements can be obtained by using the protocol described as follows: 1) 2) 4) Perform MEASUREMENT. This measurement will contain not only the sensors response to the external magnetic field, H, but also the Offset; in other words, Perform a RESET. This resets the internal magnetization of the sensing resistors in the direction of the RESET field, which is opposite to o the SET field (180 opposed). Perform a MEASUREMENT. This measurement will contain both the sensors response to the external field and also the Offset. In other words, Finally, calculate H by subtracting the two measurements and dividing by 2. This procedure effectively eliminates the Offset from the measurement and therefore any changes in the Offset over temperature. Note: To calculate and store the offset; add the two measurements and divide by 2. This calculated offset value can be subtracted from subsequent measurements to obtain H directly from each measurement. Time between the SET/Measure and RESET/Measure operation needs to be kept as short as possible to minimize error induced by the applied magnetic field changing between the two operations. The two measurement examples below show how using SET/RESET eliminates the error due to the offset changing as a function of temperature. The explanation only examines the X axis but is applicable to all axes. MEMSIC MMC246xMT Rev D At 25C a measurement is taken. The device reports 34816 (Offset + Hx * Sensitivity) => (32768 + 0.5Gauss * 4096Counts/Gauss). The measurement is converted to magnetic field intensity using the equation: At -40 C a measurement is taken. The reported value reported could be 34816 (0.4mGauss/C * 65C*4096counts/Gauss) = 34923 to 34710. Let us assume it was 34923. Now the calculated magnetic field is: Hx = (34923 - 23768) /4096 = 0.525 gauss Output2 = -H + Offset. 5) Case 1: Measurement NOT using SET/RESET Hx = (Measurement - Offset) /Sensitivity = (34816 - 32768)/4096 = 0.5 gauss Perform SET. This sets the internal magnetization of the sensing resistors in the direction of the SET field. Output1 = +H + Offset. 3) Given: Sensitivity = 4096 counts/gauss Offset = 8192 at 25 C Offset Temperature coefficient = 0.4mG/C Hx = Applied Magnetic field = 0.5 gauss There is 25 mGauss of error. This error is due to Null Field output value changing with temperature. Case 2: Measurement using SET/RESET At 25C a SET command is issued and a measurement is taken. The value reported is 34816 (32768 + 0.5Gauss * 4096 Counts/Gauss). Now a RESET Command is issued which reverses the polarity of the sensor and another measurement is taken. The reported value is 30720, (32768 0.5Gauss* 4096 Counts/Gauss). The field is calculated from the two measurements as: Hx = (Measurement1 - Measurement2) /2 /Sensitivity = (34816 - 30720) /2 /4096 = 0.5 gauss At -40C the same procedure is used to make the measurement A SET command is issued and a measurement is taken. The value reported is 34923 (32768 + 0.5Gauss * 4096Counts/Gauss + 0.4mGauss/C * 65C*4096counts/Gauss). Now a RESET Command is issued flipping the polarity of the sensor and another measurement is taken. The reported value is 30827, (32768 - 0.5Gauss * 4096Counts/Gauss + 0.4mGauss/C * 65C*4096Counts/Gauss). Hx = (Measurement1 - Measurement2) /2 /Sensitivity = (34923 - 30827) /2 /4096 = 0.5 gauss The temperature variation induced offset error has been eliminated. Page 12 of 15 5/30/2013 OPERATING TIMING VDD I2C T S top tRF tSR S SET/RESET T Take Measurement R Read data R T R tTM tTM T S R T tSR tTM R tTM Repeat T & R Wait the device to be ready for next operation Operating Timing Diagram Parameter Symbol Min. Typ. Max. Unit Time to operate device after Vdd valid top 5 mS Time from Refill Cap to SET/RESET6 tRF 50 mS Wait time to complete SET/RESET tSR 1 mS tTM BW=00 10 mS tTM BW=01 5 mS tTM BW=10 3 mS Wait time to complete measurement 6 The device requires a maximum of 50 ms to charge the capacitor after receiving the Refill Cap command. MEMSIC MMC246xMT Rev D Page 13 of 15 5/30/2013 STORAGE CONDITIONS Temperature: Humidity: Period: <30 C <60%RH 1 year (after delivery) Moisture Sensitivity Level: 3 Bake Prior to Reflow: Storage period more than 1 year, or humidity indicator card reads >10% at 23 5 C Bake Procedure: Refer to J-STD-033 Bake to Soldering: <1 week under 30 C, 60% RH condition SOLDERING RECOMMENDATIONS MEMSIC magnetic sensor is capable of withstanding an MSL3 / 260C solder reflow. Following is the reflow profile: 300 260Peak Temperature For 10s 260Max Slo pe Max Gradient 2.8/s 2 200 /s 195 180 Max Package Surface Temp() 250 180 150 100 100 50 50 0 0 50 100 150 200 250 300 350 400 450 Time(s) Note: * Reflow is limited by 2 times * The second reflow cycle should be applied after device has cooled down to 25 C (room temperature) * This is the reflow profile for Pb free process * The peak temperature on the sensor surface should be limited under 260 C for 10 seconds. * Solder paste's reflow recommendation should be followed to get the best SMT quality. If the part is mounted manually, please ensure the temperature could not exceed 260 C for 10 seconds. MEMSIC MMC246xMT Rev D Page 14 of 15 5/30/2013 PACKAGE DRAWING (LGA package) Positive X and Y direction indicated above is after a SET operation. Positive X and Y direction is reversed after a RESET operation. 10X0.350.05 LAND PATTERN VSA SDA SCL VPP TEST VDD C+ C- 2.00.1 VDA 1.520.05 10X0.30.05 CAP 3X0.52 1.560.05 2.00.1 MEMSIC MMC246xMT Rev D Page 15 of 15 5/30/2013