请问I2C中,子器件是如何选择的

[复制链接]
4392|9
 楼主| zifeiyuuuu 发表于 2009-11-3 16:48 | 显示全部楼层 |阅读模式
本帖最后由 zifeiyuuuu 于 2009-11-3 16:52 编辑

我在看 AT24C01 datasheet 时, 引脚 只有 SCL,SDA, VCC, GND, 没有 硬件选择引脚, 那么我想请问一下,一堆器件挂在I2C总线上时, 主器件是如何去选择子器件,在讲I2C协议的单片机书上,也没说
 楼主| zifeiyuuuu 发表于 2009-11-3 16:54 | 显示全部楼层
汗, 刚才在另外一个 AT24C02 的 datasheet中又 看到有了

不过还是希望大大们给点 简单 明了的 解释
静默 发表于 2009-11-3 16:54 | 显示全部楼层
夜黑, 认不出人, 喊一声某某人在吗就知道了。
duojinian 发表于 2009-11-3 16:54 | 显示全部楼层
 楼主| zifeiyuuuu 发表于 2009-11-3 16:58 | 显示全部楼层
能给个 电路连接图吗?  我觉得很好奇, 那么多从器件 是如何 控制呢?   是3-8译码 这样一一对应么??  主器件3个pin产生8个状态, 就可以连接8个 从器件,从而进行选择么?
 楼主| zifeiyuuuu 发表于 2009-11-3 20:33 | 显示全部楼层
upup, hehe
许世霞 发表于 2009-11-3 20:43 | 显示全部楼层
差不多了,再多看看,最好动手先接一个玩玩,动手实践感触才深刻。
xwj 发表于 2009-11-3 21:39 | 显示全部楼层
LZ,每个IIC器件都会有个从地址,只有地址对应的才会执行相关操作,所以一条总线上可以很多个不同的旗舰。

很多器件是没有地址脚的,那么总线上这种IC就只能挂一个了,但可以同时还挂很多个别的IC;
而对于AT24C01、AT24C02,它本身还有地址脚A0~A2,所以可以同时挂8片,但对于AT24C04,它的A0是没用的,只能挂4片;AT24C08能够挂2片,AT24C16就只能挂一片的
——不管能够挂几片AT24Cxx,总线上都还可以挂很多个别的i2c IC的,比如时钟、LCD、音量控制、i2c总线高频头等...
lsqdesign 发表于 2009-11-4 10:02 | 显示全部楼层
洗碗机不单会洗碗,还会挂线。难道我们遇到的是传说中的多功能洗碗机?
 楼主| zifeiyuuuu 发表于 2009-11-4 12:47 | 显示全部楼层
LZ,每个IIC器件都会有个从地址,只有地址对应的才会执行相关操作,所以一条总线上可以很多个不同的旗舰。

很多器件是没有地址脚的,那么总线上这种IC就只能挂一个了(地址是00000000么?),但可以同时还挂很多个别的IC;
而对于AT24C01、AT24C02,它本身还有地址脚A0~A2,所以可以同时挂8片(应该相互之间的地址不同,且和别的器件地址不同?),但对于AT24C04,它的A0是没用的,只能挂4片;AT24C08能够挂2片,AT24C16就只能挂一片的(无硬件引脚,地址如何确定,全0?软件应该不能设置从器件地址吧?)
——不管能够挂几片AT24Cxx,总线上都还可以挂很多个别的i2c IC的,比如时钟、LCD、音量控制、i2c总线高频头等...

1:我刚才找到书上有部分解释, 地址是有硬件直接决定了, 比如把A0接地为0,其余类似, 是不是就这样决定了子器件的一个唯一的地址,有没有可能子器件地址重合, 比如 挂在I2C上的 2个以上的器件没有地址引脚, 那么 他们的地址是如何决定的, 还是说I2C总线上根本就不能接2个或2个以上这样的器件。

2:对器件的选择 书上说 I2C在 开始状态后紧接一个8位的器件地址, 那现在知道了器件是如何选择的,  不同的器件应该对应的地址不同,由硬件电路决定了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

96

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部