在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。并行通信,即数据的各位同时传送;串行通信,即数据一位一位顺序传送。图为这两种通信方式的示意图。

上述两种基本通信方式比较起来,串行通信能够节省传输线,特别是数据位数很多和远距离数据传送时,这一优点更为突出;串行通信方式的主要缺点是传送速度比并行通信要慢。
按照串行数据的时钟控制方式,串行通信可分为同步通信和异步通信两类。
串行接口电路的种类和型号很多。能够完成异步通信的硬件电路称为UART,即通用异步接收器/发送器(Universal Asychronous Receiver/Transmitter);能够完成同步通信的硬件电路称为USRT(Universal Sychronous Receiver/Transmitter);既能够完成异步又能同步通信的硬件电路称为USART ( Universal Sychronous Asychronous Receiver/Transmitter)。
从本质上说,所有的串行接口电路都是以并行数据形式与CPU 接口,以串行数据形式与外部逻辑接口。它们的基本功能都是从外部逻辑接收串行数据,转换成并行数据后传送给CPU,或从CPU 接收并行数据,转换成串行数据后输出到外部逻辑。
8.1.1 异步通信(Asynchronous Communication)
在异步通信中,数据通常是以字符为单位组成字符帧传送的。字符帧由发送端一帧一帧地发送,每一帧数据是低位在前,高位在后,通过传输线被接收端一帧一帧地接收。发送端
和接收端可以由各自独立的时钟来控制数据的发送和接收,这两个时钟彼此独立,互不同步。在异步通信中,接收端是依靠字符帧格式来判断发送端是何时开始发送何时结束发送的。字符帧格式是异步通信的一个重要指标。
1) 字符帧(Character Frame)
字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成,如图8.3所示。

(1) 起始位:位于字符帧开头,只占一位,为逻辑0 低电平,用于向接收设备表示发送端开始发送一帧信息。
(2) 数据位:紧跟起始位之后,用户根据情况可取5 位、6 位、7 位或8 位,低位在前高位在后。
(3) 奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户决定。
(4) 停止位:位于字符帧最后,为逻辑1 高电平。通常可取1 位、1.5 位或2位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。
在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。图8.3(b)表示有3 个空闲位的字符帧格式。
2) 波特率(baud rate)
异步通信的另一个重要指标为波特率。
波特率为每秒钟传送二进制数码的位数,也叫比特数,单位为bit/s,即位/秒。波特率用于表征数据传输的速度,波特率越高,数据传输速度越快。但波特率和字符的实际传输速率不同,字符的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。
通常,异步通信的波特率为50~9600bit/s。
异步通信的优点是不需要传送同步时钟,字符帧长度不受限制,故设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速率。
8.1.2 同步通信(Synchronous Communication)
同步通信是一种连续串行传送数据的通信方式,一次通信只传输一帧信息。这里的信息帧和异步通信的字符帧不同,通常有若干个数据字符,如图8.4 所示。图8.4(a)为单同步字符帧结构,图8.4(b)为双同步字符帧结构,但它们均由同步字符、数据字符和校验字符CRC 三部分组成。在同步通信中,同步字符可以采用统一的标准格式,也可以由用户约定。

同步通信的数据传输速率较高,通常可达56000bit/s 或更高,其缺点是要求发送时钟和接收时钟必须保持严格同步。
串行通信的制式
在串行通信中数据是在两个站之间进行传送的,按照数据传送方向,串行通信可分为单工(simplex)、半双工(half duplex)和全双工(full duplex)三种制式。图8.5 为三种制式的示意图。

在单工制式下,通信线的一端接发送器,一端接接收器,数据只能按照一个固定的方向传送。
在半双工制式下,系统的每个通信设备都由一个发送器和一个接收器组成,如图8.5b)所示。在这种制式下,数据能从A 站传送到B 站,也可以从B 站传送到A 站,但是不能同时在两个方向上传送,即只能一端发送,一端接收。其收发开关一般是由软件控制的电子开关。
全双工通信系统的每端都有发送器和接收器,可以同时发送和接收,即数据可以在两个方向上同时传送。
在实际应用中,尽管多数串行通信接口电路具有全双工功能,一般情况只工作于半双工制式下,这种用法简单、实用。


