I am running the ADS8330 in AutoMode. I've got the input SPI traffic set up to drive the DMA on the OMAP-L137. I'm seeing timeouts sometimes and I've tracked the issue down to this: Sometimes when I write the CFR (0xe4bd), it is not "caught" by the ADS8330. That is, when I read the CFR back, sometimes I see 0x6bd (manual mode). My normal behavior is to alternate between the two modes. That is, when I'm not collecting data, I park the chip in Manual Mode and de-assert Start Convert. When I change to collection, I assert Start Convert and configure the part for AutoMode via the 0xe4bd command.
I've hooked up the scope to Start Convert, End Convert(INT in my case), Chip Select, SCLK, SOMI, and SIMO (not all at the same time). When I timeout the transfer, the command command went out well formed with good clocks. No other erratic behavior is present on any of the other lines. That is, I can't see any difference between the good transfers and the bad transfers except that the chip does not drive the EOC/INT signal low.
To help debug this, I added a read CFR after I write the CFR. Sometimes it reads back 4bd, sometimes it reads back 6bd.
The question I have is what could be happening that would prevent the WriteCFR command from working? (The scope has a long buffer, and I can see no other SPI-ADC traffic that is occurring before or after the failures.)
The frequency of the failure is different from board to board.