Post Go back to editing

The MAX_PEAK register sometimes returns all 3 values ​​as 0

Thread Summary

The user is experiencing issues with the HIGHEST PEAK DATA registers returning 0 on all axes about 10% of the time when using the INSTANT_ON mode. The final answer suggests that the HIGHEST PEAK DATA value is only updated once the sensor returns to inactive mode (bit 4 of the ACTIVITY_STATUS register). The user's observation of high acceleration values during the 100ms wait period supports this explanation.
AI Generated Content
Category: Hardware
Product Number: ADXL372

I'm trying to use the chip to detect shocks and their maximum values ​​using the HIGHEST PEAK DATA registers and the INSTANT_ON mode.

Most of the time it works, but sometimes (~ 1 time out of 10), all 3 max peak values ​​are 0.

Below is my chip register configuration:

Reg 0x04 = 0x0
Reg 0x05 = 0x0
Reg 0x20 = 0x0
Reg 0x21 = 0x0
Reg 0x22 = 0x0
Reg 0x23 = 0xC
Reg 0x24 = 0x81
Reg 0x25 = 0xC
Reg 0x26 = 0x81
Reg 0x27 = 0xC
Reg 0x28 = 0x81
Reg 0x29 = 0x0
Reg 0x2A = 0xC
Reg 0x2B = 0x81
Reg 0x2C = 0xC
Reg 0x2D = 0x81
Reg 0x2E = 0xC
Reg 0x2F = 0x81
Reg 0x30 = 0x0
Reg 0x31 = 0x2
Reg 0x32 = 0x0
Reg 0x33 = 0x0
Reg 0x34 = 0x0
Reg 0x35 = 0x0
Reg 0x36 = 0x0
Reg 0x37 = 0x0
Reg 0x38 = 0x2
Reg 0x39 = 0xFD
Reg 0x3A = 0x39
Reg 0x3B = 0x40
Reg 0x3C = 0x0
Reg 0x3D = 0x80
Reg 0x3E = 0x24
Reg 0x3F = 0x1A

When the interrupt line INT1 goes high, I read the activity status register and if activity is detected (bit 5), I wait 100ms before reading the Highest_Peak registers. Then I put the chip back into INSTANT_ON mode.

The shocks are correctly detected, the chip wakes up and the activity bit goes to 1, but sometimes (~1 time out of 10) reading the HIGHEST_PEAK registers returns 0 on all 3 axes.

To pinpoint the problem, I added acceleration readings during the 100ms wait (~1 reading of the 3 axes every 1.3ms).

Below are the results of a shock with functional MAX_PEAKS detection followed by a shock with MAX_PEAKS set to 0. (There are 66 times the acceleration values ​​in g read at 1.3ms, followed by the highest_peaks values.)

-7.30, -12.40, -24.60
-8.40, -4.90, -18.60
-1.60, 1.30, -9.20
-1.50, 4.10, -0.70
1.30, 0.20, 4.30
3.60, -3.90, 3.30
7.10, -3.40, 2.10
8.30, -2.60, -3.30
4.20, 5.10, -9.50
0.90, 2.00, -9.20
-1.60, -1.90, 0.70
1.60, -2.10, 3.50
4.90, 1.20, 8.30
1.80, 2.10, 10.00
-1.80, -1.10, 3.50
-3.50, 1.40, -2.00
-1.60, 2.90, -1.00
-1.60, -2.30, 3.90
-0.80, 1.70, 1.40
1.80, 1.40, -0.70
0.00, -3.50, 1.00
-1.90, -0.60, 4.20
0.30, 1.60, 5.00
0.30, -0.20, 1.20
0.80, -0.70, -1.10
1.80, -0.30, 0.40
-0.50, 1.40, 2.70
-1.10, -0.20, 2.30
0.70, -1.10, 0.70
1.30, 0.70, -0.30
-0.90, 1.10, 0.30
-1.80, -0.70, 0.30
0.20, -0.50, 1.60
1.30, -0.20, 2.20
0.50, 0.00, 0.80
-1.10, -0.30, -0.80
0.30, 0.20, 0.00
0.40, -0.10, 1.00
0.70, -0.20, 0.20
-0.50, -0.30, -0.50
-0.10, -0.50, -0.50
0.20, 0.30, -0.60
-1.00, 0.20, -0.10
-0.50, -0.80, 1.20
0.30, 0.30, 0.30
0.90, 0.30, -0.30
-0.40, -0.50, -0.20
-1.10, -0.20, 0.00
0.20, 0.70, -0.60
1.10, 1.50, -2.80
0.10, 0.90, -4.50
2.40, 0.60, -2.20
2.20, -0.30, 0.50
1.60, -0.80, 2.10
-1.30, -0.40, 1.00
-0.90, 1.00, 0.70
0.00, -0.10, 1.10
-2.10, 0.00, 1.10
-1.30, -0.60, -0.60
1.10, -0.10, 1.20
-1.20, 0.10, 0.60
0.00, 0.20, 0.80
-0.30, 0.30, 0.00
0.00, -0.40, -0.20
-1.00, 0.20, -0.30
0.50, 0.80, -0.60
Max peak
Acc X : -10.10 g
Acc Y : -9.90 g
Acc Z : -25.40 g

-19.00, -34.90, -69.00
-8.40, -9.20, -94.40
-11.30, 1.20, -85.90
8.70, -7.20, -17.40
3.90, 2.20, 17.30
3.60, 11.20, 56.00
9.80, 6.90, 65.50
11.40, 7.20, 39.30
0.40, -5.40, 3.40
-3.70, -1.00, -16.90
0.30, 8.80, -13.80
0.80, 8.50, 6.80
0.10, 6.10, 21.20
-3.00, 2.00, 24.10
0.50, -1.40, 13.50
2.40, 1.30, -4.20
2.40, 2.60, -11.10
4.90, -0.10, -2.60
3.90, -1.60, 6.90
-2.20, 3.60, 2.50
-3.60, 4.20, 0.70
4.40, 1.30, 0.00
-0.70, -4.10, 5.00
-2.90, -1.30, 8.60
0.90, -0.10, 6.80
-1.60, -1.00, 1.70
0.60, -0.30, 0.80
1.60, 0.20, 3.20
-0.10, 1.10, 7.10
-3.60, 0.10, 7.20
-1.30, -0.50, 4.10
0.20, 0.60, 0.80
0.60, 1.00, 1.20
0.60, 0.50, 2.30
-1.10, 0.50, 2.90
-0.20, 0.40, 2.40
-1.00, -0.10, -0.60
-2.20, -0.30, -4.00
0.50, -1.10, -11.30
-3.90, 1.80, -6.60
-4.00, -0.80, 1.40
-0.60, -1.70, 2.90
3.20, -1.00, 1.30
3.10, 0.10, -0.10
1.00, -0.70, 0.50
-0.80, -0.50, 2.40
1.00, -0.10, 3.90
-0.40, -0.50, 1.80
-1.10, -0.40, -0.10
1.60, -0.70, 0.50
1.10, 0.00, 1.50
-0.90, 0.10, 1.30
-0.70, -0.10, 0.90
0.10, -0.60, 0.60
1.40, -0.20, 0.10
0.00, 0.40, -0.20
-0.60, 0.00, 0.90
0.70, -1.00, 0.90
-0.80, -0.60, -0.30
-0.20, -0.20, 0.60
0.40, -0.30, 1.00
-1.20, 0.40, 0.30
-0.30, 0.30, -0.10
0.00, -0.30, 0.10
-1.50, -0.20, 0.50
-0.60, -0.10, 0.50
Max peak
Acc X : 0.00 g
Acc Y : 0.00 g
Acc Z : 0.00 g



When the problem appears, we can see that many measurements are above 10g (threshold defined for Active).