我们在讲接口的基本原理和工作方式的时候,讲到过同步通信和异步通信的含义。那么具体到串行接口时,情况是怎样的呢?串行接口的同步通信是由发送端和接收端同步的时钟来控制数据传送的同步的。在同步通信方式下,将字符组成一个个信息组,通常称为信息帧。在每一帧的开始是同步字符,之后,信息字符可以一个接一个地传输,直到这一帧结束,然后开始下一帧。但在暂时没有信息要传输时,要填上空白符,在同步传输过程中字符之间是不允许有间隙的,否则会出现错误。 串行接口在采用异步通信方式时,每一个要被传输的字符前后都要被加上一些标志位组成一帧信息,然后才能被发送。这些标志位用作帧与帧之间的分隔位,可以标志出信息帧的起始和结束。接收方再去掉这些分隔位就可以得到原始数据信息,完成传输。因此,异步通信两个字符之间的传输间隔是任意的。 每秒钟传递的字符的个数,我们叫它做传输率。两种通信方式比较起来,在传输率相同的情况下,同步通信方式的信息有效率要比异步方式高,因为同步方式除去开始的同步字符和用来补充的空白字符以外传递的都是有效信息,而异步方式要加入标志位。所以同步方式的信息中非数据例比较小。但是,同步方式下,要求通信双方必须用同一个时钟进行定时,确定传输过程中每一个数据位的位置。这样,如采用同步方式,在发送和接收方传输数据的同时,还必须传递时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较相近,不超过一定的允许范围就可以了。在这种情况下是否会因为时钟频率差异的积累而导致传输出错呢?我们在后面会讲到。 |