I have a problem to communicate with the ADS1148:
Reading the registers works but writing the registers does not work:
I do the following:
Start and CS high, Reset low, waiting 1ms
Reset high, waiting 20ms
SPIClk is 0.5MHz, clk idle is low, data change is at rising clk, data sample at falling clk.
Read MUX0: CS low, send 0x20, 0x00, 0xff => answer of the last byte 0x01 which is the default value, CS high
Read IDAC0: CS low, send 0x2a, 0x00, 0xff => answer of the last byte 0x90 which should be the revision ID, CS high
Read IDAC1: CS low, send 0x2b, 0x00, 0xff => answer of the last byte 0xff which is the default value, CS high
What I observe: The DOUT signal goes to high at the last clock of the second byte, is this OK?
So reading seems to work. What I observe: The DOUT signal goes to high at the last clock of the second byte, is this OK?
Now I want to write:
Write IDAC0: CS low, send 0x4a, 0x00, 0x0e (DRDY Mode 1 and 1mA IDAC) , ignore answer, CS high
Write IDAC1: CS low, send 0x4b, 0x00, 0x34 (I1 at AI3, I2 at AI4) , ignore answer, CS high
Reading back these registers like above will send me the old original values.
I also observe the DOUT signal goes to high at the last clock of the second byte. is this OK?
Should I wait for something? Unfortunately I didnt wire the DRDY signal to the micro, only the DOUT/DRDY.
Please help, thanks
Stephan