3.3V供电的STM32开发板,输出24V的工业传感器,如果把它俩直连在一起,会发生什么?把不同电平的芯片或者开发板直连,你是不是也做过类似的事?运气好只是读不到信号,严重的话可能会导致芯片或开发板直接烧毁。
这时候,就需要一个“调解员”了。本期贸泽科普实验室,就来聊聊电平转换这个“调解员”——
1、为什么需要电平转换
在我们平时的设计中,经常遇到以下两种需要电平转换的情况:
1)电压不匹配
在数字电路和嵌入式系统中,不同的芯片或模块可能使用不同的电压标准,如1.8V、3.3V、5V、12V、24V等。当这些不同电压的芯片或模块需要进行通信时,如果直接连接,可能会导致信号传输混乱,甚至损坏芯片。因此,需要进行电平转换,以确保信号能够在不同电压系统间正确传输。
2)逻辑电平不兼容
除了电压不匹配外,不同的逻辑电平标准(如TTL、CMOS、LVCMOS等)之间也存在不兼容的问题。这些逻辑电平标准具有不同的电压范围和逻辑电平定义,因此需要进行相应的转换以确保信号的正确传输和处理。电平转换可以实现不同逻辑电平标准之间的转换,从而解决兼容性问题。
2、电压不匹配的电平转换
电压不匹配主要有三种情况:
第一种:芯片的数字I/O口与外部模组电平不匹配,也就是视频开头单片机与传感器的情况,传感器或驱动器的输出电平与单片机I/O电平不匹配。
举个例子,有的工业传感器采用的是24V供电,如果单片机想要采集传感器的数据,那么单片机的IO口要能承受24V的电压,然而现在大部分的单片机都是3.3V供电,那么IO口肯定是承受不了24V的,这个时候,就需要在传感器与单片机中间增加一个电平转换电路,把24V信号转成单片机可以容忍的电平范围。
针对这种情况的电平不匹配,可以使用三极管进行电平转换。下图就是经常使用的三极管电平转换电路。这两张图分别是1.8V转5V和5V转1.8V。
三极管电平转换电路,左图:1.8V转5V,右图:5V转1.8V
以1.8V转5V为例,当开关S1接到1.8V时,Q1导通,Q1集电极的电压为0V,当S1接地时,Q1截止,Q1集电极的电压为5V,5V转1.8V也是同理。
用三极管转换的优点是电路简单,成本低,也有缺点,通讯速度受三极管的开关速度限制,通讯速度过低的时候还好。如果需要高速通讯的时候,就需要使用专门的高速电平转换芯片啦,例如TI的TXS0102DCUR,可以同时转换2路电平,在推挽模式下,转换速率可高达24Mbps。当然,不同的转换通道或转换速率,都有专门芯片可以使用。
第二种:芯片的模拟I/O口与外部模拟量量程不匹配。
常见的就是ADC数据转换,单片机模拟I/O的有效输入范围是0-VRef,当模拟信号输入超出VRef或超出芯片的VDD电压后,就会造成量程溢出或模拟I/O口永久损坏,而我们使用的模拟量输出又是花样百出,例如0~5V、-2.5V~2.5V、0~10V或4~20mA信号等,这个时候就需要将这些外部的模拟量转换为单片机能测量的0~VRef信号。
这种场景的电平转换比较麻烦,没有集成芯片可以用,常用的就是电阻分压+运算放大器的转换方案,下图分别为常用的电压采集和电流采集电路,在电压采集电路中,输入模拟量为5V,利用分压电阻,输入到电压跟随器的电压就是2.5V,那么输出就是2.5V。在面对不同模拟量时,只要选择合理的电路转换模型就可以了。
电阻分压+运算放大器的转换方案,左图:电压采集电路,右图:电流采集电路
第三种:芯片的通讯接口转换。
常用的通讯协议,比如RS485、RS232、CAN,有不同的电平标准,这些通讯电平在单片机内部没有集成,如果想要使用这些通讯方式,就需要使用电平转换。
通讯接口的转换非常简单,直接选用对应的通讯芯片就可以了。例如,RS485通讯时可以选择MAX485,RS232可以用MAX232,CAN可以选SN65HVD230DR,方案基本都是固定的,按照对应芯片的数据手册设计电路就没什么问题。
3、逻辑电平不兼容的电平转换
逻辑电平,用来表示数字信号状态的电压水平。在数字系统中,二进制的1和0就是用逻辑电平来表示,逻辑高电平通常表示为1,逻辑低电平通常表示为0。逻辑电平的稳定性对于正确地识别和处理数字信号是至关重要的。
有2种广为熟知的逻辑电平:TTL逻辑电平和CMOS逻辑电平。TTL逻辑电平的全称是晶体管-晶体管集成逻辑电平,比如说我们现在用的74系列的一些芯片,它就是TTL电平。而CMOS逻辑电平是互补对称金属氧化物半导体逻辑电平。通常是指电路中很多器件是由PMOS晶体管或者是NMOS晶体管来构成的。
TTL和CMOS都有自己的逻辑电平标准,也就是对应1和0 的电平。
图中:VOH为:输出为高电平时的电平最小值;VOL为:输出为低电平时的电平最大值;VIH为:输入为高电平时的电平的最小值;VIL为:输入为低电平时的电平最小值
由上图可以看出,TTL逻辑电平与CMOS逻辑电平之间存在差异,但是,我们通过分析发现,他们的电平在一定区间是有兼容性的,既然能兼容,那是不是可以不转换,这是不可以的,这里举个例子,以5VTTL和CMOS对比,比如一个信号速率为10GHZ,在TTL电平下,确定为高电平是2V以上,而在CMOS电平下,确定为高电平是3.5V以上,之间差了1.5V,我们都知道,信号的上升是需要时间的,在10G的速率下,这个确认电平的时间差值就非常重要,这个时间差会造成信号时序错误,终将导致信号传输失败,所以TTL与CMOS逻辑电平之间也需要进行转换,通常TTL转CMOS需要使用专门的转换芯片,例如CD4504B,它就可以实现TTL转CMOS。
不论是电压不匹配的电平转换,还是逻辑电平之间的电平转换,转换的形式有多种,上面介绍的只是其中一种方式,但只要记住电平转换的目的就是让电平兼容,用什么转换都是可以的。
虽然这些电平转换电路并不复杂,但是毕竟还是需要额外的器件搭建。有没有可能把转换电路集成到单片机里或者把I/O耐压提高呢?这跟单片机的低功耗以及高速度有关,低压可以带来更小的损耗,如果加入这些转换电路,会增加功耗,还降低了芯片的灵活性。既然无法集成到内部,那么问题又来了,为什么不统一电平标准呢?这是个好问题,跟全世界的充电插头无法统一一样,每个芯片都是有自己的标准,统一真的很难。
该发布文章为独家原创文章,转载请注明来源。对于未经许可的复制和不符合要求的转载我们将保留依法追究法律责任的权利。