在我们的实际设计中,需要清楚I2C的总线的两个特征:
1、串行数据SDA和串行时钟SCL线都是双向线路,通过一个电流源或上拉电阻Rp 连接到正的电源电压+VDD,当总线空闲时这两条线路都是高电平。连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。I2C 总线上数据的传输位速率,在标准模式下可达100kbit/s,快速模式(F/S)下可达400kbit/s,高速模式(Hs)下可达3.4Mbit /s。
2、连接到相同总线的IC数量只受到总线的最大电容400pF限制。如果总线线路的负载电容升高,位速率将逐渐下降。
总线规定使用非标准电源电压,不遵从I2C 总线系统电平规定的器件,必须将输入电平连接到有上拉电阻Rp 的VDD电压。
其中的一些术语描述如下:
1,总线输入电平的定义:低电平噪声容限是0.1VDD,高电平噪声容限是0.2VDD。VOL定义为在漏极开路 或集电极开路时,有3mA下拉电流时的低电平输出电压,最大值取VOLmax=0.4V,这个3mA是指定的最小下拉电流。在一定范围内,下拉电流越大, 驱动能力越强。Rpmin是电源电压的函数,即电源电压越高,Rpmin值越高。Rpmax是负载电容的函数,总线电容越大,即负载越大,Rpmax越 低。
2,总线电容是线路连接和管脚的总电容,规定总线输入电流的最大值是10uA,同时规定了上升时间tr的最大值,由于高电平要求 0.2VDD的噪声容限,这个输入电流限制了Rp 的最大值。总的高电平输入电流是Rpmax的函数。在电源电压一定时,总的高电平输入电流越大,Rpmax越小。总线的负载电容和上拉电阻的值决定了信号 的上升时间tr,规定
trmax=300ns。时间常数等于源端阻抗和总线电容的乘积,上拉电阻太大会造成时间常数过大,从而使上升沿的斜率变小,增大了总线上升时间。
小结:
1、上拉电阻Rp的值由三个参数决定:电源电压、总线电容和连接器件的数量(输入电流+漏电流)。
2、总线电容Cb是一条总线线路连接和管脚的总,单位是pF。由于规定了上升时间,这个电容限制了上拉电阻Rp 的最大值,而电源电压限制了上拉电阻Rp 的最小值,输出级在VOLmax=0.4V 时指定的最小下拉电流是3mA。
如果总线线路的电容负载升高,位速率将逐渐下降,总线的电容负载是400pF 时的,允许最大位速率是1.7Mbit/s 。总线电容负载在100pF~400pF 时时序参数必须呈线性增加。