江科大STM32学习笔记(上)
江科大STM32学习笔记(下)


前置知识

相当于专有名词解释
在这里插入图片描述

串行与并行

数字数据通信接口可以分为两大类:串行接口和并行接口
  串行通信,又称为逐位传输(Bit-by-Bit Transmission),是指按顺序逐个传输数据位的通信方式。在串行通信中,数据位按照顺序逐一传输,通过传输线进行数据传输。虽然传输速度较慢,但实现简单。串行通信常用于长距离的数据传输,如串口、USB接口等。
在这里插入图片描述

  并行通信是一种同时传输多个数据位的通信方式,也称为同时传输多个数据位(Word-by-Word Transmission)。在并行通信中,数据被分成多个并行传输,同时通过多个传输线进行数据传输。虽然传输速度快,但实现起来较为复杂。并行通信常用于短距离的数据传输,如计算机内部数据总线等。
  并行数据传输,可以将一个完整的字节(单词或更大的数据)一下子从发送器传输到了接收器。如你所料,并行接口比串行接口快得多,因为并行-串行和串行-并行的解/译码步骤被省略了。而并行传输的缺点是:需要足够数量的传输线(导线)来传输单独的数字。在这里插入图片描述

同步与异步通讯

  根据通讯的数据同步方式,又分为同步和异步两种,可以根据通讯过程中是否有使用到时钟信号进行简单的区分
  在同步通讯中,收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下双方进行协调, 同步数据,见图 同步通讯 。 通讯中通常双方会统一规定在时钟信号的上升沿或下降沿对数据线进行采样。
   同步通信的数据帧组成一般是:同步信号+若干数据。在最前面是个同步信号,接收端接收数据分析出同步信号之后,就认为后边的数据都是实际传输的数据了。理论上来说同步通信一个数据帧里面的若干数据的位数是不受限制的。
  同步通信中,数据之间是不能有间隔的,因为双方在同一个时钟下工作,这边接收的,必然是另一边发送的。在同步信号之后,认为所有的数据都是实际数据,所以当没有信息要传输是,同步信号要填上空字符。
在这里插入图片描述

  异步通信是一种常用的通信方式,发送字符之间的时间间隔可以是任意的。在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数据进行打包, 以数据帧的格式传输数据,某些通讯中还需要双方约定数据的传输速率,以便更好地同步。
   异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。因为每一帧的数据都有开始和停止位,他们之间的数据位才是实际数据。所以接收方评判数据是否为完整的一帧数据的方式就是分析这一堆数据中的开始位和停止位。发送端可以在任意时刻开始发送字符,接收端必须时刻做好接收的准备。因为每传输一个数据帧都会有一个开始位和一个停止位,实际数据一般只占到5-8位,这就导致了异步通信的传输效率较低。
在这里插入图片描述

同步与异步通信区别

1.同步通信要求接收端和发送端时钟频率一致,而异步通信不要求时钟同步。
2.同步通信效率高,异步通信效率较低。
3.同步通信较复杂,时钟允许误差较小,而异步通信相对简单,时钟可允许一定误差。
4.同步通信可用于点对多点,而异步通信只适用于点对点。
在这里插入图片描述
  补充:I2C和SPI由于具有独立的时钟线,因此它们是同步的。在时钟信号的指引下,接收方可以采样数据。然而,串口、CAN和USB没有时钟线,因此需要双方约定一个采样频率,这就是异步通信。为了对齐采样位置,还需要添加一些帧头和帧尾等标识。
同步靠时钟线,异步靠比特率

通讯速率

  衡量通讯性能的一个非常重要的参数就是通讯速率,通常以比特率(Bitrate)来表示,即每秒钟传输的二进制位数, 单位为比特每秒(bit/s)。
  容易与比特率混淆的概念是波特率(Baudrate),它表示每秒钟传输了多少个码元。 而码元是通讯信号调制的概念,通讯中常用时间间隔相同的符号来表示一个二进制数字,这样的信号称为码元。 如常见的通讯传输中,用0V表示数字0,5V表示数字1,那么一个码元可以表示两种状态0和1,所以一个码元等于一个二进制比特位, 此时波特率的大小与比特率一致;如果在通讯传输中,有0V、2V、4V以及6V分别表示二进制数00、01、10、11, 那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。
   因为很多常见的通讯中一个码元都是表示两种状态,人们常常直接以波特率来表示比特率,虽然严格来说没什么错误,但希望您能了解它们的区别。

  在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。 对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层 。物理层规定通讯系统中具有机械、电子功能部分的特性, 确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。 简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

USART串口

【STM32 学习笔记】USART串口

I2C通信协议

【STM32 学习笔记】I2C通信协议

SPI通信协议

【STM32 学习笔记】SPI通信协议

BKP备份寄存器&RTC实时时钟

【STM32 学习笔记】BKP备份寄存器&RTC实时时钟

PWR电源控制

【STM32 学习笔记】PWR电源控制

WDR看门狗

【STM32 学习笔记】WDR看门狗

FLASH闪存

【STM32 学习笔记】FLASH闪存

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐