导读
在电路设计中,电平匹配是一个基本要求,但常常被忽视,可能导致设备故障和通信异常。本文我们将揭示如何避免因电平不匹配导致的设备故障,并提供实用的设计建议,确保您的电路设计既高效又稳定。
电平匹配是进行电路设计时的一个基本要求,但有时候却很容易被忽略,特别是没有仔细查看外设或者芯片规格书的时候,根据以往经验来设计,带来了一些问题。这类问题只要在设计的时候稍加检查就能被发现,下面的案例1和案例2都是因为没有仔细看CAN隔离模块的电气特性引起的设计错误,其中案例2问题比较隐蔽,还涉及到不同温度下电气特性的变化:
MR6450外接5V CAN收发器,工作异常;
使用CAN收发器出现偶发性工作异常。
电平匹配在新处理器系统设计时越来越值得注意,现在很多处理器都分多个电平域,有的IO是3.3V,有的是1.8V。电平不匹配会工作不正常,还会带来损坏IO的危险,例如产生电流倒灌而损伤IO口。
I2C电平匹配也是一个经常遇到的问题,下面我们将给出两种不同方案供参考。
TTL和CMOS电平参数定义
我们先看下TTL、CMOS逻辑电平参数定义,参考图1。
图1 TTL和CMOS逻辑电平定义
不同逻辑电平的两个器件要想实现信号可靠传输的前提条件:
驱动器输出的VOH(MIN)必须大于或等于接收器输入的VIH(MIN)。
驱动器输出的VOL(MAX)必须小于或等于接收器输入的VIL(MAX)。
驱动器输出的电压不得超过接收器输入的I/O电压容差。
案例1:MR6450 的UART脚接到了5V的收发器
某客户使用我司MR6450-L核心板通过UART通讯方式外接RS485模块,无法正常工作,与客户沟通后了解到客户使用的RS485模块逻辑电平为5V。
MR6450核心板处理器为先楫HPM6450,其IO 3.3V逻辑电平定义如图2所示。
图2 MR6450 IO 3.3V逻辑电平定义
RS485模块5V逻辑电平定义如图3所示。
图3 RS485模块5V逻辑电平定义由此可知HPM6450 TX信号输出的高电平最大值为VCC-0.1V=3.2V , 而5V RS485模块TXD输入高电平的最小值为5*0.7=3.5V,很明显不满足驱动器输出的VOH必须大于或等于接收器输入的VIH(MIN)这一必要条件,IO口逻辑电平不匹配,从而导致两个模块间无法通讯。
解决方案:选型3.3V 逻辑电平的RS485模块,或MCU和模块间增加电平转换电路。
案例2:CAN隔离模块电平与处理器不匹配,工作时偶尔出现间歇性通讯故障
具体表现为客户使用我司一款隔离CAN收发器模块,常温下偶尔出现个别产品间歇性通讯故障,将异常产品置于高温环境下(65℃)进行重复上电测试,可复现异常现象。
常温下,测试异常产品的以下信号:MCU供电、TXD、CAN差分、CAN模块供电,正常时各点波形如图4所示。
图4 正常时MCU、CAN差分信号、CAN模块供电电平波形
进一步进行高温实验。将异常产品置于65℃的烤箱中,并进行重复上电,测试以下信号:MCU供电、TXD、CAN差分、CAN模块供电,异常时各点波形如图5、图6所示。
图5 异常时MCU、CAN差分信号、CAN模块供电电平波形
图6 异常时CAN差分信号、CAN模块供电电平波形
分析CAN总线出现异常位宽时的波形。当TXD信号由低变高时CAN总线电平仍然维持显性电平,在偶然间叠加线路板上noise后引起TXD电平略微变大。此时CAN总线电平概率性变为隐性电平。
高温环境下,因半导体材料的特性有可能会导致整个系统的功耗有所增加。此案例呈现的现象为MCU供电电压下降,CAN模块供电电压上升,进一步影响到两模块的逻辑电平,从而使异常现象变得更为明显。实测CAN模块不同电压和温度环境下,TXD高电平阈值的变化如图7所示。
图7 CAN模块不同电压和温度环境下,TXD高电平阈值的变化
问题根因:高温65°C环境下,CAN模块供电5.19V,对应的TXD高电平阈值约为3.17V,MCU供电3.08V,对应的IO输出电压最高约为3V,MCU输出的VOH低于CAN模块的输入VIH,两模块间逻辑电平不匹配,导致通讯异常,因IO口电平逻辑的容错余量比较小,常温下也许能工作,但在高温环境等比较严格的环境下,两模块间的逻辑电平很容易出现不匹配问题。
解决方案:将5V隔离模块更换成3.3V隔离模块。
如果I2C电平不匹配该怎么处理?
1. 使用专用的I2C总线电平转换芯片PCA9306
PCA9306是一款支持I2C总线和SMBus的双向电平转换器,支持从1.0V~3.6V(Vref(1))到1.8V~5.5V(Vbias(ref)(2))的电平转换,PCA9306可工作在两种工作频率下:400KHz和100KHz。最大频率取决于RC时间常数,一般支持>2MHz。
PCA9306标准使用电路如图8所示。
图8 PCA9306参考电路
设计时注意以下几点:
两边的电压VREF1和VREF2并不是取任意值且VREF1为低压位端VREF2为高压位端;
可以使用EN键来控制内部开关的导通和关断;
EN和VREF2管脚连接在一起;
上拉电阻的取值,取决于SW在导通时产生的压降,详见手册推荐值。
2. 使用MOS管搭建电平转换电路
图9所示电路是一个使用MOS管进行电平转换的示例。
图9 MOS实现电平转换
设计时注意以下几点:
低压位VDD_3V3连接MOS管源极,高压位VDD_5V连接MOS管漏极;
如果换用其它电压阈之间的转换,如3.3V、2.5V、1.8V等,需要注意MOS管Vgs开启导通电压;
仅适用于低速率场合(100/400Khz)。
• 15路串口
• 2路千兆
• 4路CANFD
参考价格:49元起