第八章串行通信及接口电路第一节串行通信的基本概念在计算机领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。第五章我们已经讲了并行通信,而随着通信技术和计算机网络技术的发展、Internet网的普及,计算机远程通信已渗透到国民经济的各个领域,而远程通信绝大多数采用串行通信的方式,所以了解和研究串行通信中的概念和技术有非常重要的意义。一、串行通信的特点数据在单条一位宽的传输线上,一比特接一比特地按顺序传送的方式称为串行通信。如图8.1(a)所示的并行通信中,一个字节(8位)数据是在8条并行传输线上同时由源传到目的地;而在图8.1(b)所示的串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。由此可见,串行通信的特点如下:1、节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点。2、数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点。例如:传送一个字节,并行通信只需要1T的时间,而串行通信至少需要8T的时间。由此可见,串行通信适合于远距离传送,可以从几米到数千公里。对于长距离、低速率的通信,串行通信往往是唯一的选择。并行通信适合于短距离、高速率的数据传送,通常传输距离小于30米。特别值得一提的是,现成的公共电话网是通用的长距离通信介质,它虽然是为传输声音信号设计的,但利用调制解调技术,可使现成的公共电话网系统为串行数据通信提供方便、实用的通信线路。二、串行通信的一些基本概念和常用术语1、串行数据在传输线上的形式和标准串行数据在传输时通常采用调幅(AM)和调频(FM)两种方式传送数字信息。远程通信时,发送的数字信息,如二进制数据,首先要调制成模拟信息。⑴调幅方式幅度调制是用某种电平或电流来表示逻辑“1”,称为传号(mark);而用另一种电平或电流来表示逻辑“0”,称为空号(space)。出现在传输线上的mark/space的串行数据形式如图8.2所示。使用mark/space形式通常有四种标准,TTL标准、RS-232标准、20mA电流环标准和60mA电流环标准。①TTL标准:用+5V电平表示逻辑“1”;用0V电平表示逻辑“0”,这里采用的是正逻辑。②RS-232标准:用-5V—-15V之间的任意电平表示逻辑“1”;用+5V—+15V电平表示逻辑“0”,这里采用的是负逻辑。③20mA电流环标准。线路中存在20mA电流表示逻辑1,不存在20mA电流表示逻辑0。④60mA电流环标准。线路中存在60mA电流表示逻辑1,不存在60mA电流表示逻辑0。⑵调频方式频率调制方式是用两种不同的频率分别表示二进制中的逻辑1和逻辑0,通常使用曼彻斯特编码标准和堪萨斯城标准。①曼彻斯特编码标准,它的数据形式如图8.3所示。这种标准兼有电平变化和频率变化来表示二进制数的0和1。从图中可看出。每当出现一个新的二进制位时,就有一个电平跳变。如果该位是逻辑1,则在中间还有一个电平跳变;而逻辑0仅有位边沿跳变。所以逻辑1的频率比逻辑0的频率大一倍。曼彻斯特编码标准通常用在两台计算机之间的同步通信。②堪萨斯城标准,它的数据形式如图8.4所示。它用频率为1200Hz中的4个周期表示逻辑0;而用频率为2400Hz中的8个周期表示逻辑1。2、局域网中常用的数字编码技术在局域网中常用的数字信号编码有以下3种,如图8.5所示。⑴NRZ编码NRZ编码又称为不归零编码,常用正电压表示“1”,负电压表示“0”,而且在一个码元时间内,电压均不需要回到零。其特点是全宽码,即一个码元占一个单元脉冲的宽度。⑵曼彻斯特(Manchester)编码在曼彻斯特编码中,每个二进制位(码元)的中间都有电压跳变。用电压的正跳变表示“0”,电压的负跳变表示“1”。由于跳变都发生在每一个码元的中间位置(半个周期),接收端就可以方便地利用它作为同步时钟,因此这种曼彻斯特编码又称为自同步曼彻斯特编码。目前最广泛应用的局域网—以太网,在数据传输时就采用这种数字编码。⑶微分曼彻斯特编码这种编码是曼彻斯特编码的一种修改形式,其不同之处时:用每一位的起始处有无跳变来表示“0”和“1”,若有跳变则为“0”,无跳变则为“1”;而每一位中间的跳变只用来作为同步的时钟信号,所以它也是一中自同步编码,自同步曼彻斯特编码和微分曼彻斯特编码的每一位都是用不同电平的两个半位来表示的,因此始终保持直流的平衡。不会造成直流的累积。3、数据传输率数据传输率是指单位时间内传输的信息量,可用比特率和波特率来表示。⑴比特率:比特率是指每秒传输的二进制位数,用bps(bit/s)表示。⑵波特率,波特率是指每秒传输的符号数,若每个符号所含的信息量为1比特,则波特率等于比特率。在计算机中,一个符号的含义为高低电平,它们分别代表逻辑“1”和逻辑“0”,所以每个符号所含的信息量刚好为1比特,因此在计算机通信中,常将比特率称为波特率,即:1波特(B)=1比特(bit)=1位/秒(1bps)例如:电传打字机最快传输率为每秒10个字符/秒,每个字符包含11个二进制位,则数据传输率为:11位/字符×10个字符/秒=110位/秒=110波特(Baud)计算机中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可达56Kbps.⑶位时间Td位时间是指传送一个二进制位所需时间,用Td表示。Td=1/波特率=1/B例如:B=110波特/秒,则Td=1/110≈0.0091ms4、发送时钟和接收时钟在串行通信中,二进制数据以数字信号的信号形式出现,不论是发送还是接收,都必须有时钟信号对传送的数据进行定位。在TTL标准表示的二进制数中,传输线上高电平表示二进制1,低电平表示二进制0,且每一位持续时间是固定的,由发送时钟和接收时钟的频率决定。⑴发送时钟发送数据时,先将要发送的数据送入移位寄存器,然后在发送时钟的控制下,将该并行数据逐位移位输出。通常是在发送时钟的下降沿将移位寄存器中的数据串行输出,每个数据位的时间间隔由发送时钟的周期来划分,参见图8.6所示。⑵接收时钟在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出,如图8.7所示。⑶波特率因子接收时钟和发送时钟与波特率有如下关系:F=n×B这里F是发送时钟或接收时钟的频率;B是数据传输的波特率;n称为波特率因子。设发送或接收时钟的周期为Tc,频率为F的位传输时间为Td,则:Tc=1/F,Td=1/B得到:Tc=Td/n在实际串行通信中,波特率因子可以设定。在异步传送时,n=1,16,64,实际常采用n=16,即发送或接收时钟的频率要比数据传送的波特率高n倍。在同步通信时,波特率因子n必须等于1。三、串行通信的连接方式串行通信中,两个设备之间连接的数据通路有三种方法,如图8.8所示。1、单工(simplex)连接这种连接方式仅能进行一个方向的数据传输,如图8.8(a)中,A设备只能发送,B设备只能接收,即数据传输只能从A传送到B。2、半双工(half-duplex)连接两个设备A、B之间可交替地进行双向数据传送,但不能同时发送或同时接收。在某一时刻A作为发送器,B作为接收器,数据由A传送到B;而在另一时刻,B作为发送器,A作为接收器,数据从B传送到A,如图8.8(b)所示。图8.8串行通信的连接方式3、全双工(full-duplex)连接两个设备A、B之间可同时进行数据传送,如图8.8(c)所示。半双工连接时,A、B设备之间只需要一根传输线,而全双工连接时,A、B设备之间需要两根传输线。为了实现全双工传输,A设备和B设备必须有独立的发送器和接收器。在同一时刻,可以从A向B传送和B向A传送,这相当于有两个独立的单工连接。四、信号的调制和解调1、概述计算机通过串行口发送出去或接收到的信息一般只能是调幅制的数字信息。采用TTL标准、RS-232或20mA电流环等标准的调幅制数字信息,只适合于近距离的通信。远程有线通信大都数是通过电话线传输的,而电话线只能传输调频制的音频信息。因此,在两台计算机进行远距离传送时,发送端将信息送上电话线之前,要用调制器(modulation)将数字信息转换为模拟信息,然后通过电话线传输到接收方,而接收方要用解调器(demodulation)检测电话线上的模拟信息,再将其转换为数字信息,再通过接口送入接收方的计算机。2、调制解调器(modem)的基本原理一般的modem都具有调制和解调双重功能,利用调制和解调两个过程完成数字信号在模拟通道(例如电话线)上的传输。所谓调制过程就是用数字信号去控制载波信号的参数;解调过程则是检测载有数字信号的载波信号参数的变化,将数字信号分离出来。载波信号通常可表示为:)cos()(tAtf其中:A为幅度,ω为角频率,φ是初始相位。数字信号可分别对载波信号的这三个参数进行控制,以实现幅度调制(ASK)、频率调制(FSK)和相位调制(PSK)三种调制方式。参见图8.9所示。目前,在调制解调器中常用的调制技术是频率调制,即频移键控方式。图8.10是频移键控方式的基本原理。数字信号1和0分别调制成不同频率的模拟信号。图中S1、S2是两个电子模拟开关,分别控制两个不同频率的模拟信号,开关接通,则该频率的模拟信号送到运算放大器的反相输入端。而电子开关由被传输的数字信号控制。当数字信号为0时,开关S2接通,送出频率为f2的模拟信号;当数字信号为1时,开关S1接通,送出频率为f1的模拟信号,经运算放大器合成后,输出就是经调制后的两种频率的模拟信号。通常f1为2400Hz的正弦信号(数字1),f2为1200Hz的正弦信号(数字0)。在接收端用解调器检测调制后的模拟信号,再将它转换成数字信号,这样就实现了调制和解调的过程。3、调制解调器的基本功能⑴调制解调器应有调制和解调的功能,这是显而易见的,正如上面所述的。⑵调制解调器一般应具有呼叫和应答功能,使之能像电话线那样,具有线路接通、线路接续和拆除的功能。呼叫和应答有人工和自动两种方式。人工方式的呼叫和应答过程均由人工控制完成;而自动方式是利用具有自动呼叫和应答功能的调制解调器来完成的。⑶大多数调制解调器具有自动差错校正和速率转换功能。在调制解调器内部附有硬件电路提供MNP差错校正协议(MicrocomNetworkingProtocol),这个协议有两个主要功能:差错校正和速率转换,另外还具有;流量控制功能。4、调制解调器的基本组成如图8.11所示,调制解调器一般由基带处理、调制解调和信道形成3大部分组成,其中调制解调是其核心,此外还有均衡和取样判决两部分。5、调制解调器的应用调制解调器主要用于远距离通信,在远距离通信时,调制解调器的连接如图8.12所示。图中数据终端设备DTE(DataTerminalEquipment)和数据通信设备DCE(DataCommunicationEquipment)通过串行接口RS-232C连接。DTE设备通常就是计算机,DCE设备通常指Modem。两个DCE设备之间用电话线连接,以实现远距离通信。5、调制解调器的速率转换、常用控制信号和状态信号⑴Modem的传输速率Modem按传输速率可分为低速、中速和高速三类。传输速率低于2000波特为低速Modem,传输速率在2000至9600波特之间的为中速Modem,传输速率高于9600波特的称为高速Modem。目前Modem的最高速率为56Kbps。⑵Modem的常用控制信号从计算机通过RS-232C接口送给Modem的控制信号有:①数据终端设备准备好信号DTR(DataTerminalReady)。当数据终端设备(DTE)接通电源并进入工作状态后,就向数据通信设备DCE发出DTR信