10 years, 9 months ago.

i2c with MCP3428??

Hi, I'm new to mbed and I try to establish an i2c communication between an AT90CAN128 and a MCP3428 A/D. I have no idea why I don't receive any ACK from the slave (MCP3428). I get this waveform on the I2C Bus: /media/uploads/AntoineG/apres_brancher_mcp3428.jpg

I transmitted a START, the address(1101010), a R/W (0) and I got a kind of NACK of about 3V.

I don't understand why I got this 3V as ACK or NACK. When I send an R/W bit =1, the slave doesn't send me back any data.

Could someone help me please?

Thanks

2 Answers

10 years, 9 months ago.

The ack level seems to be too low. It should be 0 volt rather then about 2.5 volts. This either means that the pull up resistor is too low for the max current sunk by the slave, or you have some serial resistor in the slaves sda line. Check the circuit and wiring. Other reason may be that the i2c master is not configured as open drain or open collector and it drives sda active high and low. That means your slave will short out the master when it sends an ack. Check with atmel forum to find solution for that problem.

Accepted Answer

Thank you

posted by Antoine Girard 08 Aug 2013
10 years, 9 months ago.

Why are you here? Shouldn't you be on an Atmel forum? Am I missing something?