锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

RS485基本知识

时间:2023-07-13 03:37:00 rs电子二极管

MCU给转换器输出低TTL信号,B相反,A比A上的电压高B上部电压高。

485协议规定两条线上电压差值为0或1,电压可通过仪器测量,因此RS-485是硬件层协议。

485的接收端可能是另一个MCU,MCU管脚只接受TTL电平需要将两条线的差分电压转换为TTL电平。

基本电平转换:

TTL电平 转 485电平 485电平 转 TTL电平 给MCU

RS485原理:485电平与和平TTL电平标准没有定义,需要电平转换芯片来实现两者之间的数据交换。

RS485总线标准

RS-485通过平衡发送和差分接收实现通信。由于传输线通常采用双绞线和差分输入,具有较强的抗共模干扰能力,RS485采用半双工作支持多点数据通信。总线网络拓扑一般采用终端匹配的总线结构,即总线连接各节点,不支持环形或星形网络。如果需要使用星形结构,则必须使用485中继器或485集线器。RS-485 如果485芯片能达到128或256个节点,总线一般支持32个节点。

RS485收发芯片(电平转换芯片)可以理解为器和接收器两部分

差分传输:

发送端在两条信号线上传输相等的辐值和相反的电信号。接收器减去接收到的两条信号线,以获得信号翻倍的信号。

一般情况下 当通信距离超过300米时,无需增加终端电阻。

虽然隔离能有效抑制高共模电压,但总线仍会有浪涌冲击,电源线和485短路,通常在总线端采取保护措施, 在A,B,两端各串一个热敏电阻AB在接口和热敏电阻之间TVS二极管瞬时抑制。无故障时,热敏电阻接近零,不影响正常通信,误接220V当热敏电阻变得无限大时,相当于通信电路和外部断开。故障消失后,热敏电阻值降至零,可正常使用。由于RS-485是半双工通信,收发转换需要一定的时间,所以一般在收发转换和每发送一帧数据之间都会有相应的延迟。如果收发异常或第一帧数据出现误码,可以适当增加延迟时间。

异步通信数据以字节的形式传输。在每个字节传输之前,握手应低电平起始位置实现。为防止干扰信号误触RO(接收器输出)产生负跳变,使接收端MCU建议进入接收状态RO外接10kΩ上拉电阻。

旁路电容的功能是为485芯片提供清洁的电源,使其工作稳定。

RS485与RS232的区别

RS485和RS232一样都是基于串口的通讯接口,数据收发的操作是一致的,所以使用的是同样WinCE底层驱动程序。但在实际应用中,通信模式却大不相同,RS485接口为半双工数据通信模式,RS232接口为全双工数据通信模式,数据收发不能同时进行。为了确保数据收发之间没有冲突,硬件是通过方向切换实现的软件上的收发过程必须严格分开。

RS半双工网络由485接口组成,一般为两线系统(以前有四线系统,只能实现点对点通信模式,现在很少使用),主要采用屏蔽双绞线传输。这种接线方式是总线拓扑结构最多可以在同一总线上连接32个结点。在RS主从通信方式一般用于485通信网络,即主机带多个从机。

RS-485接口的最大传输距离标准值为4000英尺(约1219米),实际上可达3000英尺。RS-总线上只允许232接口连接一个收发器,即单站能力。RS-在总线上,485接口允许多达128个收发器连接。即具有多站能力,这样,用户就可以使用单一的用户RS-设备网络便于建立485接口。

Modbus协议

MODBUS协议又分MODBUS RTU,MODBUS ASCII后来的发展MODBUS TCP三种模式:前两种模式:(MODBUS RTU,MODBUS ASCII)物理硬件接口是串行的(Serial)通讯口(RS232,RS422,RS485)。

Modbus施耐德电气是一种串行通信协议(Schneider Electric)1979年使用可编程逻辑控制器(PLC)发布通信。Modbus已成为工业通信协议的行业标准(De facto),现在是工业电子设备之间常用的连接方式。
串行连接有两种变种,它们在数值数据表示和协议细节上略有不同。Modbus RTU(远程终端模式)是一种紧凑的方式,采用二进制表示数据,Modbus ASCII是人类可读、冗长的表达方式。这两个变种都使用串行通信(serial communication)方式。RTU格式的后续命令/数据有循环冗余校验和ASCII格式采用纵向冗余校验和校验。被配置为RTU变异节点不会设置为ASCII反之亦然。
对于通过TCP/IP有多个连接(如以太网)Modbus/TCP这种方法不需要验证和计算。

原理

Modbus协议是一个master/slave架构协议。有一个节点master节点,其他用途Modbus参与通信协议的节点是slave节点。每一个slave所有设备都有唯一的地址。在串行和MB 在网络中,只有指定为主节点的节点才能启动命令(在以太网上,任何设备都可以发送一个)Modbus但通常只有一个主节点设备启动指令)。
一个ModBus该命令包计划执行的设备Modbus地址。所有设备都将收到命令,但只有指定位置的设备将执行和响应指令(地址0例外,指定地址0的指令为广播指令,所有接收指令的设备将运行,但不响应指令)。所有的Modbus命令包含检查码,以确保到达的命令没有被破坏。基本的ModBus命令可以指示一个RTU改变寄存器的某个值,控制或读取一个I/O指挥设备返回一个或多个寄存器中的数据。

特点

ModBus特点:

(1)用户可以免费、放心地使用标准和开放Modbus协议不需要支付许可费或侵犯知识产权。目前,支持Modbus超过400家制造商得到支持Modbus600多种产品。

(2)Modbus可支持多种电气接口,如RS-232、RS-485等,也可以在双绞线、光纤、无线等各种介质上传输。

(3)Modbus帧格式简单、紧凑、易懂。用户使用方便,厂家开发方便。

Modbus TCP 数据帧

Modbus TCP 的数据帧可分为:MBAP(报文头) PDU(帧结构),PDU由功能码和数据组成。
报文头长度为7字节,由事务处理标志、协议标志、长度和单元标志组成。协议标志一般是指协议的类型,如00 00标识Modbus TCP,消息头结构如下:

Modbus操作对象

有四种类型:线圈、离散输入、保持寄存器和输入寄存器。

线圈 :PLC(可编程逻辑控制器)程逻辑控制器)Modbus中可读可写
离散量 :PLC在Modbus中只读
输入寄存器 :PLC寄存器只能从模拟输入端改变Modbus中只读
保持寄存器 :PLC寄存器用于输出模拟量信号Modbus中可读可写

01 (0x01) 读线圈
02 (0x02) 读离散输入
03 (0x03) 读保持寄存器
04 (0x04) 读取输入寄存器
05 (0x05) 写单个线圈
06 (0x06) 写单个寄存器
15 (0x0F) 写多个线圈
16 (0x10) 写多个寄存器

帧结构

保持寄存器连续块的内容从远程设备中读取Modbus 指令实例如下:
??0x读保持寄存器
??请求:MBAP 功能码 起始地址H 起始地址L 寄存器数量H 寄存器数量L(共12字节)
??响应:MBAP 功能码 数据长度 寄存器数据(长度:9 寄存器数量×2)
??例如:起始地址为0x寄存器的数量是一万, 0x0003
????00 01 00 00 00 06 01 03 00 00 00 03
??回:数据长度为0x第一个寄存器的数据是06x21,其余为0x00
????00 01 00 00 00 09 01 03 06 00 21 00 00 00 00

与RS485的关系

RS485是一个物理,简单来说就是硬件

MODBUS设备交换数据(一般用于工业用途)是一种国际标准的通信协议;所谓协议,也可以理解为上面有人说的语言,简单来说就是软件。

MODBUS只是通信协议的一种,就像汉语和英语一样的一种用来交流的语言,一种机器之间交流的语言。在交流之前肯定要有沟通的桥梁,那就是传输媒介485或232或其他电气规则。同一种协议可以用不同的传输媒介方式如485或232,但是同一传输线路上不能同时存在两种协议。其中Modbus的协议栈如下图所示:

Modbus协议主要描述的是应用层的信息封装格式,处于OSI模式的第七层(应用层)。Modbus的物理层可以是RS-485、Ethernet II /802.3。使用EIA/TIA-485这种串行通讯方式的Modbus协议框图如下所示: 

 该图是基于RS485的Modbus-RTU协议栈

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章