I2C lockup on power up

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Just wanted to run a scenario by you that is causing me some grief. I have a brd with a cy8c4247lqi-bl453 talking to an accelerometer (MMA8451) through I2C. The circuit is powered from a coin cell (CR2032) and the cypress chip is the master. I am using P1.4 and P1.5 for I2C. If I program the chip from the miniprog the I2C will start as soon as the chip is done programming and will run fine as verified by my scope. As soon as I try to run the device from battery with the miniprog disconnected the I2C locks up, both SCLK and Data go high. The chip is running because I am toggling one of the cypress pins and it is cycling. For some reason the I2C is getting hung up under battery supply. BTW, I also replaced the battery with my bench supply and had the same issue so I don’t think it is a supply issue because the chip is running. Any ideas?

0 Likes
4 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, Don.

   

You can run the device from battery with miniprog connected (set power to external)  and check in debugging why and where the i2c hangs. Uncommon in my experience is that the i2c seems not to work, but the chip (main()) does not "hang". I am used to hanging I2C communication when something goes wrong.

   

what's about the I2C pullups?

   

 

   

Bob

0 Likes
Anonymous
Not applicable

Slowly getting to the bottom of this issue. I measured the voltage on the miniprog and found it to be 1.8V. If I try to run at a higher voltage the I2C stops working. I assume this issue has to do with the power supply configuration.

0 Likes
Anonymous
Not applicable

I am using 2.2K for pullups on the I2C.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The voltage of the miniprog3 is adjustable.  There is a configuration window when "Select Debug Target" is opened and you double (or right??) click on the miniprog3 found. Are you working with your own designed board? Probably a routing error concerning powering the chip...

   

 

   

Bob

0 Likes