主机如何确定IIC总线上的器件的地址?
1个回答
优质机构答主
2023-01-06 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
IIC总线上的器件都是只通过SCL和SDA这两条线连接到IIC总线上的吗?\x0d\x0a是的\x0d\x0a\x0d\x0aIIC上的每个器件都要一个地址寄存器来确定自己的地址吗? \x0d\x0a不一定,很多器件都是通过硬件来确定地址的。\x0d\x0a有的在出厂时地址就设置好了,用户不可以更改;\x0d\x0a有的确定了几位,剩下几位由硬件确定(比如有三位由用户确定,就留有3个控制地址的引脚),此类较多;\x0d\x0a还有的有地址寄存器。 \x0d\x0a\x0d\x0a"如果主机向从机发送地址,从机怎么知道这个地址就是主机的,这个地址是怎么计算出来的"\x0d\x0a严格讲,主机不是向从机发送地址,而是主机往总线上发送地址(这个地址是某个从机的,而不是主机的,所以不存在“从机怎么知道这个地址就是主机的”的问题),所有的从机都能接收到主机发出的地址,然后每个从机都将主机发出的地址与自己的地址比较,如果匹配上了,这个从机就会向主机发出一个响应信号。主机收到响应信号后,开始向总线上发送数据,与这个从机的通讯就建立起来了。如果主机没有收到响应信号,则表示寻址失败。 \x0d\x0a\x0d\x0a“比如IIC总线上接了两块单片机,一块是主机,另一块是从机,如何定义从机的这个地址”\x0d\x0a如果是带IIC的单片机,会有地址寄存器,寄存器里的值即为它作为从机时的地址。\x0d\x0a以ATmega48为例,有TWI从机地址寄存器—TWAR,先要确定工作模式(主机模式或从机模式),若工作在从机模式,,TWI将根据这个地址进行响应。\x0d\x0a如果是不带IIC的单片机,没有地址寄存器。所以一般不用做从机。以AT89C51为例,用它的普通IO口模拟IIC时序时,一般都是用作主机。特殊情况下51用作从机时,可以通过扫描总线的方式,若发现总线上出现某个地址信号便响应(严格来说,这种方式只是在IIC基础上z用户定义的通信方式)。\x0d\x0a\x0d\x0a最常见的情况,如前面所说,主从器件的角色是确定的,也就是说从机一直工作在从机模式。它的地址确定方法我已经说过了。不同的器件定义地址的方式是不同的,有的是软件定义,有的是硬件定义。你找个数据手册看看就明白了,纸上谈兵很难说清楚。
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
MCS-51串行接口有四种工作方式,分别是:1. 方式0(8位同步移位寄存器方式),一般用于外接移位寄存器芯片扩展I/O接口。2. 方式1(10位异步收发方式),通常常用于双机通信。3. 方式2(11位异步收发方式),通常常用于多机通信。4...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询