硬件基础知识---(5)电阻的用法

简介
电阻的特点是阻挡电能,电阻的关键参数有尺寸、阻值、精度和功率。电阻的应用场景非常多,都是围绕着电阻的特性来使用的。我们重点讲一下实际工作中遇到的电阻的功能,理论知识和计算公式就不赘述了。在初学者心目中,电阻就是拿来分压用的,但是实际项目中,绝大部分电阻都不是当作分压用的。

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

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

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

且听我们一一道来:

1上拉下拉

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

一文看懂“电阻”的全部用法,硬件工程师你以前学的全是错的

↑  图:上拉电阻

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

一文看懂“电阻”的全部用法,硬件工程师你以前学的全是错的

↑  图:上拉电阻

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

一文看懂“电阻”的全部用法,硬件工程师你以前学的全是错的

↑  图:下拉电阻

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

一文看懂“电阻”的全部用法,硬件工程师你以前学的全是错的

↑  图:下拉电阻

↑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卡,会不容易被识别到,增加上拉能够减小不读卡的概率。

后面还会继续讲解:电阻的用法之ESD,EMC,0欧姆,跳线等使用方式


2. 0欧姆电阻用法

简介
没有比电阻更便宜的元器件了,因此电阻被广泛用于占位置和预留位置。如果没出问题,就继续用电阻,如果出了问题,再换成电感、磁珠等其他元器件。通常在电源线上,可以预留0R电阻。本身电阻的寄生电感就可以降低EMC辐射,以及减小电源被外部干扰的情况。如果0R电阻扛不住,那就换成相同尺寸的磁珠即可,能够把EMC能力再提升很多。磁珠比电阻贵10-15倍。

图:硬件工程师理论基础

没有比电阻更便宜的元器件了,因此电阻被广泛用于占位置和预留位置。如果没出问题,就继续用电阻,如果出了问题,再换成电感、磁珠等其他元器件。

一文看懂“电阻”的全部用法之0欧姆,硬件工程师你以前学的全错

↑  图:Camera电源线上预留0R电阻

通常在电源线上,可以预留0R电阻。本身电阻的寄生电感就可以降低EMC辐射,以及减小电源被外部干扰的情况。如果0R电阻扛不住,那就换成相同尺寸的磁珠即可,能够把EMC能力再提升很多。磁珠比电阻贵10-15倍。

电源为什么会有辐射出来?因为设备工作的时候并不是固定不变的功耗,从微观时间来看,设备工作电流会随着时钟而抖动,电源则会跟着设备工作电流的变动而抖动。因此电源上必定会保留去耦电容,大部分时候会预留0R电阻或磁珠。对于一些超高频的供电,如CPU供电,还需要做电源高频阻抗仿真。

预留的0R电阻,还能够当作测试点,方便测量到信号。(如果线路走在PCB内层,就没有办法直接测量了)还可以通过断开0R电阻,来断开线路,或者飞线调试。0R电阻对于电路调试和测试也是很重要的。

不过这个设计并非没有弊端,如果线路走在PCB内层,能够防止电路对外辐射信号,也能够防止外面的静电打进来。布置在PCB外层的预留电阻本身也可能成为一个干扰源。并且前面也讲了,电阻虽然便宜,但SMT也要花钱的,预留电阻不可太多,够用即可。

3.电阻的之跳线

简介
跳线大家都不陌生,电脑主板上,开发板上,都会留有很多插针式的跳线,用于手工切换线路。但是智能硬件普遍都比较小,留不下插针式的跳线。且多为一次性切换,SMT的时候选择好就行了,无需用户自己手工选择。因此普遍使用0R电阻来做跳线。

跳线大家都不陌生,电脑主板上,开发板上,都会留有很多插针式的跳线,用于手工切换线路。但是智能硬件普遍都比较小,留不下插针式的跳线。且多为一次性切换,SMT的时候选择好就行了,无需用户自己手工选择。因此普遍使用0R电阻来做跳线。

一文看懂“电阻”的全部用法之跳线,硬件工程师你以前学的全是错

↑  图:插针式的跳线

一文看懂“电阻”的全部用法之跳线,硬件工程师你以前学的全是错

↑  图:插针式的跳线

一文看懂“电阻”的全部用法之跳线,硬件工程师你以前学的全是错

↑  图:PCM和I2S兼容跳线,以及电源选择跳线

如上图,分别是蓝牙PCM和音频CODEC的I2S之间做一个二选一,以及LDO1和LDO4供电二选一。选择哪一路,SMT的时候就贴那一路的0R电阻,不选的那一路补贴即可。

图中的DNI是don’t need install的意思,也有DNP(do not present)和NC(not connect)的说法。总之就是SMT的时候无需贴片,出BOM的时候也不需要列出来。

跳线电阻是比较占电路板面积的,一根走线要配2个电阻的面积,对于4根走线的要8个电阻。如果空间比较小,可以采用下图的共用焊盘的跳线电阻的方式,两个电阻有一个焊盘是公用的。这样可以节约1/3左右的面积。

一文看懂“电阻”的全部用法之跳线,硬件工程师你以前学的全是错

↑  图:省空间的跳线电阻Layout示意图

跳线有时候会被称为“兼容设计”,就是一种电路板设计方案可以同时支持几种不同的配置。

在电路设计的时候,我们很难做到所有的方案都提前验证好,不管是没有开发板,还是飞线飞不出来,或者是没时间。经常会有几种备选方案,例如GPIO口选哪个比较好?供电用内部的还是外部的?这颗芯片和另外一颗芯片哪个更好用?

PCB板一旦投下去,就是成本,还有动辄半个月一个月的时间,因此在犹豫不决的地方要做“兼容设计”。既然不知道哪个接口比较好用,那就两个都留着吧,万一这个有问题了,重新焊一下就解决了,不需要再花费大半个月的时间改PCB板了。

硬件设计中,用过的、测过的才是相对准确的。仅理论可行但没有用过的设计,一定要小心。要有做兼容设计的思维,才能保证项目风险可控,才能不因为设计错误导致硬件报废重做。


采样电阻

简介
电压或电流的采样,是电阻最正统的使用方式之一。虽然用的很少,但是严格遵循了安培定律,大家在初中物理上学的知识有用武之地了!这是4.2V锂离子电池充电电路,前面的PMOS和二极管先不用看,只看后面这颗0.2ohm 1%的电阻。电阻两端,一端是IS(I Sense),电流检测的意思,另一端是VBAT,就是电池。IS和VBAT都会接入到系统的ADC,I charge =(Visense-Vbat)/

电压或电流的采样,是电阻最正统的使用方式之一

虽然用的很少,但是严格遵循了安培定律,大家在初中物理上学的知识有用武之地了!

一文看懂“电阻”的全部用法之采样电阻,硬件工程师必修课

↑  图:充电电流采样电阻

这是4.2V锂离子电池充电电路,前面的PMOS和二极管先不用看,只看后面这颗0.2ohm 1%的电阻。电阻两端,一端是IS(I Sense),电流检测的意思,另一端是VBAT,就是电池。IS和VBAT都会接入到系统的ADC,I charge =(Visense-Vbat)/0.2。

这个方式通常用于1A以下的充电电流检测。电流越大,电阻分压就越大,如果用2A充电,5V的充电器,经过线路损耗、Pmos和二极管,再减去检测电阻的电压,就不到4.2V了,充电就充不满了。

对于此类大电流流过的电阻,一定要计算功率,不然有烧掉的风险。例如1A,0.2ohm,算下来功率在0.2W,0805封装1/8W的电阻勉强够用,1206封装1/4W的电阻就比较好了。

采样电阻能不能做的更小呢?答案是可以的。大电流情况下肯定是要用小的采样电阻。很多高精度毫欧级的电阻都是用来做大电流采样的。但是不能做的太小。例如1A 0.2ohm的时候,电压差在0.2V,如果用0.05ohm的电阻,电压差就只有0.05V了,此时如果检测50mA的充电电流(充电截止电流),电压差就只有2.5mA,一来容易被干扰,二来对ADC的精度要求太高。所以检测电阻要和检测电流匹配才行。

一文看懂“电阻”的全部用法之采样电阻,硬件工程师必修课

↑  图:LCD背光电路电流反馈采样电阻

这是一颗LCD串联背光驱动芯片,LCD的背光是一串或多串白光LED灯,芯片将4.2V的VBAT升压到十多伏,驱动串联的LED灯。例如一颗灯是3.3V,5颗串联就是16.5V。

LED对电流特别敏感,电流稍有波动,就能够看到LED在闪烁。需要一个电流采样作为反馈信号输入给驱动IC。

这个示例中用的是2串串联灯,每一串LED的工作电流是20mA,2串LED并联就是40mA。驱动IC设计要求FB(feedback)脚上的电压要固定在200mV,因此得出电阻需求是200mV/40mA=5ohm。于是选择使用了5.1R_1%的电阻。(5ohm不常见,选了常见的5.1ohm)。

这颗电阻的作用也可以认为是提供了背光驱动芯片的参考电压。

一文看懂“电阻”的全部用法之采样电阻,硬件工程师必修课

↑  图:参考电压 R1704

一文看懂“电阻”的全部用法之采样电阻,硬件工程师必修课

↑  图:参考电压 R1703

这个例子是联芯1860C处理器上的两组参考电压,200R_1%是提供给USB的参考电压,4.02K_1%是提供给摄像头ISP的MIPI接口的参考电压。

这些精密电阻的值,都是由芯片原厂提供的,芯片是人家设计的,咱们就不要乱动了,老老实实按照参考设计来吧。


原文来自燚智能硬件开发网




  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值