Part Number: ADS131E08
Other Parts Discussed in Thread: ADS131E04
Hello,
I run communication with ADS131E08 device using 12.5 MHz SPI. Below are sources:
= Initialization source =
/* AFE configuration */
IO_SETCLR(AFE_CS|AFE_PWDN|AFE_RST, AFE_START);
/* Meet tPOR (> 2^18 tCLK ~ 130ms Wait after power up until reset) */
archDelay(65000);
archDelay(65000);
/* Device reset */
IO_CLR(AFE_RST);
archDelay(50); /* Meet t_RST (> 1 tCLK ~ 0.5 us Reset low duration) */
IO_SET(AFE_RST);
archDelay(900); /* Meet t_RST (> 18 tCLK ~ 9.0 us until device start) */
/* Device initialisation */
_WrCmd(SDATAC); /* Stop read data continuous mode */
_WrReg(CONFIG1_REG, 0b11010011); /* 24-bit output, 8 ksps */
_WrReg(CONFIG2_REG, 0b11110100);
_WrReg(CONFIG3_REG, 0b01000000); /* power down internal reference */
_WrReg(CH1SET_REG , 0b00010000);
_WrReg(CH2SET_REG , 0b00010101);
_WrReg(CH3SET_REG , 0b00010101);
_WrReg(CH4SET_REG , 0b00010101);
_WrReg(CH5SET_REG , 0b00010101);
_WrReg(CH6SET_REG , 0b00010101);
_WrReg(CH7SET_REG , 0b00010101);
_WrReg(CH8SET_REG , 0b00010101);
/* Start conversion */
IO_SET(AFE_START);
_WrCmd(RDATAC); /* Enable read data continuous mode */
= /DRDY Interrupt service routine =
/* read status */
IO_CLR(AFE_CS);
status = _RdStat();
/* read channels */
afe_val[0] = _RdChan24Bit();
afe_val[1] = _RdChan24Bit();
afe_val[2] = _RdChan24Bit();
afe_val[3] = _RdChan24Bit();
afe_val[4] = _RdChan24Bit();
afe_val[5] = _RdChan24Bit();
afe_val[6] = _RdChan24Bit();
afe_val[7] = _RdChan24Bit();
archDelay(200); /* Meet t_SCCS (> 4 t_CLK ~ 2.0 us before CS=1) */
IO_SET(AFE_CS);
archDelay(100); /* Meet t_CSH (> 2 t_CLK ~ 1.0 CS=1 pulse duration) */
==
Channels 1-4 are read correctly, reflecting external applied voltage and/or test signal, 5th channel is moreless a constant value and channels 6-8 are values applied on channels 1-3. Seems like reading takes longer but it is not the case @ 12.5 MHz SPI clock (checked on scope). I plan to investigate more but hope you might have seen it already and able to provide some thoughts on what to try.
Thanks,
Martin M.




