Driving ADS1248 EVM board with SPI from Microchip dsPICDEM 2 board hosting dsPIC30F4013. Three SPI wires: clock, data-out, data-in. Programmable discretes are chip select out, and DRDY in. Not using combined DOUT/DRDY mode. Initializing SYS0 to PGA64 and 20SPS. Issuing SDATAC and RDATA. Do not want to run RDATAC because am continuously cycling across sensors and ambient. Software state machine watches for falling edge of DRDY. Then asserts chip select. Waits 2ms. Then sends 5 NOPs to acquire 3 bytes of conversion data. Then sends WREG for MUX0, VBIAS and MUX1 as per next sensor to convert. Then sends RDATA. Then removes chip select.
All works well, DRDY falling edge is observed. NOPs go out, clock square wave is seen, three bytes / 24 bits of conversion is sent out by ADS1248, then WREG for MUX0, VBIAS and MUX1 is seen.
Problem is, conversion result is always 0x7FFFFF, for all MUX0 and MUX1 settings, including internal diode.
Screen shot of Tektronix THS3014 four channel scope shows everything occurring properly, except conversion result is always 0x7FFFFF.
Screen shot channels are 1=data 1248 to 4013, 2=clock, 3=data 4013 to 1248, 4=DRDY. Timescale is 400ms per division.