Post Go back to editing


Category: Software
Product Number: AD4112BCPZ

when I try to use  the register check function of AD4112 ,these have a problem,when use one same chip ,two kind of different  configuration (configuration diferent in channel register ,setup configuration register.. )give same  register check number. chang to another chip ,this register check number is different with the first chip. it is seem that regster check number is not a 24-bit checksum calculated by exclusively OR'ing the contents of the user registers,but a chip diferent number.

  • Hello,

    Is this about how the no-OS driver handles the register check or is this a question about the chip itself?

    Is the device set for CRC or XOR checks?


  • Hi, it's about no-os driver handles the register check ,I configure the user register then enable the register check bit and read register check value, same configure give different result  in different chip. different configure  give same result  in same chip.

  • Can you please post a link to the no-OS code that handles the register check register ? 
    I can't find one myself in the ad717x driver 

  • Hi,These is no link about handles the register check register,but I code this myself ,so if you want this,leave  a mail address here ,I post to you.

  • We at no-OS can't answer this question for you then, because the bottom question here is whether the REGCHECK register does what the datasheet says it does and the driver that is included in no-OS doesn't even read or handle in any way REGCHECK value.

    I think Precision ADCs forum would be better suited for your question so I'm moving the thread to that forum.

  • Hi, 

    I am not sure if I understand the question correctly. But the purpose of the REG_CHECK is to monitor if one of the register values has changed. 

    To use this feature, all other registers should be configured as desired, with the REG_CHECK bit cleared. Then set the REG_CHECK bit afterwards. If the contents of any of the registers change in future then an error will be set in the status register. This bit should be set to 0 to clear the error. If a register needs to have a new value written this bit should first be cleared, otherwise an error will occur when the new register contents are written.

    The checksum can be readback but this is not required for the function to work. And with regards to your questions about checking the checksum across two different devices, please take note that there are internal fuse values or registers that are included in the checksum so each device gives different results. 



  • Thanks for your answer,Jellenie

    Could you tell more about "internal fuse values or registers" which could  make different  chip gives different results,  I just want to use regcheck to check whether  my every AD4112 have the same configuration, it  have no sense if different chip same configuration have different value as what you say. 


  • Hi, 

    Apologies but we cannot disclose any information as this is part of the internal design. But what I can just confirm is it is expected to have different checksum across two different devices but it is not an issue for the REG_CHECK to function correctly. The REG_CHECK function is to monitor if one of the register values has changed. It is not intended to check if two different parts have the same configuration as you've intended in your application.

    If you want to check if the ADCs have the same register settings then I would suggest you just need to read through each of their register settings and then perform the comparison in your custom firmware or code.