历史上的今天
返回首页

历史上的今天

今天是:2024年11月27日(星期三)

正在发生

2019年11月27日 | 技术文章—如何保证MCU与隔离收发器的可靠通信?

2019-11-27 来源:EEWORLD

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

 

一、CMOS电平

 

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

 

VIL

 

VOL

 

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

 

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

 

 

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

 

二、电平不匹配

 

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

 

驱动器输出的VOH(MIN) 必须高于接收器输入的VIH(MIN);

 

驱动器输出的VOL(MAX) 必须低于接收器输入的VIL(MAX);

 

驱动器输出的输出电压不得超过接收器输入的I/O电压容差;

 

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

 

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

 

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

 

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

 

说明: 1.jpg?imageView2/2/w/550

 

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

 

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

 

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

 

说明: 2.jpg?imageView2/2/w/550

 

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

 

三、隔离收发器选型

 

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

 

说明: QQ截图20191016103111.jpg?imageView2/2/w/550

 

图3  CTM1051(A)M引脚电平

 

四、实际案例

 

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


1.复现异常

 

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

 

说明: 1 正常波形.jpg?imageView2/2/w/550

 

图4  正常时波形

 

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

 

说明: 2 异常波形.jpg?imageView2/2/w/550

 

图5  异常时波形

 

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

 

说明: 3 异常放大波形.jpg?imageView2/2/w/550

 

图6  异常位波形

 

1.问题定位

 

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

 

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

 

 

从测试数据看出,在不同的环境温度下,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通信中断。

 

2.解决方案 


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

 

 

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


推荐阅读

史海拾趣

德立电子(DDY)公司的发展小趣事

作为一家有远见的企业,德立电子深知绿色发展的重要性。公司积极响应国家环保政策,推行绿色生产和绿色供应链管理。同时,德立电子还积极参与社会公益事业,回馈社会,履行企业社会责任。

请注意,以上故事框架仅供参考,具体内容和细节需根据实际情况进行填充和完善。

骏晔科技(DreamLNK)公司的发展小趣事

骏晔科技在无线通讯模块领域一直寻求创新。2019年,公司与硬之城达成战略合作,推出了高性能的FSK双向收发模块。这款模块采用了最新的FSK调制技术,极大地提高了数据传输的稳定性和效率。通过这一创新,骏晔科技在物联网设备通讯领域取得了显著的市场份额增长。

中科芯(CKS)公司的发展小趣事

中科芯自成立以来,一直致力于集成电路技术的研发与创新。在早期的发展阶段,公司成功研制了我国首块超大规模集成电路,这一里程碑式的突破标志着中国集成电路技术达到了国际先进水平。这一成果不仅填补了国内在该领域的空白,也为中科芯赢得了广泛的国际声誉,为后续的技术突破奠定了坚实基础。

Force Technologies Ltd公司的发展小趣事

背景:在电子行业的早期,Force Technologies Ltd便以其对新材料和先进制造工艺的深入研究而闻名。公司创始人敏锐地洞察到半导体材料对于电子行业的重要性,于是投入大量资源进行研发。

发展:经过数年的努力,Force Technologies Ltd成功开发出一种新型半导体材料,该材料在提高芯片性能的同时显著降低了能耗。这一创新成果迅速吸引了全球电子巨头的关注,并促成了一系列重要的技术合作和订单。随着产品广泛应用于智能手机、平板电脑等消费电子产品中,Force Technologies Ltd迅速崛起为行业内的技术领军者。

Cortina Systems Inc公司的发展小趣事

背景:在电子行业竞争日益激烈的背景下,Force Technologies Ltd意识到通过并购整合可以迅速扩大规模、提升竞争力。

发展:公司精心挑选了几家在特定领域具有优势的企业作为并购目标,并成功完成了多起并购案。这些并购不仅为公司带来了先进的技术和人才资源,还极大地丰富了产品线和市场布局。通过并购整合,Force Technologies Ltd在多个细分领域均占据了领先地位。

EDO Corp公司的发展小趣事

进入1950年代,Eclipse Magnetics迎来了一次重要的创新。公司决定将磁铁涂上红色,这一独特的红色磁铁迅速在市场上获得了认可。同时,公司还设计了与红色磁铁相配的马蹄形标志,这一标志后来成为Eclipse Magnetics的国际通用标记。随着品牌的国际化,Eclipse Magnetics的产品开始进入全球市场。

问答坊 | AI 解惑

dsp基础

第1章   概述1.1数字信号处理器的基本概念数字信号处理器(Digital Signal Processor,简称DSP)是一种专门用来实现各种数字信号处理算法的微处理器。根据使用方法的不同,DSP可以分成专用的DSP和通用的DSP。专用的DSP用来实现某些特定的 ...…

查看全部问答>

cadence仿真问题

用的是analoglib里的元件画的电路,仿真时不知道加模型库时怎么加?…

查看全部问答>

线径与电流关系(转)

NO.1 绝缘导线芯线最小截面要求可以通过下面的顺口溜快速求得:(单位:平方毫米) 【顺口溜】:十下五、百上二,五十三四上下分,埋地套管七五折。 【意思解释】:根据绝缘导线所要求通过的总电流,当总电流为10A以下时,导线每平方毫米的截 ...…

查看全部问答>

现在学完了51,接下来该学啥?

本帖最后由 paulhyde 于 2014-9-15 09:23 编辑 请各位指教。  …

查看全部问答>

FPGA写的232接收模块,丢包问题

今天早上测试232接收程序时,发现232接收某些特定数据时,接收不到。请问高人,可能啥原因?…

查看全部问答>

0805的电阻的功耗是多少?

来自EEWORLD合作qq群:49900581 群主:wangkj…

查看全部问答>

nandflash的坏块处理

那位有nandflash的坏块处理方法,说下.…

查看全部问答>

菜鸟问问 在Wince中时间显示

想在一个EDIT控件里显示系统当前时间,不知道该怎么做。 有没有相关的控件呢? 不要time picker…

查看全部问答>

弱问,CORTEXM3内核到底高明在啥地方?

哪位高人给个比较出来和ARM7TDMI比比看…

查看全部问答>

液晶浮点值显示的一种解决方法

液晶浮点值显示的一种解决方法   在以ucOS-II为系统搭建的工程中,需要在液晶LCD上显示浮点型值,但液晶的驱动函数中仅编写了一个显示字符串的函数GUI_DispStringAt(); 所以需要一个函数把浮点型值转化成字符串,然后以字符串的形式输出到LC ...…

查看全部问答>