登录/注册

什么是串口通信协议?它主要有哪些收发过程?

串口在嵌入式系统当中是一类重要的数据通信接口,其本质功能是作为 CPU 和串行设备间的编码转换器。当数据从 CPU 经过串行端口发送出去时,字节数据转换为串行的位;在接收数据时,串行的位被转换为字节数据。

更多

串口通信协议是一种异步、串行的通信协议,它定义了在两个设备(通常是微控制器、计算机、传感器等)之间通过一对数据线(发送线TX和接收线RX)进行可靠数据传输的规则和格式。

其核心思想是:

  1. 串行:数据比特(0或1)一位接一位地顺序传输(单车道),而不是同时传输多个比特(多车道)。
  2. 异步:通信双方不需要共享同一个精确的时钟信号。接收方依靠协议中规定的起始位停止位来识别数据帧的开始和结束,并依赖双方预先约定好的相同波特率来正确地采样每一位数据。

主要收发过程(数据帧传输)

每次传输一个字节(8位,最常见)或一个字符时,会将其包装成一个数据帧,然后按以下顺序逐位发送和接收:

  1. 空闲状态

    • 在传输开始前以及传输间隔,TX线(发送线)和RX线(接收线)通常保持在高电平(逻辑‘1’)状态。
  2. 发送方发送起始位 (Start Bit)

    • 当发送方准备好发送一个字节的数据时,它首先将TX线从高电平拉低到低电平(逻辑‘0’)
    • 这个持续时间为1个比特时间的低电平信号告知接收方:“一个新的数据帧开始了,准备接收数据!”
  3. 发送方发送数据位 (Data Bits)

    • 起始位之后,发送方按照从最低位 (LSB, Least Significant Bit)最高位 (MSB, Most Significant Bit) 的顺序(最常见的约定),在TX线上依次发送数据字节的每一位。
    • 每一位占用一个预先约定好的比特时间(由波特率决定)。
    • 数据位通常是5、6、7或8位,其中8位最为常用。
  4. 可选:发送方发送奇偶校验位 (Parity Bit)

    • 数据位之后,发送方可能会发送一个奇偶校验位。
    • 该位用于简单的错误检测(检测单比特翻转错误)。
    • 可以是:
      • 奇校验 (Odd Parity):确保数据位+校验位中,‘1’的总数为奇数。
      • 偶校验 (Even Parity):确保数据位+校验位中,‘1’的总数为偶数。
      • 无校验 (None):最常见的情况,不发送校验位。
  5. 发送方发送停止位 (Stop Bit)

    • 数据位(或校验位)传输完毕后,发送方将TX线拉回高电平(逻辑‘1’),并保持该状态至少1个比特时间(常见的是1、1.5或2位时间)。
    • 停止位有双重作用:
      • 告诉接收方:“这个数据帧传输完毕了”。
      • 确保线路在下一个数据帧开始前(起始位的下降沿)回到空闲状态(高电平)。
  6. 接收方过程

    • 检测起始位:接收方持续监测RX线,等待一个从高电平到低电平的跳变(下降沿)。一旦检测到,它知道一个数据帧开始了。
    • 采样数据位:在检测到起始位后,接收方会等待半个比特时间(以更好地对齐数据位的中点),然后开始在每个后续比特时间的中点采样RX线上的电平。在约定好的数据位数期间,连续采样这些点的电平值,组合起来就得到了传输的数据字节。
    • 校验(可选):如果有奇偶校验位,接收方也会采样它,并根据约定的奇偶规则检查数据是否可能在传输中出错(检测到错误并不意味着一定能纠错)。
    • 确认停止位:接收方会在停止位应该出现的期间采样RX线,确认它变成了高电平。如果没有检测到预期的停止位(高电平),则认为发生了帧错误。

关键要素(需要在通信前双方配置一致)

总结

串口通信协议就是通过约定好的波特率、数据位、奇偶校验位、停止位格式,利用起始位标记数据帧开始,停止位标记帧结束,让两个设备无需精确同步时钟,仅通过一对数据线就能一位接一位地串行传输数据。其收发过程核心就是围绕起始位拉低 -> 发送/采样数据位 -> (可选校验位) -> 停止位拉高 这一帧结构进行的。

常见串口通信协议 如何设置串口参数

串口通信是一种常见的通信方式,广泛应用于计算机、嵌入式系统和各种电子设备之间。串口

2024-12-27 09:51:55

串口通信协议解析 串口通信应用实例

串口通信协议解析 串口通信协议是指规定了数据包的内容,内容包含了起始位、

2024-11-21 17:03:24

通信协议的特点

通信协议的种类和特点目前常见的通信协议主要有:NetBEUI、IPX/SPX、NWLink、TCP/IP,在这几种

2023-05-06 14:57:37

一个简单的基础通信协议的设计与实现

一个简单的基础通信协议的设计与实现一种常见的通信协议格式搭建串口收发环境

资料下载 31274 2021-12-14 18:38:49

单片机常用的几种通信协议

要求的不同,也产生了许多类型的适用于不同情况的通信协议,并被广泛的接受和使用。其实使用率最高的主要有以下几种:一、UART和USART分别名为通用异步收发

资料下载 挽你何用 2021-11-11 10:06:01

通信协议及接口技术汇总综述

通信协议及接口技术汇总综述

资料下载 佚名 2021-06-16 10:31:31

STM32的几种串口通信协议资料下载

电子发烧友网为你提供STM32的几种串口通信协议资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。

资料下载 佚名 2021-04-21 08:46:28

STM8学习之在串口通信中定义通信协议

STM8学习之在串口通信中定义通信协议

资料下载 佚名 2021-03-16 15:39:05

西门子PLC串口协议与以太网通信协议对比

西门子plc品牌众多,通信协议的类型就更多了,具体可分为串口协议和以太网通信协议

2022-12-30 09:13:12

串口通信协议的相关资料分享

的建立三、建立STM32与PC之间的通信基础1、串口助手的使用2、效果呈现一、串口通信

2022-02-22 07:16:22

什么是串口通信串口通信协议了解

行传输低。2、串口通信协议在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯

2022-02-15 06:54:23

单片机常用的通信协议有哪些

要求的不同,也产生了许多类型的适用于不同情况的通信协议,并被广泛的接受和使用。其实使用率最高的主要有以下几种:一、UART和USART分别名为通用异步收发

2021-11-18 06:57:11

STM32中的通信协议是什么

的。首先说串口通信,串口是单片机最常见的外设。常见的UART串口

2021-08-18 07:21:11

STM32 自定义串口协议 精选资料分享

STM32 自定义串口协议串行通信原理与优缺点分类按通信方向按

2021-08-17 08:58:51

Modbus协议是什么?Modbus协议主要有哪些应用?

请问一下Modbus协议是什么?Modbus协议主要有哪些应用?

2021-07-15 12:04:41
7天热门专题 换一换
相关标签