电子产业
数字化服务平台

扫码下载
手机洽洽

  • 微信小程序

    让找料更便捷

  • 扫码下载手机洽洽

    随时找料

    即刻洽谈

    点击下载PC版
  • 华强电子网公众号

    电子元器件

    采购信息平台

  • 华强电子网移动端

    生意随身带

    随时随地找货

  • 华强商城公众号

    一站式电子元器件

    采购平台

  • 芯八哥公众号

    半导体行业观察第一站

数字接口(续)――I2C 总线

来源:<a href='http://bbs.hqew.com/viewthread.php?tid=195349' target='_blank'>wangzhoujun</a> 作者:华仔 浏览:717

标签:

摘要:   内置集成电路(I2C)总线是一种单端、多主控双线总线,适合在半双工模式下进行高效的内部集成电路通信。该总线使用漏极开路技术,因此通过电阻器连接到VDD时就需要两根信号线,分别为串行数据(SDA)线和串行时钟线(SCL),如图1所示。                   图1I2C总线     将线路拉低至接地认为是逻辑0,而使线路浮置则为逻辑1。通常将这用作通道接入方式。当SCL为低电平时,必将发生逻辑状态变化;当SSL

  内置集成电路 (I2C) 总线是一种单端、多主控双线总线,适合在半双工模式下进行高效的内部集成电路通信。该总线使用漏极开路技术,因此通过电阻器连接到 VDD 时就需要两根信号线,分别为串行数据 (SDA) 线和串行时钟线 (SCL),如图 1 所示。


                  图 1 I2C 总线
  

  将线路拉低至接地认为是逻辑 0,而使线路浮置则为逻辑 1。通常将这用作通道接入方式。当 SCL 为低电平时,必将发生逻辑状态变化;当 SSL 为高电平时,若发生变化则认为是 START 和 STOP 条件。尽管系统允许提供更高或更低的电压,但典型的电源电压为 3.3V 和 5V。
I2C 通信采用 7 位地址空间(具有 16 个预留地址),因此在同一总线上,理论上最多可以和 112 个节点通信。但实际上,节点数会受到总线上规定的总体总电容 (400 pF) 限制,从而将通信距离限制为几米。规定的信号传输速率为 100 kbit/s(标准模式)、400 kbit/s(快速模式)、1 Mbit/s(快速模式Plus,FM+)和 3.4 Mbit/s(高速模式)。
总线上的节点有主从之分。主节点负责发布时钟和从节点地址,并且还开始和结束数据处理。从节点负责接收时钟和地址,并响应来自主节点的请求。图 2 显示了主从节点之间典型的数据传送示例。


            图 2 完整的数据传输时序图
  主节点通过创建一个 START 条件发布一个数据处理,紧接着发布希望与其进行通信的从节点的 7 位地址。随后发送一个信号读写位,表示主节点是否愿意写入到从节点 (0) 或者自从节点读取 (1)。接下来,主节点将释放 SDA 线,以允许从节点对数据接收作出应答。
在第 9 个 SCL 时钟脉冲的整个高电平期间,从节点通过将 SDA 拉至低电平以回应一个应答位 (ACK),之后主节点一直处于传输或接收模式(根据发送的读写位而定),而从节点则一直处于对应的互补模式(分别为接收或传输)。

  发送地址和 8 位数据字节时首先发送最高位 (MSB)。当 SCL 为高电平时,通过 SDA 由高电平向低电平跳变来指示 START 位。而当 SCL 为高电平时,则通过 SDA 由低电平向高电平跳变来产生 STOP 条件。

  当主节点写入到从节点时,它会在从节点发送 ACK 位时重复发送一个字节。在这种情况下,主节点将处于主传输模式,而从节点则处于从接收模式。当主节点自从节点读取时,它会重复接收自从节点的字节,同时对每个字节的接收作出应答 (ACK),但最后一个字节除外,请参见图 3。这种情况下,主节点将处于主接收模式,而从节点则处于从传输模式。
主节点将以 STOP 位结束传输,或者可能为进行下一步传输而发送另一个 START 位以保持总线控制。


       图 3 数据传输期间传输/接收模式的变化情况

  当写入到从节点时,主节点将主要以传输模式运行,并且只有自从节点接收应答时才会更改为接收模式。

  当自从节点读取时,主节点将以传输模式启动,然后在发送 READ 请求(读写位=1)到从节点后会更改为接收模式。从节点将一直处于对应的互补模式,直至结束该任务。
请注意,主节点将通过在最后接收的字节后面跟随一个无应答 (NACK) 来结束读取序列。此步骤会复位从状态机,并允许主节点发送 STOP 命令。

型号 厂商 价格
EPCOS 爱普科斯 /
STM32F103RCT6 ST ¥461.23
STM32F103C8T6 ST ¥84
STM32F103VET6 ST ¥426.57
STM32F103RET6 ST ¥780.82
STM8S003F3P6 ST ¥10.62
STM32F103VCT6 ST ¥275.84
STM32F103CBT6 ST ¥130.66
STM32F030C8T6 ST ¥18.11
N76E003AT20 NUVOTON ¥9.67