当前位置: 首页 > news >正文

RS-232,422,485应用详解

RS-232,422,485应用详解

  • 前言
  • 一、前世今生,相爱相杀
    • 1.RS-232
    • 2.RS-422
    • 3.RS-485
  • 二、物理层面定义与连接
    • 1.RS-232
      • a.引脚定义
      • b.基本接线方式
    • 2.RS-422
      • a.引脚定义
      • b.基本接线方式
    • 3.RS-485
      • a.引脚定义
      • b.基本接线方式
  • 总结


前言

很多时候在硬件通讯交互的时候,经常的听到Rs232,Rs485,Rs422,USB,TCP等等的这些词,在此就串口(Rs-232,422,485)做相应的解释,以及实际使用中的注意事项。


一、前世今生,相爱相杀

1.RS-232

  • 出现时间: 1962年
  • 目标: 解决早期计算机和外围设备之间的低速、短距离通信问题。

RS-232 解决的问题:

  • 标准化的串行通信接口: 提供了一个标准的、低成本的接口协议,广泛用于计算机与调制解调器、打印机、终端设备之间的通信。
  • 低速设备的通信需求: 设计用于较低速率(典型为 20 kbps 以下),满足早期设备如终端、打印机等的通信需求。
  • 电气隔离: 采用不对称(单端)信号传输方式,通过不同的电压等级(通常为 ±12V)进行数据传输,具备一定的抗干扰能力。
  • 易于理解和实现: RS-232 的硬件和软件实现简单,便于推广应用。

RS-232 的局限性:

  • 距离限制: 最大传输距离约为 15 米。
  • 低速率: 速率上限为 20 kbps(实用中可以达到 115 kbps)。
  • 多设备通信受限: 只能在两个设备间(点对点)通信,无法进行多设备通信。
  • 抗干扰能力差: 由于单端信号,抗干扰能力较弱。

2.RS-422

  • 出现时间: 1978年
  • 目标: 解决 RS-232 传输距离短、速率低以及抗干扰能力差的问题。

RS-422 解决的问题:

  • 更长的传输距离: RS-422 采用差分信号传输,使得数据传输距离从 RS-232 的 15 米提升到 1200 米(在 100 kbps 下),适合更远距离的通信需求。
  • 更高的传输速率: 最高传输速率可达 10 Mbps(在较短距离下),满足更高数据速率的应用需求。
  • 多接收设备支持: 允许一个发送器对最多 10 个接收器通信,实现单主多从模式(但不能多主)。
  • 全双工通信支持: 四线制 RS-422 可以实现全双工通信,分别使用两对差分线来发送和接收数据。

RS-422 的局限性:

  • 单向通信限制: RS-422 是单主多从的通信模式,只能有一个驱动器(发送器),限制了多主设备通信的应用。
  • 设备数量有限: 虽然支持多接收设备,但数量限制在 10 个接收器以内。

3.RS-485

  • 出现时间: 1983年
  • 目标: 解决 RS-422 无法实现多主通信、多设备和更复杂网络应用的局限。

RS-485 解决的问题:

  • 多主通信能力: RS-485 允许多个驱动器和多个接收器共用一条总线(多主多从模式),适合复杂的多设备网络通信需求。
  • **更多的设备连接:**支持最多 32 个驱动器和 32 个接收器,满足多设备联网的需求(通过扩展可以连接更多设备)。
  • 灵活的通信模式: 可以实现半双工通信,也可以通过额外的线路实现全双工通信,适应更多应用场景。

RS-485 的局限性:

  • 协议管理复杂: 多主模式需要对通信协议进行严格管理(如主从轮询、冲突避免等),实现难度较高。
  • 多主通信的冲突风险: 由于多个主设备可能同时发送数据,需要更复杂的总线仲裁机制来避免总线冲突。
  • 半双工默认模式: 默认采用半双工通信,需要软件或硬件管理数据方向。

二、物理层面定义与连接

1.RS-232

现在常用的连接器一般都为DB9的连接,下面针对DB9进行说明。

a.引脚定义

引脚编号缩写功能方向
1DCD数据载波检测 (Data Carrier Detect)输入
2RXD接收数据 (Receive Data)输入
3TXD发送数据 (Transmit Data)输出
4DTR数据终端准备 (Data Terminal Ready)输出
5GND信号地 (Signal Ground)-
6DSR数据设备准备 (Data Set Ready)输入
7RTS请求发送 (Request to Send)输出
8CTS清除发送 (Clear to Send)输入
9RI振铃指示 (Ring Indicator)输入

b.基本接线方式

对于最基本的通信,仅需连接以下引脚:

  • 2 (RXD) 和 3 (TXD): 分别用于数据接收和发送,通常在两个设备之间交叉连接。
  • 5 (GND): 连接两个设备的信号地。
设备 A          设备 B
----------------------------
TXD (3)  ----->  RXD (2)
RXD (2)  <-----  TXD (3)
GND (5)  <---->  GND (5)

2.RS-422

通常的在应用中,电脑通过自带串口(DB9)或usb转串口(DB9)进行232连接,所以需要有一个232转422的模块进行转接,常常转接后的信号会入下所示:

a.引脚定义

信号名称缩写功能
发送数据 +TX+发送数据的正极信号(发送 A)
发送数据 -TX-发送数据的负极信号(发送 B)
接收数据 +RX+接收数据的正极信号(接收 A)
接收数据 -RX-接收数据的负极信号(接收 B)
信号地GND公共地(信号地)

b.基本接线方式

通常在 RS-422 总线信号的两端加装120Ω终端电阻。终端电阻对于长距离通信或高速通信非常重要。

  1. 全双工四线制接线
    在全双工模式下,RS-422 使用四根信号线来同时传输和接收数据:
设备 A(主机)               设备 B(从机)
-------------------------------------------
TX+ (发送数据+)  -------->  RX+ (接收数据+)
TX- (发送数据-)  -------->  RX- (接收数据-)
RX+ (接收数据+)  <--------  TX+ (发送数据+)
RX- (接收数据-)  <--------  TX- (发送数据-)
GND (信号地)     ---------  GND (信号地)
  1. 单主多从接线
    RS-422 允许一个主设备向多个从设备发送数据。在这种情况下,主设备的发送端接到多个从设备的接收端:
主机 TX+ (发送数据+)  -----> 从机1 RX+ (接收数据+)-----> 从机2 RX+ (接收数据+)-----> 从机3 RX+ (接收数据+)主机 TX- (发送数据-)  -----> 从机1 RX- (接收数据-)-----> 从机2 RX- (接收数据-)-----> 从机3 RX- (接收数据-)主机 RX+ (接收数据+)  <----- 从机1 TX+ (发送数据+)<----- 从机2 TX+ (发送数据+)<----- 从机3 TX+ (发送数据+)主机 RX- (接收数据-)  <----- 从机1 TX- (发送数据-)<----- 从机2 TX- (发送数据-)<----- 从机3 TX- (发送数据-)GND (信号地)    ----------  GND (信号地)(所有设备共用)

3.RS-485

与422相类似的,485也需要通过转接器进行差分信号变换,定义如下:

a.引脚定义

RS-485 有两种常见的接线方式:两线制(半双工)和 四线制(全双工)。不同接线方式适用于不同的通信模式。

两线制(半双工)

缩写功能
A 线(D+ 或者 TX+/RX+)差分信号+
B 线(D- 或者 TX-/RX-)差分信号-
GND公共地(信号地)

四线制(全双工)

缩写功能
A 线(TX+ 或者 T+/T-)发送 A 线
B 线(TX- 或者 T-/T+)发送 B 线
A 线(RX+ 或者 R+/R-)接收 A 线
B 线(RX- 或者 R-/R+)接收 B 线
GND公共地(信号地)

b.基本接线方式

通常在 RS-485 总线信号的两端也要加装120Ω终端电阻。终端电阻对于长距离通信或高速通信非常重要。

1.两线制(半双工)

主设备 (Master)            从设备 1 (Slave)            从设备 2 (Slave)  .......
---------------------------------------------------------------------------
A (D+)  ------------------+--------------------------+---------------------
B (D-)  ------------------|-------+------------------|-------+-------------
GND    -------------------|-------|-----+------------|-------|-----+-------|       |     |            |       |     |A (D+)  B (D-)  GND        A (D+)  B (D-)  GND

2.四线制(全双工)

主设备 (Master)            从设备 1 (Slave)             .......
-----------------------------------------------------------------------------
A (TX+)  -----------------------------------+--------------------------------
B (TX-)  -----------------------------------|---------+----------------------
A (RX+)  ------------------+----------------|---------|----------------------
B (RX-)  ------------------|--------+-------|---------|----------------------
GND     -------------------|--------|-------|---------|------+---------------|        |       |         |      |A (TX+)  B (TX-)  A (RX+)  B (RX-)  GND

总结

定义以及线束连接都比较简单,但很多时候转换器转接的信号存在弯弯绕绕的关系,在都梳理每一种连接方式,方便接口排查。


http://www.mrgr.cn/news/34201.html

相关文章:

  • spi 回环
  • 【数据分享】中国食品工业年鉴(1984-2023) PDF
  • ⚡️如何在 React 和 Next.js 项目里优雅的使用 Zustand
  • pycharm报错:no module named cv2.cv2
  • 刘知远LLM——大模型微调:prompt-learningdelta tuning
  • 探索Copier:Python项目模板的革命者
  • 全方位洗衣洗鞋小程序系统,重塑干洗店服务新体验;
  • Java的cnum类型
  • 在Windows系统上安装的 Boost C++ 库
  • ???Ansible——Playbook基本功能
  • 基于flask常见trick——unicode进制编码绕过
  • 【Elasticsearch系列廿一】ES7 SQL 新特性
  • 阿里Arthas-Java诊断工具,基本操作和命令使用
  • 类与对象(中)
  • MySQL学习笔记(持续更新中)
  • 如何降低H5商城系统的开发成本
  • Find My化妆镜|苹果Find My技术与化妆镜结合,智能防丢,全球定位
  • 企微社群管理:构建高效沟通与活跃氛围的策略与实践
  • 昇思MindSpore进阶教程-参数
  • MATLAB在无线传感器网络设计中的应用与实践
  • 从零开始之AI面试小程序
  • LeetCode 20.有效的括号
  • Leetcode 543. 124. 二叉树的直径 树形dp C++实现
  • 输出Hate-C语言
  • 【Ambari自定义组件集成】Bigtop320集成Ranger实战
  • GPT-4o能玩《黑神话》!精英怪胜率超人类,无强化学习纯大模型方案