如何保证MCU与隔离收发器的可靠通信?

如何保证MCU与隔离收发器的可靠通信?,第1张

在总线通信中,总线设备中的MCU需要连接一个总线收发器接入到总线网络中,如果MCU的供电电压与收发器电压不匹配时,会出现什么情况?本文将以CAN总线为例从接口电平的角度为你解析电平匹配的重要性。

一、CMOS电平

现大部分数字集成电路采用的是CMOS工艺,其接口的电平大致符合如下定义:

VIL《0.3Vcc;VIH》0.7Vcc;

VOL《0.1Vcc;VOH》0.9Vcc。

以常见的5V、3.3V系统为例,相应的接口参数如表1。

表1 不同供电下的电平要求

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第2张

注:表中数据仅为计算参考值,器件实际参数需参考相应的数据手册。

二、电平不匹配

为了确保两个器件的信号可靠传输,必须保证:

  •  驱动器输出的VOH(MIN) 必须高于接收器输入的VIH(MIN);
  •  驱动器输出的VOL(MAX) 必须低于接收器输入的VIL(MAX);

当两个CMOS器件连接在一起时,若供电电压一致,信号传输不存在问题。若两个器件供电电压不一致,则会存在电平不匹配问题。

以3.3V器件与5V器件连接为例,会出现以下两个问题:

  •  5V器件输入引脚可能无法识别3.3V器件输出的高电平

如图 1,3.3V器件输出VOH最大值3.3V也无法达到5V器件VIH的最小值3.5V,无法保证3.3V器件输出的高电平被正确识别。由于器件设计有一定余量,在测试时可能仍可正常工作,但存在风险,如出现器件电压波动时,就会出现问题。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第3张

图1 3.3V器件输出,5V信号输入

  •  5V器件输出高电平可能损坏3.3V器件输入接口。

如图 2,5V器件输出高电平信号远高于3.3V,若3.3V器件输入引脚不支持5V电平输入,则工作时会有电流灌入3.3V器件,严重会造成器件损坏。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第4张

图2 5V信号输出,3.3V信号输入

三、隔离收发器选型

以CTM1051(A)M系列产品为例,其内部采用的CMOS技术的芯片,引脚电平如图3,符合CMOS电平标准。在选型时,应该针对不同的MCU选择相应型号,才能杜绝因电平不匹配产生问题,若MCU为5V供电,应选择CTM1051M;若MCU为3.3V供电,则选择CTM1051AM。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第5张

图3 CTM1051(A)M引脚电平

四、实际案例

客户使用于我司一款隔离CAN收发器模块,已经大批量出货,但应用中出现个别异常现象。异常产品表现为CAN总线间歇性通讯故障。当产品处于高温环境时(如65℃),对其进行重复上电,可复现通讯故障现象。

  1. 复现异常

将异常品置于65℃的烤箱中,并对以下信号进行测试: MCU供电、TXD、CAN差分、CAN模块供电。未出现异常时,各点波形如图4。可以看到,MCU是3.3V供电,电压稳定在3.2V左右,CAN模块供电稳定在5.07V左右,CAN差分波形与TXD信号对应无异常。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第6张

图4 正常时波形

对异常板卡进行重复上电,CAN总线出现大量错误帧,问题复现。异常时,各点波形如图5,MCU供电电压、CAN模块供电电压同时出现波动,并出现异常位。异常位出现时,MCU供电下降到3.08V,CAN模块供电上升至5.19V。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第7张

图5 异常时波形

仔细观察异常位波形,如图6,发现TXD变为高电平时,CAN差分电平并未跟随变化,而当TXD再次出现一个小的噪声尖峰时,CAN差分电平才变为隐性电平。结合此时MCU供电电压下降,CAN模块供电反而上升的情况,初步确定问题是因供电电压波动,造成TXD高电平无法识别导致。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第8张

图6 异常位波形

  2. 问题定位

因怀疑TXD电平无法识别,对CAN模块的TXD高电平阀值电压值进行测试。不同输入电压下,测试数据如表3。

表3 异常品TXD高电平阀值电压

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第9张

从测试数据看出,在不同的环境温度下,TXD高电平阀值电压变化均不大。4.75V供电时,阀值约2.91V;5V供电时,阀值约3.06V;5.25V供电时,阀值约3.2V。

如图5,异常位出现时,CAN模块的供电为5.19V,此时TXD高电平阀值应该约为3.17V,而MCU的供电仅为3.08V,IO输出电压无法达到3.17V,故无法识别高电平。当TXD出现噪声尖峰时,使TXD短时间高于3.17V,触发CAN模块内部切换,总线差分信号发生变化。

此处验证了上文的猜测,确定故障发生原因为:高温上电时,MCU、CAN模块供电电压出现波动,CAN模块的TXD引脚无法识别MCU发生的高电平信号,导致错误帧持续出现,造成CAN通信中断。

  3. 解决方案

更换为电平匹配的隔离模块后(由5V隔离模块更换成3.3V隔离模块),TXD高电平阀值电压及CAN总线通讯电平幅值如下图7所示,均已恢复正常幅值,通讯无异常。

如何保证MCU与隔离收发器的可靠通信?,如何保证MCU与隔离收发器的可靠通信?,第10张

图7 更换模块后的TXD高电平阀值以及CAN总线电平

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2492044.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存