Post Go back to editing

Regarding the issue of the ADX355 temperature data showing a jump of nearly 30 °C

Category: Hardware
Product Number: ADX355

Dear Support Team,
We are currently using the ADXL355 in mass production. We have observed that there are some ICs for which the temperature data suddenly jumps by nearly 30 °C.
The temperature data is read once every 2 seconds. We read two bytes at a time using a multi-byte read. The read-out code is converted to temperature using the following formula:
Temperature [°C] = ((Read Code − 1855) / −9.05) + 25

Below are two devices that are showing abnormal temperature readings.


We understand that TEMP2 and TEMP1 registers are not double-buffered, and therefore each register may be updated while the two registers are being read. However, is it really possible for such a large jump in the measured code to occur due to this behavior?
We would appreciate your guidance on this issue.
Best regards,

  • The product number was incorrect; it should be ADXL355.

  • Good afternoon Nii-san, thank you for the question.

    The ADXL35x's temperature sensor is not calibrated to track absolute temperature in a specific environment.  The intended use is to provide a highly linear, feedback sensing function for application-level, calibration algorithms.  In these cases, customers typically observe sensor response to specific motion profiles, under their use case's environments, within the local thermal environment of their system.  By logging both acceleration and temperature data, customers are able to tightly couple the acceleration response to the thermal environment, in their system.  When we explored the feasibility of calibrating this sensor, we found that the use cases were too diverse, with respect to their thermal environment to justify the cost and production impact. Proximity to asymmetrical heat sources, airflow, thermal path to ambient all provide opportunity to influence the absolute accuracy of such a sensor, even if the sensor itself, were perfect. Jumps in temperature between register reads are to be expected (although in my experience they have never been this large). Could you share some more information about your set up? Either way, I hope this helps.

    Nico

  • Hi Nico,


    Thank you for your reply.
    Let me share some basic information about our application and the issue:

    The ADXL355 is used in a mass‑production product.
    Application: building tilt detection terminal.
    About 1,000 units have been shipped to the field; the issue has occurred on 4 units so far.
    In the field, the terminal measures acceleration and temperature once every 24 hours at most.
    (The 2‑second measurement interval I showed you previously was only for our lab experiment.)
    In the field data, the phenomenon has occurred at a rate of roughly 4 times in 10 million measurements.

    If there is any other specific information (register settings, SPI conditions, raw TEMP codes, layout, etc.) that would be particularly helpful for your analysis, please let us know and we will prepare it.
    Best regards,
    Nii

  • Based on the datasheet formula [-9.05*(T-25)+1885], 1C comes out as 0x836 and 29C as 0x738. The low-order bytes are not too different, so if you caught it between updating the two bytes, it would appear as a jump. (Similarly for 6.3C and 35C.)

    Try reading the value repeatedly until you get two identical readings in a row.