MAX3485芯片使用方法

1 综述

最近用到了MAX3485芯片,因此做一个小记录。

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模块使用的就是信号量的编号)。

4 重要提示

【END/2015-11-10】

目前提供的引用内容并未涉及关于 MAX20087 的具体信息。然而,在 IT 领域中,通常可以通过以下方式获取芯片的相关资料: ### 如何查找 MAX20087 芯片使用方法或资料 #### 1. 官方数据手册 官方发布的数据手册是最权威的信息来源,其中包含了芯片的功能描述、电气特性、引脚定义、典型应用电路等内容。对于 MAX20087,可以访问制造商 Maxim Integrated 的官方网站进行搜索并下载其最新版本的数据手册。 例如,MAX9286 MAX96712 的数据手册分别提供了详细的电气特性应用设计指导[^1][^2]。类似的结构也可能适用于 MAX20087 数据手册的内容编排。 #### 2. 应用手册与参考设计 除了基本的数据手册外,许多厂商还会提供专门的应用笔记技术文档来辅助开发人员更好地理解如何实现特定功能。比如针对 MAX96712 提供的手册不仅有理论说明还有具体的 PCB 布局建议[^3]。因此寻找有关 MAX20087 的参考设计方案同样重要。 #### 3. 开发工具支持资源 一些复杂的 IC 可能会附带专用软件或者评估板以便于测试验证性能指标。如果存在这样的配套产品,则应该充分利用它们来进行学习实践。 以下是 Python 编程语言的一个简单示例用于展示如何读取 JSON 文件(假设这里有一个包含多个型号芯片信息列表),这可以帮助我们模拟检索过程: ```python import json def load_chip_data(file_path): with open(file_path, 'r') as file: data = json.load(file) return data['chips'] chip_list = load_chip_data('chips.json') for chip in chip_list: if chip['model'] == 'MAX20087': print(f"{chip['model']} Details:") for key, value in chip.items(): print(f"\t{key}: {value}") ``` 此代码片段展示了加载外部JSON文件的方法,并遍历找到目标模型(MAX20087),打印它的所有细节属性。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值