AnsweredAssumed Answered

MMA8653FC communication problems

Question asked by Garry Blair on May 20, 2015
Latest reply on May 26, 2015 by Jon Zeeff



I have some issues communicating with the MMA8653FC Accelerometer chip with I2C.

To keep it simple, for now I am trying to read the WHO_AM_I register


I took a look at the signal on the scope, and from what I can see its OK, but I am receiving 00 all the time.


Some observations:

- I am not sure if I need to activate the chip (from register 0x2A) before reading the WHO_AM_I but it seems to make a difference. If its activated I receive 0xFF, and if I don't I receive 0x00.

- I tried adding some delays, but I can't see any difference really.

- I compared my scope signal to a picture of what the WHO_AM_I reading process is meant to look like, and as far as I am aware it is OK

- My sequence is: Initialize I2C at 400Khz, activate accelerometer in register 0x2A, read from the WHO_AM_I register

- There is definately some communication, I receive Acks

- I am using a small board with our MCU on it, with wires that are a few cm long to a board with the accelerometer. I am happy to send you any schematics if it will help

- I know there is some overshoot on the screenshot of the scope, I soldered wires onto my board so I could attach my scope probes, I think its because of that.




I have used the same I2C drivers in a few projects now so I think they are ok. It is an ARM cortex M0


I really have no idea why it doesn't work - any one have any idea?