了解和设计I2C总线所需硬件的基本信息。
支持信息
•I2C总线简介
•I2C总线固件实现细节
•何时使用I2C缓冲区
有时一点复杂是件好事
I2C协议值得注意的是一些不太直接的特性:你不只要将几个IC引脚连接在一起,然后让低级硬件在读取或写入适当的缓冲区时接管,或者更多或者SPI(串行外设接口)或UART(通用异步接收器/发送器)的情况较少。但I2C的复杂性并非没有目的; 本文的其余部分将帮助您了解有些细微差别的硬件实现细节,使I2C成为多个独立IC之间串行通信的通用可靠选项。
漏极开路
I2C的一个定义特性是总线上的每个器件都必须通过漏极开路(或开路集电极)输出驱动器连接时钟信号(缩写为SCL)和数据信号(缩写为SDA)。让我们来看看这实际意味着什么。首先考虑典型的CMOS(反相)输出级:
如果输入为逻辑高,则NMOS晶体管导通,PMOS晶体管截止。因此输出具有低阻抗接地连接。如果输入为逻辑低电平,则情况相反,输出与V DD的低阻抗连接。这被称为推挽输出级,尽管这个名称并不特别有用,因为它没有强调控制输出的连接的低阻抗特性。通常,您不能直接连接两个推挽输出,因为如果一个逻辑高电平而另一个逻辑低电平,电流将从V DD自由地流到地。