I²C

设计概说

I²C只使用两条双向漏极开路（Open Drain）（串行数据（SDA）及串行时脉（SCL））并利用电阻将电位上拉。I²C允许相当大的工作电压范围，但典型的电压准位为+3.3V或+5v。
I²C的参考设计使用一个7比特长度的地址空间但保留了16个地址，所以在一组总线最多可和112个节点通信。常见的I²C总线依传输速率的不同而有不同的模式：标准模式（100 kbit/s）、低速模式（10 kbit/s），但时钟频率可被允许下降至零，这代表可以暂停通信。而新一代的I²C总线可以和更多的节点（支持10比特长度的地址空间）以更快的速率通信：快速模式（400 kbit/s）、高速模式（3.4 Mbit/s）超高速模式（5 Mbit/s）。
虽然最大的节点数目是被地址空间所限制住，但实际上也会被总线上的总电容所限制住，一般而言为400 pF。

操作系统的支持

在Linux中，I²C已经列入了内核模块的支持了，更进一步的说明可以参考内核相关的文件及位于/usr/include/linux/i2c.h 的这个头文件。OpenBSD则在最近的更新中加入了I²C的架构（framework）以支持一些常见的主控端控制器及传感器。