当前位置:文档之家› 微机与接口技术综合设计课程讲义

微机与接口技术综合设计课程讲义

第一章微型机系统的串行通信技术4.1 串行通信概论在微型机系统中,CPU与外部设备传送数据(或信息)的方法有两种:(1)并行通讯:数据的各位同时传送;(2)串行通讯:数据一位一位按顺序传送。

图4.1表示这两种传送方式的示意图。

(a)并行通讯(b)串行通讯图4.1 并行通讯与串行通讯从图4.1中可以看出,在并行通讯中,数据有多少位就需要多少根数据总线,而串行通讯只需要一对传送线。

因此,串行通讯在距离和位数比较多时,有着明显的优越性。

但它的主要缺点是传送数据的速度比较慢。

在这一节里,主要介绍有关串行通讯的基本概念。

4.1.1 数据传送方式在串行通讯中,数据传送有三种方式:单工方式、半双工方式和全双工方式。

1.单工方式(Simplex Mode)在这种方式中,只允许数据按一个固定的方向传送,如图4.2(a)所示。

图中A只能发送,称为发送器(Transfer),B只能接受,叫做接收器(Receiver)。

而不能从B传向A。

2.半双工方式(Half-Dupiex Mode)半双工方式的示意图如图4.2(b)所示。

在这种方式下,数据既可以从A传向B,也可以从B传向A。

因此,A方、B方既可作为发送器,又可作为接收器,通常称为收发器(Transceiver)。

从这个意义上讲,这种方式似乎为全向工作方式,但是,由于A、B之间只有一根传输线,所以信号只能分时传送。

即在同一时刻,只能进行一种传送,不能同时双向传输。

因此,将其称为“半双工”方式。

在这种工作方式下,要么A发送,B接收;要么B 发送,A接收。

当不工作时,令A、B均处于接收方式,以便随时响应对方的呼叫。

图中的收发开关并不是实际的物理开关,而是由软件控制的电子开关,通讯线二端通过半双工通讯协议进行功能切换。

3.全双工方式(Full-Duplex-Mode)虽然半双工方式比单工方式灵活,但它的效率依然比较低,主要原因是从发送方式切换到接收方式需要一定的时间,大约为数毫秒。

重复线路切换所引起的延迟积累,是相当可观的。

另一方面,也是更重要的,就是在同一时刻只能工作在一种方式下,这是半双工效率不高的根本原因所在。

解决的方法是增加一条线,使A、B两端均可同时工作在收发方式,如图4.2(c)所示。

将图(c)与图(b)相比,虽然对每个站来讲,都有发送器和接收器,但由于图(c)中有两条传送线,用不着收发切换,因而传送速率可成倍增长。

图4.2 数据传送方式示意图值得说明的是,全双工与半双工方式比较,虽然信号传送速度大增,但它的线路也要增加一条,因此系统成本将增加。

因此在实际应用中,特别是在异步通讯中,大多数都采用半双工方式。

这样,虽然发送效率较低,但线路简单、实用,而且一般系统也基本够用。

4.1.2 波特率和接收/发送时钟1. 波特率在数据传送方式确定后,到底以多大的速率发送/接收数据,这也是串行通信的重要问题之一。

它不但取决于计算机本身的速率,更重要的是取决于串行通信接口芯片的速率。

如前所述,串行通信是一位一位传送的。

衡量传送数据快慢的单位叫波特率。

所谓波特率是指每秒钟传送的二进制数据的位数。

单位是波特/秒(bit/s)。

1波特=1位/秒(1bps)在实际应用中,波特率是可以选择的。

常用的波特率用19200、9600、4800、2400、1200、600、300、150、100、50,一般来讲波特率越大,传送数据的速率越快。

在某些应用中,波特率有时可达10Mbps或100Mbps。

有时也用“位周期”来表示传送速度,位周期是波特率的倒数。

2. 收/发时钟在串行通信中,无论发送或接收,都必须有时钟脉冲信号对数据进行定位和同步控制。

通常它在发送端是由发送时钟的下降沿,使输入移位寄存器的数据串行一位输出。

而接收端则是在接收时钟的上升沿作用下将传输线上的数据逐位移入移位寄存器。

收/发时钟与二进制数据的关系如图4.3所示。

图4.3 收/发时钟与收/发数据的关系从图4.3可以看出,收/发时钟不仅直接决定了数据线上传送数据的速度,而且直接关系到收/发双方之间的数据传输的同步问题。

为此,一般采用倍频采样方法,即提高采样频率:收/发时钟频率=n×波特率一般n取1、16、32、64等等。

对于异步通信,常采用n=16;对于同步通信,则必须取n=1。

4.1.3 异步和同步通信根据在串行通信中数据定时、同步的不同,串行通信的基本方式有两种,异步通信(Asynchronous Communication)和同步通信(synchronous Communication)。

1. 异步通信异步通信方式是字符的同步传输技术。

在异步通信中,传输的数据以字符(Character)为单位。

当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,即空号(Space)状态。

规定在线路不传送数据时全部为“1”,即传号(Mark)状态。

字符后边要加一个“停止”信号,其长度为1、1.5或2位,极性为“1”。

字符本身的长度为5~8位数据,视传输的数据格式而定。

例如,当传送的数字(或字符)用ASCII码表示时,其长度为7位。

在某些传输中,为了减少误码率,经常在数据之后还加一位“检验位”。

由此可见,一个字符由起始位(0)开始,到停止位(1)结束,其长度为7~12位。

起始位和停止位用来区分字符。

传送时,字符可以连续发送,也可以断续发射,不发送字符时线路保持“1”状态。

字符发送的顺序为先低位后高位。

综上所述,异步串行通信的格式如图4.4所示。

图4.4 异步串行通信格式异步串行通信的优点是收/发双方不需要严格的位同步。

也就是说,在这种通信方式下,每个字符作为独立的信息单元,可以随机地出现在数据流中,而每个字符出现在数据流中的相对时间是随机的。

然而一个字符一旦发射开始,就必须连着出去。

由此可见,在异步串行通信中,所谓“异步”是指字符与字符之间的异步,而在字符内部,仍然是同步发出。

因此,这种通信的效率比较低。

尽管如此,由于异步通信电路比较简单,其链路协议也不难实现,所以,异步通信在串行通信中得到了广泛地应用。

在后边讲的各种串行标准总线以及PC机中均采用这种通信方式。

现在采用的异步通信的速率通常在9600bit/s以上。

2. 同步通信同步通信的特点是不仅字符内部保持“同步”,而且字符与字符之间也是同步的。

在这种通信方式下,收/发双方必须建立准确的定时信号。

也就是收/发时钟的频率必须严格地一致。

同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。

但是在传送中,数据要分成组(帧),一组含多少个独立的码元。

为使收/发双方建立和保持同步,在每组的开始和结束需加上规定的码元序列,作为标志序列。

在发送数据之前,必须先发送此标志序列,接收端通过检测该标志性序列实现同步。

标志序列的格式因传输规程不同而异。

例如,在基本型传输规程中,利用国际No.5代码中的“SYN”控制系统,可实现收/发双方的同步。

又如在高级数据联络规程(HDLC)中,是按帧格式传送,利用帧标志符“01111110”来实现收发双方的同步。

同步通信方式适合于高速的数据传输。

由于不需要起始和停止符,因此传送效率比较高,但实现起来比较复杂。

4.1.4 信号调制和解调在串行通信中,通常都是指数字通信。

即传输的数据都是“0”、“1”序列组成的数字信号。

这种数字信号包括从低频到高频极其丰富的谐波信号,因此要求传输线的频率很高。

但在远距离通信时,为了降低成本,通常大都采用普通电话线(双绞线)进行传输,而这种电话线的频率有限,通常不超过3000Hz。

若要通过电话线传输数字信号,必须采取一定的措施,其方法就是调制解调技术。

具体地说,就是在发送端把数字信号转换成适合于电话线传输地模拟信号,此过程称为调制,能够完成调制任务的设备叫调制器(Modulator);在接收端再把调制的模拟信号还原成数字信号,称为解调,完成解调的设备叫解调器(Demodulator)。

调制和解调是一个事物不同的两个方面,而在一个终端设备上往往既要调制,又要解调(以便完成收/发任务),因此,二者缺一不可。

通常是把上述两种功能做在一个设备中,称为调制解调器(Modulator-Demodulator,缩写为MODEM)。

图4.5表示出了两台计算机利用MODEM进行通信的原理电路。

图4.5 计算机远程通信示意图在图4.5中,MODEM为调制解调器,具有发送和接收两种功能,当计算机(1)想发送数据,首先通过异步通信适配器,把并行数据变成串行数据。

然后由串行接口(例如RS -232-C)将数据送到MODEM,由MODEM把此串行数据调制成模拟量(称为调制),然后送到公共电话线传到远方终端。

远方的MODEM将模拟量再还原(解调)成串行数据,并经串行接口送入计算机,反之亦然。

调制的方法很多,按照调制技术的不同,不外乎有调频(FM)、调幅(AM)和调相(PM)三种。

它们分别按传输数字信号的变化规律去改变载波(即音频模拟信号Asin(2лf t+ф)的频率f、幅值A和相位ф,使之随数字信号的变化而变化。

按调制技术的分类,调制解调器的方法可分为:(1)频移键控法(FSK);(2)相移键控法;(3)相移幅度调制(PAM)。

目前计算机通信中应用最多的是频移键控法(FSK)。

它的基本思想是把数字信号的“1”和“0”调制成不同频率的f1和f2。

4.1.5 差错控制技术在串行通信中,由于系统本身硬件、软件故障,或者外界电磁干扰等原因,数据传输过程中产生错误是难免的,所以采取一定的措施尽量使误码减少,是串行通信中重要内容之一。

其方法应从三方面着手,第一,改善传输信号的电气特性,使误码率达到要求;第二,改善传输线路,使其干扰减到最小;第三,采取检错纠错技术,即所谓差错控制。

所谓差错控制技术,包括两方面内容,一是对信息数据进行可靠有效的编码,另一方面是一旦发现信息传输错误,如何补救。

1. 差错控制方法(1)自动请求重发自动请求重发ARQ(Automatic Request Repeat)方式的工作原理是,发送端对发送序列进行纠错编码,可以检测出错误的检验序列,接收端根据检验序列的编码规则判决是否出错,并把判决结果通过反馈信号传回给发送端。

若无错,接收端确认接收,同时发送端缓冲器清除该序列;若有误,接收端拒收,同时通知发送端重新发送该序列,直到接收端收到正确的信息为止,如图4.6所示。

在微机通信中,自动请求重发纠错系统一般采用两种方式工作。

一种是采用半双工方式的系统,该系统中发送端只有在接收到反馈应答的判决信号后,才能决定是否继续发下一组数据。

因此,这种系统也称为发送等待系统,一般应用于面向字符的传送控制规程中。

另一种采用全双工通信方式的系统,该系统中把需要应答的判决信号插到双方发送的信息帧中。

相关主题