Hello Everybody,
i'm trying to get the serial interface of the ADS7952 to work with the SPI of a AT91SAM9 (ARM 9), but the ADS7952 is behaving very unexpectedly.
I'm sending the following data words:
while(1)
{
0x4200 // device reset
for(i=0;i<3;i++)
0x1080 //manual mode, channel 1
}
Here is a screenshot of the SPI transfer:
MISO is the SDO line; MOSI is the SDI line; clock rate is ~350kHz, AREFP is 3.0V, +VA is 3.3V, +VB is +3.3V
If i shift the clock 1/2 period, so that the rising edge of the clock and the rising edge of the data bits are simultaneous, the ADS7952 output word is the channel number and the sample data. Although the channel selected by the ADS792 is not the channel i programmed, the sampled data is correct (i applied 1.5V to channel 8 and GND to all other channels). Here is the screenshot:
Schematic for reference (what you can't see: the NC pins are tied to GND)
I assume i am doing something wrong with the SPI timing, but as far as i can see my timing complies the timing requirements from the datasheet.
So i would appreciate any suggestion that helps me to get it work.
Best regards
Paul Roßmann