嵌入式系统(七):关于串行通信你不得不知的概念

一、基本概念

  • 串行通信(Serial communication)是指在计算机总线或其他数据通道上,每次传输一个位元数据,并连续进行以上单次过程的通信方式。
  • 与之对应的是并行通信,它在串行端口上通过一次同时传输若干位元数据的方式进行通信。
  • 应用:长距离通信,大多数计算机网络

1:异步串行通信

异步串行通信所传输的数据格式(也称为串行帧)由1个起始位、7~9个数据位、1~2个停止位(含1.5个停止位)和1个校验位组成。起始位约定为0,空闲位约定为1。在异步通信方式中,接收器和发送器有各自的时钟,它们的工作是非同步的。
在这里插入图片描述

2:同步串行通信

同步串行通信中,发送器接收器由同一个时钟源控制。
在这里插入图片描述

3:波特率及时钟频率


注意:

  • 同步通信中数据传输的波特率即为同步时钟频率
  • 在异步通信中,时钟频率可为波特率的整数倍

4:串行通信的校验

异步通信时可能会出现帧格式错超时错等传输错误。在具有串行接口单片机的开发中,应考虑在通信过程中对数据差错进行校验,因为差错校验是保证准确无误通信的关键。

5:数据通信的传输方式

常用于数据通信的传输方式有单工、半双工、全双工方式。单工通信是指消息只能单方向传输的工作方式,例如遥控、遥测。半双工通信是指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。全双工通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。

二、通用同步异步收发器(USART)

提供一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发送器提供宽范围的波特率选择。
在这里插入图片描述RX:接收数据串行输入

  • 通过采样技术来区别数据和噪音,从而恢复数据

TX:发送数据输出

  • 当发送器被禁止时,输出引脚恢复到它的I/O端口配置,当发送器被激活,并且它不发送数据时,TX引脚处于高电平
  • 在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。
    在这里插入图片描述

1:I/O口说明

STM32f103芯片有三组USART模块: USART1,USART2,USART3。

  • 在基本异步串行通信过程中,只需要TXRX这两个引脚便可以完成。
  • 在通信需要硬件流控制模式时,此时还需要CTSRTS两个引脚,这两个管脚都低电平有效。
    nCTS: 清除发送,若是高电平,在当前数据传输结束时阻断下一次的数据发送。
    nRTS: 发送请求,若是低电平,表明USART准备好接收数据。\
  • CK引脚是在为同步串行通信模式时,提供外部时钟,由于USART常用来作为异步通信,因此此引脚用的较少。
    在这里插入图片描述
    引脚之间是可以复用的,如果USART1的I/O口PA9被用掉了,那么它还可以使用PB6。

2:时钟管理

为了使能USART模块的工作时钟,需要使能串口以及对应引脚的时钟,例如使能USART1异步基本串行通信模式(即串行通信只用TX和RX接口),时钟配置如下:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
其中RCC_APB2Periph_是每个参数都需要有的前缀,后面是相应的芯片或者引脚。

扫描二维码关注公众号,回复: 10422493 查看本文章

3:中断源

在stm32f10x.h文件中,有关USART的中断号被设置为:USART1_IRQn,USART2_IRQn,USART3_IRQn。

在这里插入图片描述

USART模块对应中断函数,void USART1_IRQHandler(void)void USART2_IRQHandler(void)void USART3_IRQHandler(void),这些函数的名称不能够改变,已经在startup_stm32f10x_md.s启动文件中做了指定。

3:USART帧格式

STM32帧格式,字长可以为8位或9位。在起始位期间,TX引脚处于低电平;在停止位期间,TX引脚处于高电平。完全由1组成的帧称为空闲帧;完全由0组成的帧称为断开帧
在这里插入图片描述
USART支持多种停止位的配置:0.5、1、1.5和2个停止位。 1)1个停止位,停止位位数的默认值;2)2个停止位,可用于常规USART模式、单线模式以及调制解调器模式;3)0.5个停止位:在智能卡模式下接收数据时使用;4)1.5个停止位:在智能卡模式下发送和接收数据时使用。
在这里插入图片描述

~待续

发布了186 篇原创文章 · 获赞 13 · 访问量 9300

猜你喜欢

转载自blog.csdn.net/csyifanZhang/article/details/105239413