通讯协议--UART异步串行通信

文章目录

  • 一、串口通讯协议简介
  • 二、物理层
    • [   1、串口通讯结构图](#   1、串口通讯结构图)
    • [   2、电平标准](#   2、电平标准)
    • [   3、RS-232信号线](#   3、RS-232信号线)
  • 三、协议层
    • [   1、波特率](#   1、波特率)
    • [   2、起始和停止信号](#   2、起始和停止信号)
    • [   3、有效数据](#   3、有效数据)
    • [   4、数据校验](#   4、数据校验)

一、串口通讯协议简介

   串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式。

   也经常使用该通讯方式输出调试信息。

   通讯协议,以分层的方式来理解,最基本的是把它分为物理层和协议层。

   物理层规定通讯系统中具有机械、电子功能部分的特性, 确保原始数据在物理媒体的传输。

   协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。

二、物理层

   1、串口通讯结构图

     

      两个通讯设备的"DB9接口"之间通过串口信号线建立起连接,串口信号线中使用"RS-232标准"传输数据信号。

   2、电平标准

      电平标准:

         常见的电子电路中常使用TTL的电平标准,理想状态下,使用5V表示二进制逻辑1,使用0V表示逻辑0;

         而为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V表示逻辑1,+15V表示逻辑0。

        

      电压对比图:

        

      因为控制器一般使用TTL电平标准,所以常常会使用MAX3232芯片对TTL及RS-232电平的信号进行互相转换。

   3、RS-232信号线

      RS-232标准的COM口(也称DB9接口):

        

     DB9公头及母头引脚标准:

        

        

      连接方式:

        

         在串口通讯中,一般只使用RXD、TXD以及GND三条信号线, 直接传输数据信号,而RTS、CTS、DSR、DTR及DCD信号都被裁剪掉了。

三、协议层

   串口数据包的基本组成:

      起始信号,主体数据,效验位,停止位组成。

     

   1、波特率

      异步通讯中由于没有时钟信号(如前面讲解的DB9接口中是没有时钟信号的), 所以两个通讯设备之间需要约定好波特率,即每个码元的长度,以便对信号进行解码。

      上图中用虚线分开的每一格就是代表一个码元。

      常见的波特率为4800、9600、115200等。

      即为每秒能传输几个码元。

   2、起始和停止信号

      串口通讯的一个数据包从起始信号开始,直到停止信号结束。

      数据包的起始信号由一个逻辑0的数据位表示, 而数据包的停止信号可由0.5、1、1.5或2个逻辑1的数据位表示,只要双方约定一致即可。

   3、有效数据

      在数据包的起始位之后紧接着的就是要传输的主体数据内容,也称为有效数据,有效数据的长度常被约定为5、6、7或8位长。

   4、数据校验

      在有效数据之后,有一个可选的数据校验位。

      校验位:可选,为的是数据的抗干扰性。

      校验方法分为:

         1-奇校验(odd)、 2-偶校验(even)

         3-0 校验(space)、 4-1校验(mark)

         5-无校验(noparity)

      奇校验:

         要求有效数据和校验位中"1"的个数为奇数。

         比如一个8位长的有效数据为:01101001,此时总共有4个"1", 为达到奇校验效果,校验位为"1",最后传输的数据将是8位的有效数据加上1位的校验位总共9位。

      偶校验:

         与奇校验要求刚好相反,要求帧数据和校验位中"1"的个数为偶数。

         比如数据帧:11001010,此时数据帧"1"的个数为4个,所以偶校验位为"0"。

      0校验、1校验:

         0校验是不管有效数据中的内容是什么,校验位总为"0",1校验是校验位总为"1"。

      无校验:

         没有校验位。

相关推荐
长江后浪博客1 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
单片机仿真设计2 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路2 小时前
单片机·电子时钟
单片机·嵌入式硬件
AOI小白新手上路6 小时前
江科协51单片机 7-2 LCD1602显示时钟实验
单片机·嵌入式硬件·51单片机
runningshark6 小时前
SC32L14GR8PJR
单片机·嵌入式硬件
智购科技无人售货机厂家6 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
智购无人售货机厂家6 小时前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
花 满 楼7 小时前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
无损检测小白白7 小时前
【嵌入式面试题一】
c语言·单片机
Messy create8 小时前
【BMS-Pack检测-短路检测】
单片机·嵌入式硬件·能源