Post Go back to editing

AD7147 initialization parameters

Dear community,

I have 2 doubts related to the initialization parameters of the AD7147 CDC:

1. are the values specified for bank1 initialization mandatory? Or I can directly set them to the values needed for my specific case (apart from Address 0x001)? I am referring to this part of the datasheet:

Write to the Bank 1 registers at Address 0x000 through Address 0x007, outlined as follows. These registers are contiguous; therefore, a sequential register write sequence can be applied    (see     Figure 50 and Figure 55).
Caution: At this time, Address 0x001 must remain set to a default value of 0x0000 during this contiguous write operation.
Register values:
Address 0x000 = 0x82B2
Address 0x001 = 0x000
Address 0x002 = 0x3230 (depends on number of conversion stages used)
Address 0x003 = 0x419
Address 0x004 = 832
Address 0x005 = interrupt enable register (depends on required interrupt behavior)
Address 0x006 = interrupt enable register (depends on required interrupt behavior)
Address 0x007 = interrupt enable register (depends on required interrupt behavior)
4. Write to the Bank 1 register, Address 0x001 = 0x0FFF (depends on number of conversion stages used).

2. I can't understand how to choose proper values for STAGEx_OFFSET_HIGH_CLAMP and STAGEx_OFFSET_LOW_CLAMP. In particular, it is not clear to me the meaning of this definition:

Set this register to the maximum expected sensor response or the maximum change in CDC output code

Set this register to the minimum expected sensor response or the minimum change in CDC output code.

Since midscale is around 32700, should STAGEx_OFFSET_HIGH_CLAMP be much greater than that value, while STAGEx_OFFSET_LOW_CLAMP much lower? Or it refers to the maximum delta from the initial value? In this latter case, do you have any suggestions for choosing it? Which are the risks of putting wrong values for these parameters?

Thank you very much,

best regards,

Gianluca Milani

  • Hello Gianluca,

    The values specified for Bank 1 are the values ADI recommend and should be applicable to most applications, however, you can of course write other values that may be more suited to your application.

    The clamp values are used to prevent a user causing the output value of a sensor to exceed the expected nominal value. The optimum clamp values are determined through characterization of the sensor responses. The difference between low clamp and high clamp could be the difference between a response expected from a small finger vs a large finger, If you have an AD7147 evaluation kit, the operation of the clamp values is illustrated by the software.

    An example is a small finger causing a deflection from 32700 to 40000 and a large finger causing a deflection from 32700 to 50000, in which cases the low clamp value would be 7300 and the high clamp value would be 17300.



  • Dear Maurice,

    thank you very much for your answer.

    I am using the AD7147 not as a switch for finger contact detection, but in order to exploit capacitance data to estimate the applied pressure on the sensor. In this case do you think that parameters such as the STAGEx_OFFSET_HIGH_CLAMP are still important to be carefully tuned or they are useless?

    Thanks a lot, best regards


  • Hi Gianluca,

    In that case you don't need the clamp values. You probably are just interested in the CDC counts data in which case all the thresholding and calibration functions are not needed.



Reply Children
No Data