1.并行通信:是指数据的各位同时在多根数据线上发送或接收。如下图
并行通信的特点:控制简单,传输速度快;由于传输线较多,适用于短距离通信。
2.串行通信:是指数据的各位在同一根数据线上逐位发送和接收。如下图
串行通信的特点:控制复杂,传输速度慢;只需要一根数据线,适用于远距离通信。
在串行通信中,根据对数据流的分界、定时以及同步方案方法不同,可分为和同步串行通信方式和异步通信方式。
同步通信是指发送端和接收端必须使用同一时钟,是一种连续传送数据的通信方式,一次通讯传送多个字符数据(一帧数据)。下图是同步串行通信帧格式:
同步串行通信方式:把许多字符组成一个信息组(信息振),每帧的开始用字符来指示。并且发送和接收的双方必须采用同一时钟,这样接收方就可以通过时钟信号来确定每个信息位。(如下图所示)
同步串行通信帧:是将许多字符组成一个信息帧,字符可以一个接一个传输。但是,需要在每帧信息的开始加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。
同步串行通信的特点:必须有同步时钟,传输信息量大,传输速率高,但是传输设备则为复杂,技术要求高。
异步通信是指发送和接收端使用的是各自的时钟,并且它是一种不连续的传输通信方式,一次通信只能传输一个字符数据(字符帧)。字符帧之间的间隙可以是任意的,在STM32中USART就是使用的是异步通信方式,下图是异步串行通信帧格式:
异步串行通信方式:是指通信双方以一个自读(包括特定附加位)作为数据传输单位且发送方传送字符的间隔时间是不定的,具有不规则数据段传输特性,下图是异步串行通信:
异步串行同信帧:将一个字节数据加上起始位、校验位以及停止位构成字符帧。由于异步通信没有同步时钟,所以接收端要时刻处于接收状态。
起始位:在没有数据传送时(空闲状态),此时通信线上为逻辑“1”。当发送端要发送一个数据时,首先发送一个逻辑“0”,这个低电平就是帧格式的起始位。作用是告诉接收端要开始发送一帧数据。接收端检测到这个低电平之后,就准备接收数据信号。
数据位:在起始位之后,发送端发出的就是数据位,数据位的位数没有严格限制(5-8位都可以)。低位在前,高位在后。由低位向高位逐位发送。
校验位:数据位发送完成之后,可以发送以为用来校验数据在传送过程中是否出错。校验位是收发双方预先约定好的有限制差错检验的方式之一(可不用)。
停止位:字符帧格式的最后部分是停止位,逻辑“1”有效,它的占位有1/2位、1位或者2位。停止位表示传送一帧信息的结束,也作为发送下一帧数据信息做准备。
异步串行通信特点:不需要同步时钟,通信实现简单,设备简单。但是传输速率不高。
根据串行数据的传输方向,我们可以将通信分为单工,半双工,双工。
单工:是指数据传输仅能沿一个方向,不能实现反向传输。
半双工:是指数据传输可以沿两个方向,但需要分时进行传输。
全双工:是指数据可以同时进行双向传输。
下图是单工、半双工以及全双工的示意图
比特率:每秒钟传送的二进制位数。bps
波特率:每秒钟调制信号变化的次数。Baud
串行通信常用波特率表示数据传输率。
波特率与比特率的关系为:
比特率 = 波特率x单个调制状态对应的二进制位数
单个调制状态对应1个二进制位时,或对于数字信号1或0直接用两种不同电压表示的基带传输,此时 比特率==波特率。串行通信双方识别位的时间间隔要相同,所以通信双方的波特率必须一致。