I'm using two ADXL372 Evaluation boards on one USB-to-SPI device by FTDI (UM232H-B-W, to be exact). The ADXL372's are being powered with 2.5V and the UM232H has logic levels that accept 2.5V amplitudes.
I'll provide Oscilloscope graphs shortly, als soon as I'm back at Uni. My best guess would be the Logic levels, but I'ce seen erratic behaviour on the MISO-Line aswell.
Both ADXL372 are cofigured exactly the same because I'm using the following function to do so, just with a different Chip Select:
DATA = [ADXL.WriteTo(ADXL.RESET) ADXL.INIT_RESET];
DATA = [ADXL.WriteTo(ADXL.INT1_MAP) ADXL.FIFO_FULL_INT1];
DATA = [ADXL.WriteTo(ADXL.FIFO_SAMPLES) 0x5E];
DATA = [ADXL.WriteTo(ADXL.HPF) ADXL.HPF_CORNER_3];
DATA = [ADXL.WriteTo(ADXL.FIFO_CTL) (ADXL.FIFO_FORMAT_Z | ADXL.FIFO_MODE_STREAM | ADXL.FIFO_SMPLS_8)];
DATA = [ADXL.WriteTo(ADXL.TIMING) ADXL.ODR_6400];
DATA = [ADXL.WriteTo(ADXL.MEASURE) ADXL.OR([ADXL.LOW_NOISE ADXL.BANDWIDTH_3200])];
DATA = [ADXL.WriteTo(ADXL.POWER_CTL) ADXL.MODE_FULL];
DATA = [ADXL.ReadFrom(ADXL.DEVID_AD) 0 0 0 0 0];
DATA = [ADXL.ReadFrom(ADXL.POWER_CTL) 0];
After Configuring each channel I'm reading out the first four registers and STATUS register (0x00 - 0x04) as well as the POWER_CTL register.
The first one (Channel A) reads the first five registers and data perfectly fine. The second one (Channel B) returns only 0xFF for every byte read.
Do the SPI-Lines need special termination on shielded cables <1.5m ?