登录/注册

串口通信的原理是什么?Uart串口与RS232串口有什么区别?

串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。

更多

好的,我们来详细解释一下串口通信的原理以及 UART 和 RS232 的区别。

一、串口通信的原理

串口通信(Serial Communication)是一种逐位(bit by bit) 地在通信线路上传输数据的技术。它的核心原理是异步通信,这意味着通信双方不需要共享一个统一的时钟信号来严格同步数据位的时序。相反,它依赖于事先约定好的参数来协调数据的发送和接收。

关键要素和原理

  1. 约定参数(通信协议):

    • 波特率: 这是通信速度,表示每秒传输的符号数(Symbols per second)。因为一个符号通常代表一个二进制位(bit),所以波特率在数值上通常等于比特率(bps - bits per second)。例如,9600 波特率表示每秒传输 9600 个 bit。收发双方必须设置相同的波特率!
    • 数据位: 指定每个数据包中包含的有效数据位数(通常是 5、6、7 或 8 位)。最常见的是 8 位(一个字节)。
    • 停止位: 在每个数据包结束处发送的信号位,用于标识数据包的结束,同时给接收方留出处理时间。通常是 1 位、1.5 位或 2 位。最常见的是 1 位。
    • 奇偶校验位(可选): 一个用于检测传输过程中单比特错误的冗余位。可以是无校验、奇校验或偶校验。
  2. 数据包格式: 每次传输一个“字符”或“数据帧”的基本结构如下(以最常见 8-N-1 格式为例):

    [空闲状态 高电平] ----> [起始位 (0)][D0][D1][D2][D3][D4][D5][D6][D7][奇偶校验位 (可选)] ----> [停止位 (1)][停止位 (可选)] ----> [下一个起始位或空闲]
    • 起始位: 数据包的开头标志。通信线路在空闲状态下保持高电平(逻辑 1)。发送方通过从高电平切换到低电平(逻辑 0)并维持一个 bit 时间来表示数据包开始传输。这个低电平脉冲就是起始位。这是接收方检测传输开始的唯一信号!
    • 数据位: 紧跟在起始位后,按照低位在前(LSB First)高位在前(MSB First) 的顺序(通常 LSB First)发送有效数据位。
    • 奇偶校验位: (如果启用)根据数据位计算出的校验位,用于错误检测。
    • 停止位: 在数据(和可能有的校验位)之后发送的高电平信号(逻辑 1),用于标记数据包的结束。它帮助接收器完成接收操作并为下一个数据包做准备,也有助于将通信线恢复到空闲状态(高电平)。时长可以是 1、1.5 或 2 个比特时间。
  3. 发送过程:

    1. 发送端检测到需要发送数据。
    2. 当通信线路处于空闲状态(高电平)时,发送端拉低线路一个比特时间,发送起始位 (0)
    3. 发送端按照约定好的顺序(通常是低位在前)逐个发送数据位(从低到高或从高到低),每个位维持一个比特时间。
    4. (如果启用)发送端计算并发送奇偶校验位,维持一个比特时间。
    5. 发送端拉高通信线路,发送停止位 (1),维持约定的比特时间(1、1.5 或 2)。
    6. 线路回到空闲高电平状态(或准备发送下一个起始位)。
  4. 接收过程(核心难点:异步采样):

    1. 接收端持续监测通信线路。
    2. 当检测到线路从高电平跳变到低电平时,将其识别为起始位的开始
    3. 接收端启动一个本地定时器,其间隔基于约定的波特率(一个比特时间的宽度)。
    4. 每个比特时间的中间点(大约在起始位下降沿之后的 1.5 个比特时间,以及之后每隔一个比特时间)对线路进行采样。这是最关键的异步机制:接收方在起始位下降沿后,以自己的本地时钟为基准,在每个位的中间点读取线路电平值。
      • 在起始位采样点:如果检测到的是低电平,则确认起始位有效。
      • 在数据位采样点:读取值为对应的数据位(0 或 1)。
      • 在奇偶校验位采样点:读取并验证(如果启用)。
      • 在停止位采样点:期望采样到高电平,否则可能表示数据传输错误或帧错误。
    5. 重复步骤 4 直到所有数据位、可能的校验位和停止位被采样。
    6. 收到的数据位组合成一个完整的数据单元(如一个字节)。
    7. 线路恢复到空闲状态,接收端继续等待下一个起始位的下降沿。

总结原理要点:

二、UART 串口与 RS232 串口的区别

UART 和 RS232 描述的是串口通信中不同层面上的概念,经常一起使用,但存在本质区别:

  1. UART (Universal Asynchronous Receiver/Transmitter) 通用异步收发器

    • 是什么? UART 是一种芯片或微控制器内部的硬件模块(有时也指实现该功能的软核)。
    • 功能? UART 负责串行化 (Parallel-to-Serial)并行化 (Serial-to-Parallel) 转换。它将微控制器内部并行传输的字节数据(比如 8 位同时出现)逐位(串行) 地发送出去;同时也将逐位(串行) 接收到的数据组合(并行为) 成完整的字节给微处理器处理。
    • 逻辑电平? UART 输出的原始信号是TTL/CMOS 逻辑电平
      • 逻辑低电平 0:0V (或接近 0V,如 < 0.8V)
      • 逻辑高电平 1:3.3V 或 5V (或其他系统电压)
    • 范围? UART 负责板上或近距离设备间(通常是几厘米到一两米)的逻辑信号转换
    • 关注点? 数据帧格式、波特率生成、串并行转换。
  2. RS232 (Recommended Standard 232) 推荐标准 232

    • 是什么? RS232 是一种定义物理接口特性(电气特性和机械特性)的通信标准
    • 功能? RS232 规定了通信线上的信号电平、连接器类型、引脚定义等物理层规范
    • 逻辑电平? RS232 使用反逻辑和高电压差分
      • 逻辑低电平 0(也称为“Mark”):+3V 到 +15V
      • 逻辑高电平 1(也称为“Space”):-3V 到 -15V
      • 它定义了更宽的电压范围(+3V 到 +15V 为 0, -3V 到 -15V 为 1)来增强抗干扰能力延长通信距离(理论上可达几十米)。
    • 范围? RS232 的目标是解决设备间较长距离(相对UART的TTL电平而言)的通信问题,使其不易受噪声干扰。
    • 关注点? 如何通过电缆稳定可靠地传输代表 0 和 1 的电平信号。

核心区别总结

特性 UART RS232
本质 逻辑器件/功能模块 (负责串并转换和帧控制) 物理层标准 (定义电压、连接器等)
作用层次 偏重数据链路层(帧格式、串/并控制) 纯粹物理层(线缆上的电压、接口)
信号电平 TTL/CMOS电平 (0: ~0V, 1: +3.3V/+5V) 反逻辑电平 (0: +3V to +15V, 1: -3V to -15V)
主要目的 完成微控制器内的串行数据收发功能 解决远程通信(相对TTL距离)的电平和干扰问题
依赖关系 UART 不依赖 RS232也能工作(在近距离) RS232接口必须使用UART (或类似逻辑)作为核心
常见组合 电路板上的 TX/RX 引脚提供 UART(TTL) UART + RS232转换芯片 = "RS232串口"

关键联系和常见应用

简单一句话记忆区别: UART 是“思想”(怎么做串行通信),RS232 是“语言”(用什么电压和插头来表达思想),TTL 是 UART 默认的“说话方式”(小声、近距离),而 RS232 电平则是另一种更响亮的“说话方式”(大声、远距离)。

使用RS232串口进行设备调试的技巧

在电子和通信领域,RS232串口是一种广泛使用的串行通信接口。尽管随着U

2024-11-21 09:38:10

rs232接口啥用?rs232串口接线图 深入理解RS232串口

“串口”是串行通信接口的简称,所谓“串行通信”是指数据按位依次发送的通信

2023-06-01 14:04:18

RS-232串口RS-485串口区别

RS232串口是计算机和通信行业应用最广泛的串口类型。该系统采用全双工制

2022-05-06 16:04:04

FT232芯片设计的USB转RS232串口原理图

FT232芯片设计的USB转RS232串口原理图

资料下载 鍾意唻哼 2024-10-21 11:06:28

TTL RS232串口通讯模块

电子发烧友网站提供《TTL RS232串口通讯模块.zip》资料免费下载

资料下载 倪山骋 2022-08-10 10:35:30

区分:RS232串口(com)和TTL串口uart

COM口(RS232串口) 电脑上的异步串行通信接口,有时也称之为

资料下载 佚名 2021-12-20 19:27:18

实现RS232串口通信的资料合集

本文档的主要内容详细介绍的是实现RS232串口通信的资料合集包括了:MAX232

资料下载 刘鹏 2020-07-17 08:00:00

使用51单片机进行RS232串口通信的代码分析

本文档的主要内容详细介绍的是使用51单片机进行RS232串口通信的代码分析免费下载。

资料下载 佚名 2019-09-26 17:16:00

RS232串口通信详解

RS232接口是什么?RS232串口通信的原理是什么呢?

2022-02-16 06:00:21

RS485或者rs232串口设备如何上传mqtt平台

RS485或者rs232串口设备如何上传mqtt平台

2021-12-03 17:03:24

RS485/RS232串口转Modbus网关

RS485/RS232串口转Modbus网关

2021-12-03 16:59:43

RS232串口的缺点哪些

RS232串口是计算机和通信行业应用最广泛的串口类型。该系统采用全双工制

2021-06-08 15:03:11

串口、COMUART, TTL、RS-232RS-485区别详解

(电信号)。 串口:串口是一个泛称,UART、TTL、RS232、

2020-03-13 09:20:38

计算机扩展RS-232串口的三种方法和区别及应用

计算机扩展串口的三种方法现在的计算机,特别是笔记本计算机基本上没有带RS-232串口了,但是在许多工业

2020-01-21 17:14:00

天嵌科技TTL转RS232串口-串口模块简介

产品名称:TTL转RS232串口

2019-11-11 10:12:08

7天热门专题 换一换
相关标签