Re: [请益] I2C EEPROM Start address

楼主: hizuki (ayaka)   2017-09-04 15:24:56
※ 引述《vito9580 (vito)》之铭言:
: 各位前辈好,最近在研读EEPROM 24LC16,但有几点无法理解,想请教板上的前辈。
: https://i.imgur.com/7vYq54P.jpg
: (figure.1)
: https://i.imgur.com/yrHn1zS.jpg
: (figure.2)
: 图一的word address该怎么给?我查24LC16这颗的spec上并没有像图二一样说明address,
: 并且是否master每传一次data前的写入address会不一样?
: 恳请了解I2C的前辈相救,谢谢
你这边是page写入,可以从开始的位置连续写16 bytes的资料进去。
看Fig 2你就可以明白了,
只需要开始的时候指定block闸道开放,在EEPROM发送ACK后指定
第一个word的位置就可以了。后面这个位置,EEPROM内会自动累加。
后面等Slave发ACK过来后就可以传送新的一笔资料。
然后你用Stop来停止继续传送,无论如何第16笔后收到ACK一定
要发Stop不然,EEPROM的内部buffer会溢出,这时候的结果是未知的。
你还询问block address与word address。关系是这样的。
The device is organized as eight blocks of 256 x 8-bit memory
所以block address有3bit,控制你要开放这个八个blocks当中的哪一个。
和操作码,读写位元一起组成address high byte。
Word address是每个block当中的偏移位置,单独构成address low byte。
作者: yamakazi (大安吴彦祖)   2017-09-05 00:14:00
推一个
作者: vito9580 (vito)   2017-09-08 19:32:00
谢谢,我会在研究看看
作者: ian1234321   2017-09-25 07:43:00
你去看24L128的spec

Links booklink

Contact Us: admin [ a t ] ucptt.com