1、RS-232/422/485协议描述

RS-232通讯的最大传输距离在不增加缓冲器的情况下可以达到15m左右,传输距离较短,所以RS-485与RS-422通讯方式就诞生了。

RS-232、RS-422与RS-485最初都是由电子工业协会订制并发布的,RS-422是由RS-232发展过来的,主要是解决RS-232传输距离短和速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,在速率低于100kbps时传输距离可以延长到4000英尺(大约1219米),并允许在一条平衡总线上连接到最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范。之后为了扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。

RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议。由于PC上的串行数据通讯是通过UART芯片来处理的,其通讯协议也规定了串行数据单元的格式(8-N-1格式):1位逻辑0的起始位,6/7/8位数据位,1位可选择的奇偶校验位,1/2位逻辑1的停止位。基于PC的RS-232、RS-422与RS-485标准均采用同样的通讯协议。

RS-232、RS-422与RS-485通讯方式的区别见表1.1。

标准

RS-232

RS-422

RS-485

工作方式

单端

差分

差分

节点数

单对单

1发10收

1发32收

最大传输电缆长度

15m

1219m

1219m

最大传输速率

20kbps

10Mbps

10Mbps

最大驱动输出电压

+/-25V

-0.25V~+6V

-7V~+12V

发送器输出信号电平(负载最小值)

负载

+/-5V~+/-15V

±2.0V

±1.5V

发送器输出信号电平(空载最大值)

空载

+/-25V

±6V

±6V

发送器负载阻抗

3K~7K

100

54

摆率(最大值)

30V/μs

N/A

N/A

接收器输入电压范围

±15V

-10V~+10V

-7V~+12V

接收器输入门限

±3V

±200mV

±200mV

接收器输入电阻(Ω

3K~7K

4K(最小)

≥12K

发送器共模电压

--

-3V~+3V

-1V~+3V

接收器共模电压

--

-7V~+7V

-7V~+12V

2、RS-232标准

RS-232被定义为一种在低速率、近距离串行通讯的单端标准。RS-232采取不平衡传输方式,即所谓的单端通讯。

RS-232的电气标准:

(1)电平为逻辑“0”时:+3V~+15V;

(2)电平为逻辑“1”时:-3V~-15V;

未定义区:-3V~+3V。在此区域内的信号处理将由通讯接口的RS-232收发器决定。

3、RS-422/485标准

RS-422/485标准与RS-232标准不一样,数据信号采样差分传输方式,也称平衡传输。

由于RS-422/485标准在电气特性上非常相近,但是在传输方式上也有所区别。

(1)RS-485标准

电子工业协会(EIA)于1983年制定了 RS-485标准,之后经TIA修订后命名为TIA/EIA-485-A,习惯的称之为RS-485标准。

RS-485标准是为了弥补RS-232通信距离短、速率低等缺点而产生的,RS-485标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。

RS-485标准与RS-232不一样,数据信号采用差分传输方式,也称平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B,如图1.1所示。

图1.1 RS-485发送器的示意图

通常情况下,发送发送器A、B之间的正电平在+2~+6V,是一个逻辑状态;负电平在-2~-6V,是另一个逻辑状态。另有一个信号地C。在RS-485器件中,一般还有一个“使能”控制信号。“使能”信号用于控制发送发送器与传输线的切断与连接,当“使能”端起作用时,发送发送器处于高阻状态,称作“第三态”,它是有别于逻辑“1”与“0”的第三种状态。

对于接收发送器,也作出与发送发送器相对的规定,收发端通过平衡双绞线将A-A、B-B对应相连,当在接收端A-B之间有大于+200mV的电平时,输出为正逻辑电平;小于 -200mV时,输出为负逻辑电平 。在接收发送器的接收平衡线上,电平范围通常在200mV至6V之间,具体见图1.2。

图1.2

定义逻辑1(正逻辑电平)为B>A的状态,逻辑0(负逻辑电平)为A>B的状态,A、B之间的压差不小于200mV.

RS-485标准的最大传输距离约为1219米,最大传输速率为10Mbps

通常RS-485网络采用平衡双绞线作为传输媒体,平衡双绞线的长度与传输速率成反比,只有在20kbps速率以下,才可能使用规定最长的电缆长度,只有在很短的距离下才能获得最高速率传输,一般来说,15米长双绞线最大传输速率仅为1Mbps。

注意:并不是所有的RS-485收发器都能够支持高达10Mbps的通讯速率,如果采用光电隔离方式,则通讯速率一般还会受到光电隔离器件响应速度的限制。

RS-485网络采用直线拓扑结构,需要安装2个终端匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般取值为120Ω),在短距离或低波特率数据传输时可不需终端匹配电阻,即一般在300米以下、19200bps不需终端匹配电阻,终端匹配电阻安装在RS-485传输网络的两个端点,并联连接在A-B引脚之间。

RS-485标准通常被用于作为一种相对经济、具有相同高噪声抑制、相对高的传输速率、传输距离远、宽共模范围的通信平台。

4、RS-485芯片引脚连接说明

(1)引脚说明

管脚

名称

描述

1

RO

接收器输出

2

RE

接收器输出使能(低电平有效)

3

DE

发送器输出使能(高电平有效)

4

DI

发送器输入

5

GND

地连接

6

A

发送器输出/接收器输入反相

7

B

发送器输出/接收器输入反相

8

VCC

正电源电压(+3.0V<VCC<+3.60V)

(2)连接简图

5、SP3485芯片功能分析

发送器:SP3485的发送器输出是差分输出,满足RS-485和RS-422标准,空载时输出电压的大小为0V~+3.3V。即使在差分输出连接了54Ω负载的条件下,发送器仍可保证输出电压大于1.5V。SP3485有一根使能控制线(高电平有效)。DE上的逻辑高电平将使能发送器的差分输出。如果DE为低,则发送器输出呈现三态。

接收器:SP3485接收器的输入是差分输入,输入灵敏度可低至±200mV。接收器的输入电阻通常为15KΩ(最小为12KΩ)。-7V~+12V的宽共模方式范围允许系统之间存在大的零电位偏位。SP3485的接收器有一个三态使能控制脚,如果RE为低,接收器使能,反之接收器禁止。

6、RS-485接口电路

RS-485接口电路的主要功能是:将来自微处理器的发送信号TX通过“发送器”转换成通讯网络中的差分信号,也可以将通讯网络中的差分信号通过“接收器”转换成被微处理器接收的RX信号。任一时刻,RS-485收发器只能够工作在“接收”或“发送”两种模式之一,因此,必须为RS-485接口电路的附加保护措施也是必须重点考虑的环节。

基本的RS-485电路:微处理器的标准串行接口通过RXD直接连接SP3485芯片的RO引脚,通过TXD直接连接SP3485芯片的DI引脚。

由微处理器输出的 R/D 信号直接控制 SP485R 芯片的发送器/接收器使能:R/D 信号为“1”,则SP485R芯片的发送器有效,接收器禁止,此时微处理器可以向RS-485总线发送

数据字节;R/D 信号为“0”,则 SP485R 芯片的发送器禁止,接收器有效,此时微处理器

可以接收来自 RS-485 总线的数据字节。此电路中,任一时刻 SP485R 芯片中的“接收器”

和“发送器”只能够有1个处于工作状态。

连接至A引脚的上拉电阻R7、连接至B引脚的下拉电阻R8用于保证无连接的SP485R

芯片处于空闲状态,提供网络失效保护,以提高RS-485节点与网络的可靠性。

如果将 SP485R 连接至微处理器 80C51 芯片的 UART 串口,则 SP485R 芯片的 RO 引脚不需要上拉;否则,需要根据实际情况考虑是否在RO引脚增加1个大约10K的上拉电阻。

STM32之485通信相关推荐

  1. STM32之485通信(RS485串口编程)

    目录 1.编程思路 2.代码 USART串口的库函数: USART_: AIRCR中断分组设置表: 1.编程思路 通过485通信来实现MCU之间的通信,把接收到的数据通过串口助手显示在pc端.第一是对 ...

  2. STM32F103 485通信开发实例

    目录 一.背景介绍 二.主机代码 1.串口初始化配置 2.发送函数定义 3.串口接收中断函数定义 4.定时中断(用于主机发送指令) 5..h文件 三.从机代码 1.串口初始化配置 2.发送函数定义 3 ...

  3. 嵌入式学习笔记——STM32的USART通信概述

    文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...

  4. STM32调试485(sp3485)技术总结

    1.首先说明一下本人这次使用的STM32芯片是STM32F103RB,使用的资源是片内的USART1. 2.下面是我的电路连接图: 注:电路可以稍做修改更好,在B和A分别接下拉电阻到地和上拉电阻到5v ...

  5. PLC、STM32单片机--485modbus通信实验

    PLC.STM32单片机–485modbus通信实验 接线: 单片机 PLC USB转485模块 A-------------------A-------------------A B-------- ...

  6. 基于STM32的485通讯传感器采集程序

    基于STM32的485通讯传感器采集程序 先来看看硬件连接,大致就这样连接! 一般来说,RS485是硬件,而他软件方面是modbus协议,用到最多的是RTU方式. 工作方式:主机(STM32)通过串口 ...

  7. 485 通信注意事项

    目录 为什么要采用屏蔽线 为什么要接地 485 通信线应如何走线? 为什么485 总线要采用手拉手结构,而不能采用星形结构? 485 总线上设备到设备之间可以有接点吗? 什么叫共模干扰和差模干扰?如何 ...

  8. 485通信自动收发电路,历史上最详细的解释

    作者:瑞生,来源:科技老顽童 微信公众号:芯片之家(ID:chiphome-dy) 上边的485通信自动收发电路,实测波特率9600不会有问题,但是,波特率115200的话,曾经出现过问题. 我们先看 ...

  9. 485通信实现自动收发功能

    在平时使用485通信时,好多人往往首选的就是MAX485芯片,如下图所示: 常规的方法就是使用RE和DE引脚通过程序来切换接收数据和发送数据,但是这样写起程序来比较麻烦,调试起来也比较费劲.为了方便的 ...

  10. 485通信自动收发数据实现

    485通信是工业控制中很常用的一种通信方式,但是编写通信程序的时候需要在代码中手动控制接收和发送,如果接收和发送逻辑没处理好往往会造成通信故障,实现起来比较麻烦.那能不能让485通信是接收和发送数据可 ...

最新文章

  1. crypto——明文攻击
  2. 一本好的教辅,可以少走很多弯路:算法分析和设计 王晓东
  3. ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...
  4. 51nod 1631 小鲨鱼在51nod小学
  5. 利用计算机测地震是计算机的什么,计算机在气象预报、地震探测、导弹卫星轨迹等方面的应用都属于( )...
  6. 2017年闰秒linux_2017年Linux专业人员的4个热门技能
  7. 安装xmanager linux系统,安装Xmanager登陆Linux操作系统[图文]
  8. 定位叠放次序z-index(HTML、CSS)
  9. 总结一下目标检测与跟踪
  10. Scrapy框架之日志等级
  11. memento about Linux
  12. CAD中如何裁剪需要的区域
  13. 基于Qt秒表设计(Qt绘图秒表示例)
  14. springboot整合xxl-job
  15. SHENJU蓝牙音频芯片为传统录音笔赋能
  16. 小顶堆实现求无序数组中的最大k个数
  17. 谁来给网络彩票排毒?
  18. 腾讯云域名备案完整过程记录
  19. 高中计算机八字标语,八字高考口号霸气押韵
  20. 基于深度学习的对联自动生成系统

热门文章

  1. 基于用户 的协同过滤算法
  2. 页面置换算法 (全)
  3. 初次使用dcm4che-tool-findscu做查询
  4. java 线程栈大小配置,jvm之栈、堆,jvm默认栈空间大小
  5. 软件无线电波测试软件,SDR软件无线电的测量
  6. Java开发二维码扫一扫名片技术
  7. 用DIV+CSS技术设计的网上书城网页与实现制作(大一Web课程设计)
  8. (转)24种设计模式大全
  9. 如何查看python标准库_python标准库
  10. jszip 解压压缩包_React实现zip压缩解压