Hello,
I'm having an issue in which the index of the ADS1258-EP in Pulsed configuration frequently starts at the wrong index (always the highest priority when the error occurs). Two units of the ADC are used for our operation, and share MISO, MOSI, and SCLK lines, though they each have their own CS_N. SCLK operates at 500kHz. A 10MHz clock is provided to each ADC. START is tied to ground. PWDN and RESET pins are shared between the two ADCs.
The startup process is as follows:
Power applied to design.
Wait 1s.
Set PWDN low. Wait 200 ms.
Set PWDN high. Set RESET low. Wait 200 ms.
Set RESET high. Transmit Reset Command over SPI to ADC 0. Wait 200 ms.
Transmit {01100000, 00010010} to ADC 0, to set Autoscan mode with external mux. Wait 4 ms.
Transmit {01100100, 01111001} to ADC 0, to enable/disable specific single-ended channels. Wait 4 ms.
Transmit {01100101, 00000000} to ADC 0, to disable upper 8 single-ended channels. Wait 4ms.
Transmit Reset Command over SPI to ADC 1. Wait 200 ms.
Transmit {01100000, 00010010} to ADC 1, to set Autoscan mode with external mux. Wait 4 ms.
Transmit {01100100, 01111001} to ADC 1, to enable/disable specific single-ended channels. Wait 4 ms.
Transmit {01100101, 00000000} to ADC 1, to disable upper 8 single-ended channels. Wait 4ms.
The operational loop is as follows:
ADC 0: Transmit Convert command. Transmit Channel Data Read Command, and perform the 4 byte read (all with CS_N_0 low the whole time), until the status byte has NEW bit = 1. Assign data to output. Repeat until 5 channels total have been read. Enter internal idle mode while ADC 1 operates.
ADC 1: Transmit Convert command. Transmit Channel Data Read command, and perform the 4 byte read (all with CS_N_1 low the whole time) until the status byte has NEW bit = 1. Assign data to output. Repeat until 5 channels total have been read. Enter internal idle mode while ADC 0 operates.
Core issue:
Expected results: AIN0 -> data "slot" for CH0. AIN3 -> data "slot" for CH3, etc. for each ADC.
Actual results:
ADC0: 95% success rate of AINx data in correct slot.
ADC1: 25% success rate of AINx data in correct slot.On failures, 100% of recorded time, AIN6 is in slot for CH0/AIN0, AIN0 is in slot for CH3/AIN3, etc. Index is off by -1 or starts at lowest priority.
Design is power-cycled between tests.