Thanks for the response and explanation. It does make sense to me. 1. Accelerometer and Interrupt configuration: REG_ACC_CONFIG1: +/-8g, OSR = 2, ODR = 200Hz. REG_ACC_CONFIG2: use acc_filt1 data source. REG_ACC_CONFIG0: normal power mode. GEN1INT_CONFIG0: enable XYZ, use acc_filt2 (100Hz output datarate), update reference everytime, 24mg hysteresis, OR all axes. GEN1INT_CONFIG2: threshold 8mg/LSB. GEN1INT_CONFIG3 and _CONFIG31: 8 ODR ticks. REG_INT_CONFIG0: generic 1 interrupt enable. REG_INT_CONFIG1: latch interrupts. REG_INT1_MAP: map generic 1 interrupt. REG_INT2_MAP, REG_INT12_MAP: no other interrupts mapped. REG_INT12_IOCTRL: active low interrupt. In ISR: read STATUS and REG_INT_STAT0, check for gen1_int_stat bit. 2. It is sufficient to sligthly tap on table where PCBA with BMA400 is, to cause interrupt to occur multiple times. For instance, during 500ms window, I observe 1-10 events even without intentionally tapping. Sometimes it is 0, as expected. I am not working in vibration-insulated environment, but I would not expect such a high sensitivity. It seems like IC "internal" noise + some light external disturbance is causing that. 3. I found that this issue is more prominent with 3.3V Vdd (and VDDIO). With 1.8V Vdd this happens much-much less frequently. However, Vdd should not affect the noise performance that much, correct? Is it possible for noisy 3.3V VDD to cause such an issue? 4. Increasing threshold to >40mg/LSB and/or min event duration to >16 ticks resolves the issue. But again: on my other device with 1.8V VDD all works almost perfect without this adjustment.
... View more
BMA400 datasheet only provides rms noise for +/-4g range. What about 8 and 16g ranges? I am using normal mode, 8g range, 200Hz sampling rate and x2 oversampling (osr=2), 24mg hysteresis, xyz, Sensor is steady-state, no vibration. But once in a while I am getting falsely activity detection interrupts. Trying to figure out whether it is because of noise, or noise + some slight vibration.
... View more