串口--异步通信和同步通信深入理解

在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。

同步和异步大家从名称上就大概知道区别在哪里,简单的说就是主机在相互通信时发送数据的频率是否一样。异步通信就是发送方在任意时刻都可以发送数据,前提是接收端已经做好了接受数据的准备(如果没有做好接受准备,数据肯定发送失败),也正是因为发送方的不确定性,所以接收方要时时刻刻的准备好接受数据,同时由于每次发送数据时间间隔的不确定性,所以,在每次发送数据时都要使用明确的界定符来标示数据(字符)的开始和结束位置,可以想象这种通信方式效率很低。虽然异步通信效率低,但是对设备的要求不高,通信设备简单。
和异步通信相反,同步通信就是主机在进行通信前要先建立同步,即要使用相同的时钟频率,发送方的发送频率和接受方的接受频率要同步。 除了时间频率的不同外,异步通信和同步通信之间的区别还是发送数据的表示形式,异步通信一般发送单位是字符,同步通信发送单位是比特流(数据帧),但是这不是绝对的,异步通信有时也使用帧来通信。

1、异步串行方式的特点

  所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为:

以字符为单位传送信息。

相邻两字符间的间隔是任意长。

因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以。

异步方式特点简单的说就是:字符间异步,字符内部各位同步。

2、异步串行方式的数据格式

  异步串行通信的数据格式如图8-1所示,每个字符(每帧信息)由4个部分组成:

1位起始位,规定为低电0

58位数据位,即要传送的有效信息;

1位奇偶校验位;

12位停止位,规定为高电平1


图一 异步串行数据格式

3、同步串行方式的特点

  所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为:

以数据块为单位传送信息。

在一个数据块(信息帧)内,字符与字符间无间隔。

因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。

4、同步串行方式的数据格式

  同步串行通信的数据格式如图8-2所示,每个数据块(信息帧)由3个部分组成:

2个同步字符作为一个数据块(信息帧)的起始标志;

n个连续传送的数据

2个字节循环冗余校验码(CRC)



图二 同步串行数据格式



你可能感兴趣的:(嵌入式开发进阶之路)