串口通信


通信简介

在计算机的设备与设备之间或集成电路之间常常需要进行数据传输

  • 并行通讯:多位同时传输,例如:SDIO、FSMC
  • 串行通讯:一位一位传输,例如:USART、I2C、SPI
特性 串行通讯 并行通讯
通讯距离 较远 较近
抗干扰能力 较强 较弱
传输速率 较慢 较快
成本 较低 较高
  • 全双工:可同时收发数据
  • 半双工:不可同时收发数据,可分时收发数据
  • 单工:任何时刻都只能往某一个固定方向传输数据

保证数据传输的准确性:同步与异步

有时钟信号的就是同步,没有时钟信号的就是异步

在同步通讯中,数据信号所传输的内容绝大部分就是有效数据,而异步通讯中会包含有帧的各种标识符,所以同步通讯的效率更高,但是同步通讯双方的时钟允许误差较小,而异步通讯不需要时钟

通讯的速率

  • 比特率:每秒钟传输的二进制的位数,单位为比特每秒
  • 波特率:表示每秒中上传输的码元个数

码元有些时候用一个二进制位表示,在这个时候与比特率相同,但是有些时候码元用多个二进制位表示

串口通信协议

  • 物理层:规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输,其实就是硬件部分
  • 协议层:协议层主要规定通讯逻辑,统一收发双方的数据打包、解压标准。其实就是软件部分

物理层

RS232标准

RS232与TTL的区别主要体现在电平上,TTL电平直接从芯片或单片机或外设出来的,TTL电平高电平主要是5V或者3.3V;RS233表示1是以-15V表示,而0是用15V表示,高电平与低电平的差距非常大

image-20210513105240821

RS232标准串口通讯结构图

RS232标准串口高电平与低电平差距很大,容错能力非常强

image-20210513110014935

  • RS232标准串口主要用于工业设备直接通信
  • 电平转换芯片一般有MAX3232,SP3232

DB9标准的公头及母头接法

image-20210513110245938

image-20210513110601358


USB转串口通讯

  • USB转串口主要用于设备跟电脑通信
  • 电平转换芯片一般有CH340、PL2303、CP2102、FT232
  • 使用的时候电脑端需要安装电平转换芯片的驱动

image-20210513110750731

将TTL电平通过电平转换芯片转换为USB电平

USB转串口线

image-20210513114925657


原生的串口到串口通讯

image-20210513115408445

  • 原生的串口通信主要是控制器跟串口的设备或者传感器通信,不需要经过电平转换芯片来转换电平,直接用TTL电平通信
  • GPS模块、GSM模块、串口转WIFI模块、HC04蓝牙模块都是直接就是TTL电平

协议层

串口数据包的基本组成

image-20210513120014820

  • 起始位:由1个逻辑0的数据位表示
  • 结束位:由0.5、1、1.5或2个逻辑1的数据位表示
  • 有效数据:在起始位后紧接着的就是有效数据,有效数据的长度常被约定为5、6、7或8位长度
  • 校验位:提高数据的抗干扰能力

校验位

  • 奇校验:有效数据和校验位中“1”的个数为奇数
  • 偶校验:有效数据和校验位中“1”的个数为偶数
  • 0校验:不管有效数据中的内容是什么,校验位总为“0”
  • 校验:不管有效数据中的内容是什么,校验位总为“1”
  • 无校验:就是数据包中不含校验位

文章作者: dyl
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 dyl !
 本篇
串口通信 串口通信
在计算机的设备与设备之间或集成电路之间常常需要进行数据传输,该文章包含各种通讯的基本概念以及USART的通讯协议,本文来自于b站视频总结
2023-12-10 dyl
下一篇 
散列表 散列表
散列表在算法中极其重要,该文讲解散列表(Hash表)的基本概念,如何构造哈希函数,哈希表的特点,该文来自博主B站视频总结
2023-12-10 dyl
  目录