iic上拉电阻的阻值计算方法与特性

相信有太多的同学和我一样,想研究为什么iic协议要有上拉电阻、上拉电阻如何取值以及上拉电阻的大小对电路的特性有哪些影响?本文将带你了解这些,同时自我总结。

一、iic协议为什么一定要加上拉电阻?

1.IIC是半双工,而不是全双工 ,同一时间只可以单向通信;
2.为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是**漏极开路(OD)输出或集电极开路(OC)输出,即高阻态。**高阻态只能独立输出/输入低电平和高阻状态,无法主动输出高电平,所以需要外部电阻上拉才可以获得高电平。
在这里插入图片描述3.iic传输数据的开始和结束都是将SDA和SCL拉高。

二、上拉电阻的取值范围。

在这里插入图片描述这里有几个概念需要明确:
1.如上图Rp为上拉电阻,那么CL就是线路中等效出的电容。
2.等效电容会与Rp组成RC滤波电路。
3.iic传输有几个速率可以选择,标准速率100KHZ(上升时间1us),高速400KHZ(上升时间0.3us),超高速1000KHZ。
说到这里有人会问了,上拉电阻跟RC滤波器有啥关系?
别急!下面贴一张iic bus的规范:
在这里插入图片描述够直观吧!
tr:信号的上升时间;
Cb:总线的等效电容容值;
例:对于的400kbps速率应用,信号上升时间应小于300ns;假设线上CL为20PF,可计算出对应的Rp(max)值为15KΩ。
这是Rp(max)的取值计算。
那么Rp(min)如何计算呢?
在这里插入图片描述
VoL:I2C协议规定,端口输出低电平的最高允许值为0.4V
IoL:一般IO端口的驱动能力在2mA~4mA量级,标准速率和高速率限定的电流为3mA。
VDD:电源电压。
总的来说:电源电压限制了上拉电阻的最小值;负载电容(总线电容)限制了上拉电阻的最大值!
RP不宜过小,一般不低于1KΩ一般IO端口的驱动能力在2mA~4mA量级。如果RP阻值过小,VDD灌入端口的电流将较大,这导致端口输出的低电平值增大(I2C协议规定,端口输出低电平的最高允许值为0.4V);如果灌入端口的电流过大,还可能损坏端口。故通常上拉电阻应选取不低于1KΩ的电阻(当VDD=3V时,灌入电流不超过3mA)。RP不宜过大,一般不高于10KΩ由于端口输出高电平是通过RP实现的,线上电平从低到高变化时,电源通过RP对线上负载电容CL充电,这需要一定的时间,即上升时间。因此一般应用中选取的都是几KΩ量级的上拉电阻,比如都选取4K7的电阻。

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值