AnsweredAssumed Answered

MPL3115A2 fail

Question asked by Alexander Kobzev on Nov 5, 2015
Latest reply on Jun 7, 2016 by Wayne Soutter

I use MPL3115A2 (M3PR YI0C) to measure temperature, pressure and elevation. Periodically change the mode of the altimeter to barometer mode and Vice versa. I ran into the following problem: After some time of operation, the STATUS register (0x00) stops updating and becomes always equal to 0x00. Registers the altitude/pressure and temperature (0x01 - 0x05) are set to zero. While reading the configuration registers shows that MPL3115A2 configured true.

 

Here is an example of registers in a single measurement prior to the crash:

STATUS:    0x0e

OUT P_MSB: 0x61

OUT_P_CSB: 0xa0

OUT_P_LSB: 0xd0

OUT_T_MSB: 0x1a

OUT_T_LSB: 0x50

SYSMOD:      0x01

INT_SOURCE:  0x00

PT_DATA_CFG: 0x07

CTRL_REG1: 0x39

CTRL_REG2: 0x00

CTRL_REG3: 0x00

CTRL_REG4: 0x00

CTRL_REG5: 0x00

 

Here is the first failed measurement:

STATUS:    0x00

OUT P_MSB: 0x61

OUT_P_CSB: 0xa0

OUT_P_LSB: 0xd0

OUT_T_MSB: 0x1a

OUT_T_LSB: 0x50

SYSMOD:      0x01

INT_SOURCE:  0x00

PT_DATA_CFG: 0x07

CTRL_REG1: 0x39

CTRL_REG2: 0x00

CTRL_REG3: 0x00

CTRL_REG4: 0x00

CTRL_REG5: 0x00

 

Here are 10 unsuccessful measurement (with attempt to switch mode):

STATUS:    0x00

OUT P_MSB: 0x00

OUT_P_CSB: 0x00

OUT_P_LSB: 0x00

OUT_T_MSB: 0x00

OUT_T_LSB: 0x00

SYSMOD:      0x01

INT_SOURCE:  0x00

PT_DATA_CFG: 0x07

CTRL_REG1: 0xb9

CTRL_REG2: 0x00

CTRL_REG3: 0x00

CTRL_REG4: 0x00

CTRL_REG5: 0x00

 

The problem appears both when using the interrupt, and when using polling. The only way to MPL3115A2 return to normal operation is a software reboot. What could be the problem?

(Sorry for translate)

Outcomes