讲一下实际工作中遇到的电阻的功能

描述

电阻的特点是阻挡电能,电阻的关键参数有尺寸、阻值、精度和功率。电阻的应用场景非常多,都是围绕着电阻的特性来使用的。我们重点讲一下实际工作中遇到的电阻的功能,理论知识和计算公式就不赘述了。

在初学者心目中,电阻就是拿来分压用的,但是实际项目中,绝大部分电阻都不是当作分压用的。

我们统计过,一个Android智能平台的硬件电路中,大约20%的电阻是做上拉下拉使用,30%的电阻做EMC和ESD使用,40%的电阻占位置和跳线,5%的电阻用来做电压采样,剩下的最多只有两三颗是用来做正经的分压用途。

且听我们一一道来:

上拉下拉

上拉,就是把电路拉高到电源,下拉,就是把电路拉高到地。下面有几张参考图。

emc

上拉电阻

↑I2C总线的上拉电阻,R709和R710。使I2C在无控状态下保持高电平。

emc

上拉电阻

↑SDIO总线的上拉电阻,R610,R611,R613、R614。提升外设驱动能力。

emc

下拉电阻

↑NMOS开关控制脚的下拉电阻,R732。使MOS管在无控状态下保持关闭。

emc

下拉电阻

↑LDO开关的下拉电阻,R759。使LDO在无控状态下保持关闭。

上下拉的主要作用,一是让线路在无人控制的情况下维持在固定的状态,二是提升驱动能力。

关于无人控制,很多人会认为,系统开机之后,我配置了这个GPIO口,就可以控制了呀,为什么存在无人控制的情况呢?

对,开机之后都可以控制,但是系统刚上电,未开机,或者开机过程中,GPIO口却都是在无控状态。如果只供电但还没有开机,电源的控制脚是一个默认内部上拉的GPIO口,电源就被打开了,经常导致电流灌进还没有运行起来的其他GPIO内,导致上电漏电。

如果开机,开机的过程一般是:上电-复位-电源初始化-跑引导程序-内核运行-应用运行,用户配置代码要么在内核中,要么在应用程序中,改不到引导程序的。虽然前面无控的时间非常短,可能只有几百毫秒,但是有可能导致某些GPIO口的默认状态不对导致外部电源被意外打开,一样有可能出现漏电的情况。如果是灯的开关,就有可能在开机一瞬间灯亮一下,跑到程序设定的地方才会被关闭。

因此,对于开关脚(EN,enable),选择GPIO的时候要选择默认是关闭状态的GPIO口,保险起见应当预留一个开关上下拉的电阻,用来确保开关脚的默认状态是对的。

这类开关上下拉电阻,通常用于电源芯片的开关、灯的开关、模拟开关等控制脚上。

这种用法也会用在中断信号上,通过外加一个上拉电阻,使中断脚在没有输出的情况下保持高电平,一旦输出低电平,就会被拉下来。反之亦然。

这些上下拉电阻,通常在10KR-100KR之间,电阻小了会导致漏电大或者GPIO控制不了,电阻大了会导致和芯片内部上下拉冲突。GPIO输出电阻一般在10kR以下,内部上下拉一般在100KR上下。(实际上也是两个电阻分压的原理)

至于I2C的上拉,是协议要求的。I2C两根线要求默认是高电平,一旦被拉到低电平就会认为有数据要发送了。在I2C主机和从机都没有控制的情况下,需要维持在高电平。而I2C硬件上都是OC门,没办法自己上拉,因此需要外部上拉电阻。这种情况算是个特例。

SDIO接口,就是接SD卡、TF卡的接口,增加10KR-33KR的上拉电阻有助于提高驱动能力。某些小厂生产的比较水的SD卡和TF卡,会不容易被识别到,增加上拉能够减小不读卡的概率。

  emc





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分