Electrical – I2C Communication Signal Issue

cortex-m4freescalefuel-gaugei2ctexas instruments

Microcontroller Schematicenter image description hereI2C Signal Communication SDA(PINK)  SCL(Yellow)

hello to all,

I'm working on I2C Based Communication Device bq27742-g1(Texas Instrument) Battery fuel gauge which is Slave Device address is 0xAA. I have put in the 10K pull up resistor.

In this I'm using Kinetis series Cortex M4 micro controller as Master device.
The microcontroller works with another I2C device.

I have tested the bq27741-g1 Battery fuel gauge with an MSP430 Launchpad board using I2C scanner and it works fine.

I have attached screen shot of CRO Signals (SDA(PINK) SCL(Yellow)) of I2C Device in the 9th clock pulse of SCL when SDA have undetermined state. Why does this occur at this level? Is this issue from the pull up resistor?

Best Answer

I'm not familiar with the Kinetic MCU, but on a different MCU I have had the same waveform when I misconfigured the SDA line as a regular output instead of configuring it as an open-drain output.

You can see that the slave is responding with an ACK and trying to drive SDA low but something (probably the Kinetic as I2C master) is driving SDA high thus you see the voltage at 1/2 the rail during bit 9.

Set SDA as open drain.

Related Topic