This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMAG5273: Sends stale values while connected until power cycle, potentially due to power glitch

Part Number: TMAG5273

Tool/software:

Hi,

I'm working on integrating TMAG5273's for a high-volume commercial use case, and have been seeing the sensors occasionally enter a state where they repeatedly report the exact same stale values (x, y, z, angle, temp, etc.) until they are power cycled. We are still able to communicate with the sensor over I2C, and all the configuration registers are correct. We've been able to reproduce this through movement of the cable connecting the sensor to our PCB's, but have also seen this error occur without mechanical intervention

From a look through the forum it seems the power glitch-induced issue other's have written about is this: (e2e.ti.com/.../tmag5273-cannot-clear-oscillator-error-after-power-on "">e2e.ti.com/.../tmag5273-cannot-clear-oscillator-error-after-power-on, which we also experienced previously, the stale state persists despite clearing the oscillator error, and as such seems do be an independent issue.

I'll update this post as we learn how to more reliably force this condition

Thanks,

Andrew

  • Hi Andrew,

    Thank you for posting to the Sensors forum!

    How are you triggering conversions in your application? Are you using continuous measure mode, W&S mode, or are you manually triggering conversions in W&S mode?

    Is it possible that the cable has something to do with the issue that you are seeing? Do you notice any other error flags being set outside of the oscillator error?

    Best,

    ~Alicia

  • Hi Alicia,

    Thank you for the response! 

    We're using continuous measure mode, below are our config register settings:

    #define TMAG5273_DEVICE_CONFIG_1 0x14  // CONV_AVG = 32x
    #define TMAG5273_DEVICE_CONFIG_2 0x12  // LP_LN = low noise, MODE = Continuous
    #define TMAG5273_SENSOR_CONFIG_1 0x70  // MAG_CH_EN = x,y,z
    #define TMAG5273_SENSOR_CONFIG_2 0x07  // ANGLE_EN = 1, X_Y_Z_RANGE = high
    #define TMAG5273_X_THR_CONFIG 0x00     // no threshold comparison
    #define TMAG5273_Y_THR_CONFIG 0x00     // no threshold comparison
    #define TMAG5273_Z_THR_CONFIG 0x00     // no threshold comparison
    #define TMAG5273_T_CONFIG 0x01         // T_CH_EN = enabled
    #define TMAG5273_INT_CONFIG_1 0x00     // no interrupt enable
    #define TMAG5273_MAG_GAIN_CONFIG 0x00  // no gain
    #define TMAG5273_MAG_OFFSET_CONFIG_1 0x00  // no gain
    #define TMAG5273_MAG_OFFSET_CONFIG_2 0x00  // no gain

    It is very much a possibility that the cable is the root cause. We are still working on inducing the state on a test bench where we can then interrogate the error flags, as such I can't say yet which other errors may be thrown

    Best,

    Andrew 

  • Hi Andrew,

    Just to be sure, before reading the result data, are you checking the RESULT_STATUS bit in the CONV_STATUS register to verify that a conversion is ready.

    Best,

    ~Alicia

  • Yes, we are checking the CONV_STATUS register to make sure the RESULT_STATUS (bit 0) is set before reading. When this error occurs, the RESULT_STATUS is high and the SET_COUNT is frozen and does not increment.
    Thanks again,
    Andrew
  • Hi Andrew,

    Were you able to see if any other faults were being triggered? Something to also monitor as you are investigating this would be the VCC power signal to make sure that the power signal is clean.

    Best,

    ~Alicia 

  • We have manually confirmed that while in this state there are no faults set in the error registers while the sensor is sending stale values. Agreed that power could also be a culprit. Is there somewhere else this behavior could have been documented?

    Best,

    Andrew

  • Hi Andrew,

    The behavior that you are seeing is not typical, so there is not any documentation on it. 

    I would expect that while in continuous mode, new conversions should always be happening. Given that at some points you are reading back the same value and SET_COUNT does not seem to be incrementing, a part of me wonders if the device has somehow exited continuous measure mode. When reading back the OPERATING_MODE bits, is it still set for Continuous Measure mode? If it does, can you try putting it into standby mode, triggering a conversion to see if you are able to read new data? 

    Best,

    ~Alicia

  • Hi Andrew,

    I am going to close this thread for now as I haven't heard from you in a bit. If you were able to resolve the issue, please mark this thread as resolved. If you still have questions or need help, please feel free to re-open this thread or ask a related question.

    Best,

    ~Alicia