使用MAX13487芯片进行485通信处理
tencentUser 2024-05-30

在平时使用485通信时,好多人往往首选的就是MAX485芯片,如下图所示:

1.jpg

常规的方法就是使用RE和DE引脚通过程序来切换接收数据和发送数据,但是这样写起程序来比较麻烦,调试起来也比较费劲。为了方便的调试代码,于是就在芯片外围搭建电路来实现接收和发送数据的自动切换。比如通过下面的电路可以实现485芯片接收数据和发送数据的自动切换,不再需要通过程序来控制RE和DE引脚实现接收和发送的切换。

2.jpg

控制原理:MCU的UART的TX和RX引脚需要连上拉电阻(TX和RX在没有通信时均是高电平),防止刚上电TX和RX引脚电平不稳定引起收到扰乱数据。

输出端口A接上拉电阻,输出端口B接下拉电阻,终端并联120欧姆电阻,D1、D2、D3为三个防雷防浪涌的TVS管。

接收: 默认没有数据时,UART_TX为高电平,三极管导通,MAX485芯片RE低电平使能,RO接收数据使能,此时从485AB口收到什么数据就会通过RO通道传到MCU,完成数据接收过程。

发送: 当发送数据时,UART_TX会有一个下拉的电平,表示开始发送数据,此时三极管截止,DE为高电平发送使能。

当发送数据‘0 ’时,由于DI口连接地,此时数据‘0 ’就会传输到AB口 A-B<0,传输‘0 ’,完成了低电平的传输。

当发送‘1 ’时,此时三极管导通,按理说RO使能,此时由于还处在发送数据中,这种状态下MAX485处于高阻态,此时的状态通过A上拉B下拉电阻决定,

此时A-B>0传输‘1 ’,完成高电平的传输。

PS: 此时有人肯定也会有疑惑,发送数据‘1 ’,三极管导通RE低电平有效应该是接收使能,为什么芯片会是高阻状态?

因为UART发送收据会有一定的格式,数据均以“位”为最小单位进行传输。在收发数据之前,UART之间要约定好数据的传输速率

(即每位所占据的时间,其倒数为波特率)、数据的传输格式(有多少数据位、是否有校验位、奇校验还是偶校验、是否有停止位)。

平时数据线处于“空闲状态”(1状态)。当发送数据时,TX由‘1 ’变为‘0 ’维持1位的时间,这样收方检测开始位后,再等待1.5位时间就开始一位一位的进行数据传输。意思是说,已经确定好发送状态,电路发送‘1 ’此时RE有效,接收有效但有由于它处于发送阶段,此时芯片会处于高阻状态。

通过这种外部电路可以实现接收和发送的自动切换,现在不用外部电路,直接使用MAX13487E芯片就能实现接收和发送的自动切换。

现在看一下MAX13487E芯片的管脚框图。

3.jpg

可以看到MAX13487E的引脚和MAX485引脚只有第3引脚不一样,其他引脚都是一样的。

下面接着看这些引脚的功能

4.jpg

通过引脚功能可以看到,3脚是关断引脚,当3脚是高电平时芯片为正常模式,当3脚是低电平时,芯片就会进入关断模式。

2脚的功能比MAX485芯片2脚多了一个功能,当2脚是低电平时,芯片处于接收模式,当2脚是高电平时,芯片就会进入到自动方向控制模式,此时接收数据和发送数据都是芯片内部自动切换,不需要程序和外部电路的参与。

接下来再看看芯片的应用推荐电路

image.png

将2脚和3脚都接为高电平,此时芯片就会处于自动方向控制模式,其他引脚的应用和MAX485芯片一样,不需要修改。

通过对比可以看到使用MAX13487芯片进行485通信处理更加方便和高效。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 硬件
  • 原理图
  • 信号完整性
  • EMI
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告