1. 串口是什么?
串行接口简称串口,也称串行通信接口(通常指COM口),是采用串行通信方式的扩展接口。
2. 通信:串行通信、并行通信
数字信号是8位二进制数,可以用信号线传输,一种方案是使用一条数据线按照次序一个位一个位的传送,每传送完8位为一个字节,叫串行通信。另一种方法是使用8条数据线分别传送8位,一次传送一个字节,叫并行通信。
串行通信和并行通信的区别
并行通信传输中有多个数据位,同时在两个设备之间传输。发送设备将这些数据位通过对应的数据线传送给接收设备,还可附加一位数据校验位。接收设备可同时接收到这些数据,不需要做任何变换就可直接使用。并行方式主要用于近距离通信。计算机内的总线结构就是并行通信的例子。这种方法的优点是传输速度快,处理简单。
串行数据传输时,数据是一位一位地在通信线上传输的,先由具有几位总线的计算机内的发送设备,将几位并行数据经并--串转换硬件转换成串行方式,再逐位经传输线到达接收站的设备中,并在接收端将数据从串行方式重新转换成并行方式,以供接收方使用。串行数据传输的速度要比并行传输慢得多,但对于覆盖面极其广阔的公用电话系统来说具有更大的现实意义。
3. 串行通信的三种方式
4. 串口通信的两种最基本的方式:同步串行通信方式和异步串行通信方式。
同步串行是指SPI(Serial Peripheral interface)的缩写,顾名思义就是串行外围设备接口。
所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步,因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。
异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。
所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。
5. 学习目的
掌握串行异步通信方式、上位机控制下位机
6. 通信
6.1 通信的概念
不同芯片/设备之间数据交换
6.2 通信分类
1) 并行通信
① 概念:将数据字节各位用多条数据线同时传送
② 特点:传输速度快,接口多,适合短距离传送
2) 串行通信
① 概念:将数据字节在一条数据线上一位一位的传输
② 特点:所用接口少,传输距离远,但传输数据相对较慢
③ 串行通信方式
a. 同步通信:发送方的时钟对接收方的时钟直接控制,使双方达到完全同步
b. 异步通信:发送和接收设备使用各自的时钟控制数据的发送和接收过程
④ 串行通信设备
a. 单工通信:设备只能作为接收器或者发送器. ---收音机
b. 半双工通信: 同一时刻,设备只能作为发送器或者接收器 ---对讲机
c. 全双工通信:同一时刻,设备既能作为发送器也能作为接收器 ---手机
7. UART通信
7.1 特点:串行异步全双工通信
7.2 通信协议
① 协议概念
相互通信的设备之间进行数据传输的一种规定:规定了物理层和数据链路层
② 物理层链接
③ 数据链路层(R232协议)
RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
RS-232采取不平衡传输方式,即所谓单端通讯。缺点:通信距离短、速率低。
RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范。
RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围
a. 数据位传输过程的规定
b. 数据帧格式
8. STM32的USART
发送数据--TX管脚
发送移位寄存器:按位发送数据,一位一位发送--波特率
从发送数据寄存器得到数据---一帧数据
数据总线通过写操作,往发送数据寄存器发送数据
关键点:数据是一帧一帧的发送,如何去判断上一帧数据发送完成?
判断TDR或者是发送移位寄存器中是否还有数据。。。
接收数据--RX引脚
接收移位寄存器:按位接收
接收数据寄存器:要判断接收数据寄存器里面是否接收到数据;
数据总线通过读操作,读取接收数据寄存器的数据;
关键点:如何判断是否要接收数据?
判断接收数据寄存器中是否有数据...没有数据,说明没有接收到,或者是上一次数据已经被读出;