Other Parts Discussed in Thread: ADS131M08
Hi,
I am using ADS131M04-Q1 and interfacing with FPGA using Verilog. The ADC is configured as: MODE = 16'h0100, CLOCK = 16'h0F0A, GAIN1 = 16'h7777 and others default. ADC clock fCLK = 8.1968 MHz from FPGA and SPI clock is fCLK/4.
I am following the below steps:
1. Assert SYNC/RESET = 0 for 2048 ADC clock cycles
2. De-assert SYNC/RESET = 1 and wait for 2 ADC clock cycles
3. Wait on rising edge of DRDY
4. Assert CS to low
5. Write registers:
COMMAND {WREG_CMD, MODE_REG_ADDR, 7'd2, 8'd0} (total 24 bits),
MODE{16'h0100, 8'd0} (total 24 bits),
CLOCK{16'h0F0A, 8'd0} (total 24 bits),
GAIN1{16'h7777, 8'd0} (total 24 bits)
dummy{48'd0}. So, in total 6 words sent.
6. Disable CS and wait for falling edge of DRDY.
7. Enable CS and read 6 words.
8. Disable CS and wait for falling edge of DRDY.
9. Enable CS and read registers command:
{RREG_CMD, MODE_REG_ADDR, 7'd2, 8'd0} (total 24 bits),
dummy{120'd0}. So, in total 6 words sent.
10. Disable CS and wait for falling edge of DRDY.
11. Enable CS and read registers:
{3 registers} (total 3X24 bits),
dummy{3X24 bits}. So, in total 6 words.
Repeat steps 8-10. When I do this I am not getting the register values repeatedly. Why?
And see the behavior of DRDY:
It is not periodic. Why?
Regards