3.3V供电的STM32开发板,输出24V的工业传感器,如果把它俩直连在一起,会发生什么?把不同电平的芯片或者开发板直连,你是不是也做过类似的事?运气好只是读不到信号,严重的话可能会导致芯片或开发板直接烧毁。
这时候,就需要一个“调解员”了。本期贸泽科普实验室,就来聊聊电平转换这个“调解员”——
为什么需要电平转换
在我们平时的设计中,经常遇到以下两种需要电平转换的情况:
1)电压不匹配
在数字电路和嵌入式系统中,不同的芯片或模块可能使用不同的电压标准,如1.8V、3.3V、5V、12V、24V等。当这些不同电压的芯片或模块需要进行通信时,如果直接连接,可能会导致信号传输混乱,甚至损坏芯片。因此,需要进行电平转换,以确保信号能够在不同电压系统间正确传输。
2)逻辑电平不兼容
除了电压不匹配外,不同的逻辑电平标准(如TTL、CMOS、LVCMOS等)之间也存在不兼容的问题。这些逻辑电平标准具有不同的电压范围和逻辑电平定义,因此需要进行相应的转换以确保信号的正确传输和处理。电平转换可以实现不同逻辑电平标准之间的转换,从而解决兼容性问题。
电压不匹配的电平转换
电压不匹配主要有三种情况:
第一种:芯片的数字I/O口与外部模组电平不匹配,也就是视频开头单片机与传感器的情况,传感器或驱动器的输出电平与单片机I/O电平不匹配。
举个例子,有的工业传感器采用的是24V供电,如果单片机想要采集传感器的数据,那么单片机的IO口要能承受24V的电压,然而现在大部分的单片机都是3.3V供电,那么IO口肯定是承受不了24V的,这个时候,就需要在传感器与单片机中间增加一个电平转换电路,把24V信号转成单片机可以容忍的电平范围。
针对这种情况的电平不匹配,可以使用三极管进行电平转换。下图就是经常使用的三极管电平转换电路。这两张图分别是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,方案基本都是固定的,按照对应芯片的数据手册设计电路就没什么问题。
逻辑电平不兼容的电平转换
逻辑电平,用来表示数字信号状态的电压水平。在数字系统中,二进制的1和0就是用逻辑电平来表示,逻辑高电平通常表示为1,逻辑低电平通常表示为0。逻辑电平的稳定性对于正确地识别和处理数字信号是至关重要的。
有2种广为熟知的逻辑电平:TTL逻辑电平和CMOS逻辑电平。TTL逻辑电平的全称是晶体管-晶体管集成逻辑电平,比如说我们现在用的74系列的一些芯片,它就是TTL电平。而CMOS逻辑电平是互补对称金属氧化物半导体逻辑电平。通常是指电路中很多器件是由PMOS晶体管或者是NMOS晶体管来构成的。
TTL和CMOS都有自己的逻辑电平标准,也就是对应1和0 的电平。
由上图可以看出,TTL逻辑电平与CMOS逻辑电平之间存在差异,但是,我们通过分析发现,他们的电平在一定区间是有兼容性的,既然能兼容,那是不是可以不转换,这是不可以的,这里举个例子,以5VTTL和CMOS对比,比如一个信号速率为10GHZ,在TTL电平下,确定为高电平是2V以上,而在CMOS电平下,确定为高电平是3.5V以上,之间差了1.5V,我们都知道,信号的上升是需要时间的,在10G的速率下,这个确认电平的时间差值就非常重要,这个时间差会造成信号时序错误,终将导致信号传输失败,所以TTL与CMOS逻辑电平之间也需要进行转换,通常TTL转CMOS需要使用专门的转换芯片,例如CD4504B,它就可以实现TTL转CMOS。
图源:CD4504B数据表
不论是电压不匹配的电平转换,还是逻辑电平之间的电平转换,转换的形式有多种,上面介绍的只是其中一种方式,但只要记住电平转换的目的就是让电平兼容,用什么转换都是可以的。
虽然这些电平转换电路并不复杂,但是毕竟还是需要额外的器件搭建。有没有可能把转换电路集成到单片机里或者把I/O耐压提高呢?这跟单片机的低功耗以及高速度有关,低压可以带来更小的损耗,如果加入这些转换电路,会增加功耗,还降低了芯片的灵活性。既然无法集成到内部,那么问题又来了,为什么不统一电平标准呢?这是个好问题,跟全世界的充电插头无法统一一样,每个芯片都是有自己的标准,统一真的很难。
文章来源:贸泽电子