1 综述
MAX3483, MAX3485, MAX3486, MAX3488, MAX3490以及MAX3491是用于RS-485与RS-422通信的3.3V,低功耗收发器,每个器件中都具有一个驱动器和一个接收器。MAX3483和MAX3488具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最高250kbps的无差错数据传输。MAX3486的驱动器摆率部分受限,可以实现最高2.5Mbps的传输速率。MAX3485,MAX3490和MAX3491则可以实现最高10Mbps的传输速率。
驱动器具有短路电流限制,并可以通过热关断电路将驱动器输出置为高阻状态,防止过度的功率损耗。接收器输入具有失效保护特性,当输入开路时,可以确保逻辑高电平输出。
使用MAX3488, MAX3490和MAX3491可以实现全双工通信,而MAX3483,MAX3485与MAX3486则为半双工应用设计。
这篇文章介绍的就是MAX3485
2 芯片介绍
2.1 主要特点
半双工
速率:10Mbps
限摆率:NO
接收允许控制:YES
关断电流:2 nA
引脚数:8
2.2 引脚配置
根据上图、上表可知:
DE和RO为使能管脚。DE为低电平、RE为低电平时为接收;DE为高电平、RE为高电平时为发送;
RO和DI为数据管脚。RO为接收,DI为发送;
因此我们经常将DE和RE直接连接,用一个IO口控制(见3.2 电路实现)。
3 应用
3.1 应用场景
工业控制局域网
集成服务数字网络
低功耗RS-485/RS-422收发器(我做的几个项目都是该功能)
分组交换技术
电信
用于EMI敏感应用的收发器
3.2 电路实现
485是2线式,两个485接口的设备相连通过A、B两根线即可(也就是至少2个485芯片),连接方式如下图所示:
我们使用MAX3485一般是用下图电路:
从上图中我们可以看到:RO直接和TTL电平的UART_RX(或模拟串口的RX)相连,DI直接和TTL电平的UART_TX(或模拟串口的TX)相连,R34为1K。
3.3 软件实现
在软件实现中,我们需要在发送数据的时候使得控制管脚为高电平,接收数据的时候使得控制管脚为低电平。在底层驱动的时候(比如使用管脚控制方式使用STM8),我们可以很清晰的知道开始结束位置,因此只需要在相关地方添加IO控制代码即可,但是在使用别人封装号的代码的时候(比如使用联盛德wifi芯片的时候)我们就需要查找什么时候接收,什么时候发送,主要是什么时候发送完的问题。一般我们会查找发送完后是否有中断,或是否有信号量的变化(联盛德wifi模块使用的就是信号量的编号)。