I2C总线多主机多从机

时间:2016-07-26 18:12:08

标签: arm i2c cortex-m

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

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

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

1 个答案:

答案 0 :(得分:1)

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