I2C总线多主多从

  • 本文关键字:I2C 总线 arm i2c cortex-m
  • 更新时间 :
  • 英文 :


我正在开发Ti的EK-TM4C1294XL,它基本上是Arm Cortex M4评估板。我正在通过相同的I2C总线,并有以下关于I2C总线的问题。

我了解I2C支持多主多从配置。因此,当我们想将数据从特定的主设备发送到特定的从设备时,我们首先从该主设备在总线上写入从设备地址,并在收到Ack后将数据发送到该从设备。

所以在同样的情况下,我想从一个特定的从设备接收到一个特定主机的数据,但从设备可以启动通信吗?就像假设从设备是ADC一样,一旦转换完成,就将转换后的数据发送到特定的主设备。这在I2C中可能吗?

在I2C中,主设备总是启动与从设备的通信,即使它只是用于从设备发送数据。启动条件后的第一个字节将包含一个7位地址和一个指示它是写还是读的位。如果从设备属于可能具有异步事件的类型(即运行连续转换的ADC),通常我希望看到与I2C总线分离的信号(注意信号、中断信号,或者如果您的I2C设备实际上是SMBus设备,SMBALERT#),该信号将改变状态以指示事件已经发生,并且主设备应该查询该设备。

最新更新