Post Go back to editing

adt7410 ı couldn't readback configuration register

Category: Software

Hello,

I am using the adt7410 IC. 

As you can see in the image I attached, I am trying to write x02 to the configuration register and then I want to read back the value that I wrote. In the image, when I readback the configuration register, it seems that I read x0C. It is observed that I read the value at temperature value most significant byte (x00). Can you help me what am I doing wrong?

Thanks in advance.

  • Hello  ,

    Can you provide me a schematic and configuration of your setup so that I may assist you regarding the problem you're having? 


    Regards,

    Karlo



  • Hello  ,

    The circuit diagram is as in the image. 
    I set the configuration bits as follows;

    [1:0]   Fault queue        : 10 = 3 faults.
    2        CT pin polarity    : 0 = active low
    3        INT pin polarity   : 0 = active low.
    4        INT/CT mode      : 0 = interrupt mode
    [6:5]   Operation mode  : 00 = continuous conversion (default). When one conversion is finished, the                                                       ADT7410 starts another.
    7        Resolution          : 0 = 13-bit resolution. Sign bit + 12 bits gives a temperature resolution of 0.0625°C.

    When I read back the configuration register, I want to see the value I wrote and prove that it was written correctly.



    I can read temperature values from 0x00 and 0x01 addresses but I can't read configuration register(from 0x03) , status register (from 0x02) and ID(from 0x0B). 

    Regards,

    seyma



  • HI  ,

    Is your I2C clock frequency <= 400kHz? From what I can see, the addresses used for the I2C communication is correct. Can you please double check the clock frequency? I will try to replicate the error you're getting in the next few days, and I will keep you updated on my progress. 

    Regards,

    Karlo

  • Hi  ,

    I checked I2C clock frequency and it is equal to 400kHz and also tried 100kHz as the I2C clock frequency and I observed same error.

    Thank you for your support, I am waiting for your reply.

    Regards,

    Seyma

  • Hi  ,

    I tried to replicate the error you've been getting, and was successful in doing so. I have found out that what you were reading was the temperature MSB register. The issue could be resolved by implementing a repeat start at the end of your write, before trying to read the said registers. Please see attached image as a reference (red windows) where to implement a repeated start. 


    I2C Register Reading

    Regards,

    Karlo

  • Hi  ,

    Thank you for reply but I can't see the image you attached. If you don't mind can you send it again?
      
    Regards,

    Seyma

  • Hi  ,

    Sorry for the broken file, please see attached image. The red windows are where you're supposed to implement a repeated start instead of fully stopping the communication. I hope this helps. 


    I2C Register Read


    Regards,

    Karlo