Advertisement

【通信协议】RS485

阅读量:

参考链接:[野火]瑞萨RA系列FSP库开发实战指南——基于wildFire QK开发板 — [野火]瑞萨RA系列FSP库开发实战指南——基于wildFire QK开发板 文档 (embedfire.com)

一、物理结构

每个节点由通信控制器和接收发送设备构成,在RS-485通信网络中。通常情况下,在节点内部的串行口控制器会采用RX与TX信号线将串行数据传输至接收发送设备上。此外,在这一过程中,接收发送设备会通过差分线路连接至主干线上实现数据传递。值得注意的是,在串行 controllers 和 receivers之间一般会采用TTL电平信号来保证数据传输的稳定性;而 receivers 则会借助差分电路向主干线上发送信息以完成整个通信过程。

RS-485通讯网络的最大传输范围达1,200米,并能支持最多128个通信节点。该网络仅配备一条差分信号线以实现信息传输。其工作原理是通过电压差的变化来表示逻辑状态:当AB线间的电压在-6伏至-2伏之间时代表逻辑1;而当电压处于+2伏至+6伏时代表逻辑0。值得注意的是,在同一时刻该网络仅能传递单一信息单元因此其通信模式属于半双工形式。它与RS-232通讯协议的特性对比如下

RS485串口的参数配置和一个外部协议框架的结合使用

串口参数配置示例

在设备配置中需通过RS485接口实现另一台设备之间的通信,在串口配置中需设置相关参数以确保数据传输的有效性与稳定性

  1. 传输速率:配置为9600bps(即每秒传输9600个比特),这种设置属于较慢但通用的选择。
  2. 数据宽度:建议采用8位宽度(即每个数据单元包含8个二进制数字)。
  3. 停止比特:设置为单个(即仅使用一个停止比特来标识数据结束)。
  4. 校验码设计:可选方案包括不加校验(仅提供基本无额外错误检测能力)或采用偶奇校验(具体取决于系统需求)。
  5. 协议机制选择:通常会禁用硬件流控制(即通过软件协议管理通信流程),除非特定应用有特殊需求。

外部协议框架示例:使用Modbus RTU协议

基于RS485物理层的基础上,在工业自动化领域中我们通常采用Modbus RTU作为协议框架。这种通信协议在其设计之初就充分考虑了工业环境的特点,并因此得到了较为广泛的运用

起始位编码周期:每个Modbus RTU消息均以至少3.5个字符时间长度的空闲状态开始,在通信系统中作为帧头信息的有效分隔符存在

设备地址字段:接下来是一个占一个字节长度的字段用于标识目标设备。例如,在我们的案例中,为了发送指令至目标设备地址0x0A处,则需要占一个字节的空间来表示该地址信息。

操作码:接着是一个字节位(即一个bit),用于标识所请求的操作类型。例如,在此示例中可以使用"读操作"(0x03)或"写操作"(0x06),分别对应于读取或 writesingle register的指令。

数据区域:根据功能码的不同设置,这里具体包含了相应的指令参数和数据信息。例如,在执行读寄存器命令后通常会紧跟两个字节来指定起始寄存器地址以及需要读取的寄存器数量。

错误检测码:Modbus RTU采用循环冗余校验(CRC)作为其错误检测机制,并且一般占用两个字节的空间。

帧尾 :消息以静默期结束,没有专门的帧尾标志。

实际操作

在RS485通信中,在访问位于地址0x0A处的设备寄存器范围内的数据块之前,请确保配置好通信参数并确认设备响应。操作流程可能包括:首先启动RS485模块;然后按照预设程序顺序发送相应的控制字;最后捕获并解析目标设备返回的数据包。

通过串口配置工具或编程语言提供的串口库(如Python的pyserial),设定相应的波特率参数、数据位参数、停止位参数以及校验位参数等必要的设置

按照Modbus RTU协议规定

发送报文 :通过配置好的RS485串口发送构造好的报文。

响应处理:设备返回数据进行接收与等待,并遵循Modbus RTU的帧格式解析出所需数据信息。

我们采用了以下方式实现了从串口参数配置开始一直到采用Modbus RTU协议实现数据交换的流程。

硬件电路

收发器

ISO3082 是一款具有电气隔离特性的RS485收发器,在需要通过电气隔离提升系统稳定性和安全性的应用场景中得到了广泛应用。该设备通过增强的防护措施有效防止由高压电和电磁噪声引起的干扰。

SN75176 : 该芯片是一个经典的RS-485/RS-422收发器,在长距离传输和高噪声环境下具有良好的数据传输性能;特别适用于主机与分机之间的远程通信场景

MAX485与MAX487系列收发器由Maxim Integrated(现为Analog Devices)制造,在工业控制系统中用途广泛。其中(MAX)/ (MOS) MAX 采用单向通信模式, 而 MAX 也支持双向通信.

ADM2485/ADM3485 : Analog Devices的隔离型RS-485收发器类似于国际标准ISO 3082,并具有良好的隔离性能。它通过提升系统的抗干扰能力,在恶劣环境下表现更加稳定。

SP3232EC : Exar/Maxim的产品通过集成式抗静电保护和低能耗设计,在电池供电的RS-485通信网络中提供可靠性能。

TPIC485 : Texas Instruments的一款RS-485收发器, 具备强大的驱动能力和电流限幅特性, 适用于高负载运行及抗噪声设计.

LT1785 : Linear Technology, now part of Analog Devices, offers a low-power and high-performance RS-485/RS-422 transceiver designed for power-sensitive applications.

该型号收发器由金升阳公司推出专为RS-485总线网络设计的半双工增强型设备。该产品兼容多种国际规范,并适应不同电平等级,在多种工作环境中都能稳定运行。

参考链接:ISO 3082 数据表格、产品信息与技术支持 | 德州仪器 Texas Instruments

全部评论 (0)

还没有任何评论哟~