一、并行通信与串行通信
并行通信
并行通信就是指数据的每一位同时在多根数据线上发送或者接收。可以以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。计算机或PLC各种内部总线就是以并行方式传送数据的。
串行通信
串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。只需要少数几条线就可以在系统间交换信息,适用于计算机与计算机、计算机与外设之间的远距离通信。
串行通信按照发送时钟源和接收时钟源是否需要保持一致,又可分为同步通信和异步通信两种。
同步通信
同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。
同步通信方式,是把许多字符组成一个信息组(或称为信息帧),每帧的开始用同步字符来指示,字符可以一个接一个地传输,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。由于发送和接收的双方采用同一时钟,所以在传送数据的同时还要传送时钟信号,以便接收方可以用时钟信号来确定每个信息位。传送信息的位数几乎不受限制,通常一次通信传的数据有几十到几千个字节。
异步通信
异步通信是指通信中两个数据字符之间的传输间隔是任意的,而在一个字符内各位的时间间隔是固定的。
在异步通信方式中,发送和接收的双方必须约定相同的帧格式,否则会造成传输错误。 发送方只发送数据帧,不传输时钟,发送和接收双方必须约定相同的传输率。
异步串行通信的数据格式如下图所示,每个字符(每帧信息)由4个部分组成:
(异步串行数据格式)
①1位起始位,规定为低电平0(空闲位规定为高电平1);
②5~8位数据位(即要传送的有效信息),数据位由低往高排列,即先传字符的低位,后传字
符的高位。
③1位奇偶校验位;
④1~2位停止位,规定为高电平1。
二、单工通信与双工通信
单工通信
单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向(数据信息永远从发送端传输到接收端)。为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过监控信道发送请求重发的信号。
双工通信
双工通信分为半双工通信和全双工通信。
半双工通信
数据信息可以双向传输,但必须交替进行,同一时刻一个信道只允许单向传递。
半双工通信要求A B端都有发送装置和接收装置,若想改变信息的传输方向,有开关K1,K2进行切换,再任意时刻保证A端发送装置与B端接收装置与A端接收装置与B端发送装置介入信道。
半双工通信实际上是一种可切换方向的单工通信。(效率低)
全双工通信
全双工通信同时进行两个方向的通信,即有两个信道,可同时进行双向的数据传输。
全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。 (效率高,控制容易)
三、传输率(波特率)
传输率就是指每秒传输多少位,传输率也常叫波特率。
波特率:用于描述UART通信时的通信速度,其单位为bsp(bit per second)即每秒钟传送的bit的数量。