Hi,
we are using the ADXL382 with External Synchronization with Interpolation (without an external clock).
We sample and plot the data, and observe that every ~250 samples, about ~20 samples are repeated (exactly the same).
I will try to provide as many details as possible to hopefully make this clear.
ADXL config:
XYZ channels enabled
range set to 15g
SYNC_MODE to External Synchronization with Interpolation
mode set to HP
DRDY mapped to INT1 pin
(powered with 1.8V - MCU and IO is also at 1.8V)
---------------------------------------------
We drive the input FSYNC pin using PWM from the MCU, creating a 50% duty cycle at 8 kHz.
On each INT1 interrupt, we read STATUS3 and the XYZ DATA registers.
We also measured the traces using the Saleae Logic Analyzer:

Exporting the SPI trace from the analyzer, we can see that the samples repeat (thus we can rule out errors in the storing, transferring, and plotting)
We clocked the FSYNC for exactly 40k pulses (5-second duration).
Each FSYNC pulse has a corresponding DRDY/INT1 pulse, which has 1 SPI transaction to read the values.
Each read of the values has DRDY (from the status3 register) set to 1.
To us, this means that all XYZ values we have read are valid
The plot of raw samples looks like this:

Zooming in on the start of Z:

The exact number of samples that are repeated varies, but is around 20.
The exact number of samples between the repeats also varies, but is around 250.
---------------------------------------------
When not using FSYNC (i.e., ADXL samples on its own), this does not occur (no repeats of significantly long runs).
We then tried with different FSYNC frequencies, and we can see that it is somehow related to the ODR/Bandwidth.
| FSYNC FREQ Hz | MAX REPEATS |
| 16000 | 42 |
| 8000 | 20 |
| 4000 | 9 |
| 6000 | 1 |
| 14000 | 2 |
| 15580 | 22 |
|
15500
|
5 |
|
15000
|
3 |
|
16064
|
33 |
|
9000
|
1 |
(The max repeats vary by a couple of samples for each test run we did, but are around the values in the table)
It looks like if FSYNC is ODR, ODR/2, ODR/4 (or close to it), this issue is present.
As you move away from those frequencies, the issue goes away.
The repeatability and the consistent spacing of non-repeated and repeated values rule out that this is random.
This happens repeatedly on every test run.
---------------
All in all, very weird.
How should we go about debugging this?
Has anything similar been observed?
Is it possible that we are somehow inducing noise into the accelerometer or something like that?
Any help will be appreciated.
Best regards,
Tjaž Vračko

