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电路连接。
相关推荐
正在努力的小立2 小时前
STM32 HAL 点灯
stm32·单片机·嵌入式硬件
TeYiToKu3 小时前
笔记整理—linux驱动开发部分(1)驱动梗概
linux·c语言·arm开发·驱动开发·嵌入式硬件
Whappy0014 小时前
3. STM32之TIM实验--输出比较(PWM输出,电机,四轴飞行器,智能车,机器人)--(实验1:PWM驱动LED呼吸灯)
stm32·嵌入式硬件·机器人
Java Fans6 小时前
嵌入式软件在电子烟开发中的应用
嵌入式硬件
环能jvav大师8 小时前
使用Ubuntu系统+VS Code开发STC51单片机
linux·c语言·开发语言·单片机·嵌入式硬件·ubuntu
q4725994519 小时前
UART通过DMA接收和发送,使用环形缓冲区,状态机的使用
stm32·单片机·嵌入式硬件
你也喜欢吃香菜嘛9 小时前
STM32主从定时器输出个数、频率可调的脉冲
stm32·单片机·嵌入式硬件
Gui林13 小时前
【GL08】STM32--ADC/DAC
stm32·单片机·嵌入式硬件
sukalot14 小时前
windows 驱动实例分析系列: NDIS 6.0的Filter 驱动改造(四)
windows·单片机·嵌入式硬件
RIGOL小普14 小时前
如何用李萨如图形测正弦信号的频率?若不使用李萨如图形,如何用示波器测交流信号频率?
单片机·嵌入式硬件·fpga开发·硬件工程·射频工程