MAX485原理及引脚说明

原理图 

芯片管脚介绍

 1号引脚为RO,通常与MCU UART控制器的RX相连接,输入引脚,用于接收对端(MAX485)数据。
 2号引脚为RE,RE对RO起控制作用,RE为低电平,RO可接收数据,RE为高电平时,RO不接收数据。
 3号引脚为DE,DE对 DI 起控制作用,DE为高电平,DI  可输出数据,DE为低电平时,DI不输出数据。
 4号引脚为 DI ,通常与MCU UART控制器的TX相连接,输出引脚,用于发送数据到对端(MAX485)。
 5号引脚为GND,串口通信时,要注意保证所有设备都共地。
 6号引脚为A,   A线要与对端的A线相连接,A线输出为正电压,A接上拉电阻。
 7号引脚为B,   B线要与对端的B线相链接,B线输出为负电压,B接下拉电阻。RO的总线电平由芯片对A/B线的信号转换得到
 8号引脚为VCC,为MAX3485芯片提供工作电源。


芯片工作介绍

 1  MAX3485为半双工通信,即本端要发送数据时,应保证所有对端都不发送数据。本地处于接收数据的状态时,不应该进行数据发送。正常使用的时候都是几个485外设的RE与DE引脚接在对接连接。
 2  MAX3485的总线电平(即R0引脚电压)由A线电平 - B线B电平得出,A - B > 2V,总线为高电平,A - B < -2V,总线为低电平;属于差分信号。
 3  A/B线的信号由芯片对DI上的电平做转换得到,DI的电平由MCU UART控制器的TX发送过来的,RO的电平由芯片对A/B线的信号转换得到,发送到MCU UART控制器的RX

芯片软件控制

 1   芯片一般处于接收模式,即DE与RE都为低电平时,RO使能,用于接收对端数据,DI不使能,不发数据给对端。
 2  发送数据前,MCU通过拉高与DE相直连的引脚电平,从而让让MAX3485处于发送模式,接着再通过MCU UART控制器(USART_TX引脚)发送比特位数据。
     MCU上一次数据发送完成后,需要等待20个bits的时间后再将/RE相直连的引脚拉低,因为MCU UART控制器上最后一个字节发送后,其实只是写入到了MCU UART寄存器TX引脚中。此时MAX3485至少还需要有一个字节的时间处于发送状态,即DI应该还处于使能状态发送模式下,DI的电平由MCU UART控制器的TX发送过来的,DI上的电平做转换得到A/B线的信号。而接收模式下,通过总线网络,另一个485收发器可以收到A/B上的信号,A/B线的信号转换可以得到RO的电平,再发送到另一个MCU UART控制器的RX上,复用串口中断服务函数,软件就可以接收到485发送的数据了)。(发送完需要加延时函数原因)
    【数据发送完成后,需要保持DI使能的时间最好通过逻辑分析仪来抓取一下,发送完成,保持某个时间,查看DE/RE被拉低时,DI上的数据位是否传送完成,若没有,则需要加长时间,若已经传送完成,则需要减少时间,尽可能地让业务保持稳定】

3   因为DE与RE控制了芯片的收发,且两者电平一样时只能使能收或者发,所以DE与RE在电路上可以共同连接到MCU的同一引脚上。
 4   DE/RE的时间应尽可能地通过串口的波特率/起始位/数据位/校验位/停止位来计算得出

总结

1   对于使用MAX3485这种半双工的总线时,应用协议一定要做到同一时间只能有一个设备处于发送状态,其他设备可处于接收状态,但是对于不属于自己的数据应该过滤掉。虽然总线上有多个设备,但协议应该保持点对点通信。
2   DE/RE的控制,对收发影响很大,一定要通过多次实验去得到控制这两个引脚的时机。
3   在DI使能时,若让RO也使能会形成MCU  TX发送的数据会被RX接收到的情况
4   所有连接在一起的设备,一定要共地通信。
5   共模电阻要按照实际情况来增加,有时本端加入了共模电阻,会造成在接收数据时,首先接收到一个0字符的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值