RS232和RS485

文章目录

前情提要:UART的缺点

  • 电气接口不统一
    • UART只是对信号的时序进行了定义,而未定义接口的电气特性
  • 电压电平不兼容
    • UART通信中通常使用处理器的电平(如TTL电平),但不同处理器使用的电压电平可能不同,例如3.3V与5V的电压差异。因此,不同设备的UART接口通常不能直接相连,否则可能导致通信失败或设备损坏。
  • 缺乏统一的标准
    • UART没有规定不同器件连接时的标准,这使得不同电压等级的设备通过UART连接时非常不方便,需要使用额外的电平转换器或适配器来解决这个问题。
  • 抗干扰能力差
    • UART通常直接使用TTL信号表示逻辑0和1,但TTL信号的抗干扰能力较差。因此,在数据传输过程中,信号容易受到干扰,导致数据出错。
  • 通信距离短
    • 由于TTL信号的抗干扰能力差,所以其通信距离也非常有限。通常,UART仅适用于同一电路板上的两个芯片之间的通信,不适合长距离传输。

RS232和RS485编程与UART一摸一样

RS232

  • RS232:RS232是一种物理层协议,定义了串行通信中使用的电气信号标准

  • 该标准定义逻辑电平

    • 逻辑"1"的电平定义为-3V到-15V。看清楚是负哈
    • 逻辑"0"的电平定义为+3V到+15V。
    • 目的:该电平标准的设计目的是提高抗干扰能力,并增加通信距离。在该电平标准下,通信距离通常可达到15米。
  • 电平转换

    • 处理器产生的信号一般都是TTL信号不符合RS232标准的信号。故而需要处理
  • 简化为DB-9连接器,为事实标准。图如下

    • DB-9公头:DB-9公头具有9根突出的金属引脚,排列成两排(上排5个,下排4个)
      • 公头通常用于发送信号,插入到设备的母头端口中。例如,计算机上的串口常常是DB-9公头。
    • DB-9母头(Female)
      • DB-9母头具有9个凹陷的金属插孔,排列方式与公头相同,两排结构(上排5个,下排4个)。
      • 母头通常用于接收信号,是设备的输入接口,公头可以插入母头中。许多外围设备(如调制解调器或打印机)上的串口通常是DB-9母头。
    • 现在一般使用RXD、TXD和GND三条线

RS485

  1. RS485(推荐标准485,EIA-485)是一种用于多点通信 系统的物理层协议。与RS232不同,RS485使用差分信号传输数据,这意味着通过两条信号线(A线和B线)来传输数据,信号由这两条线的电压差来表示。

  2. 它支持多个设备在同一条总线上通信,因此广泛应用于工业控制系统、楼宇自动化和嵌入式系统中。

  3. 电气特性:

    • 差分信号传输:RS485使用两条平衡的信号线进行数据传输。通过检测A线和B线之间的电压差来判断信号
      • A线电压高于B线时,表示逻辑1。+2~+6
      • B线电压高于A线时,表示逻辑0。-2~-6
    • 电压范围:RS485的信号电压通常在-7V到+12V之间,适合在噪声较大的环境中传输数据。
  4. 通信模式

    • 半双工通信:由于RS485使用两线制,数据的发送和接收都要使用同一对差分信号线,因此发送和接收不能同时进行,只能采用半双工方式工作。这意味着在同一时间内,通信的设备要么发送数据,要么接收数据,无法同时进行。

      • 由于是半双工通信,因此在编程时需要特别注意通信的切换,即发送和接收的时间安排,以确保不会发生冲突。
        • 类似于IIC机制与从机通信(只不过这个是软件编写地址)
    • 全双工通信:通过四线制配置,RS485也可以实现全双工通信,但相较于半双工,使用四条线(两条用于发送,两条用于接收)增加了硬件复杂性。

    • 多点通信:RS485支持多点总线通信,允许多达32个发送器和32个接收器同时连接到一条总线上(使用某些增强的设备,该数字还可以增加)。这使得它非常适合需要多设备互联的场景。

  5. 电平转换

    • 将TTL信号转换为差分信号
  6. 优点

    • 接口具备较强的抗干扰能力,特别适合在工业环境或有较多电磁干扰的环境中使用。
    • 支持的传输距离较远,理论上传输距离可达1500米,特别适合长距离通信场景。
    • 可实现多节点的网络组网,这意味着可以在同一总线上连接多个设备,实现复杂的多设备通信。
    • 接口的信号电平较低,不易损坏接口电路的芯片,且与TTL电平兼容,方便与TTL电路连接。
相关推荐
欢乐熊嵌入式编程1 小时前
智能手表固件升级 OTA 策略文档初稿
嵌入式硬件·学习·智能手表
欢乐熊嵌入式编程1 小时前
智能手表 MCU 任务调度图
单片机·嵌入式硬件·智能手表
【云轩】1 小时前
电机密集型工厂环境下的无线通信技术选型与优化策略
经验分享·嵌入式硬件
sword devil9002 小时前
将arduino开发的Marlin部署到stm32(3D打印机驱动)
stm32·单片机·嵌入式硬件
GodKK老神灭2 小时前
STM32 变量存储
stm32·单片机·嵌入式硬件
木宁kk2 小时前
51单片机引脚功能概述
单片机·嵌入式硬件
JANYI20182 小时前
嵌入式MCU和Linux开发哪个好?
linux·单片机·嵌入式硬件
sword devil9004 小时前
Arduino快速入门
stm32·单片机·嵌入式硬件
GodKK老神灭4 小时前
STM32实现循环队列
stm32·单片机·嵌入式硬件
不脱发的程序猿6 小时前
从MCU到SoC的开发思维转变
单片机·嵌入式硬件