优惠券网站cms建设,公司网站建设需要哪些方面,wordpress顶部通知栏公告,莆田网站建设制作一#xff0e;I2C简介
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。I2C总线在使用时#xff0c;需要接上拉电阻#xff0c;这是因为I2C接口是开漏输出#xff0c;如图1所示。 图1 I2C开漏输出 I2C有5种速度模式#xff1a;标准#xff08;100KHzI2C简介
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。I2C总线在使用时需要接上拉电阻这是因为I2C接口是开漏输出如图1所示。 图1 I2C开漏输出 I2C有5种速度模式标准100KHz、快速400KHz、快速增强1MHz、高速3.4MHz以及超快速5MHz。不同模式对上拉电阻阻值的要求不同另外上拉电压VCC不同对上拉电阻阻值的要求也不同。
二上拉电阻选取不当的后果
如果上拉电阻过小会带来哪些不利影响呢
1) 通信速度下降
上拉电阻与总线电容形成RC时间常数影响总线的充电时间及高电平阈值。电阻越小充电时间越长从而影响通讯速度。如果上拉电阻过小可能无法保证从设备在主设备完成总线动作前识别到足够高的电平导致通讯失败。
2) 功耗增加
上拉电阻越小总线上的电流越大从而导致功耗增加对一些电池供电设备不友好会加快电池电量耗尽。
3) 保护作用减弱
上拉电阻还具有一定的保护作用能够防止总线在高电压毛刺下的损坏。如果上拉电阻过小这种保护作用会减弱可能会对I2C总线上的设备造成损害。
上拉电阻阻值过大又会如何
上拉电阻如果过大会造成上升沿时间变长。速度越快要求上升沿时间越短。如果上拉电阻过大会导致通讯失败。
那么如何选择上拉电阻呢
三上拉电阻计算
我们以DS3132为例DS3132是一款RTC驱动芯片采用I2C接口进行读写以下是其I2C相关参数。 图2 DS3132的I2C相关参数 1) 上拉电阻最小值计算
如图1红线箭头所示假设SCL是低电平即MOS管导通则有R(VCC-VL)/IL
其中VL定义为漏极开路或集电极开路时有3mA下拉电流时的低电平输出电压。IL为该端口的灌电流即IL3mA。因此当VCC不变VL取最大值时上拉电阻有最小值。
取VCC为3.3VVLmax0.4V则Rmin(3.3V-0.4V)/3mA0.96KΩ。
注意VLmax取VOL而不是VIL 图3 I2C官方协议中电平标准 2上升沿时间计算
通常I2C电平低于0.3VCC为低电平高于0.7VCC为高电平。
Vt10.3*VCCVCC(1-e-t1/RC)则t10.3566749*RC
Vt20.7*VCCVCC(1-e-t2/RC)则t21.2039729*RC
上升沿时间tr t2-t10.8473*RC由此得出R tr /(0.8473*C);
3上拉电阻最大值计算
根据上升沿时间计算公式得出R tr /(0.8473*C)
其中tr取I2C挂载的所有设备中tr最小值C为总的负载电容。
DS3132中要求快速模式下上升沿时间tr300ns负载电容为10pF。
假设I2C总线上只挂载了DS3132一个设备
那么Rmax tr /(0.8473*C)300ns/(0.8473*10pF)35.4KΩ
如果按各速度模式最大允许的挂载量来计算如表1所示列出了各速度模式下的最大允许负载电容。快速模式下C200pF。
则Rmax tr /(0.8473*C)300ns/(0.8473*200pF)1.77KΩ
表1 各速度模式下最大允许负载电容 速度模式 标准模式 快速模式 高速模式 超快速模式 最大允许总线负载电容 400pF 200pF 100pF 120pF
小结上拉电压决定上拉电阻的最小值总线负载电容决定上拉电阻的最大值。
四. 参考资料
1. I²C总线上拉电阻阻值如何选择
2. 教你精确计算 I2C 上拉电阻阻值-腾讯云开发者社区-腾讯云
3. https://www.cnblogs.com/duwenqidu/p/11043889.html