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.

TMAG5170: Data read problems at low temps.

Part Number: TMAG5170

We are using the TMAG5170 sensor to sense a NdFeB N52 3/8" diameter x 1/2" long cylinder magnet that is moving in varying x,y,z positions over the sensor. We are calculating the angle to find the position of the magnet in relation to the sensor and using this to determine the position of another component in an assembly. We have started temperature testing that requires between -40 and 85 C. We have set up the test assembly in the enviro chamber to take constant readings of the x,y,x, angle and magnitude vector of the magnet at a fixed position in relation to the fixed sensor position and recording changes in readings as temperature changes. Our readings are good throughout the range until we get down to around -20/-25C. Here the sensor starts to give "0" reading for either x,y,z or angle or magnitude some or all reading may be zero while others may have data read. At -30 and to -40 most readings are "0" and the sensor seems non-functional around -40. Any thoughts on what to look for to troubleshoot here?

A log file is attached that shows position readings as temps are changing as noted by the comments added to the log. Near the bottom of the log are the -30 to -40 temps.

Thanks.

teraterm110723.log

  • Hey Shane,

    Thanks for posting to the Sensors forum.

    A few questions to help with troubleshooting:

    • Are there ICs other than the TMAG5170 (the MCU, etc.) that are also exposed to the cold temp? Are those ICs rated for these temperatures?
    • Are any wires/connectors in the test assembly secure and have good connection?
    • Can you provide oscilloscope or logic analyzer captures of the SPI communication when the readings go to 0?

    Best regards,

    Jesse

    • Are there ICs other than the TMAG5170 (the MCU, etc.) that are also exposed to the cold temp? Are those ICs rated for these temperatures?
      • Yes, and the MCU reading data from TMAG5170 is rated for low temperatures.
    • Are any wires/connectors in the test assembly secure and have good connection?
      • No wiring problems
    • Can you provide oscilloscope or logic analyzer captures of when the readings go to 0?
      • We have generated log files that show the erroneous readings. We can get this to you if you want. The TMAG5170 also has many self-declared failures between -30C to -40C including:
        • Analog front end sensor diagnostic test failed
        • X-Axis hall sensor diagnostic test failed
        • Y-Axis hall sensor diagnostic test failed
        • A fault in the internal LDO supplied power was detected
  • Shane,

    Thanks for your response. I am looking into what could be triggering the diagnostic flags you mentioned above. I did take a look at the teraterm log you attached in your original post and can see the behavior you are describing where the x/y/z channel results, angle, or magnitude show as "0" readings. If you do have oscilloscope or logic analyzer captures of the SPI communication signals during this behavior, that could help. 

    • Have you observed this behavior on multiple units or test assemblies? Has this unit/test assembly been through any other stress tests?

    • Could you also read some fixed registers during the test to see their data is impacted, or is read as normal? Perhaps the DEVICE_CONFIG, SENSOR_CONFIG, and TEST_CONFIG registers.

    • You mentioned the TMAG5170 is taking constant readings of the "x,y,x angle and magnitude vector". Are the MAG_CH_EN bits set to 8h (XYX channel enabled) or is the Z channel enabled as well? Could you share a register map dump of your TMAG5170 configuration settings?

    Best regards,

    Jesse

  • Also, what are the units for the x, y, z and magnitude values as shown in the teraterm log. Are these the raw result register values in decimal form?

    Thanks,

    Jesse

    • Have you observed this behavior on multiple units or test assemblies? Has this unit/test assembly been through any other stress tests? 
      Yes this has been observed on multiple units. No other testing has been performed. FYI our first failed unit had the TMAG chip replaced and it ran flawlessly down below -45C.
    • Could you also read some fixed registers during the test to see their data is impacted, or is read as normal? Perhaps the DEVICE_CONFIG, SENSOR_CONFIG, and TEST_CONFIG registers. 
      Working to set that up, should be available tomorrow.
    • You mentioned the TMAG5170 is taking constant readings of the "x,y,x angle and magnitude vector". Are the MAG_CH_EN bits set to 8h (XYX channel enabled) or is the Z channel enabled as well? Could you share a register map dump of your TMAG5170 configuration settings?
      Magnetic channel enable is 0x07 XYZ
      Device Config = 0x5108
      Sensor Config = 0x5dd5
      System config = 0x0220
      Alert Config = 0x0800
      Test Config = 0x0004
      All other regs are default.
     
    We will be attempting to get a logic analyzer set up as soon as possible.
  • Thanks for the clarification, Shane

    To confirm my understanding, you have replaced the TMAG5170 on one assembly where you were initially seeing the 0 readings at low temps, and the behavior went away once the part was replaced. You are seeing the 0 readings at low temperatures on additional test assemblies. Is the behavior observed on all test assemblies, or just some? Have you replaced the TMAG5170 on other assemblies where you've observed the behavior? Does this seem to always resolve the issue?

    The testing the additional register reads at low temps and logic analyzer captures should help debug further.

    In case you missed my other response before, what are the units for the x, y, z and magnitude values as shown in your teraterm log. Are these the raw result register values in decimal form?

    Jesse

  • To confirm my understanding, you have replaced the TMAG5170 on one assembly where you were initially seeing the 0 readings at low temps, and the behavior went away once the part was replaced. 

    Yes

    You are seeing the 0 readings at low temperatures on additional test assemblies. Is the behavior observed on all test assemblies, or just some?

    Observed on most but not all. Several have had no problems. We took one unit down to -40 multiple times with no problems.

    Have you replaced the TMAG5170 on other assemblies where you've observed the behavior? Does this seem to always resolve the issue?

    We have not replaced any more chips. We are going to evaluate all of our assemblies to get an overall feel for the failure rate.

    The testing the additional register reads at low temps and logic analyzer captures should help debug further.

    IN progress.

    In case you missed my other response before, what are the units for the x, y, z and magnitude values as shown in your teraterm log. Are these the raw result register values in decimal form?

    X,Y,Z are raw decimal values. Angle and Magnitude correct decimal values.

  • Thanks Shane,

    We have not replaced any more chips. We are going to evaluate all of our assemblies to get an overall feel for the failure rate.

    Understood. I would be interested to see if replacing the part on another board resolves the behavior.

    Please keep me updated on the results of the debugging efforts in progress with the additional register reads and logic analyzer captures.

    Best regards,

    Jesse

  • Good morning Jesse. We have several of our tests that have failed at low temps and several of the same design that have not. Would it be possible to get an RMA so we can return the failed units to you for evaluation?

  • Good morning Shane,

    To initiate a customer return, please see this webpage: https://www.ti.com/support-quality/additional-information/customer-returns.html

    In the table on the webpage, follow the recommended action based on where the devices were purchased.

    Were you able to test some of the additional register reads at low temps?

    Best regards,

    Jesse

  • The supplier that is testing the additional units along with me here in our R&D lab was asking for more specific ideas of what you are looking for from register reads.?

  • Hey Shane,

    Reading some registers that should stay fixed (like the config registers) at low temps could help determine if the issue you're seeing with reading 0's from the result registers is related to the SPI communication. Oscilloscope or logic analyzer captures of the SPI signals at the TMAG5170 would also help verify that the SPI communication is clean.

    Looking at the teraterm log again, I noticed that even when the X or Y channel results start reporting 0's from time to time, the angle and magnitude remain around the same values. For example, when the Y channel result changes from -733 in one reading to 0 in the next, I would expect the angle and magnitude values to be impacted as well. Perhaps the 0 readings are due to an error with the SPI communication.

    I also wonder if this is why when the device is replaced and a different one is soldered in its place, the issue was resolved.

    Best regards,

    Jesse

  • Jesse,

    I am helping Shane by also testing units to find out the root cause of the issue we are seeing here.  Some new data:

    We have screened all of the units here and have discovered a total 7 units that have this issue out of 26 (27% defect rate).  There are only about two units that we can fully access the signals on because some are potted. 

     

    We don't see any differences in the SPI bus for a unit that is presenting us with bad data.  Also, we have a memory device on the same bus that is consistently reading correctly.

  • Hey Brian,

    Thanks for posting.

    I'm not sure what exactly could be the cause of this behavior, as the TMAG5170 is validated to operate down to -40°C.

    I believe what you're showing in the oscilloscope capture above is a write of the TEST_CONFIG register, is that correct?

    Shane and I discussed trying to read additional registers (such as the configuration/status registers) as temperature is decreased to see if they continue to return expected values. Is this possible?

    Shane also mentioned that swapping the TMAG5170 on one assembly resolved the issue. Does replacing the TMAG5170 on other assemblies resolve the issue as well?

    Best regards,

    Jesse