I2C总线是由Philips公司开发的两线式串行总线,用于连接微控制器和外围设备。I2C总线支持多主控模式,任何能够进行发送和接收的设备都可以成为主设备。主控能够控制数据的传输和时钟频率,在任意的时刻只能有一个主控。
组成I2C总线的两个信号为数据线SDA和时钟线SCL。为避免总信号线的混乱,要求各设备连接到总线的输出端必须是开漏输出或集电极开路输出的结构。根据这种结构的“线与”逻辑,I2C总线上任意器件输出低电平都会使相应总线上的信号线变低。总线空闲时,上拉电阻使SDA和SCL线都保持高电平。
在实际设计中,需要知道I2C总线的两个特征:
1、串行数据SDA和串行时钟SCL线都是双向线路,通过一个电流源或上拉电阻Rp连接到正的电源电压+VDD,当总线空闲时这两条线路都是高电平。连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。I2C总线上数据的传输位速率,在标准模式下可达100kbit/s,快速模式(F/S)下可达400kbit/s,高速模式(Hs)下可达3.4Mbit/s。
2、连接到相同总线的IC数量只受到总线的最大电容400pF限制。如果总线线路的负载电容升高,位速率将逐渐下降。
总线规定使用非标准电源电压,不遵从I2C总线系统电平规定的器件,必须将输入电平连接到有上拉电阻Rp的VDD电压。总线输入低电平噪声容限是0.1VDD,高电平噪声容限是0.2VDD。VOL定义为在漏极开路或集电极开路时,有3mA下拉电流时的低电平输出电压,最大值取VOLmax=0.4V,这个3mA是指定的最小下拉电流。在一定范围内,下拉电流越大,驱动能力越强。Rpmin是电源电压的函数,即电源电压越高,Rpmin值越高。Rpmax是负载电容的函数,总线电容越大,即负载越大,Rpmax越低。
总线电容是线路连接和管脚的总电容,规定总线输入电流的最大值是10uA,同时规定了上升时间tr的最大值,由于高电平要求0.2VDD的噪声容限,这个输入电流限制了Rp的最大值。总的高电平输入电流是Rpmax的函数。在电源电压一定时,总的高电平输入电流越大,Rpmax越小。总线的负载电容和上拉电阻的值决定了信号的上升时间tr,规定trmax=300ns。时间常数等于源端阻抗和总线电容的乘积,上拉电阻太大会造成时间常数过大,从而使上升沿的斜率变小,增大了总线上升时间。
NXP紧跟性能发展趋势,I2C速度由100Kbps全面提升到400K,1M和3.4M;NXP开发出大量的集线器,中继器,多路复用器和开关等器件,将I2C技术从芯片间二线通讯的简单应用发展到功能强大而且全面的控制网络。
I2C中继器PCA9515A可以增强总线驱动能力,突破400pF容限,增加节点数目,数据、时钟可双向传输,对两边分布电容起到隔离作用,中继器前后级可以在不同的I2C速率下工作;I2C扩展器P82B96具有很宽的工作电压,具有很强的总线容性负载能力,可以实现1000米的远距离传输。热插拔缓冲器PCA9512A允许热插拔板卡而不影响主板数据和时钟的运行;在主板I2C总线出现停止位或处于空闲状态前禁止子卡和主板之间通信。出色的热插拔功能,应用于系统内部及板机之间的通讯,连接十分可靠、简洁。
|