OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3638|回复: 5

关于IIC器件手册的中CurrentAddressRead

[复制链接]

12

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2018-2-28
在线时间
23 小时
发表于 2018-8-21 19:11:36 | 显示全部楼层 |阅读模式
3金钱
      看了一个存储器的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读的是哪个地址???
     希望有相关经验的赐教一下!

最佳答案

查看完整内容[请看2#楼]

结合楼主所提供的信息,个人认为这个Current Address Read和写操作应该是无关的;这种操作方式的提出无非是加快数据读取速率,在一些芯片尤其是传感器芯片中,主控CPU或者MCU将其配置好工作状态之后,只是需要定时或者不定时地读取传感器的测量值(可能存放在一个寄存器里面,也可能存放在多个连续的寄存器里面),由于这个操作是相当固定的,我就读取某个寄存器或者某几个连续寄存器的数值,所以在实际上可以省去这个发送寄存器地 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-8-21 19:11:37 | 显示全部楼层
结合楼主所提供的信息,个人认为这个Current Address Read和写操作应该是无关的;这种操作方式的提出无非是加快数据读取速率,在一些芯片尤其是传感器芯片中,主控CPU或者MCU将其配置好工作状态之后,只是需要定时或者不定时地读取传感器的测量值(可能存放在一个寄存器里面,也可能存放在多个连续的寄存器里面),由于这个操作是相当固定的,我就读取某个寄存器或者某几个连续寄存器的数值,所以在实际上可以省去这个发送寄存器地址的操作,减少这些相对“无用”的数据占用本来就不宽裕的IIC带宽。
我的理解是当第一次读取数据是给定要读的寄存器地址,然后器件内部的地址锁存器将其保存,这样我接着需要读这个寄存器的时候就没有必要再发送一遍这个寄存器的地址,宏观上来看加快了IIC总线的有效数据通讯速率。
Sequential Read的方式和AT24C02之类的IIC EEPROM很像,结合上面的分析我的理解是读取以地址寄存器为首的若干字节的寄存器数据,但是读取完成之后这个地址锁存器的内容是不变的,下次进行Sequential Read的时候还是读取这组寄存器的数据。

注意到楼主所说的是存储器件,而且上面所述也仅仅是我自己的猜测。楼主不妨把芯片的datasheet上传一下,有利于我们共同探讨。
十六进制带我飞。
回复

使用道具 举报

12

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2018-2-28
在线时间
23 小时
 楼主| 发表于 2018-8-21 19:12:53 | 显示全部楼层
操作方式如图
currentaddressread.PNG
sequential read.PNG
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-8-22 01:34:11 | 显示全部楼层
自己试试就知道了。
回复

使用道具 举报

12

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2018-2-28
在线时间
23 小时
 楼主| 发表于 2018-8-22 08:41:57 | 显示全部楼层
正点原子 发表于 2018-8-22 01:34
自己试试就知道了。

对,我也是这么想的。但是现在手里还没有板子呢。
回复

使用道具 举报

12

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2018-2-28
在线时间
23 小时
 楼主| 发表于 2018-8-22 12:14:21 | 显示全部楼层
DreamWaterPro 发表于 2018-8-21 19:11
结合楼主所提供的信息,个人认为这个Current Address Read和写操作应该是无关的;这种操作方式的提出无非是 ...

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 14:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表