终于讲透--史上最详细的RS485自动收发电路

RS485自动收发电路震荡的问题 选择5V的原因,差分2.5V比1.5V可以提高传输能力。 阅读详情
AI摘要

本文围绕485通讯电路展开,介绍了传统RS485电路,其需电平转换芯片,半双工收发,程序控制较麻烦。还阐述了自动切换收发的RS485电路,通过加三极管实现自动切换。最后提到自动切换方向芯片MAX13487,可克服软件控制不确定性,实现自动收发且价格便宜。

摘要:关于485通讯大家肯定不陌生,那么你会设计一个485电路而且能自带收发功能的吗?或者还是直接随便找一个电路甚至不管其中的原理就用上了。485通信一般离不了单片机控制,所以一般单片机尤其是STM32单片机之类的开发板上面都有RS485通信模块,因为485通讯只需要你的MCU有串口就可以了。

下面再某宝上找了几款STM32开发板上面关于485通信模块的电路图,发现有几家竟然电路图一模一样,而且画法也一模一样。

  • 原子哥
  • 硬石
  • 普中
  • 洋桃
  • 安富莱
  • 野火

正点原子

普中科技

硬石电子

洋桃电子

安富莱电子

野火电子

可以发现,485通讯模块大家普遍用的只有两种芯片,SP3485和MAX485,而且原理图画的都差不多。

1、传统RS485电路

不管是SP3485还是MAX485它们电路都是一样的。

先说一下原理:因为单片机通信一般是TTL电平,而我们的外接设备如果是485设备,通信的电平就是485电平,这两者的电平是不一样的,所以两者不能直接相接一起。中间需要一个电平转换的芯片来协商一下,所以就有了我们的485芯片。因为485通信是半双工的,就是发送数据的时候不能同时接收数据,所以我们又把485芯片叫做半双工收发器。而SP3485芯片就是一款非常经典的低功耗半双工收发器,满足RS-485串行协议要求。

然后这款芯片的引脚定义如下:

  • RO 一 接收器输出
  • RE 一 接收器输出使能(低电平有效)
  • DE — 驱动器输出使能(高电平有效)
  • DI 一 驱动器输入
  • GND 一 连接地
  • A — 驱动器输出/接收器输入(同相)
  • B — 驱动器输出/接收器输入(反相)
  • VCC —芯片供电

现在你可能有疑问?这个引脚怎么叫做接收器也叫输出器啊?还真人这么问。一般在485设备的数据向MCU发送时我们把芯片叫做接收器,因为它接收了外界的数据。在MCU向485设备发送数据时我们把芯片叫做驱动器,因为这时候像是我们驱动了芯片让它向外发送数据。

SP3485的驱动器输出是差分输出,空载时输出电压的大小为0V~+3.3V。SP3485有一根使能控制线(高电平有效)。DE上的逻辑高电平(1)将使能驱动器的差分输出。

SP3485接收器的输入是差分输入,接收器的输入电阻通常为15K。如果RE为低,接收器使能,反之接收器禁止。

这样就得到了一个结论

  1. ED: 1 发送使能;0发送禁止
  2. RE: 0 接收使能;1接收禁止

因此,我们一般将ED和RE接在一起,单片机MCU向外发送数据时,将USART_EN置位1,单片机MCU接收外界送数据时,将USART_EN置位0,即可。

当然我们在写程序时候,就相对会比较麻烦,因为我们要在接收和发送时将USART_EN引脚置位不同的电平。

那么有没有一种可以自动收发功能的电路呢?

答案是有的,只要我们在这个电路的基础上加一个三极管就可以解决了。

2、自动切换收发的RS485电路

大家看我们在前面电路的基础上加了一个经典的三极管开关电路。电阻R6、电阻R7和NPN三极管Q1组成一个典型的三极管开关电路。R7是限流电阻,最好选择4.7K,也可以选择10K。R6是上拉电阻,可以选择4.7K或者10K。

学过模电大家知道,NPN三极管,高电平导通。当TX高电平,三极管导通,RE和DE引脚接地,进入接收模式。当TX低电平,三极管截止,RE和DE引脚接高电平,进入发送模式。

疑问?

DI引脚本来是接TX的,现在直接接地了,那岂不是发送的数据都是0?可以正常工作吗?

答:当然可以!

发送数据过程

发送数据,用的是单片机的TX引脚,也就是说,在TX引脚上表现数据。要发送数据0x32,写成二进制就是0x00110010,TXD引脚上就会依次的用高低电平体现1和0。

当TX发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。所以,当TXD发送0时,AB引脚发送0。

当TX发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为R3把A拉高,R2把B拉低,所以,AB传输的是1。所以,当TXD发送1时,AB引脚发送1。

一句话:TXD发1,AB就发1;TXD发0,AB就发0。

接收数据过程

接收数据,用的是单片机引脚RX,在RXD引脚上表现数据。在接收数据的过程中,TX引脚是一直保持高电平的,当TXD是高电平时,RE是低电平,正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。

怎么样神奇吧!

那么有没有一款芯片可以自带自动切换收发功能的呢?答案是有的。

3、自动切换方向芯片-MAX13487

为了克服软件参与的方向控制不确定性,美信公司发布了宣称首款支持芯片自动换向的RS485芯片—MAX13487。

对比其他的RS485芯片,MAX16487的RE引脚有两个用处

  1. RE为低电平时,打开RO方向的接收数据。
  2. RE为高电平时,芯片进入自动方向切换模式。

我们将RE连接高电平,即自动换向模式。

对应的原理图就是下面这样:

直接将PIN2和PIN3接到VCC即可实现自动收发功能。而且MAX13487E还要便宜一些。

那么如果现在然你设计一个485电路,你会采取那种方案呢?

串口转RS485:自动收发串口转RS485设计注意事项 自动收发串口转RS485设计注意事项 阅读详情

相关推荐

485通信实现自动收发功能

在平时使用485通信时,好多人往往首选的就是MAX485芯片,如下图所示: 常规的方法就是使用RE和DE引脚通过程序来切换接收数据和发送数据,但是这样写起程序来比较麻烦,调试起来也比较费劲。为了方便的调试代码,于是就在芯片外围搭建电路来实现接收和发送数据的自动切换。 比如通过下面的电路可以实现485芯片接收数据和发送数据的自动切换,不再需要通过程序来控制RE和DE引脚实现接收和发送的切换。 控制原理:MCU的UART的TX和RX引脚需要连上拉电阻(TX和RX在没有通信时均是高电平),防止刚上电

HXYDJ的博客 1万+

RS485 硬件自收发切换的实现

介绍RS485 硬件自收发切换的电路及实现原理

electrocrazy的博客 4万+

RS485通信电路图(3种常见的电路)

意思是说,已经确定好发送状态,电路发送‘1’此时RE有效,接收有效但有由于它处于发送阶段,此时芯片会处于高阻状态。当发送‘1’时,此时三极管导通,按理说RO使能,此时由于还处在发送数据中,这种状态下MAX485处于高阻态,此时的状态通过A上拉B下拉电阻决定,此时A-B>0传输‘1’,完成高电平的传输。: 默认没有数据时,UART_TX为高电平,三极管导通,MAX485芯片RE低电平使能,RO接收数据使能,此时从485AB口收到什么数据就会通过RO通道传到MCU,完成数据接收过程。

weixin_48867130的博客 1万+

终于讲透了,史上最详细的RS485自动收发电路你一定要掌握

摘要:关于485通讯大家肯定不陌生,那么你会设计一个485电路而且能自带收发功能的吗?或者还是直接随便找一个电路甚至不管其中的原理就用上了。485通信一般离不了单片机控制,所以一般单片机尤其是STM32单片机之类的开发板上面都有RS485通信模块,因为485通讯只需要你的MCU有串口就可以了。 下面再某宝上找了几款STM32开发板上面关于485通信模块的电路图,发现有几家竟然电路图一模一样,而且画法也一模一样。 原子哥 硬石 普中 洋桃 安富莱 野火 可以发现,485通讯模块大家普遍用的只有

果果小师弟的博客 21万+

如何设计RS485接口电路?

应用中一般是两者连接在一起,通过IO口(RS485_EN)控制,因为芯片要么是处于接收,要么处于发送,因此在发送数据的前,给RS485_EN信号为高电平,接收数据就给低电平。RS485_TX 发送1,VGS高电平,NPN三极管导通,使能引脚是低电平,发送失效,接收使能,处于接收状态。接收数据引脚是芯片的第一引脚也就是网络标签RS485_RX,在接收数据过程中,RS485_TX引脚保持高电平,VGS为高电平,NPN三极管Q1就导通,RE和DE相连的引脚通过晶体管下拉到GND,此时接收使能,处于接收状态。

weixin_43371580的博客 3077

4种RS485隔离电路方案

RS485总线是一种使用平衡发送,差分接收实现通讯的通用串口通信总线,由于其具有抗共模干扰能力强、成本低、抗噪能力强、传输距离远、传输速率高、可连接多达256个收发器等优点,广泛应用于工业智能仪表,通讯设备等各个领域。RS485电路可以分为非隔离型和隔离型。隔离型电路是在非隔离型电路的基础上增加隔离性能,使得电路具有更强的抗干扰性和系统稳定性。下面主要围绕隔离型485电路进行简单介绍。

sinat_15677011的博客 1万+

rs485 自动收发电路

C5:电容可以把 tx 从低变高时变成一个缓慢的上升坡,短时间内可以认为是低电平,从高变低的速度还是很快。怀疑用三极管代替非门不好使,因为三极管的导通电压只有0.7v左右,tx电压稍微上来就导通了,而图中的与非门貌似在3.3v供电下需要输入最小到达2v才会判定为高电平,明显比三极管好用。我有另一个自动切换的模块也很好用,用的是74hc04d,有6非门,原理图未知,但看着和这里的原理不像。用了个与非门,但它的两个输入是并联的所以作用等于是非门,作用和上面的三极管一样。

qq_41544116的博客 4526

485通信硬件自动收发电路原理图

用MAX485芯片,通过三极管自动电平切换功能实现,MAX485芯片在通信时,实现硬件电路自动控制方向。用MAX487芯片自带的方向控制功能实现485通信时,方向自动控制。

2024年最新终于讲透了,史上最详细的RS485自动收发电路你一定要掌握(3),2024年最新20道Golang工程师面试必问题

这个引脚怎么叫做接收器也叫输出器啊?还真人这么问。一般在485设备的数据向MCU发送时我们把芯片叫做,因为它接收了外界的数据。在MCU向485设备发送数据时我们把芯片叫做,因为这时候像是我们驱动了芯片让它向外发送数据。SP3485的驱动器输出是差分输出,空载时输出电压的大小为0V~+3.3V。SP3485有一根使能控制线(高电平有效)。DE上的逻辑高电平(1)将使能驱动器的差分输出。SP3485接收器的输入是差分输入,接收器的输入电阻通常为15K。如果RE为低,接收器使能,反之接收器禁止。

2401_84910951的博客 1219

OpenBmc开发11:添加传感器(I2C)

1 查看传感器信息 通过qemu以本地端口映射方式运行编译后的镜像,访问bmcweb页面的网址是:https://localhost:2443/,如果想用IP地址启动请参考:openbmc开发4:启动运行编译镜像。(这里以网桥方式启动,以ip地址方式访问BMC) 输入用户名和密码,密码是:0penBmc(第一个是数字)。 选择Health,然后点击Sensor,可以看到传感器信息。 2 查看传感器配置文件 进入meta-live/meta-test/recipes-phosphor/...

master 1万+

CANFD升级踩坑实录:DBC转换时DLC大于8的信号怎么处理?

本文详细探讨了CANFD升级过程中DLC大于8的信号处理问题,提供了工程化解决方案和AutoSar BSW层配置要点。通过分析CAN与CANFD的DLC本质差异,提出信号拆分重组、DLC重映射和协议层适配三种策略,并给出验证与测试方案,帮助开发者避免数据截断和通信故障。

weixin_42521843的博客 228

2024年最新终于讲透了,史上最详细的RS485自动收发电路你一定要掌握(5),2024年最新Golang中常见的面试题

可以发现,485通讯模块大家普遍用的只有两种芯片,SP3485和MAX485,而且原理图画的都差不多。

2401_84910951的博客 1025

Windows 11下Telnet端口23连接失败的终极解决方案(附详细排查步骤)

本文详细解析了Windows 11系统中Telnet端口23连接失败的常见原因及解决方案。从Telnet客户端功能启用、服务端配置检查到网络连接诊断,提供了一套完整的排查步骤,帮助用户快速定位并解决连接问题,同时给出了安全使用Telnet的建议。

win55的博客 451

终于讲透了,史上最详细的RS485串口通讯!

RS485接口组成的半双工网络,一般是两线制,多采用屏蔽双绞线传输,这种接线方式为总线式拓扑结构在同一总线上最多可以挂接32个结点。我们知道,最初数据是模拟信号输出简单过程量,后来仪表接...

嵌入式Linux 27万+

CAN-do-paser:Java开发的CAN总线数据帧解析库

CAN总线数据帧使用DBC文件信息解析为物理量,基于Java开发的数据解析工具。

佳瑞的博客 1133

一文说清Arduino如何实现舵机平滑转动(机器人场景)

深入讲解如何利用arduino控制舵机转动,实现机器人场景中的平稳运动。通过代码优化与脉冲宽度调节,让舵机动作更精准流畅,适用于各类自动化项目。

weixin_35706255的博客 897

RS485自动收发电路-能不用就不用

RS485总线和电路看似简单,但是要看应用场景,对稳定性有要求的不建议使用自动收发驱动电路。在没有遇到信号反射问题时,尽量不要使用终端电阻;硬件设计时,可以预留外挂或焊接120Ω电阻的位置。要查看RS485驱动芯片的输入阻抗参数,和支持外挂设备数。上、下拉电阻与收发器输入阻抗的并联值应大于375Ω;如果是现场做工程项目,建议带上万用表和示波器,测一下空闲状态下的电压值,收发的信号质量,这样才安心。(END)

gavinpeng的专栏 6524

AI Agent Harness自动化漏洞扫描

本文要介绍的AI Agent Harness自动化漏洞扫描方案,正是为了解决传统漏扫的上述痛点而生。漏洞检出率提升35%以上,逻辑漏洞检出率从不足30%提升到92%误报率从27%降到3%以下,人工复核成本降低90%支持自定义业务系统、IoT、工控等多场景资产扫描,适配成本降低80%内置反馈学习机制,扫描效果越用越好AI Agent是指具备自主感知、决策、行动能力的大模型驱动程序,它可以根据给定的目标,自主调用工具、规划步骤、完成任务。

AI 原生应用开发的博客 473

RS485自动收发电路

关于。

csshuke的专栏 2997

在 SAP Gateway 主机上把 SAML 2.0 配置为 Service Provider:从架构到落地的完整实战

本文详细介绍了在SAP Gateway主机上配置SAML 2.0作为Service Provider的全流程。从概念梳理到实际操作,涵盖了关键步骤:启用本地SP服务、通过反向代理导出元数据、在IdP侧完成对接、配置信任关系与Artifact绑定、设置NameID身份联合等核心环节。特别强调了HTTP Artifact绑定的背道通信机制和证书配置要点,并针对常见错误提供了排障指引。文章注重实操性,结合SAP官方文档与社区最佳实践,为运维团队提供了一套完整的SAML SSO实施框架。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 148

Linux | Ubuntu18.04安装WIFI6 AX201驱动完整教程

本节介绍了如何在Ubuntu18下安装AX201驱动的教程。

九七的博客 8880

TTL转RS485电路(自动收发)---分享原理图及参考资料

RS485串口经常用到,本文分享下RS485协议方面基本点,并介绍一种简单的串口TTL(3.3V)电平转换为RS485电平的电路,这个电路是经过制板验证过的。 先简单介绍下RS485一些协议方面的基本点: 工作方式:差分信号 节点数:1发32收(也有说128,256个,跟驱动芯片有关) 特征阻抗:120Ω(需要并接120Ω终端电阻) 接收器输入阻抗:≥12KΩ 数据传输速度:最大10Mbps 最...

weixin_42005993的博客 6万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RS485通信----基本原理+电路图

RS485 是半双工异步串行通信。 RS485 通信----电路图(SP3485)

MQ0522的博客 15万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RS485收发的3种电路-自动收发电路

RS485收发的3种电路-自动收发电路 《本文转载,若有侵权,请联系我删除》 三种常用电路如下: 1、基本的RS485电路 上图是最基本的RS485电路,R/D为低电平时,发送禁止,接收有效,R/D为高电平时,则发送有效,接收截止。上拉电阻R7和下拉电阻R8,用于保证无连接的SP485R芯片处于空闲状态,提供网络失效保护,提高RS485节点与网络的可靠性,R7,R8,R9这三个电阻,需要根据实际应用改变大小,特别是使用120欧或更小的终端电阻时,R9就不需要了,此时R7,R8使用680欧电阻。正常情况下,

ly5120146160的博客 4683
上一篇: 枚举(enum)/共用体(union)/结构体(struct)---详解
下一篇: 关于zynq引脚编号、bank以及封装的一些理解
csshuke
博客等级 码龄16年 1517粉丝 8原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值