大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
一、概述
在硬件设计中有时候经常会遇到,主芯片引脚使用的1.8V、3.3V、5V等,连接外部接口芯片使用的3.3V、5V等,由于电平不匹配就必须进行电平转换。两个设备如果供电电压不一样,比如一个是3.3V,另一个是5V,那么在电平不匹配的情况下工作,会造成信号传输出错;如果二者电压相差较大,严重的可能会损坏芯片。
二、设计
1、晶体管构成的电平转换方法
图1
工作原理:
图1左图实现原理:左侧IN为输入,右侧OUT为输出,VDDA与VDDB分别为相互转换的两个不同的电压域。当IN输入0V时,三极管Q1导通,OUT被拉低到接近0V 电平,实现低电平转换;当IN输入高电平VDDA时,三极管Q1截止,此时OUT被电阻R3上拉至VDDB,从而实现高电平转换。此电路属于单向转换电路,转换方向为IN输入,OUT输出。
图2右图实现原理: 当输入IN为低电平时,三极管Q2关断,三极管Q3导通,输出OUT被拉低,从而实现低电平转换;当输入IN为高电平VDDA时,三极管Q2导通,从而三极管Q3被拉低关断,从而输出OUT被电阻R6拉高到VDDB,从而实现高电平转换。此电路只能实现左侧IN输入,右侧OUT输出,不能反向转换。
注意事项:图2右图中使用2个三极管的目的是将输入和输出信号同相,如果可以接受反相,使用一个三极管也可以。
优点:(1)便宜:三极管常见并且容易采购,价格低廉。
(2)驱动能力强:驱动能力取决于三极管,可以做到数十mA;
(3)漏电流低:IN 和OUT两者之间的漏电流较小(uA级别),几乎可以忽略不计。
缺点:(1)速度:两级三极管属于电流驱动型,加上电路和寄生电容,转换后的波形不是十分理想。一般只能用于100K以内的信号转换。
(2)器件多:同相转换需要2个三极管以及配套的电阻,多路转换时占用空间较多。
应用:
图2
图2为单向串口电平转换电路。实现原理如下,单片机的RXD接口接收数据,终端设备TXD接口输出数据时,3.3V与5V分别为相互转换的两个不同的电压域。当终端设备TXD接口输出0V时,三极管Q1导通,单片机RXD接口被拉低到接近0V电平,实现低电平转换;当终端设备TXD接口输出高电平5V时,三极管Q1截止,此时单片机RXD接口被电阻R1上拉至3.3V,从而实现高电平转换。同理,单片机TXD接口输出数据,终端设备RXD接口接收数据,实现3.3V到5V的转换。
2、MOS管构成的双向电平转换方法
工作原理:
-
当IN端输出高电平时,MOS管Q1的Vgs=0,MOS管关闭,OUT端被电阻R3上拉到VDDB;
-
当IN端输出低电平时,MOS管Q1的Vgs=VDDA,大于导通电压阈值,MOS管导通,OUT端通过MOS管被拉低到低电平;
-
当IN端输出高阻状态时,MOS管截止,OUT端被电阻R3上拉到VDDB;
-
当OUT端输出高电平时,MOS管Q1的Vgs不变,MOS管维持关闭状态,IN端被电阻R1上拉到VDDA;
-
当OUT端输出低电平时,MOS管Q1不导通,MOS管先经过体二极管把IN拉低到低电平,此时Vgs≈VDDA,MOS管导通,进一步拉低IN端的电压;
-
当OUT端输出高阻状态时,MOS管Q1的Vgs不变,MOS管维持关闭状态,OUT端被电阻R3上拉到VDDB;
注意事项:
(1)在正常操作中,VDDB>=VDDA;
(2)Vgs<=VDDA;Vds<=VDDB;
(3)IN端的低电平门限大于0.7V左右(视NMOS内的二极管压降而定)。
优点:(1)适用于低频信号电平转换,价格低廉。
(2)导通后,压降比三极管小。
(3)正反向双向导通,相当于机械开关。
(4)电压型驱动,需要一定的驱动电流。
应用:
图3
工作原理:
-
当总线上没有数据发送时:两边都没有主动去拉低总线,因此MOS管也不导通,都因为各自的上拉电阻存在,左边为高电平3.3V,右边为高电平5V。
-
当单片机需要发送数据1到终端设备时:即单片机TXD为高电平3.3V,MOS管Q2的Vgs=0,MOS管Q2关闭,右边因为上拉电阻的存在,终端设备RXD接口电平保持为5V。即可看作单片机正常将数据1发送到终端设备。
-
当单片机需要发送数据0到终端设备时:即单片机TXD为低电平0V,MOS管Q2的Vgs=3.3V,MOS管Q2导通,右边电平和左边电平一样,终端设备RXD接口为低电平0V。即可看作单片机正常将数据0发送到终端设备。
-
当终端设备需要发送数据1到单片机时:即终端设备TXD为高电平5V,单片机RXD因为没有主动拉低电平,所以MOS管Q1不导通,左边保持上拉电平3.3V。即可看作终端设备将数据1正常发送到单片机。
-
当终端设备需要发送数据0到单片机时:即终端设备TXD为低电平0V时,因为MOS管Q1中二极管的存在,管中二极管导通,MOS管Q1的S极被拉低,Vgs接近3.3V,MOS管Q1导通,使得左边和右边电平接近,为0V。即可看作终端设备正常将数据0发送到单片机。
注意事项:
(1)MOS管的接入方法:MOS管的S极要接到低电源那边,不能接反。
(2)MOS管的选型(MOS管的导通电压需要注意): MOS管导通电压门限(Vth(GS)里面的最大值)需要小于低电源电压。
图4
如图4是2N7002的NMOS管的部分参数表,1V<Vgs<2.5V。如果5V和3.3V之间的互转,可以用这个MOS管。但如果是3.3V和1.8V之间的互转,就不能使用这个管子。因为导通门限电压是1~2.5V。因为可能会用到导通电压大于1.8V的器件,这样MOS管可能永远无法导通了。
(3)低电平指等于或接近0V;高电平指等于或接近电源电压。所以3.3V电压域的器件,其高电平为等于或接近3.3V;5V电压域的器件,其高电平为等于或接近5V。具体要求看芯片的数据手册是怎么说明这个限定范围的,常见的比如说0.3倍的“芯片供电电压”以下为低电平,0.7倍的“芯片供电电压”以上为高电平。也就是说“芯片供电电压”为5V的时候,5 x 0.3 = 1.5V 以下为低电平,5 x 0.7 = 3.5V 以上为高电平。
3、二极管构成的单向电平转换电路
图5
工作原理:
如图5为使用二极管钳位的方法进行电平转换。如图5左图是3.3V转5V,当3V3_VIN电平为高时,5V_VOUT=3.3V+Vd(D2)=3.3+0.7≈4V,到达5V的高电平阈值,当3V3_VIN电平输出为低时,5V_VOUT输出电压约=Vd(D2)≈0.7V,在低电平阈值范围内。
如图5右图是5V转3.3V,当5V_VIN输入是高电平时,3V3_VOUT=3.3V+Vd(D3)≈4V,当5V_VIN输入为低电平时,3V3_VOUT=0V。
优点:
(1)漏电流小:由于二极管的漏电流非常小(uA级),可以单向防止电源倒灌,防止3.3V倒灌到5V。
(2)容易实现:二极管、电阻采购容易,占用面积小。
缺点:
(1)电平误差大:主要是二极管的正向压降较大,容易超出芯片的工作电压范围。
(2) 单向防倒灌:只能单向防止倒灌,不能双向防止倒灌。
(3) 速度和驱动能力不理想:由于电阻限流,驱动速度和能力均不理想,只能应用在100K以内的频率。
应用:
图6
工作原理:
如图6中单片机的RXD为3.3V, 终端设备的TXD为5V。当终端设备输出为5V信号时,二极管D1不通,RXD通过上拉电阻R1被拉到单片机可接受的3.3V电平;当终端设备输出为低时,二极管D1导通,RXD通过二极管被拉至低电平,不过此时的低电平为二极管的正向导通压降,这个值一定要在单片机所能识别的低电平范围之内。
注意事项:(1)终端设备RXD和单片机TXD直接连接的,所以终端设备能识别的高电平的最小阈值应该小于等于3.3V。
(2)单片机所能识别的低电平最大阈值应该大于等于二极管的管压降。
(3)考虑通信速率与低电平电压幅值,二极管选用高速肖特基二极管,并且VF尽量小。
4、电平转换芯片构成的双向电平转换电路
图7
工作原理:
如图7使用专用的电平转换芯片进行电平转换,电平转换芯片为不同电压域之间的数据通讯及控制提供了方便。例如芯片TXB0102,作为一款双电源供电的双向电平转换芯片,通过检测外部端口的驱动电流来判别转换方向,因此不需要外部的方向控制管脚来选择控制器件转换的方向。因此在使用它时非常省事,软件上也无需考虑去更改它的转换方向。
优点:
(1) 驱动能力强:专用芯片的输出一般都使用了CMOS工艺,输出电流可以达到几十mA。
(2)漏电流几乎为0:内部是一些放大、比较器,输入阻抗非常高,一般都达到数百K;漏电流基本都是nA级别的。
(3) 路数较多:专用芯片针对不同的应用,从2路到数十路都有,十分适合对面积要求高的场合。
(4)速率高:专用芯片由于集成度较高,工艺较高,速率从数百K到数百M的频率都可以做。
缺点:
成本:专用芯片集众多优势于一身,但成本是最大的劣势,一个普通的数百K速率的4通道电平转换芯片,价格至少要1元人民币以上,如果使用三极管做,成本2毛钱都不到。
5、电阻分压构成的电平转换电路
图8
工作原理:
如图8所示R2和R3构成分压,图中RXD端口电压=5V*2K/(1K+2K) ≈ \approx ≈ 3.3V。单片机的的TXD直接和终端设备的RXD之间没有分压,只是加一个电阻限流。
注意事项: 终端设备的高电压最小阈值应该小于等于3.3V。
优势:
(1)便宜:便宜是最大的优点,2个电阻一分钱不到;
(2)容易实现:电阻采购容易,占用面积小。
缺点:
(1)速度:分压法为了降低功耗,使用K级别以上的电阻,加上电路和器件的分布和寄生电容,速率很难上去,一般只能应用于100K以内的频率。
(2)驱动能力:由于使用了大阻值的电阻,驱动能力被严格控制,并不适合需要高驱动能力的场合,例如LED灯等。
(3)漏电:漏电是该方案最大的缺点,由于通过电阻直连,左右两端的电压会流动,从而相互影响。
6、 电阻限流构成的电平转换电路
图9
工作原理:
如图9使用一个电阻限流的办法,实现两个不同电平之间的转换。具体的现实原理就是利用芯片的输入电流不超过某个值,例如使用的终端设备输入电流值不能超过20mA,即可认为是安全的,如果是5V转3.3V,需要电阻R1>(5-3.3V)/20mA=85Ω,选择一个1K的电阻,则认为是安全的。因为芯片内部是可以等效一个负载电阻RL,与R1构成分压的关系。
优点:
(1)便宜:便宜是最大的优点,只需要一个电阻就可以解决。
(2)容易实现:电阻采购容易,占用面积小。
缺点:
使用电阻限流法需要十分熟悉芯片内部的构成,而且还要考虑限流后的电压范围;
三、总结
上述几种电平转换方法是比较常见的方法,电平转换主要考虑以下几个方面:
(1)电平匹配:这个是前提,转换后的电平需要在对方可承受的范围之内。
(2)漏电流:两者之间不但电平要匹配,漏电流还不能互相影响。使用二极管电平转换做RS485输出,可能会出现外部设备的漏电流过来影响内部设备的开机,而且内部的设备启动时输出一堆乱码,影响对方正常工作。
(3)驱动能力:电平转换以后还要考虑驱动能力,例如I2C电平转换后,挂载多个I2C设备就需要考虑驱动能力的问题。
(4)速度:理论上,所有的电平转换都是有速度牺牲的,速度最优的方案是专用电平转换芯片,其次是三极管方案,最差的就是电阻分压方案。
(5)成本:在电路设计中除了考虑功能的要求外,还要兼顾下成本。
(6)路数:太复杂的转换方案不适合多路数的情况,会占据太多的面积。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169410.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...