关于IIC器件手册的中CurrentAddressRead

2019-07-20 06:32发布

      看了一个存储器的IIC操作,其中有一个Current Address Read和Sequential Read不太懂。它在操作顺序中只给出
slave address,然后就可以读出数据。我的问题是不知道存储器地址的情况下能读出数据吗??

      后来我去找了一下相关的解释。
There are two basic types of read operations. They are current
address read and selective address read. In a current address
read,  uses the internal address latch to supply the
address.
      它的意思是使用内部的地址锁存来提供读取地址。那么我的理解是当我给一个地址写一个数据之后,
这个写的地址是不是被锁在器件里面,这时候使用current address就可以快速读取。
     然后在多个字节连续写入,使用current address读的是第一个还是最后一个?sequential address读的是哪个地址???
     希望有相关经验的赐教一下!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
DreamWaterPro
1楼-- · 2019-07-20 11:16
结合楼主所提供的信息,个人认为这个Current Address Read和写操作应该是无关的;这种操作方式的提出无非是加快数据读取速率,在一些芯片尤其是传感器芯片中,主控CPU或者MCU将其配置好工作状态之后,只是需要定时或者不定时地读取传感器的测量值(可能存放在一个寄存器里面,也可能存放在多个连续的寄存器里面),由于这个操作是相当固定的,我就读取某个寄存器或者某几个连续寄存器的数值,所以在实际上可以省去这个发送寄存器地址的操作,减少这些相对“无用”的数据占用本来就不宽裕的IIC带宽。
我的理解是当第一次读取数据是给定要读的寄存器地址,然后器件内部的地址锁存器将其保存,这样我接着需要读这个寄存器的时候就没有必要再发送一遍这个寄存器的地址,宏观上来看加快了IIC总线的有效数据通讯速率。
Sequential Read的方式和AT24C02之类的IIC EEPROM很像,结合上面的分析我的理解是读取以地址寄存器为首的若干字节的寄存器数据,但是读取完成之后这个地址锁存器的内容是不变的,下次进行Sequential Read的时候还是读取这组寄存器的数据。

注意到楼主所说的是存储器件,而且上面所述也仅仅是我自己的猜测。楼主不妨把芯片的datasheet上传一下,有利于我们共同探讨。
JQChris
2楼-- · 2019-07-20 15:29
操作方式如图
正点原子
3楼-- · 2019-07-20 17:28
 精彩回答 2  元偷偷看……
JQChris
4楼-- · 2019-07-20 19:56
正点原子 发表于 2018-8-22 01:34
自己试试就知道了。

对,我也是这么想的。但是现在手里还没有板子呢。
JQChris
5楼-- · 2019-07-20 20:23
DreamWaterPro 发表于 2018-8-21 19:11
结合楼主所提供的信息,个人认为这个Current Address Read和写操作应该是无关的;这种操作方式的提出无非是 ...

这个器件是Cypress的FM24V10,我的理解和你的一样就是免去了再次写入地址的操作来提高效率。Atmel的24C02也有CurrentAddressRead和SequentialAddressRead也有这个操作。

一周热门 更多>