嵌入式电子设备之间互相通信已经非常普遍,通信的方式主要分为两类:并行和串行

1并行通信

并行是指多比特数据同时通过并行线进行传送,这样一次性可以传输更多的数据。

但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错

并行接口同时传输多个位。它们通常需要数据总线(八、十六或更多线路),以1和0的编码传输数据。

如下图:使用9线的并行通信,由时钟控制的8位数据总线,每个时钟脉冲发送一个字节。

串行和并行的区别java 串行和并行的区别通用_串行和并行的区别java

并行通信主要特点:

1.各数据位同时传输,传输速度快、效率高,多用在实时、快速的场合。

2.并行通信不能长距离通信,抗干扰能力差。

2串行通信

串行通信作为计算机通信方式之一,主要起到主机与外设以及主机之间的数据传输作用。

串行通信分为:同步和异步通信

1.同步通信

同步通信一般有一个同步时钟,如下图,一根数据线,一根时钟线。一个时钟传输一个Bit位。

串行和并行的区别java 串行和并行的区别通用_人工智能_02

我们常见的SPI、I2C等就是串行同步通信。

2.异步通信

异步通信中,在异步通信中有两个比较重要的指标:字符帧格式和波特率。

数据通常以字符或者字节为单位组成字符帧传送,是通过双方约定好的波特率进行数据传输。

假如双方波特率不一致,则接收到数据就是乱码。

我们常见的UART、CAN等就是串行异步通信。

3.串行异步通信UART

这里在进一步讲述常见的串行异步通信:UART。

内置规则:

  • 波特率
  • 数据位
  • 同步位
  • 奇偶校验位

串行和并行的区别java 串行和并行的区别通用_人工智能_03

波特率

常规波特是1200、2400、4800、19200、38400、57600和115200 bps

数据位

每个数据包中的数据量可以设置为5到9位,通常为8位。

同步位

同步位是与每个数据块一起传送的两个或三个特殊位。它们是起始位和停止位。

奇偶校验位

奇偶校验是一种非常简单的错误检查方式。它有两种:奇数或偶数。

4.UART两设备连线

串行和并行的区别java 串行和并行的区别通用_人工智能_04

这种发送和接收数据的串行接口是全双工(双向都可以发送,也可以接收)。

5.举例

9600波特,8个数据位,无奇偶校验和1个停止位。

发送ASCII字符“O”和“K”。O十进制值79,二进制值01001111;而K的二进制值是01001011。

串行和并行的区别java 串行和并行的区别通用_人工智能_05

3串口和并口对比

当下,串行相对并行通信要使用更广泛,主要有多方面原因:

  • 节省传输线,布线简单
  • 抗干扰能力强
  • 技术成熟

举例:

将并口和串口视为汽车流:并行接口将是8+车道大型高速公路,而串行接口更像是一条双车道乡村公路。

在一段时间内,大型高速公路可能会让更多的人到达目的地,但是农村的双层公路车流量不大,建造成本低。

并行通信当然有其好处。它快速,简单,相对容易实现。但它需要更多的通信线。

------------ END ------------