串口通信与串行通信的区别在于各自的电平范围

xzdxmynet 发布于 2024-02-03 阅读(114)

1. 串口通信简介

串行通信,顾名思义,就是使用串行接口进行通信。 串行接口是指串行口逐位发送和接收字节。 尽管比逐字节并行通信慢,但串行端口可以使用一根线发送数据,同时使用另一根线接收数据。

串行通信中比较重要的参数包括波特率、数据位、停止位和校验位。 通信双方需要约定一致的数据格式才能正常发送和接收数据。 串行通信又可分为单工、半双工和全双工三种类型。 在串行通信中,常用的协议包括RS-232、RS-422和RS-485。 它们的主要区别在于各自的级别范围。

2. 串行和并行通信

刚才提到串行通信是通过接口进行串行通信。 那么什么是串行通信呢?

1 串行通讯:

串行通信:计算机与I/O设备之间,同时只能传输一位信号。 传输的数据按顺序一位一位地传输。 通常数据是在一条数据线或一对差分线上传输的。

例如,传输1字节信息时,并行通信有8条信号线同时传输。 如果耗时1T,串行在一根信号线上,数据排成一行,一位一位地传输。 需要传输8次,所以耗时8T。 因此,可以总结两者的特点:

2 并行通讯:

并行通信是与串行通信相反的一种数据传输方式。

并行通信:在计算机和I/O设备之间,可以通过多条传输线同时传输多个位信号。

3 串口通信与串口通信的区别

串行通信与串口通信的区别在于,串行通信是一个概念,而串行通信是一种具体的通信方式。

串行通信是指一次一位地发送和接收数据的概念。 与并行通信相比,并行通信可以同时传输多个位。 包括通用串行通信、I2C、SPI等。

串行通信是外设与计算机之间的一种通信方式,它是相对于以太网通信等通信方式而言的。

一个是概念,另一个是实际的沟通方式。

3、同步和异步通信

设备之间传输数据,无论是同步通信还是异步通信,都是为了保证数据的正确发送和接收,即发送方和接收方的“同步”。 即接收方可以确定发送方何时开始或结束发送数据以及每个数据单元(如位、字符)的起始和结束位置,以便接收方可以在正确的时间对发送方的数据进行采样,从而接收到正确的数据,否则接收到的数据是错误的。

根据“同步方式”的不同,同步信号的方式有两种:

(1) 同步通讯(位同步)

(2)异步通信(字符间同步,字符内位异步)

同步通信使用额外的信号线,这实际上是时钟信号线。 它通常是发送设备提供的时钟信号。 发送设备和接收设备以发送设备提供的相同时钟频率完成同步。 (事实上​​,基本上所有并行通信都使用同步通信。)

异步通信没有额外的同步信号线。 接收器和发送器使用自己的时钟信号。 接收方根据与发送方事先约定的规则确定数据传输的开始和结束以及数据单元的持续时间。 例如,在异步串行通信中,一般接收双方都会确定相同的停止位、数据位数、波特率以及是否使用奇偶校验位。 接收端可以根据这些信息猜测准确的数据采样时间,从而接收到正确的数据。 如果是同步通信,则不需要这些用于同步的附加数据位(起始位、结束位、奇偶校验位)。

1 同步通讯

同步通信要求发送方和接收方在数据传输过程中保持完全同步。 因此,要求双方使用相同频率和相位的同步时钟信号。 只需在传输的报文前面添加特定的同步字符,即可使发送方和接收方建立同步,然后在同步时钟的控制下进行逐位发送/接收。 这样,信息传输就可以完全确定传输过程中每一位的位置。 因此同步通信是一种比特同步通信技术。

如下所示:

在这里插入图片描述

同步通信是一种连续传输数据的通信方式。 一次通信传输一帧数据。 每个信息帧以同步字符开始,字符之间不添加标识位。 (这里的数据帧比异步通信中的字符帧大得多,通常包含几个数据字符)。 当检测到一串数字与同步字符匹配时,则认为一个信息帧已经开始,后续的数字被视为实际传输信息。

同步通信基于数据帧,其格式包括:同步字符+数据+校验字符CRC。

(a) 单同步数据帧结构

同步字符 数据字符 1 数据字符 2 数据字符 3...数据字符

(b) 双同步数据帧结构

同步字符 1 同步字符 2 数据字符 1 数据字符 2…数据字符

当没有数据发送时,接收方必须始终准备好接收数据。 在每组信息(通常称为帧)的开头,发送方发送一个或两个称为同步字符的特殊字符。 当接收方收到同步字符并与发送方同步后,就可以不使用起始位和停止位,以固定的节奏逐个字符地发送大块数据。 这显然可以大大提高数据传输速率。 同步通信更适合速度要求高、时序要求高,当然对硬件要求也更高的传输。

当没有信息要传输时,由于同步传输不允许有间隙,所以会填充空白字符。 同步传输时,一个字符可对应5~8位。 当然,对于同一个传输过程,所有的字符都对应相同的位数,比如n位。 这样,在传输过程中,发送方和接收方使用时钟来协调,每n个比特被划分为一个时间片。 发送端在一个时间片内发送一个字符,接收端在一个时间片内接收一个字符。 这样就可以确定每个比特在传输中的位置。 接收数据时,接收方利用同步字符使内部时钟与发送方同步,然后将同步字符后面的数据逐位移动,转换成并行格式供CPU读取,直到接收到终止符。

2 异步通信

异步通信以字符帧的形式传输。 与同步通信相比,异步通信发送字符时,发送字符之间的时隙可以是任意的。 接收方不知道数据什么时候到达,所以接收端必须时刻准备好接收(如果接收端主机没有上电,那么发送端发送字符就没有意义,因为接收端无法接收它根本)。 发送方可以随时开始发送字符,时间间隔可以任意,一个字符帧中的所有位都是连续发送的。

发送方在发送字符之前不需要与接收方协调(首先不需要位同步)。 接收设备收到起始信号后,只要能在一个字符的传输时间内与发送设备同步,就可以正确接收。 内部处理器完成相应的操作后,采用回调机制通知发送端发送的字符已被回复。 下一个字符起始位的到来导致同步重新校准(依靠检测起始位实现字符间同步,发送方和接收方的时钟自同步,字符内的位异步)

因此,必须在每个字符的开头和结尾处添加标志,即起始位和停止位,以便接收端能够正确接收每个字符。 通信双方需要对信息格式(字符数、停止位数、有无校验位及校验方法等)和数据传输速率达成一致的协议。 接收端通过数据的起始位和停止位来实现字符传输过程中的同步。 这种传输通常是一个小分组,例如一组字符,具有该组的起始位和结束位。 因此,这种传输方式的效率比较低。 毕竟增加了很多辅助位作为负载,这在低速传输中是常用的。

异步通信是基于字符的,其格式包括:起始位+数据+奇偶校验位+停止位。

以启停异步协议为例,如下图

启停异步通信的特点是:逐个字符传输,每个字符逐位传输。 传输字符时,总是以“起始位”开始,以“停止位”结束。 没有固定的时间间隔要求。 每个字符前面都有一个低电平起始位(逻辑值 0)。 字符本身由5-8个数据位组成,后面跟着一个校验位(或无校验位),最后是一个、一个半或两个停止位,后面跟着一个可变长度的空闲位。 停止位和空闲位都指定为高电平(逻辑值1),这保证了起始位开始时必须有下降沿。 这可以标记字符传输的开始。 基于起始位和停止位可以轻松实现字符定义和同步。

如上图所示,这种格式依靠起始位和停止位来定义或同步字符,因此称为起止协议。

(1)起始位:发送数据时,先发送一个持续一位的逻辑“0”信号,表示字符传输的开始。 接收端可以根据起始位将其接收时钟与发送方的数据同步。

(2) 数据位:起始位之后是数据位。 异步传输规定低位在前,高位在后。 数据位数一般可以是5到8位。

(3)奇偶校验位:奇偶校验位跟在数据的最高位之后,占一位(也可以省略)。 添加该位后,对逻辑“1”信号的位数进行偶数或奇数检查,以验证数据传输的正确性。

如果是奇校验,需要保证传输的数据逻辑高位总数为奇数; 如果是偶校验,则需要保证传输的数据的逻辑高位总数为偶数。 例如,假设传输的数据位为,如果是奇校验,则奇校验位为0(确保总共有奇数个1),如果是偶校验,则偶校验位为1 (确保 1 的个数为偶数)。

可见奇偶校验位只是简单地设置数据的逻辑高或逻辑低,并没有对数据进行实质性的判断。 这样做的好处是接收设备可以知道一个比特的状态,可以判断是否有一个比特。 噪声会干扰通信和传输数据的同步。

(4)停止位:数据发送后,发送1、1.5、2位高电平(逻辑“1”信号)代表停止位,表示一帧数据结束,同时时间完成,接收下一帧数据。 准备。

(5)空闲位:当没有数据发送时,即下一帧的起始位“0”到来之前,数据线保持默认的“1”状态,即填充高电平。

异步通信字符帧格式总结如下表:

逻辑信号数据位

起始位

1人

数据位

0 或 1

5至8人

检查数字

0 或 1

1 或无

停止位

1、1.5 或 2 位数字

自由位

任何数字

注:位数的本质意义是信号的持续时间,因此可以有小数位,如停止位1.5位,1.5是它的长度,即停止位的电平维持为1.5单位时间长度。 一个单位时间是波特率的倒数。 例如,波特率为1/9600s,则1个单位时间为1.5个停止位,即停止位电平维持1.5/9600s。

3 同步通信与异步通信的比较

(1)同步通信要求接收端的时钟频率与发送端的时钟频率一致; 异步通信不需要接收端时钟和发送端时钟同步。

(2)同步通信数据传输以字节块(多个字节)传输; 异步通信数据传输以字符(一个字节)为单位进行传输。

(3)同步通信传输效率高,但复杂、要求高,双方时钟允许误差小; 异步通信传输效率低,但简单,要求不高,双方时钟可以允许一定的误差。

(4)同步通信的字节传输是发送端发送连续的比特流,没有间隔; 异步通信的字节传输间隔是任意的。 发送端发送一个字节后,可以在任意长的时间间隔后再次发送。 下一个字节。

同步通信和异步通信的区别总结如下表:

同步通讯 异步通讯

传送装置

信息帧(由多个字符组成的数据块)

字符(由多个位组成)

单位格式

同步字符+数据+校验字符CRC

起始位+数据位+奇偶校验位+停止位

传输间隔

在数据块(信息帧)内,字符之间没有间隙。

两个相邻字符之间的距离可以是任意长度

时钟信号

时序要求高,使用同频同相的时钟线

较低的时序要求,使用单独的时钟信号

优势

高效的

简单、要求低

缺点

复杂且要求高

效率低(传输一个字符需要约20%的附加信息位)

标签:  串口通信 通信 异步通信 信号传输 电平信号 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。