BMA456 read raw accelerometer values

Hello,

I'm using BMA456 hosted by a AVR microcontroller over I2C.

My goal is just to read continuous XYZ acceleration data from the chip, I don't need any of the special features.

I've just finished writing the initialization code on my MCU but unfortunately, when I read the accel_drdy flag in the STATUS register, it never goes high. Meaning that there's no acceleration data available. 

This is how I'm proceeding:

  • I execute the initialization sequence that appears in the document "Wearables Feature Set - Application Note" section 1.1. All goes well here.
  • Then I write the following registers with the following configurations:
    • ACC_CONFIG (0x40)................................ODR:100Hz, AVRG of 32samples, AVERAGE mode selected
    • ACC_RANGE (0x41).................................. +-2g
    • INT1_IO_CTRL (0x53)................................Edge Trigger, Active High, Push-Pull, Output enable, Input disable
    • INT_MAP_DATA(0x58)................................int1_drdy = 1
    • PWR_CONF(0x7C).....................................Advanced power save mode enabled
    • PWR_CTRL(7D)..........................................Enable Accelerometer

After this initialization, I read the STATUS register (0x03) and wait for the drdy_acc flag to turn on, but it never turns on.

Am I missing something?

Thanks

5 replies