当前位置: 代码网 > it编程>软件设计>算法 > RS485通信----基本原理+电路图

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

2024年08月01日 算法 我要评论
RS485 是半双工异步串行通信。RS485 通信----电路图(SP3485)

一、rs485 通信----简介

rs485 是美国电子工业协会(electronic industries association,eia)于1983年发布的串行通信接口标准,经通讯工业协会(tia)修订后命名为 tia/eia-485-a
rs485 是一种工业控制环境中常用的通讯协议,其中rsrecommended standard 的缩写。
rs485 是 半双工异步 串行通信。

特点

  1. 支持多节点:一般最大支持 32 个节点。
  2. 传输距离远:最远通讯距离可达1200米。
  3. 抗干扰能力强:差分信号传输。
  4. 连接简单:只需要两根信号线(a+和b-)就可以进行正常的通信。

差分信号传输

rs485 通信采用差分信号传输,通常情况下只需要两根信号线就可以进行正常的通信。
在差分信号中,逻辑0逻辑1是用两根信号线(a+和b-)的电压差来表示。

  • 逻辑 1:两根信号线(a+和b-)的电压差在 +2v~+6v 之间。
  • 逻辑 0:两根信号线(a+和b-)的电压差在 -2v~-6v 之间。

连接方式

在 rs485 通信网络中,通常会使用 485 收发器来转换 ttl 电平rs485 电平
节点中的串口控制器使用 rx 与 tx 信号线连接到 485 收发器上,而收发器通过差分线连接到网络总线。
串口控制器与收发器之间一般使用 ttl 信号传输,收发器与总线则使用差分信号来传输。
发送数据时,串口控制器的 tx 信号经过收发器转换成差分信号传输到总线上。
接收数据时,收发器把总线上的差分信号转化成 ttl 信号通过 rx 引脚传输到串口控制器中。
通常在这些节点中只能有一个主机,剩下的全为从机。
在总线的起止端分别加了一个 120 欧的匹配电阻。

具体连接图如下所示:

在这里插入图片描述

二、rs485 通信----电路图(sp3485)

sp3485 芯片是一款非常经典的+3.3v低功耗半双工rs485收发器,数据传输速率高达10mbps
单片机串口通信一般是ttl电平,如果需要rs485 通信,就需要rs485芯片在中间转换一下。
因为rs485通信是半双工通信,就是发送数据的时候不能同时接收数据,所以我们选择sp3485做rs485收发器。

sp3485 芯片引脚

sp3485 芯片的引脚图如下所示:

在这里插入图片描述
引脚说明如下:

引脚名称功能
1ro接收器输出----接rx
2re接收器输出使能(低电平-接收使能)
3de驱动器输出使能(高电平-发送使能)
4di驱动器输入----接tx
5gnd接地
6a驱动器输出/接收器输入(同相)
7b驱动器输出/接收器输入(反相)
8vcc芯片供电+3.3v

rs485 电路图----普通收发

rs485 电路图如下图所示:
在这里插入图片描述

rs485 普通收发电路图原理:

  • rs485_en 为高电平,逻辑为1,发送使能,接收禁止。
  • rs485_en 为低电平,逻辑为0,发送禁止,接收使能

在编写驱动程序时:

  • 发送数据前,给rs485_en 置高电平。
  • 发送数据后,给rs485_en 置低电平。

rs485 电路图----自动收发

rs485 电路图如下图所示:

在这里插入图片描述

rs485 自动收发电路比rs485 普通收发电路增加了一个三极管开关电路,是由电阻r8电阻r9npn三极管q1 组成。
r9是限流电阻:最好选择4.7k,也可以选择10k。
r8是上拉电阻:可以选择4.7k或者10k。
npn三极管q1:高电平导通,低电平截止。

接收数据

接收数据引脚是 rs485_rx,在接收数据过程中,rs485_tx引脚一直保持高电平,npn三极管q1导通,re和de的引脚是低电平,发送禁止,接收使能,进入接收状态。

发送数据

发送数据引脚是 rs485_tx,应该 rs485_tx 发送1,ab发送1;rs485_tx 发送0,ab发送0。

  • 当 rs485_tx 发送1时:npn三极管导通,re和de的引脚是低电平,发送禁止,接收使能,进入接收状态,sp3485芯片的ab引脚进入高阻状态,因为r4把a拉高,r5把b拉低,所以,ab传输的是1。所以,当rs485_tx发送1时,ab引脚发送1。
  • 当 rs485_tx 发送0时:npn三极管不导通,re和de的引脚是高电平,进入发送状态,sp3485芯片会把di上的电平反应到ab引脚上输出,因为di已经接地,所以ab引脚会传输0。所以,当rs485_tx发送0时,ab引脚发送0。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com