My project specification requires 3-axial acceleration capture +- 70g at a rate >= 3200 samples-per-second. Unfortunately I have discovered too late that ADIS16227 is not designed for continual data capture. This is what I have collected from other forum posts:
When you provide a trigger (set GLOB_CMD = 1), to start the capture process, you need to wait for the entire buffer to fill up before you start reading data. If you violate this, the capture process will stop.
If you use REC_CTRL = 0x1130, SR0 (100.2 kSPS) is the rate at which the buffer will fill up.
The major obstacle is that ADIS16227 can't capture and send data simultaneously, can we overcome this by using multiple instances of ADIS16227 so that at any time at least one ADIS16227 sensor is capturing data? I haven't found maximum SPI timings in the datasheet, can someone please help me calculate transfer, capture and start-overhead timings?
Here is what I have so far:
2.25 MHz max SPI clock
20 clock cycles per read of one byte
512 samples for axis
3,072 bytes for total buffer read + 3 bytes for resetting axis data pointer
3,075 bytes to read from full buffer
61,500 SPI clocks for entire buffer == 0.0273 s (27.3 ms to read entire buffer ?)
Sample capture time:
0.0051 s to fill buffer at 100.2 kSPS == 5.1 ms
0.0409 s to fill buffer at 12.525 kSPS == 40.9 ms
0.327 s to fill buffer at 1.565 kSPS == 327 ms
So it might be possible to use two ADIS16227 devices to achieve continual real-time time-domain sample capture for 12.525 and 1.565 kSPS ?