Post Go back to editing

AD4696 Register write problem or Sequencer overriding issue

Category: Hardware
Product Number: AD4696; AD4696 EVAL
Software Version: C++

Dear all,

I am working on a project with AD4696. 

I am able to get 1Msps with quite reliable (just with DC voltages so far) results but there is this one crucial problem. 

- AD4696 EVAL

- NXP uC

- 3.3V -->1.8V level shifted for SPI

- VIO, ResetN = 1.8V

- Tied CS and CNV

- Tested register write SCK at 0.5MHz ~4MHz

- Performed HW reset after any firmware change. 

I am not able to sample multiple channels. 

I have been testing Standard Sequence Mode and no matter what value I write to 0x24 register (Standard Sequencer Config), it gets overwritten or defaults back to 0x0000 ->0x0001 when I start converting.

Hence I can only test CH0. 

Here's a quick snapshot of the logic. You can see from the Status bit that it is always sampling CH0.

When I write a value to 0x24, it gets thrown away and ends up at 0x00.

I spent almost 50 hours on this issue and I could get some help if possible. 

Also, there is this problem with Autocycling as well. I now know how to avoid it but I am not sure what is causing the issue. 

In the datasheet, the default register for 0x0024 is 0x00 but for some reason, if I do not write 0x00 to it, it always runs at Autocycling with a 20us cycle. 

There is also some issue with GPIO registers because I always have the BUSY enabled to check the timing but the BUSY signal is not present from time to time. 

I am assuming all these are similar issue but I cannot figure out exactly what is causing the issue.

I do not think it is from poor SPI wiring issue because the register SPI config is happening at around 1MHz. 

Any help or tip is much appreciated!

Top Replies

Parents Reply Children
No Data