Debugging has been failed
AD7124 has an embedded 2.5V internal reference that can be used to supply ADC (by setting the REF_EN bit in the ADC_CONTROL register to 1). Alternatively an external reference can be applied. To select the reference source for AD7124, you must modify the REF_SEL bits in the configuration register. These bits corresponds to the reference source.
00 = REFIN1(+)/REFIN1 ( - )
01 = REFIN2(+)/REFIN2 ( - )
10 = internal reference
11 = AVdd
For your debugging issue, you may refer to the ADI wiki page AD7124 No-OS Software [Analog Devices Wiki. This AD7124 driver may guide you on your software development.
AS the AD7124 is a ADC only, I moved to correct sub-community.
Thank you very much!
The following is my configuration information.Please help to see if it is correct.
channel : channel 0 enable,setup 0 ,AINPOS_AIN10, AINNEG_AVSS
setupconfig : setup 0 , unipolar, burnout current source off, Buffer disable on REFINx(+), Buffer enable on REFINx(-),
Buffer enable on AINP, Buffer enable on AINM, internal reference, PGA 000
FILTER: sinc4 filter, REJ60 bit set 0,POST_FILTER 000, Single cycle conversion enable, Filter output data rate 0x60
ADC_CONTROL: DOUT_RDY_DEL bit set 0, CONT_READ disable, DATA_STATUS bit set 1, CS_EN bit set 0,
Internal reference voltage enable, mid power, Continuous conversion mode, CLK_SEL bit set 00
The above is my configuration.
Now we read data from the data register is 0xffffff. We use single-ended input.
Possible reasons why ADC reverts to all 1s are if it detects an Overvoltage, Undervoltage and Invalid reference. Have you tried to check if the internal reference was properly enabled? Try to measure the REFOUT pin and see if a 2.5V is present.
May I know also how your inputs connected? What is the voltage on AIN10? Make sure that your inputs are not floating.
Thank you very much! Because of my mistake, an Overvoltage was inputted.
Retrieving data ...