嵌入式调试笔记<1>MAX13487芯片产生数据回环问题

嵌入式调试笔记

一、MAX13487芯片产生数据回环问题

前言

记录一下调试电路板过程中遇到的问题。由遇到的问题回顾所涉及的知识点。

一、MAX13487芯片-支持自动换向

MAX13487E/MAX13488E是+5V供电、半双工、具有±15kV ESD保护的RS-485/RS-422兼容收发器,包含一路驱动器和一路接收器。MAX13487E/MAX13488E具有热插拔功能,可以消除上电或热插入时总线上的故障瞬变信号。
MAX13487E/MAX13488E具有Maxim专有的自动选向控制功能。这种结构使其非常适合多种应用,比如:隔离的RS-485端口(这种情况下,驱动器输入用于连接驱动器使能信号,以便驱动差分总线) 。MAX13487E具有低摆率驱动器,能够减小EMI和不恰当的电缆端接所引起的反射,实现高达500kbps的无差错数据传输。MAX13488E驱动器的摆率未被限制,允许高达16Mbps的传输速率。
芯片资料

二、设计摘要

1.功能框图

在这里插入图片描述

2.引脚说明

RE接高电平,设置为自动收发。

在这里插入图片描述

3.应用电路

在这里插入图片描述

对应到实际应用电路

在这里插入图片描述

三、数据回环问题

现象:

调试过程中发现,串口发送数据后,首先会接收到相同的数据。

分析:

1.MAX13487E这款RS485收发器具备自动收发控制功能,其接收器在关闭接收器(/RE = “1”)时,接收器输出为高阻态,这一点与普通的RS485收发器有所不同。如果在RO引脚没有接上拉电阻,此时将会耦合噪声,产生所谓的“回声”。另外,为了建立可靠地通信,同样需要在RO引脚加上拉电阻。加上拉电阻后,确保Rx关闭时处于高电平,可解决这一问题。
2.参考功能框图,接收引脚RO的使能由RE引脚或者内部状态机制决定,而内部状态机制有DI和A-B的当前状态这两个输入决定。DI为低电平时,器件将总线驱动至低电平;DI为高电平时,器件在短时间内将总线驱动至高电平,随后关断驱动器释放总线。
简单的讲,DI为高电平的时候,短时间后,驱动器失能,接收器使能,此时A-B因为上下拉电阻的存在,使RO为高电平;DI为低电平的时候,驱动器使能,接收器失能,RO电平有MCU电平决定。而MCU的RX引脚程序里默认是下拉,这就导致RO引脚的电平变化跟DI引脚的电平变化时一致的,由此造成了数据回环现象。

解决办法:

根据分析的原因,有两个解决方法。
1.在程序中,将RXD引脚初始化为上拉输入,经测试问题解决。
2.设计电路时,将RO引脚接上拉电阻。

总结

参考文章:
https://ez.analog.com/cn/interface-isolation/w/wiki/28949/max13487e
https://blog.csdn.net/key_qt1/article/details/97926251

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值