理论教育 单片机串行通信基本原理

单片机串行通信基本原理

时间:2023-11-05 理论教育 版权反馈
【摘要】:图5-13两种通信方式的示意图并行通信;串行通信计算机通信的基本方式可分为两种,并行通信和串行通信,如图5-13所示。停止位为“1”信号,可以占1位或2位。通信双方中一方固定为发送端,另一方则固定为接收端。

单片机串行通信基本原理

图5-13 两种通信方式的示意图

(a)并行通信;(b)串行通信

计算机通信的基本方式可分为两种,并行通信和串行通信,如图5-13所示。并行通信是指一个数据的各位同时进行传送的通信方式。其优点是传送速度快。缺点是一个并行数据有多少位,就需要多少根传输线。这在位数较多且传输距离又远时就不太适宜了;串行通信是指一个数据的各位按位顺序传送的通信方式。它的突出优点是仅需单线传输信息,适用于远距离通信,其缺点是传送速度较低。综合并行通信和串行通信的优缺点,计算机与外界的数据传送大多数是串行的,其传送的距离可以从几米到几千公里。

1.串行通信的字符格式

串行通信有异步通信和同步通信两种字符格式。无论同步通信还是异步通信,同步是计算机通信的重要技术要求之一,即要求收发双方的数据收、发速度必须保持一致,只有这样,才能保证数据传送的正确性。

(1)同步通信(Synchronous Communication)

同步通信就是指收发双方使用同步时钟来控制收发双方的同步传送,是一种连续传送数据流的串行通信方式,其典型格式如图5-14所示。

图5-14 同步通信的字符帧格式

(a)单同步字符帧格式;(b)双同步字符帧格式

在同步通信中,由同步时钟来控制发送和接收的同步。在发送时要插入1~2个同步字符(SYN),接收端检测到同步字符后,便开始接收串行数据位。发送端在发送数据流过程中,若出现没有准备好数据的情况,使用同步字符来填充,一直到下一个字符准备好为止。数据流由一个个数据组成,称为数据块。每一个数据可选5~8个数据位和一个奇偶校验位。此外对整个数据流还可进行奇偶校验或循环冗余校验。

同步通信可以提高传送速率,适用于高速、批量数据传送场合,但在硬件上需要有插入同步字符或相应的检测部件。

(2)异步通信(Asynchronous Communication)

异步通信就是指收发双方没有同步时钟来控制收发双方的同步传送,而是靠双方各自的时钟来控制数据的异步传送。要传送的数据在发方是以数据帧形式一帧一帧地发送,收方一帧一帧地接收。

在异步通信中,传送的数据是不连续的,它是以字(word,也常称字符)为单位来传送的。每一个字都由起始位、数据位、校验位和停止位四部分构成,称为字符帧(Frame)。其典型的格式如图5-15所示。

在上述帧格式中,一个字符的传送由起始位开始,至停止位结束。起始位为“0”信号占用一位,用来通知接收端一个新的字符开始到来,应准备接收。在不传送字符时,加插入空闲位保持为“1”。接收端不断检测线路的状态,若连续为“1”以后又检测到一个“0”,就知道马上要接收一个新的字符。

图5-15 异步通信的字符帧格式

(a)无空闲位字符帧格式;(b)有空闲位字符帧格式

起始位后面紧跟着数据位,通常为5~8位的字符编码,常用的是七位ASCII码。发送时总是先传达数据的低位,后传送高位。(www.daowen.com)

奇偶校验位占一位。在不需要奇偶校验时,这一位可以省去或者改为其他的控制位。例如用来确定这个字符所代表信息的性质(是地址还是数据等)。在这种情况下,也可能使用多于1位的附加位。

停止位用来表示字符的结束。停止位为“1”信号,可以占1位或2位。接收端接收到停止位,就表示这一字符的传送已结束。若停止位以后不是紧接着传送下一个字符,则让线路保持为“1”(空闲),使线路处于等待状态。

异步通信方式的硬件结构比同步通信方式简单,但这种方式传输时间较长。同步通信方式和异步通信方式两者间的主要区别在于:前者各个字符及其所有位都与同步字符时间同步,字符必须是连续等间隔的发送;后者各个字符之间无需同步,亦即不必等间隔地连续发送字符,仅仅是每个字符的各个位是与该字符的起始位时间同步。

2.串行通信的数据通路形式

串行通信共有单工形式、全双工形式、半双工形式三种数据通路形式。

(1)单工形式

单工形式的数据传送是单向的。通信双方中一方固定为发送端,另一方则固定为接收端。单工形式的串行通信,只需要一条数据线,如图5-16所示。

图5-16 单工形式串行通信

(2)全双工形式

全双工形式的数据传送是双向的,且可以同时发送和接收数据,因此全双工形式的串行通信需要两条数据线,如图5-17所示。

(3)半双工形式

半双工形式的数据传送也是双向的。但任何时刻只能由其中的一方发送数据;另一方接收数据。因此半双工形式既可以使用一条数据线,又可以使用两条数据线,如图5-18所示。

图5-17 全双工形式的串行通信

图5-18 半双工形式的串行通信

3.串行通信的传送速率

在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送格式位的数目来表示,称之为波特率(baud rate)。每秒传送一个格式位就是1波特(bit)。在串行通信中,格式位的发送和接收分别由发送时钟和接收时钟脉冲进行定时控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,则波特率也低,通信速度就慢。串行通信可以使用的标准波特率在RS-232C标准中已有规定,使用时应根据速度需要、线路质量以及设备情况等因素选定。波特率选定之后,对于设计者来说,就是如何得到能满足波特率要求的发送时钟脉冲和接收时钟脉冲。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈