06-29-2021 06:15 PM
Dear Bosch team,
I am using BMA400 in my custom board where it is interfaced to the host microcontroller through I2C. The CSB pin is connected to VDDIO through 0-ohm resistor as suggested in datsheet(for I2C mode).
I am only getting 0x90(chip-id) as data when I try to read from any register of BMA400(Even after soft reseting the device I am only getting data as 0x90). I am unable to find out what is the reason behind this?
Best Regards,
blebot
06-29-2021 10:15 PM
Hello blebot,
I have some questions regarding your issue.
Are you using our BMA400?
https://github.com/BoschSensortec/BMA400-API
If yes, you can get return value from each function that you can find the reason.
If not, please follow 3. Quick start guide in datashseet.
https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bma400-ds000.pdf
You should read same value after you write some value in some registers which are needed for initialization.
I highly recommend to use our API since it's much more convinient to debug and develop.
Thanks,
06-30-2021 10:09 AM
Hi,
Please find the below log resepose:
I2C Interface
bma400_interface_init: 00
bma400_init: 00
bma400_soft_reset: 00
bma400_perform_self_test: 01
and we also tried to print x,y,z of self test application
accel_data_pos.x: 0xA990
accel_data_pos.y: 0x0000
accel_data_pos.z: 0x0000
accel_data_neg.x: 0xA990
accel_data_neg.y: 0x0000
accel_data_neg.z: 0x0000
accel_data_diff.x: 0x000000
accel_data_diff.y: 0x000000
accel_data_diff.z: 0x000000
06-30-2021 11:54 AM
Hi,
After soft reset of BMA400 we tried to read register values from (0x00 - 0x7E), below are the values we got from the sensor (addr : value, .....)
00 : 90, 01 : A9, 02 : 00, 03 : 10, 04 : 00, 05 : 00, 06 : 00, 07 : 00, 08 : 00, 09 : 00, 0A : 00, 0B : 00, 0C : 00
0D : 00, 0E : 00, 0F : 00, 10 : 00, 11 : 00, 12 : 00, 13 : 00, 14 : 00, 15 : 00, 16 : 00, 17 : 00, 18 : 00, 19 : 00
1A : 00, 1B : 00, 1F : 00, 20 : 90, 21 : A9, 22 : 00, 23 : 10, 24 : 00, 25 : 00, 26 : 00, 27 : 00, 28 : 00, 29 : 00
2A : 00, 2B : 00, 2C : 00, 2D : 00, 2F : 00, 30 : 00, 31 : 00, 32 : 00, 33 : 00, 35 : 00, 36 : 00, 38 : 00, 39 : 00
3A : 00, 3B : 00, 3C : 00, 3D : 00, 3E : 00, 3F : 00, 40 : 90, 41 : A9, 42 : 00, 43 : 10, 44 : 00, 45 : 00, 46 : 00
47 : 00, 48 : 00, 49 : 00, 4A : 00, 4B : 00, 4C : 00, 4D : 00, 4E : 00, 4F : 00, 50 : 00, 51 : 00, 52 : 00, 53 : 00
54 : 00, 55 : 00, 56 : 00, 57 : 00, 58 : 00, 7C : 00, 7D : 00, 7E : 00
06-30-2021 06:34 PM
Hello blebot,
The reason is self test failed.
Are you using our selftest example code?
https://github.com/BoschSensortec/BMA400-API/tree/master/examples/selftest
If not, could you upload your code?
I will test it from my side.
Thank you.