ADXL362 gives lower output data rate as configured/expected


I am using a ADXL362 in FIFO watermark mode to get an interrupt each 125 samples.

Regardless of what ODR setting I use, it is actually giving a lower datarate. I see this clearly when measuring the time between two interrupt signals, with an oscilloscope.

For example, when using 100Hz ODR, I would expect the time between 2 interrupts to be 1.25 seconds. In reality, this is +/- 1.3 or higher. In other words, I measure a frequency of about 96Hz. It also differs between different exemplar of the same product. For some exemplar, using the same hardware and firmware, I even measure a frequency lower than 85 Hz!

Could anyone please explain what is causing this behavior, and is there a way to correct it?

I do not have the option to go to using an external clock.

Kind regards,