7.4.1 概述
1.数据传送方式
在串行通信中,数据在通信线路上的传送方式有三种:单工方式、半双工方式和全双工方式,如图7-38所示。
(1)单工方式 这种方式只允许数据按一个固定的方向传送,如图7-38a所示。图中A方只能发送,叫发送器;B方只能接收,叫接收器。数据只能从发送器A传到接收器B,而不能反过来。
(2)半双工方式 这种方式如图7-38b所示。数据既能从A传到B,也能从B传到A,因此A方、B方都既可作发送器,又可作接收器,通常称之为收发器。从这个意义上说,这种方式属双向工作方式。但是A、B之间只有一根传送线,信号只能分时在两个方向传送,不能同时双向传送,所以称之为“半双工”方式。在这种方式下工作时,要么A发送,B接收,要么B发送,A接收。不工作时,一般让A、B方都处于接收方式,以便随时响应对方的呼叫,组成一个单方向传送的通信线路。
(3)全双工方式 这种方式如图7-38c所示。A、B双方都既是发送器,又是接收器,且由于相互间有两根信号传送线,A方、B方可以同时发送和接收。显然为了实现这种全双工传送,两个方向的资源必须完全独立,A方和B方必须具有独立的发送器和接收器,两个方向的数据通道必须完全分开。这样,在A、B方控制逻辑的协调下,才可以同时A向B发送,B向A发送。这种全双工方式在通信线路和通信机理上都相当于将两个方向相反的单工方式组合在一起。
图7-38 数据传送三种方式示意图
a)单工方式 b)半双工方式 c)全双工方式
这三种数据传送方式尽管在收发控制上有差别,但作为数据发送和接收的基本原理是相同的。
2.波特率和收/发时钟
(1)波特率 所谓波特率,是指单位时间内传送二进制数据的位数,以位/秒(bit/s)为单位,所以有时也叫数据位率。它是衡量串行数据传送速度快慢的重要指标和参数。例如有人说将某终端的波特率调到4800或9600,就是说把它的传送速度调到4800bit/s或9600bit/s。有时也用“位周期”来表示传送速度,位周期是波特率的倒数。
“比特率”也是数据传输速率的测量单位,但它与“波特率”并不完全等同。波特率是指每秒传送的有效数据的位数,而比特率则是指在传送介质上每秒实际传送的位数。所以比特率可以大于或等于波特率。比如每秒要传100个数据位,则其波特率为100。如果将数据发送到传送介质时是一个脉冲发送一位数据,则其比特率也为100,与波特率相等;而如果将数据送到传送介质时是用n个脉冲来调制一位数据,则其比特率为100n,比波特率大。
(2)收/发时钟 在串行通信中,无论发送或接收,都必须有时钟脉冲信号对传送的数据进行定位和同步控制。这点从如图7-39所示的串行通信简单原理图可清楚地看出。
图7-39 串行通信简单原理图
一般在发送端是由发送时钟的下降沿使送入移位寄存器的数据串行移位输出,而接收端则是在接收时钟的上升沿作用下将传送线上的数据逐位打入移位寄存器。收/发时钟与二进制数据的关系如图7-40所示。不难看出,收/发时钟不仅直接决定了通信线路上数据传送的速率,更主要的是对于收/发双方之间数据传送的同步有十分重要的作用。收/发时钟频率与波特率之间通常有下列关系:
收/发时钟频率=n×波特率
一般n取1、16、32、64等。对于异步通信,常采用n=16;对于同步通信,则必须取n=16。
图7-40 收/发时钟与二进制数据的关系
a)发送 b)接收