打印

用SCL,SDA线当片选地址的,在技术上是怎么实现的

[复制链接]
2339|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sd, ST, AC, TE, AN
看一款芯片INA260,里面提到
The device has two address pins, A0 and A1 that can be connected to GND, VS, SCL or SDA to set the desired
address. 表 2 lists the pin connections for each of the 16 possible addresses. The device samples the state of
pins A0 and A1 on every bus communication in order to establish the pin states before any activity on the
interface occurs.

没想明白,芯片用不断变化的SDA,SCL线如何确定片选地址的。。。

相关帖子

沙发
tyw| | 2017-12-24 07:42 | 只看该作者
本帖最后由 tyw 于 2017-12-24 08:01 编辑

8.5.3.1串行总线地址
要与器件通信,主器件必须首先通过从器件地址字节来访问INA260。该
从机地址字节由7个地址位和一个方向位组成,表示动作是否为a
读或写操作。
该器件有两个地址引脚,A0和A1可以连接到GND,VS,SCL或SDA来设置所需的
地址。 表2列出了16个可能地址中的每一个的引脚连接。 该设备采样的状态
在每个总线通信上引脚A0和A1为了在任何活动之前建立引脚状态
界面发生。



这是靠硬件连线来选择地址,中途不能软件更改.

使用特权

评论回复
板凳
dirtwillfly| | 2017-12-24 13:24 | 只看该作者
和一般的eeprom的地址类似阿,只是地址更多了

使用特权

评论回复
地板
PPDDPPDD1234|  楼主 | 2017-12-24 13:53 | 只看该作者
dirtwillfly 发表于 2017-12-24 13:24
和一般的eeprom的地址类似阿,只是地址更多了

如果A0A1直接VSS或者GND,那自然就确定了,没有任何疑问。
问题在于,当芯片接了SCL或者SDA当做地址时,芯片怎么判定自己接的是SCL,SDA还是GND或者VCC的?那两个脚的电平可是在不断变化的。

至于确定了后保存在EEPROM中之类的,自然很好理解。然后和I2C上发过来的地址比较一下就OK。

使用特权

评论回复
5
dirtwillfly| | 2017-12-24 14:19 | 只看该作者
PPDDPPDD1234 发表于 2017-12-24 13:53
如果A0A1直接VSS或者GND,那自然就确定了,没有任何疑问。
问题在于,当芯片接了SCL或者SDA当做地址时, ...

你那不是有个表格吗?
你不用管从器件是怎么知道自己地址的,你按手册说明的地址来操作就好了

使用特权

评论回复
6
tyw| | 2017-12-24 15:05 | 只看该作者
PPDDPPDD1234 发表于 2017-12-24 13:53
如果A0A1直接VSS或者GND,那自然就确定了,没有任何疑问。
问题在于,当芯片接了SCL或者SDA当做地址时, ...


INA260EVM User's Guide.pdf (8.72 MB)


使用特权

评论回复
7
cooltune| | 2017-12-24 20:04 | 只看该作者
这种 应该叫 strap 脚,也就是 芯片上电的时候 ,采样这些 脚的 状态 ,从而 会按照 那个表格 产生 一个 i2c地址,会 锁存在芯片内部, 当 正常通信的时候 ,这些 脚 便跟正常的 smbus脚 一样的 功能 。

使用特权

评论回复
评分
参与人数 1威望 +15 收起 理由
tyw + 15 很给力!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

403

帖子

5

粉丝