【STM32】STM32学习笔记-USART串口协议(25)

00. 目录

文章目录

    • [00. 目录](#00. 目录)
    • [01. 串行通讯与并行通讯](#01. 串行通讯与并行通讯)
    • [02. 全双工、半双工及单工通讯](#02. 全双工、半双工及单工通讯)
    • [03. 同步通讯与异步通讯](#03. 同步通讯与异步通讯)
    • [04. 通讯速率](#04. 通讯速率)
    • [05. 通信接口](#05. 通信接口)
    • [06. 串口通信](#06. 串口通信)
    • [07. 硬件电路](#07. 硬件电路)
    • [08. 电平标准](#08. 电平标准)
    • [09. 串口参数及时序](#09. 串口参数及时序)
    • [10. 串口时序](#10. 串口时序)
    • [11. 附录](#11. 附录)

01. 串行通讯与并行通讯

按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8根以下), 地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。而并行通讯一般是指使用8、16、32及64根或更多的数据线进行传输的通讯方式, 它们的通讯传输对比说明见图 并行通讯与串行通讯的对比图 ,并行通讯就像多个车道的公路, 可以同时传输多个数据位的数据,而串行通讯,而串行通讯就像单个车道的公路,同一时刻只能传输一个数据位的数据。

很明显,因为一次可传输多个数据位的数据 ,在数据传输速率相同的情况下,并行通讯传输的数据量要大得多, 而串行通讯则可以节省数据线的硬件成本(特别是远距离时)以及PCB的布线面积, 串行通讯与并行通讯的特性对比见表 串行通讯与并行通讯的特性对比。

不过由于并行传输对同步要求较高,且随着通讯速率的提高,信号干扰的问题会显著影响通讯性能,现在随着技术的发展,越来越多的应用场合采用高速率的串行差分传输。

02. 全双工、半双工及单工通讯

根据数据通讯的方向,通讯又分为全双工、半双工及单工通讯,它们主要以信道的方向来区分,见图 全双工-半双工及单工通讯 及表 通讯方式说明。

仍以公路来类比,全双工的通讯就是一个双向车道,两个方向上的车流互不相干;半双工则像乡间小道那样,同一时刻只能让一辆小车通过, 另一方向的来车只能等待道路空出来时才能经过;而单工则像单行道,另一方向的车辆完全禁止通行。

03. 同步通讯与异步通讯

根据通讯的数据同步方式,又分为同步和异步两种,可以根据通讯过程中是否有使用到时钟信号进行简单的区分。

在同步通讯中,收发设备双方会使用一根信号线表示时钟信号,在时钟信号的驱动下双方进行协调, 同步数据,见图 同步通讯。 通讯中通常双方会统一规定在时钟信号的上升沿或下降沿对数据线进行采样。

在异步通讯中不使用时钟信号进行数据同步,它们直接在数据信号中穿插一些同步用的信号位,或者把主体数据进行打包, 以数据帧的格式传输数据,见图 某种异步通讯 ,某些通讯中还需要双方约定数据的传输速率,以便更好地同步。

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

04. 通讯速率

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

05. 通信接口

通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统

通信协议:制定通信的规则,通信双方按照协议规则进行数据收发

06. 串口通信

•串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信

•单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力

07. 硬件电路

•简单双向串口通信有两根通信线(发送端TX和接收端RX)

•TX与RX要交叉连接

•当只需单向的数据传输时,可以只接一根通信线

•当电平标准不一致时,需要加电平转换芯片

08. 电平标准

•电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:

•TTL电平:+3.3V或+5V表示1,0V表示0

•RS232电平:-3~-15V表示1,+3~+15V表示0

•RS485电平:两线压差+2~+6V表示1,-2~-6V表示0(差分信号)

09. 串口参数及时序

•波特率:串口通信的速率

•起始位:标志一个数据帧的开始,固定为低电平

•数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行

•校验位:用于数据验证,根据数据位计算得来

•停止位:用于数据帧间隔,固定为高电平

10. 串口时序

11. 附录

参考: 【STM32】江科大STM32学习笔记汇总

相关推荐
南宫生3 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__3 小时前
Web APIs学习 (操作DOM BOM)
学习
冷眼看人间恩怨3 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
数据的世界015 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐6 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
枯无穷肉7 小时前
stm32制作CAN适配器4--WinUsb的使用
stm32·单片机·嵌入式硬件
OopspoO8 小时前
qcow2镜像大小压缩
学习·性能优化
不过四级不改名6778 小时前
基于HAL库的stm32的can收发实验
stm32·单片机·嵌入式硬件
嵌入式科普8 小时前
十一、从0开始卷出一个新项目之瑞萨RA6M5串口DTC接收不定长
c语言·stm32·cubeide·e2studio·ra6m5·dma接收不定长
A懿轩A8 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列