LPC1765 I2C EEPROM does not return ACK

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LPC1765 I2C EEPROM does not return ACK

跳至解决方案
604 次查看
Ronaa
Contributor II

We try to control 24Lc16 EEPROM using I2C0 on LPC1765.

We can see the address going out on the bus, but no ACK is received after the address.

We have 4.7k pull up resistor on SDA and SCL.

I2C1 seems to work fine with the same configuration.

What can be the problem here?

 

0 项奖励
回复
1 解答
577 次查看
frank_m
Senior Contributor III

> The slave i write is 0XA0 ...

A common source of misunderstanding and confusion is the definition of this address. As mentioned, it is 7 bit, not 8 bit.
The datasheet either expects an AND operation with the RW-bit, or implies a left-shift of this address by one bit. Often, these datasheets reveal this only indirectly, in either their figures or waveform examples.

The easiest way would be to try out both.

在原帖中查看解决方案

4 回复数
569 次查看
Ronaa
Contributor II

Thanks all for the quick help. using 0x50 instead of 0xA0 works.

0 项奖励
回复
583 次查看
Ronaa
Contributor II

Hi

The slave i write is 0XA0 and this is what is should be according the the EEPROM data sheet. the device is AT24LC16.

We try to write 3 times and get 0X20 the the status register. we also try to read, but the response is the same.

I attach the scope image, it looks a bit different than what I expected, but it can be scope problem, not bus problem

0 项奖励
回复
578 次查看
frank_m
Senior Contributor III

> The slave i write is 0XA0 ...

A common source of misunderstanding and confusion is the definition of this address. As mentioned, it is 7 bit, not 8 bit.
The datasheet either expects an AND operation with the RW-bit, or implies a left-shift of this address by one bit. Often, these datasheets reveal this only indirectly, in either their figures or waveform examples.

The easiest way would be to try out both.

592 次查看
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

As you know that the I2C of LPC1765 is master, after the 7 bits I2C slave address+W, the EEPROM must provide the ACK signal.

Pls check the EEPROM and check if the slave address of EEPROM is correct.

Can you tell us the part number of third party EEPROM?

Hope it can help you

BR

XiangJun Rong