主机如何确定IIC总线上的器件的地址?

您所在的位置:网站首页 地址码怎么设置 主机如何确定IIC总线上的器件的地址?

主机如何确定IIC总线上的器件的地址?

2023-09-20 08:57| 来源: 网络整理| 查看: 265

IIC上的每个器件都要一个地址寄存器来确定自己的地址吗?

IIC上的每个器件是否都要一个地址寄存器来确定自己的地址:很多器件都是通过硬件来确定地址的。   有的在出厂时地址就设置好了,用户不可以更改,有的确定了几位,剩下几位由硬件确定(比如有三位由用户确定,就留有3个控制地址的引脚),此类较多;还有的有地址寄存器。 "如果主机向从机发送地址,从机怎么知道这个地址就是主机的,这个地址是怎么计算出来的" 严格讲,主机不是向从机发送地址,而是主机往总线上发送地址(这个地址是某个从机的,而不是主机的,所以不存在“从机怎么知道这个地址就是主机的”的问题),所有的从机都能接收到主机发出的地址,然后每个从机都将主机发出的地址与自己的地址比较,如果匹配上了,这个从机就会向主机发出一个响应信号。主机收到响应信号后,开始向总线上发送数据,与这个从机的通讯就建立起来了。如果主机没有收到响应信号,则表示寻址失败。 “比如IIC总线上接了两块单片机,一块是主机,另一块是从机,如何定义从机的这个地址” 如果是带IIC的单片机,会有地址寄存器,寄存器里的值即为它作为从机时的地址。 以ATmega48为例,有TWI从机地址寄存器—TWAR,先要确定工作模式(主机模式或从机模式),若工作在从机模式,,TWI将根据这个地址进行响应。 如果是不带IIC的单片机,没有地址寄存器。所以一般不用做从机。以AT89C51为例,用它的普通IO口模拟IIC时序时,一般都是用作主机。特殊情况下51用作从机时,可以通过扫描总线的方式,若发现总线上出现某个地址信号便响应(严格来说,这种方式只是在IIC基础上用户自定义的通信方式)。 最常见的情况,如前面所说,主从器件的角色是确定的,也就是说从机一直工作在从机模式。它的地址确定方法我已经说过了。不同的器件定义地址的方式是不同的,有的是软件定义,有的是硬件定义。你找个数据手册看看就明白了,纸上谈兵很难说清楚。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3