4 Replies Latest reply on Jun 27, 2016 10:10 AM by bob.marlowe

    I2C lockup on power up

    dschild

      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?

        • 1. Re: I2C lockup on power up
          bob.marlowe

          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

          • 2. Re: I2C lockup on power up
            dschild

            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.

            • 3. Re: I2C lockup on power up
              dschild

              I am using 2.2K for pullups on the I2C.

              • 4. Re: I2C lockup on power up
                bob.marlowe

                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