LPC1765 I2C EEPROM does not return ACK

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC1765 I2C EEPROM does not return ACK

ソリューションへジャンプ
664件の閲覧回数
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 解決策
637件の閲覧回数
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 返答(返信)
629件の閲覧回数
Ronaa
Contributor II

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

0 件の賞賛
返信
643件の閲覧回数
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 件の賞賛
返信
638件の閲覧回数
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.

652件の閲覧回数
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