This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS8354: Internal Voltage reference not setting as expected.

Part Number: ADS8354

Hello,

I am trying to set internal reference voltage of ADS8354, but I am getting unexpected behavior from the IC.
Any help would be appreciated.


Here is what I tried :
Settings :
- I am using 48 falling edge clock/ 3MHz using S32K microcontroller.
- SPI polarity and phase are set as data is changed on rising edge of clock and captured on falling edge at micro end.
- Independent supply for AVDD ( =5V ) and DVDD ( =3.3V), micro supply (3.3V). I tried providing same supply of 3.3V to whole system but no difference.

1) I am writing below data in registers in same sequence to configure and set ref voltages:
a) CFR with 0x8640 0000 0000 => to use single SDO, FSR=+-2*Vref, and enable internal ref.
b) REFDAC_A with 0x9FF8 0000 0000 => Set to 2.5V
c) REFDAC_B with 0xAFF8 0000 0000 => Set to 2.5V
This is setting REFIO_B pin to 2.5V but REFIO_A is 1V only. If I change values in REFDAC_x registers to 0x9348 for A and 0xA348 for B then only REFIO_B is changed to 2.0V but REFIO_A is same at 1V.
Is there any possible explanation for this behavior or am I missing something?

 

2) When I turn on AVDD first followed by DVDD, REFIO_B is 2.5V and REFIO_A is 1V.
But if I turn on DVDD first and then AVDD REFIO_B is ~0.7 and REFIO_A is ~0.3. This condition changes to previous values of 2.5V and 1V if I re-flash the program.
This is the other strange behavior I noticed.

 

3) To verify if registers are written properly, I tried reading those registers CFR and REFDAC, the bits are apparently shifted to left by 1.
For example, for REFDAC_B instead of getting 0010 (0xFF8) in MSB side I am getting 0101 (0xFF0) and for REFDAC_A, instead of 0001 (0xFF8), I am getting 0011 (0xFF0).

Edit: The bits are correct, I was reading wrong, I was considering the bit after first falling edge of SCLK as first MSB.
I have got another problem in reading the CFR register- data is correct but the four bits that come before the data bits are 0000b instead of 0011b.

The first four bits and data for REFDAC_x registers are correct. But REFIO_A is still fixed at 1.0V. Please suggest some explanation for such behavior.

To minimise possibility of faulty board, I did these processes in multiple boards but the response is same.

 

Thanks in advance.