第2章 计算机总线技术
第2章 计算机总线技术
随着微处理器技术的飞速发展,使得计算机的应用领域不断扩大,与之相应的总线技术也得到不断创新。先后出现了ISA 、MCA 、EISA 、VESA 、PCI 、AGP 、IEEE1394、USB 等总线技术,应用于芯片内部的总线技术也在不断发展,AMBA 、Core Connect 、CoreRAM 等已经形成集成电路内部十分具有竞争力的总线标准,加上应用于工业控制的PROFIBUS 等现场总线技术,使得总线技术不断提高,总线的种类也日益增加。同时,总线的数据传输速度也不断提升,目前,AGP 局部总线数据传输率可达528MB/S,PCI-X 可达1GB/S,系统总线传输速率也由66MB/S提高到100MB/S甚至更高的133MB/S、150MB/S。
本章主要讨论总线的分类及其结构,并介绍几种常用的内部总线和外部总线。
2.1 总线的基本概念
随着计算机设计的日益科学化、合理化、标准化和模块化,计算机总线的概念也逐渐形成和完善起来。一般来说,总线就是一类线的集合,它定义了各引线的电气、机械、功能和时序特性,使计算机系统内部的各部件之间以及外部的各系统之间建立信号联系,进行数据传递。采用总线标准的目的主要有二条:一是生产厂能按照统一的标准设计制造计算机;二是用户可以把不同生产厂制造的各种型号的模板或设备用一束无源的标准总线互相连接起来,因而可方便地按各自需要构成各种用途的计算机系统。
采用总线标准设计、生产的计算机模板和设备具有很强的兼容性,因为接插件的机械尺寸,各引脚的定义,每个信号的电气特性和时序等都遵守统一的总线标准。按照统一的总线标准设计和生产出来的计算机模板和设备,经过不同的组合,可以配置成各种用途的计算机系统,在此基础上设计的软件具有很好的兼容性,便于系统的扩充和升级。另外,采用总线标准设计的系统便于故障诊断和维修,同时也降低了生产和维护成本。这些都促进了计算机系统的开发和应用。
2.1.1 总线的分类
总线技术应用十分广泛,从芯片内部各能部件的连接,到芯片间的互联,再到由芯片组成的板卡模块的连接,以及计算机与外部设备之间的连接,甚至现在工业控制中应用十分广泛的现场总线,都是通过不同的总线方式来进行实现的。下面仅对微机系统中目前比较流行的部分总线技术分别加以介绍。
总线的分类方法比较多,按照不同的分类方法,总线有不同的名称。按照总线内部信息传输的性质,总线可以分为数据总线、地址总线、控制总线和电源总线。依据总线在系统结构中的层次位置,一般把总线分为:片内总线、内部总线和外部总线。按照总线的数据传输方式,总线又可以分为串行总线和并行总线。根据总线的传输方向又可以分为单向总线和双向总线。
1. 数据总线、地址总线和控制总线
一般的,总线的数目、定义各不相同,但按总线中信息传输的性质,通常可以把总线分为数据总线DB 、地址总线AB 、控制总线CB 、和电源总线PB 四部分,如图2.1所示。
①数据总线DB 用于传送数据信息。数据总线是双向三态形式的总线,既可以把CPU 的数据传送到存储器或I/O接口等其它部件,也可以将其它部件的数据传送到CPU 。数据总线的位数是微型计算机的一个重要指标,通常与微处理的字长相一致。例如Intel 8086微处
理器字长16
②地址总线
AB 是专门用来传送地址的,由于地址只能从CPU 传向I/O端口或外部存储器,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU 可直接寻址的内存空间大小,比如16位微型机的地址总线为20位,其可寻址空间为1MB 。
③控制总线CB 控制总线包括控制、时序和中断信号线,用于传递各种控制信息,如读/写信号、片选信号、中断响应信号等由CPU 发出的信号,以及中断请求信号、复位信号、总线请求信号等发给CPU 的信号。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上控制总线的具体情况主要取决于CPU 。
④电源总线PB 用于向系统提供电源。电源线和地线数目的多少取决于电源的种类和地线的分布与用法。
2. 片内总线、内部总线和外部总线 (1)片内总线
片内总线是在集成电路的内部,用来连接各功能单元的信息通路。由于受芯片面积及对外引脚数的限制,片内总线大多采用单总线结构,这有利于芯片集成度和成品率的提高,而对于内部数据传送速度要求较高的,也可采用双总线或三总线结构。如CPU 芯片内部的总线,是连接ALU 、寄存器、控制器等部件的信息通路,这种总线一般由芯片生产厂家设计,计算机系统设计者并不关心,但随着微电子学的发展,出现了ASIC 技术,用户也可以按照自己的要求借助于适当的EDA 工具,选择适当的片内总线,设计自己的芯片。
(2)内部总线
广义上,内部总线又称为系统总线或板级总线,用于计算机系统内部的模板和模板之间进行通信的总线。系统总线是微机系统中最重要的总线,人们平常所说的微机总线就是指系统总线,如STD 总线、PC 总线、ISA 总线、PCI 总线等。在计算机内部,微机主板以及其它一些插件板、卡(如各种I/O接口板/卡),它们本身就是一个完整的子系统,板/卡上包含有CPU ,RAM ,ROM ,I/O接口等各种芯片,这些芯片间也是通过总线来连接的。通常把各种板、卡上实现芯片间相互连接的总线称为片总线或元件级总线。相对于一台完整的微型
计算机来说,各种板/卡只是一个子系统,是一个局部,故又把片总线称为局部总线。因此,可以说局部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连,而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连。
各种标准的内部总线数目不同,但按各部分性质可以分为数据总线、地址总线、控制总线和电源总线,完成对存储器或外设数据等的寻址与传送。
采用内部总线母板结构,母板上各插座的同号引脚连在一起,组成计算机系统的各功能模板插入插座内,由总线完成系统内各模板间的信息传送,从而构成完整的计算机系统。内部总线标准的机械要素包括模板尺寸、接插件尺寸和针数,电气要素包括信号的电平和时序。
(3)外部总线
计算机系统与系统之间或计算机系统与外设之间的信息通路,称为外部总线。如RS-232-C 总线,IEEE-488总线等。外部总线标准的机械要素包括接插件型号和电缆线,电气要素包括发送与接受信号的电平和时序,功能要素包括发送和接受双方的管理能力、控制功能和编码规则等。
图2.2给出了一般计算机总线结构示意图。可以看出,构成过程计算机控制系统除了各种功能模板之外,还需要内部总线将各种功能相对独立的模板有机地连接起来,完成系统内部各模板之间的信息传送。计算机系统与系统之间通过外部总线进行信息交换和通信,以便构成更大的系统。
3. 并行总线和串行总线
计算机的内部总线一般都是并行总线,而计算机的外部总线通常分为并行总线和串行总线两种。比如IEEE-488总线为并行总线,RS-232-C 总线为串行总线。并行总线的优点是信号线各自独立,信号传输快,接口简单;缺点是电缆数多。串行总线的优点是电缆线数少,便于远距离传送;缺点是信号传输慢,接口复杂。
2.1.2 总线主要性能指标
尽管各种总线在设计上有许多不同之处,但从总体原则上,一种总线性能的高低是可以通过一些性能指标来衡量的。一般从如下几个方面评价一种总线的性能高低:
(1)总线频率:即总线工作时钟频率,单位为MHz ,它是影响总线传输速率的重要因素之一。
(2)总线宽度,又称总线位宽,是总线可同时传输的数据位数,用bit (位)表示,如8位、16位、32位等。显然,总线的宽度越大,它在同一时刻就能够传输更多的数据。
(3)总线带宽,又称总线传输率,表示在总线上每秒传输字节的多少,单位是MB/S
。
影响总线传输率的因素有总线宽度、总线频率等。一般的,
总线带宽(MB/S)= 1/8×总线宽度×总线频率 (2-1)
有的地方也用Mbps 作为总线带宽的单位,但此时在数值上应等于公式2-1计算数值乘以8。以上公式主要是针对并行总线,而串行总线与并行总线的计算方式稍有不同。并行总线一次可以传输多位数据,但它存在并行传输信号间的干扰现象,频率越高、位宽越大,干扰就越严重,因此要大幅提高现有并行总线的带宽是非常困难的;而串行总线可以凭借高频率的优势获得高带宽。而为了弥补一次只能传送一位数据的不足,串行总线常常采用多条管线(或通道)的做法实现更高的速度。对这类总线,带宽的计算公式就等于“总线频率×管线数”,例如,PCI Express就有×1、×2、×4、×8、×16和×32等多个版本,在第一代PCI Express技术当中,单通道的单向信号频率可达2.5GHz 。
(4)同步方式:可分为同步方式和异步方式。在同步方式下,总线上主模块与从模块进行一次数据传输的时间是固定的,并严格按照系统时钟来统一定时主模块、从模块之间的传输操作,只要总线上的设备都是高速的,就可达到很高的总线带宽。在异步方式下,采用应答式传输技术,允许从模块自行调整响应时间,即传输周期是可以改变的,这样会减小总线带宽,但在适应性和灵活性上得到了提高。
(5)总线复用: 通常地址总线与数据总线在物理上是分开的两种总线。地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优化设计,将地址总线和数据总线共用一条物理线路,只是某一时刻该总线传输地址信号,另一时刻传输数据信号或命令信号,这叫总线的多路复用。采用多路复用技术,可以减少总线的数目。
(6)信号线数: 表明总线拥有多少信号线,是数据总线、地址总线、控制总线和电源总线的总和。信号线数与总线性能不成正比,但一般与复杂度成正比。
(7)总线控制方式: 包括并发工作、自动配置、仲裁方式、逻辑方式、计数方式等。 (8)其他性能:如负载能力、电源电压等级、能否扩展总线宽度等指标。 表2.1给出了几种流行总线的性能参数,从表中可以看出微机总线技术的发展。
表2.1 几种微型计算机总线性能参数
2.1.3 总线标准与规范
随着微型计算机的广泛应用,不同用户对微机系统功能的要求各不相同。计算机厂商为了满足用户的需要,除了以整机形式向用户出售微型计算机系统外,更多的则是以芯片组装
成的各种插件板/卡形式(即微机零部件)出售,用户可以根据自己的具体需要购买相应的计算机零部件组装成满足自己需要的微机系统。这就要求各厂家生产的芯片和插件板/卡能相互兼容,而要互相兼容,必然要求插件板/卡的几何尺寸相同,引线信号的数目和时序相同,这就要求微机系统总线采用统一的标准,以便各计算机零部件生产厂商生产面向总线标准的计算机零部件。
1. 总线的标准
所谓总线标准就是对系统总线的插座尺寸、引线数目、信号和时序所作的统一规定。在采用标准总线的系统中,底板上各插座的对应引脚都是并联在一起的,不同的插件板/卡只要满足该总线标准,就可以任意插在插座上,为用户对系统功能的扩充或升级提供方便。这样为了提高计算机系统的通用性、灵活性和扩展性,计算机的各部件采用模板化结构,再通过总线把各模板连接起来,称之为总线的模板化结构,它的核心是设计若干块通用功能模板。
一般的,总线标准主要包括以下几方面的特性: 1)机械特性
机械特性规定模板尺寸、插头、连接器的形状、尺寸等规格位置,如插头与插座使用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,接头处的可靠接触等。
2)电气特性
电气特性规定信号的逻辑电平、最大额定负载能力、信号传递方向及电源电压等。通常规定由CPU 发出的信号叫输出信号,送入CPU 的信号叫输入信号。并规定总线中有效的电平范围。
3)功能特性
功能特性规定每个引脚名称、功能、时序及适用协议,如地址总线用来指出地址;数据总线传递数据;控制总线发出控制信号等。
4)时间特性
时间特性是指总线中的任一根线在什么时间内有效。每条总线上的各种信号,互相存在着一种有效时序的关系,因此,时间特性一般可用信号时序图来描述。
2. 总线的模板化结构
工业控制计算机是面向工业生产过程的,不同行业的生产过程使用不同的原料,生产不同的产品,即使生产同一产品的生产过程,也有设备和工艺的区别。因此,不可能设计出多种固定配置的计算机来租用于各种不同的生产过程。为了解决这一难题,就需要对计算机和各种控制对象进行分析与综合,针对其共性,设计若干通用功能部件,并把这些部件按功能划分为几块,再按总线标准设计成模板。常用的模板有CPU 、RAM/ROM、A/D、D/A、DI 、DO 、PID(并行输入输出) 、SIO(串行输入输出) 等。
通过对模板品种和数量的选择与组合,就可以方便地配置成不同生产过程所需要的过程控制计算机。由于采用了模板化结构,方便了用户的选用。如果生产过程要扩大规模,改进工艺,并相应要求改变计算机的配置或增加功能,会得益于模板化结构的开放性而容易得到满足。所以模板化设计的总线结构提高了系统的灵活性、通用性和扩展性。
模板化设计也为系统的维修提供了方便。由于每块模板功能比较单一,一旦出现故障,也容易判断是哪一块模板的问题。在有备用模板的情况下,立即就可以把坏的模板换下来,系统仍能正常工作。由于模板的总线端都加了驱动和隔离,故障不会扩散到系统中的其它模板上。所以采用模板化设计的总线结构也大大提高了系统的可靠性和可维护性。
模板按功能合理地进行布局设计,总线缓冲模块接近总线插脚端,功能模块在中央,I/O接口模块靠近引线连接器。对于那些没有I/O引线连接器的模板,如CPU 、RAM/ROM等,这些部分都用作功能模块。这样使功能模板内信号流向几乎呈直线,形成了最短传输途径,减少了分布参数影响,降低了信号线间的相互干扰,提高了模板的可靠性,也便于故障的诊断和维修。
2.1.4 总线控制与总线传输
1.总线控制
由于在总线上存在多个设备或部件同时申请占用总线的可能性,为保证同一时刻只能有一个设备获得总线使用权,需要对请求使用总线的设备或部件设置优先级。总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备两种。主设备对总线享有控制权,从设备只能响应由主设备发来的总线命令。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备) 进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序,确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。
总线判优控制可分集中式和分布式两种,前者将控制逻辑集中在一处(如在CPU 中) ,后者将总线控制逻辑分散在与总线连接的各个部件或设备上。集中控制是单总线、双总线和三总线结构计算机主要采用的方式,常见的集中控制方式主要有链式查询方式、计数器定时查询方式和独立请求总线控制方式。
2.总线传输
系统总线的最基本任务就是传送数据,这里的数据包括程序指令、运算处理的数据、设备的控制命令、状态字以及设备的输入输出数据等。在系统中,众多部件共享总线,在争夺总线使用权时,只能按各部件的优先等级来解决。总线上的数据在主模块的控制下进行传送,从模块没有控制总线的能力,但它可对总线上传来的地址信号进行译码,并接受和执行总线主模块的命令。而在总线传输时间上,按分时方式来解决,即哪个部件获得使用,此刻就由它传送,下一部件获得使用,接着在下一时刻传送。一般的,总线在完成一次传输周期时,可分为四个阶段:
● 申请分配阶段:由需要使用总线的主模块(或主设备) 提出申请,经总线仲裁机构决
定在下一传输周期是否能获得总线使用权;
● 寻址阶段:取得了使用权的主模块,通过总线发出本次打算访问的从模块(或从设
备) 的存储地址或设备地址及有关命令,启动参与本次传输的从模块;
● 数据传输阶段:主模块和从模块进行数据交换,数据由源模块发出经数据总线流入
目的模块;
● 结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调与配合。一般常用四种传送方式:同步通信、异步通信、半同步通信和分离式通信。详细内容请参阅本书第六章。
2.2 常用内部总线
内部总线是计算机内部各功能模板之间进行通信的通道,是构成完整的计算机系统的内部信息枢纽。由于历史原因,目前存在有多种总线标准,国际上已正式公布或推荐的总线标准有:STD 总线,PC 总线,VME 总线,MULTIBUS 总线,UNIBUS 总线等。这些总线标准都是在一定的历史背景和应用范围内产生的。限于篇幅,本节只简要介绍STD 总线和部分PC 系列总线。
2.2.1 STD总线
STD 总线是美国PRO-LOG 公司1978年推出的一种工业标准微型计算机总线,STD 是STANDARD 的缩写。该总线结构简单,全部56根引脚都有确切的定义。STD 总线定义了一个8位微处理器总线标准,其中有8根数据线、16根地址线、控制线和电源线等,可以兼容各种通用的8位微处理器,如8080、8085、6800、Z80、NSC800等。通过采用周期窃取和总线复用技术,定义了16根数据线、24根地址线,使STD 总线升级为8位/16位微处理器兼容总线,可以容纳16位微处理器,如8086、68000、80286等。
1987年,STD 总线被国际标准化会议定名为IEEE961。随着32位微处理器的出现,通过附加系统总线与局部总线的转换技术,1989年美国的EAITECH 公司又开发出对32位微处理器兼容的STD32总线。
1. STD总线的特点
STD 总线具有以下三个特点: (1)小模板结构
STD 总线采用了小模板结构,每块功能模板尺寸为165×114mm 。这种小模板有较好 的机械强度,具有抗震动、抗冲击等优点。一块模板上只有一、两种功能,元器件少。因而便于散热,也便于故障的诊断和维修,从而提高了系统的可靠性和可维护性。STD 模板的设计标准化,信号流向基本上都是由总线输送到功能模块,再到I/O驱动输出。
(2)开放式系统结构
STD 总线采取了开放式的系统结构,计算机系统的组成没有固定的模式或标准机型,而是提供了大量的功能模板,用户可根据自己的需要选用各种功能模板,像搭积木一样任意拼装自己所需的计算机系统。必须注意,一个系统只允许选用一块CPU 模板(称主模板),其余的从模板可任意选。
(3)兼容式总线结构
STD 总线采取了兼容式的总线结构,既可支持8位微处理器,如8085、Z80等,也可支持16位微处理器,如8086、68000等。这种兼容性可灵活地扩充和升级,只要将新选的CPU 主模板插入总线槽,取代原来的CPU 板,然后将软件改变过来,而原有的各种从模板仍可被利用。这样可避免重复投资,降低改造费用,缩短新系统的开发和调试周期,提高了系统的可用性。
2. STD总线的信号分配
STD 总线定义了8位/16位微处理器的总线标准,对模板的尺寸、总线连接器和插脚分
配,信号定义和电气等都作了规定。限于篇幅,下面仅给出STD 总线的信号分配,其它规定请读者参阅STD 的有关资料。
STD 总线共有56根引线(插脚),或分为五个功能组:
● 逻辑电源线 引线1~6 ● 数据总线 引线7~14 ● 地址总线 引线15~30 ● 控制总线 引线31~52 ● 辅助电源线 引线53~56
表2.2列出STD 总线的56根引线(插脚)的分配。各引线功能如下:
表2.2 STD总线的引线分配
(1)电源线(引线1~6和引线53~56)
逻辑电源和辅助电源分别为数字电路和模拟电路提供电源,两组电源有各自独立的地线,减少了地线干扰。引线5、6有两种使用可能,一种是-5V 逻辑电源,另一种是作后备
电源(引线5)和直流掉电信号(引线6)。
(2)数据总线(引线7~14)
数据总线为双向、三态、高有效,当前主控制机控制数据流方向。当DMA (Direct Memory Access )等临时主控制机请求总线时,主控制机应能释放数据总线,以响应请求。
(3)地址总线(引线15~30)
地址总线三态、高有效,当前主控制机控制地址总线。当DMA 等临时主控制机请求总线时,主控制机应能释放地址总线,以响应请求。
数据总线和地址总线可以分时复用,扩展地址总线(A16~A23)和扩展数据总线(D8~D15)的定义如表2.2所示。
(4)控制总线(引线31~52)
控制总线可分为五部分:存储器和I/O控制,外围设备定时控制,中断和总线控制,时钟和复位,串级优先级链。
1)存储器和I/O控制(引线31~36)
:写存储器或I/O(三态、低有效),当前主控制机产生WR ,将数据总WR (引线31)
线上的数据写入被选中的存储器或输出设备。当WR 由低到高跳变时完成数据的写入。
:读存储器或I/O(三态、低有效),当前主控制机产生RD ,从被选RD (引线32)
中的存储器或输入设备中读取数据。将读出的数据送到数据线上。当RD 由低到高跳变时完成数据的读取。
IORQ (引线33):I/O地址请求(三态、低有效),当前主控制机产生IORQ ,表明IORQ 控制线的确切含义随CPU 地址总线上放有供I/O设备读或写操作用的有效I/O地址。
的类型不同而异。对于8080、8085等,IORQ 在I/O操作时产生;对于Z80,IORQ 与WR 或RD 组合,进行I/O的读或写,IORQ 与M1(STATUS 1)组合,进行中断响应操作。
MEMRQ (引线34):存储器请求(三态、低有效),当前主控制机产生MEMRQ ,
表明对存储器读写操作。MEMRQ 与WR 或RD 组合,才能进行存储器读或写操作。
IOEXP (引线35):I/O扩展(高扩展、低基本),IOEXP 可由任何一块控制模板产
生。低电平时,表明访问基本I/O地址,高电平时,表明访问扩展I/O地址。
MEMEX (引线36) :存储器扩展(高扩展、低基本) ,MEMEX 可由任何一块控制模
板产生。低电平时,表明基本的存储器有效;高电平时,表明扩展的存储器有效。
2)外围设备定时控制(引线37~40)
REFRESH (引线37) :刷新信号(三态、低有效) ,REFRESH 可由当前主控制机或专
用控制模板产生,用来刷新动态存储器。如果系统中只有静态存储器,可以不考虑
REFRESH 信号。
MCSYNC (引线38) :CPU 机器周期同步(三态、低有效) ,当前主控制机产生MCSYNC ,每个机器周期出现一次,表明一个机器周期的开始。它除了为处理机和外部设
备提供定时同步脉冲外,也可以用来分析总线操作。在存储器操作期间,MCSYNC 的上升沿锁存地址线A16~A23,将分时复用的扩展地址从数据总线上分离出来。
STATUS 1 (引线39) 和STATUS 0 (引线40) :CPU 状态(三态、低有效) ,由当前主控
制机产生,向外部设备提供一种辅助时序信号。对于Z80和8080这两种CPU ,由M1产生
STATUS 1;对于8085,由S1产生STA TUS1,由S0产生STATUS 0。
3)中断和总线控制(41~46)
BUSAK (引线41) :总线响应(低有效) ,当前主控制机产生BUSAK ,表明临时主控
制机可以使用总线。当前主控制机一旦响应总线请求信号BUSRQ ,便立即释放总线并用
BUSAK 给出应答信号。
BUSRQ (引线42) :总线请求(低有效) ,当前主控制机产生BUSRQ ,申请使用总线。BUSRQ 可用于多处理机控制或DMA 操作。
INTAK (引线43) :中断响应(低有效) ,当前主控制机产生INTAK ,表明已准备好响
应中断请求。
INTRQ (引线44) :中断请求(低有效) ,由从模板向主控制机申请中断。
IWAITRQ (引线45) :等待请求(低有效) ,由任何模板产生IWAITRQ 。它暂停处理机
的操作,但并不释放总线,而是保持原有的操作状态和地址信号。
NMIRQ (引线46) :非屏蔽中断(低有效) ,由任何模板产生NMIRQ ,向主控制机申
请最高优先中断。
4)时钟和复位(引线47~50)
SYSRESET (引线47) :系统复位(低有效) ,由电源上电检测电路或控制面板上的复位
按钮产生,使所有需要初始化的模板复位。
PBRESET (引线48) :按钮复位(低有效) ,由任何模板产生,作为系统复位电路的输
入。
CLOCK(引线49) 处理要时钟,由主控制机产生,用作系统时针信号源。
CRTRL(引线50) :辅助定时,由任何模板产生,作为实时时针信号或处理机的外接时针信号。
5)串级优先级链(引线51~52)
PCO(引线51) 和PCI(引线52) :优先级链输出和输入(高电平有效) ,由任何模板产生,用于优先级排队链上作为排队的输出信号和输入信号。在总线母板上同一插座的PCO 和PCI 不相连,而是将PCO 引线连接到相邻插座PCI 引脚上,这样可以将所有插在总线母板上的模块按优先级排队链接在一起。
1. STD总线与存储器和I/O的连接方法 (1)STD 总线与存储器的连接方法
如图2.3(a )所示,总线低位地址A0-A12直接连接到各存储芯片,高位地址A13~A15用来选片。由存储器请求信号(引线34)、地址信号、读或写信号(引线31、32)的组合来控制64K 基本存储器读写操作。如要扩展为128K ,增加一块存储器与STD 总线连接的插件板,利用存储器扩展信号MEMEX (引线36)实现。当基本存储器工作时,MEMEX 为低电平,封锁扩展存储器工作;当扩展存储器工作时,MEMEX 为高电平,封锁基本存储器工作。
(2)STD 总线与I/O的连接
如图2.3(b )所示,地址码的低位字节连接到总线译码器,形成选板信号(A5~A7,A2~A4,两组3:8译码器可选择64块板)和选口信号(A0、A1构成2:4译码器,可选择4个口地址),与读写信号(引线31、32)相结合,最多可寻址256个输入口和256个输出口(设每块板4个输入口和4个输出口),选通I/O端口工作。通过IOEXP (引线35) 可扩展I/O接口板工作。
2.2.2 PC系列总线
PC 总线是IBM PC 总线的简称,PC 总线因IBM 及其兼容机的广泛普及而成为全世界用户承认的一种事实上的标准。PC 系列总线就是以8088/8086为CPU 的IBM/XT及其兼容机的总线基础上发展起来,从最初的XT 总线发展到PCI 局部总线。由于PC 系列总线包括XT 总线、ISA 总线、MCA 总线、ESIA 总线、PCI 总线等多种总线结构,在此仅能对PC 系列总线的发展和特点进行简要介绍。
1. ISA总线
IBM PC 问世初始,就为系统的扩展留下了余地-IO 扩展槽,这是在系统板上安装的系统扩展总线与外设接口的连接器。通过I/O扩展槽,用I/O接口控制卡实现主机板与外设的连接。当时XT 机的数据位宽度只有8位,地址总线的宽度为20根。稍后一些的以80286为CPU 的AT 机一方面与XT 机的总线完全兼容,另一方面将数据总线扩展到16位,地址总线扩展到24根。IBM 推出的这种PC 总线成为8位和16位数据传输的工业标准,被命名为ISA (Industry Standard Architecture)。
ISA 总线的数据传输速率为8MB/s,寻址空间为16MB 。它的特点是把CPU 视为唯一的主模块,其余外围设备均属从模块,包括暂时掌管总线的DMA 控制器和协处理器。AT 机虽然增加了一个MASTER 信号引脚,以作为CPU 脱离总线控制而由智能接口控制卡占用总线的标志,但它只允许一个这样的智能卡工作。
2. MCA总线
由于ISA 标准的限制,尽管CPU 性能提高了,但系统总的性能没有根本改变。系统总线上的I/O和存储器的访问速度没有很大的提高,因而在强大的CPU 处理能力与低性能的系统总线之间形成了一个瓶颈。为了打破这一瓶颈,IBM 公司推出第一台386微机时,便突破了ISA 标准,创造了一个全新的与ISA 标准完全不同的系统总线标准—MCA (Micro Channel Architecture)标准,即微通道结构。该标准定义系统总线上的数据宽度为32位,并支持猝发(burst mode )方式,使数据的传输率提高到ISA 的4倍,达33Mbps
,地址总线
的宽度扩展为32位,支持4GB 的寻址能力,满足了386和486处理器的处理能力。
MCA 在一定条件下提高了I/O的性能,但它不论在电气上还是在物理上均与ISA 不兼容,导致用户在MCA 为扩展总线的微机上不能使用已有的许多I/O扩展卡。另一个问题是为了垄断市场,IBM 没有将这一标准公诸于世,因而MCA 没有形成公认的标准。
3. ESIA总线
随着486微处理器的推出, I/O瓶颈问题越来越成为制约计算机性能的关键问题。为冲破IBM 公司对MCA 标准的垄断,以Compaq 公司为首的9家兼容机制造商联合起来,在已有的ISA 基础上,于1989年推出了EISA (Extension Industry Standard Architecture)扩展标准。EISA 具有MCA 的全部功能,并与传统的ISA 完全兼容,因而得到了迅速的推广。
EISA 总线主要有以下技术特点:
● 具有32位数据总线宽度,支持32位地址通路。总线的时钟频率是33MHz ,数据
传输率为33Mbps ,并支持猝发传输方式。
● 总线主控技术(Bus Master )。扩展卡上有一个称为总线主控的本地处理器,它不
需要系统主处理器的参与而直接接管本地I/O设备与系统存储器之间的数据传输,从而能使主处理器发挥其强大的数据处理功能。
● 与ISA 总线兼容,支持多个主模块。总线仲裁采用集中式的独立请求方式,优先
级固定。提供了中断共享功能,允许用户配置多个设备共享一个中断。而ISA 不支持中断共享,有些中断分配给某些固定的设备。
● 扩展卡的安装十分容易,自动配置,无须DIP 开关。EISA 系统借助于随产品提供
的配置文件能自动配置系统的扩展板。EISA 系统把各个插槽都规定了相应的I/O地址范围,使用这种I/O端口范围的插件不管插入哪个插槽中都不会引起地址冲突。
● EISA 系统能自动地根据需要进行32、16、8位数据间的转换,这保证了不同EISA
扩展板之间、不同ISA 扩展板之间以及EISA 系统扩展板与ISA 扩展板之间的相互通信。
● 具有共享DMA ,总线传输方式增加了块DMA 方式、猝发方式,在EISA 的几个
插槽和主机板中分别具有各自的DMA 请求信号线,允许8个DMA 控制器,各模块可按指定优先级占用DMA 设备。
● EISA 还可支持多总线主控模块和对总线主控模块的智能管理。最多支持6个总线
主控模块。 4. PCI局部总线
微处理器的飞速发展使得增强的总线标准如EISA 和MCA 也显得落后。这种发展的不同步,造成硬盘、视频卡和其他一些高速外设只能通过一个慢速而且狭窄的路径传输数据,使得CPU 的高性能受到很大影响。而局部总线打破了这一瓶颈。从结构上看,局部总线好像是在ISA 总线和CPU 之间又插入一级,将一些高速外设如图形卡、网络适配器和硬盘控制器等从ISA 总线上卸下,直接通过局部总线挂接到CPU 总线上,使之与高速CPU 总线相匹配。
PCI 总线(Peripheral Component Interconnect,外围设备互连总线)是1992以Intel 公司为首设计的一种先进的高性能局部总线。它支持64位数据传送、多总线主控模块和线性猝发读写和并发工作方式。
(1)PCI 局部总线的主要特点如下: ① 高性能
PCI 总线标准是一整套的系统解决方案。它能提高硬盘性能,可出色地配合影像、图形及各种高速外围设备的要求。PCI 局部总线采用的数据总线为32位,可支持多组外围部件及附加卡。传送数据的最高速度为132Mbps 。他还支持64位地址/数据多路复用,其64位设计中的数据传输速率为264Mbps 。而且由于PCI 插槽能同时插接32位和64位卡,实现32位与64位外围设备之间的通信。
② 线性猝发传输
PCI 总线支持一种称为线性猝发的数据传输模式,可以确保总线不断满载数据。外围设备一般会由内存某个地址顺序接收数据,这种线性或顺序的寻址方式,意味着可以由某一个地址自动加1,便可接收数据流内下一个字节的数据。线性猝发传输能更有效地运用总线的带宽传送数据,以减少无谓的地址操作。
③ 采用总线主控和同步操作
PCI 的总线主控和同步操作功能有利于PCI 性能的改善。总线主控是大多数总线都具有的功能,目的是让任何一个具有处理能力的外围设备暂时接管总线,以加速执行高吞吐量、高优先级的任务。PCI 独特的同步操作功能可保证微处理器能够与这些总线主控同时操作,不必等待后者的完成。
④ 具有即插即用(Plug Play)功能
PCI 总线的规范保证了自动配置的实现,用户在安装扩展卡时,一旦PCI 插卡插入PCI 槽,系统BIOS 将根据读到的关于该扩展卡的信息,结合系统的实际情况,自动为插卡分配存储地址、端口地址、中断和某些定时信息,从根本上免除人工操作。
⑤ PCI 总线与CPU 异步工作
PCI 总线的工作频率固定为33MHz ,与CPU 的工作频率无关,可适合各种不同类型和频率的CPU 。因此,PCI 总线不受处理器的限制。加上PCI 支持3.3V 电压操作,使PCI 总线不但可用于台式机,也可用于便携机、服务器和一些工作站。
⑥ PCI 独立于处理器的结构形成一种独特的中间缓冲器设计,将中央处理器子系统与外围设备分开。用户可随意增设多种外围设备。
⑦ 兼容性强
由于PCI 的设计是要辅助现有的扩展总线标准,因此它与ISA 、EISA 及MCA 完全兼容。这种兼容能力能保障用户的投资。
⑧ 低成本、高效益
PCI 的芯片将大量系统功能高度集成,节省了逻辑电路,耗用较少的线路板空间,使成本降低。PCI 部件采用地址/数据线复用,从而使PCI 部件用以连接其他部件的引脚数减少至50以下。
(2)PCI 总线的应用
PCI 局部总线已形成工业标准。它的高性能总线体系结构满足了不同系统的需求,低成本的PCI 总线构成的计算机系统达到了较高的性能/价格比水平。因此,PCI 总线被应用于多种平台和体系结构中。
PCI 总线的组件、扩展板接口与处理器无关,在多处理器系统结构中,数据能够高效地在多个处理器之间传输。与处理器无关的特性,使PCI 总线具有很好的I/O性能,最大限度地使用各类CPU/RAM的局部总线操作系统、各类高档图形设备和各类高速外部设备,如
SCSI 、HDTV 、3D 等。
PCI 总线特有的配置寄存器为用户使用提供了方便。系统嵌入自动配置软件,在加电时自动配置PCI 扩展卡,为用户提供了简便的使用方法。
(3)PCI 总线计算机系统
用PCI 总线构建的计算机系统结构框图如图2.4所示。CPU/Cache/DRAM通过一个PCI 桥连接。外设板卡,如SCSI 卡、网卡、声卡、视频卡、图像处理卡等高速外设,挂接在PCI 总线上。基本I/O设备,或一些兼容ISA 总线的外设,挂接在ISA 总线上。ISA 总线与PCI 总线之间由扩展总线桥连接。典型的PCI 总线一般仅支持3个PCI 总线负载,由于特殊环境需要,专门的工业PCI 总线可以支持多于3个的PCI 总线负载。外插板卡可以是3.3V 或5V ,两者不可通用。3.3V 、5V 的通用板是专门设计的。在图2.4所示系统中,PCI 总线与ISA 总线,或者PCI 总线与ESIA 总线,PCI 总线与MCA 总线是并存在同一系统中,使在总线换代时间里,各类外设产品有一个过渡期。
图2.4 PCI计算机系统结构图
2.3 常用外部总线
外部总线又称为通信总线,用于计算机之间,计算机与远程终端,计算机与外部设备以及计算机与测量仪器仪表之间的通信。该类总线不是计算机系统已有的总线,而是利用电子工业或其他领域已有的总线标准。外部总线又分为并行总线和串行总线,并行总线主要有IEEE-488总线,串行总线主要有RS-232-C 、RS-422、RS-485、IEEE1394以及USB 总线等,在计算机接口、计算机网络以及计算机控制系统中得到了广泛应用,下面主要介绍IEEE-488并行总线、RS-232-C 和RS-485串行总线。
2.3.1 IEEE-488总线
IEEE-488总线是一种并行外部总线,专门用于计算机与测量仪器、输入输出设备,以及这些仪器设备之间的并行通信。当用IEEE-488总线标准建立一个由计算机控制的测试系统时,不用再加一大堆复杂的控制电路,IEEE-488总线以机架层叠式智能仪器为主要器件,
构成开放式的积木测试系统。因此IEEE-488总线是当前工业上应用最广泛的通信总线之一。
1. IEEE-488总线的使用约定 ● 数据传输速率≤10Mbps 。
● 连接在总线上的设备(包括作为主控器的微型机)≤15个 ● 设备间的最大距离≤2m
● 整个系统的电缆总长度≤20m ,若电缆长度超过20m ,则会因延时而改变定时关系,
从而造成可靠性变差。这种情况应增加调制解调器加以解决。 ● 所有数据交换都必须是数字化的。
● 总线规定使用24线的组合插头座,并采用负逻辑,即用小于+0.8V的电平表示逻
辑“1”,用大于2V 的电平表示逻辑“0”。 2. IEEE-488总线设备的工作方式
IEEE-488总线上所连接的设备可按控者、讲者和听者三种方式工作,这三种设备之间是用一条24线的无源电缆互连起来的。该总线的连接情况如图2.5所示。
比如,起动系统中的设备,使之进入受控状态;指定某个设备为讲者,某个设备为听者,并让讲者和听者之间直接通信;处理系统中某些设备的服务请求等。
该总线系统中的讲者功能是通过总线发送信息,而听者功能则是接收别的设备通过总线发送来的信息。
一种设备可以具备几种接口功能,但不一定要包括所有的功能。例如,在图2.5中数字电压表既要有从控者那里接收选择工作状态命令的功能(听功能),又要有把测量结果送给打印机的功能(讲功能);而打印机只要有能够从总线上接收要打印信息的功能(听功能)。
3. IEEE-488总线的引脚定义
为了实现系统中各仪器设备互相通信,IEEE-488总线对系统的基本特性、接口功能、异步通信联络的方式、接口消息的编码等都作了规定,如表2.3所示。按照这些规定,不同厂家生产的仪器设备就可以简便地用一条24线的无源电缆互连起来,组成一个自动测试和数据处理系统。
IEEE-488总线定义了16条信号线和8条地线。这16条信号线按功能可分3组,其中8
条双向数据线,3条数据传输控制线,5条接口管理线。各引线功能如下:
(1)数据线D1~D8,这8条线用来并行传输数据、地址、状态字和命令等信息。 (2)数据传输控制线DA V ,NRFD 和NDAC ;
表2.3 IEEE-488总线引脚定义
● 数据有效线DA V 由讲者操纵,当为低电平时,表示讲者已经把有效数据准备好了,
听者可以接收。
● 未准备好接收数据线NRFD 由听者操纵,当为低电平时,表示总线上至少有一个
听者还没有准备好接收讲者的数据。
● 未接收完数据线NDAC 由听者操纵,当为低电平时,表示总线上至少有一个听者
还没有接收完讲者的数据。
这三条控制线用来使仪器设备之间彼此了解信息传输情况,从而协调信息的传输,实现三线挂钩的异步传输方式,图2.6给出了信息交换的时序图。
下面结合图2.6来分析三线挂钩的工作过程。从①开始,讲者测试NRFD 与NDAC 两线的状态,如果同时为低电平,则将数据送到数据总线上,并将DA V 置成高电平。当听着测得DA V 为高电平时,就把NRFD 置成高电平作为回答。如果总线上有多个听者,则要等到最后一个听者把NRFD 置成高电平,才能使NRFD 线成为高电平,见图中④。当讲者测得NRFD 线为高电平时,说明全部听者都已准备好接收讲者的数据,讲者使DA V 变为低电平,表示数据线上的数据有效,见图中的⑤。当听者测得DA V 为低电平时,便立即将NRFD 拉回到低电平,见图中的⑥,这意味着在结束处理此数据的之前不准备接收别的数据。听者一旦接收完数据就把NDAC 置成高电平作为对讲者的回答,如果总线上有多个听者,则要等到最后一个接收完数据的听者把NDAC 置成高电平,才能使NDAC 线为高电平,见图中⑦。当讲者测得NDAC 为高电平时,说明全部听者都已接收完讲者的数据,便立即使DA V 变为高电平,见图中⑧;并撤销数据线上的信息,见图中的⑨;同时所有的听者把各自的NDAC 拉回低电平,见图中⑩。至此,一次三线挂钩工作完成,完成了一个字节数据的传输工作。此后,按此定时关系重复进行,直至全部数据传输完毕。三线挂钩方式是一种适应性很强的异步确认工作方式,允许快速和慢速设备同时连接在IEEE-488总线上。
(3)接口管理线IFC 、SRQ 、ATN 、EOI 和REN
● 接口清除线IFC 由控者操纵,当为低电平时,所有讲者停止发送,所有听者不接
收信息,系统进入初始状态,停止总线工作。
● 服务请求线SRQ 由讲者或听者发出,当为低电平时,要求控者对它的事件进行处
理。但请求能否得到控制器的响应,完全由程序安排,当系统中有计算机时,SRQ 是发向计算机的中断请求。
● 监视线A TN 由控者操纵,它决定了8条数据线的使用方式。当ATN=“0”时,表
示命令方式,由控者使用数据线;当ATN=“1”时,表示数据发送,由听者或讲者使用数据线。
● 结束或识别线有EOI 有两种用途。在数据方式(A TN 为高电平),当EOI 为低电
平时,表示发送数据结束;在命令方式(ATN 为低电平),当EOI 为低电平时,表示控者开始执行并进行点名识别操作,以确定哪台设备可优先获得服务。 ● 远程选择线REN 由控者发出,当为低电平时,控者对系统中的听者寻址,使听者
处于远程控制状态;当为高电平时,则使系统中的设备回到本地控制状态。
2.3.2 RS-232-C总线
RS-232-C 总线是一种串行外部总线,专门用于数据终端设备DTE 和数据通信设备DCE 之间的串行通信,是1969年由美国电子工业协会(EIA )从CCITT 远程通信标准中导出的一个标准。当初制定该标准的目的是为了使不同生产厂家生产的设备能够达到接插的“兼容性”。
RS-232-C 总线分别定义了机械特性标准和电气特性标准。 1. RS-232-C总线的机械特性
RS-232-C 总线的接口连接器采用DB-25插头和插座,其中阳性插头(DB-25-P )与DTE 相连,阴性插座(DB-25-S )与DCE 相连。DB-25连接器的25个插针(引线)的编号及定义分别见图2.7和表2.4。
表2.4 RS-232C总线引脚分配
RS-232-C 25个引脚只定义了22个。通常使用的RS-232-C 接口信号只有9根引脚,即为表2.4中用“*”标出的9根引线,即常用的9针串口引线,其插头插座在RS-232-C 的机械特性中都有规定。其中,最基本的三根线是发送数据线2、接收数据线3和信号地线7,一般近距离的CRT 终端、计算机之间的通信使用这三条线就足够了。其余信号线通常在应用MODEM (调制解调器)或通信控制器进行远距离通信时才使用。
常用的9根引脚分为两类:一类是基本的数据传送引脚,另一类是用于调制解调器(MODEM )的控制和反映其状态的引脚。
基本数据传送引脚包括:TXD 、RXD 和GND (2、3、7引脚)。TXD 为数据发送引脚,数据发送时,发送数据由该引脚发出,在不传送数据时,异步串行通信接口维持该引脚为逻辑“1”。RXD 为数据接收引脚,来自通信线的数据信息由该引脚进入接收设备。GND 为信号地,该引脚为所有电路提供参考电位。
MODEM 控制和状态引脚分为两组,一组为DTR 和RTS ,负责从计算机通过RS-232C 接口送给MODEM ,其中DTR 数据终端准备好引脚,用于通知MODEM 计算机准备好了,可以通信了;RTS 请求发送引脚,用于通知MODEM 计算机请求发送数据。另一组为DSR 、CTS 、DCD 和RI ,负责从MODEM 通过RS-232C 接口送给计算机的状态信息。其中,DSR 为数据通信设备准备好引脚,用于通知计算机,MODEM 准备好了;CTS 为允许发送引脚,用于通知计算机MODEM 可以接收数据了;DCD 为数据载体检测引脚,用于通知计算机
MODEM 与电话线另一端的MODEM 已经建立了联系;RI 为振铃信号指示引脚,用于通知计算机,有来自电话网的信号。
2. RS-232C总线的电气特性
RS-232C 标准的电气性能主要体现在电气连接方式、电气参数及通信速率等方面。 (1) 电气连接方式
EIA 的RS-232C 及CCITT(国际电话电报咨询委员会) 的V.28建议采用如图2.8所示的电气连接方式。
①非平衡的连接方式,即每条信号线只有一条连线,信道噪声会叠加在信号上并全部反
映到接收器中,因而会加大通信误码率,但却最大限度降低了通信成本。
②采用点对点通信,只用一对收发设备完成通信工作,其驱动器负载为3~7kΩ。 ③公用地线,所有信号线共用一条信号地线,在短距离通信时有效地抑制了噪声干扰;但不同信号线间会通过公用地线产生干扰。
(2)电气参数
电气连接方式决定了其电气参数。电气参数主要有:
① 引线信号状态 RS-232C 标准引线状态必须是以下三种之一,即SPACE/MARK(空号/传号) 、或ON/OFF(通/断) 、或逻辑0/逻辑1。
② 引线逻辑电平 在RS-232C 标准中,规定用-3~-15V 表示逻辑1;用+3~+15V表示逻辑0。可以看出,从逻辑1到逻辑0之间有-3~+3V(6V)的过渡区,这说明即使信号线受到干扰,其信号逻辑也很难发生变化。此外,RS-232C 标准还规定发送端与接收端之间必须保证2V 的噪声容限。噪声容限是指发送端必须达到的逻辑电平绝对值下限与接收端识别输入所需绝对值下限之差。由于RS-232C 接收绝对值下限为|-3|=3V,噪声容限为2V ,则发送端下限绝对值必须为3V+2V=5V。也就是说,在发送端,其逻辑电平分别为:+5~+15V表示逻辑0;-5~-15V 表示逻辑1。
③ 旁路电容 RS-232C 终端一侧的旁路电容C 小于2500pF 。 ④ 开路电压 RS-232C 的开路电压不能超过25V 。
⑤ 短路抑制性能 RS-232C 的驱动电路必须能承受电缆中任何导线短路,而不至于损坏所连接的任何设备。
(3)通信速率
RS-232C 标准的电气连接方式决定其通信速率不可能太高。非平衡连接及共用地线都会使信号质量下降,通信速率也因此受到限制(最高通信速率为115200bps) 。除此之外,由于受噪声的影响,RS-232C 标准规定通信距离应小于15m 。
3. RS-232-C总线的通信结构
RS-232C 的典型的数据通信结构如图2.9所示。图2.9(a)是具有MODEM 设备的远距离通信线路。数据终端设备DTE ,如计算机、终端显示器,通过RS-232C 接口和数据通信设备DCE 如调制解调器连接起来,再通过电话线和远程设备进行通信。电话线的两端都有DCE ,即MODEM 设备。MODEM 除具有调制和解调功能外,还必须具有控制功能和反映状态的功能。这些控制功能用来完成与RS-232C 接口以及电话线另一端的MODEM 进行信息交换和联络控制。
(a )
(b )
图2.9(a )使用了最常用的5根信号线,提供了两个方向的数据线(发送和接收数据)和一对控制数据传输的握手线RTS 和DSR 。
图2.9(b )是不用MODEM 的直接通信线路。在实际使用中,若进行近距离通信,即不通过电话线进行远距离通信,则不需要使用DCE ,而直接把DTE 连接起来,称为零调制解调器连接,因为此时调制解调器已经退化成了一个线路交叉。两个DTE 之间可以利用表2.4列出的常用9根线进行通信双方的握手联络。
图2.10最简单的RS-232C 数据通信 图2.11 RS-232C发送和接收电路
还有一种简单的连接线路,如图2.10所示,仅用3根基本的数据传送线:发送数据线2、接收数据线3和信号地线7。一般近距离CRT 终端与计算机之间的通信使用这3
根线就足
够了,例如PC 机向单片机开发装置传送目标程序时,采用这种简单的连接线路即可。
4. RS-232C总线的接口电路
一般CRT 终端和计算机采用TTL 输入/输出电平,为了满足RS-232-C 信号电平,采用集成电路MC1488发送器和MC1489接收器,进行TTL 电平与RS-232-C 电平的相互转换,如图2.11所示。
由于采用单端输入和公共信号地线,容易引进干扰。为了保证数据传输的正确性,RS-232C 总线规定DTC 与DCE 之间的通信距离不大于15m ,传送信号速率不大于20Kbps 。全双工通信的接口电路如图2.12所示,每个信号使用一般导线,DTE 与DCE 之间公用一根信号地线。由于采用单端输入公共信号地线,所以容易引进干扰。
图2.12 RS-232C的接口电路示例
2.3.3 RS-422和RS-485总线
RS-232C 虽然应用很广,但因其推出较早,在现代网络通信中已暴露出明显的缺点,如数据传输速率慢、通信距离短、未规定标准的连接器、接口处各信号间易产生串扰等。鉴于这些原因,EIA 先后推出了新的标准RS-449、RS-422以及RS-485等总线标准,这些标准除了与RS-232C 兼容外,在加快传输速率、增大传输距离、改进电气性能等方面都有了明显提高。
1. RS-422A标准接口
RS-422由RS-232C 发展而来。为改进RS-232C 通信距离短、速度低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbit/s,在此速率下电缆允许长度为120m, 并允许在一条平衡总线上连接最多10个接收器。如果采用较低传输速率,如9000bps 时,最大距离可达1200m 。RS-422是一种单机发送、多机接收的单向、平衡传输的总线标准。
RS-422标准规定了双端电气接口型式,使用双端线传送信号。它通过传输线驱动器,把逻辑电平变换成电位差,完成始端的信息传送;通过传输线接收器,把电位差转变成逻辑电平,实现终端的信息接收,如图2.13所示。在电路中规定只能有一个发送器,可以有多个接收器,可以支持点对多的通信方式。该标准允许驱动器输出为±2~±6v ,接收器可以检测到的输入信号电平可低到200mV 。
图2.13 RS-422电气连接图
RS-422的数据信号采用差分传输方式传输。RS-422 有4 根信号线,两根发送、两根接收,RS-422 的收与发是分开的,支持全双工的通讯方式。由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。一个主设备(Master ),其余为从设备(Salve ),从设备之间不能通信,所以RS-422支持点对多的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。 RS-422的最大传输距离为1200m ,最大传输速率为10Mbps 。其平衡双绞线的长度与传输速率成反比,在100kbps 速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。RS-422需要连接一个终端电阻,要求其阻值约等于传输电缆的特性阻抗。在短距离传输(300米以内)时可不需连接终端电阻,终端电阻需接在传输电缆的最远端。为了满足RS-422-A 标准,采用集成电路MC3487发送器和MC3486接收器,如图2.14所示
图2.14 RS-422A接口电路示意图 图2.15 RS-485接口示意图
2. RS-485标准接口
RS-485是一种多发送器的电路标准,它是RS-422A 性能的扩展,是真正意义上的总线标准。它允许在二根导线(总线) 上挂接32台RS-485负载设备。负载设备可以是发送器、被动发送器、接收器或组合收发器(发送器和接收器的组合)。图2.15给出了RS-485的接口示意图,从图中可以看出,它也是差分驱动(发送器) 电路,在发送控制允许(高电平)的情况下,TXD 端的TTL 电平经发送器转换成RS-485标准的差分信号,送至RS-485总线。同样RS-485总线上的差分信号,在接收允许(低电平)的情况下,经接收器转换后变成TTL 电平信号,供计算机或设备接收。
RS485具有以下特点:
(1)RS-485的电气特性:逻辑“1”以两线间的电压差为+2V~+6V表示;逻辑“0”以两线间的电压差为-2V~ -6V表示。接口信号电平比RS-232-C 降低了,就不易损坏接口电路的芯片,且该电平与TTL 电平兼容,可方便与TTL 电路连接。
(2)RS-485的数据最高传输速率为10Mbps
(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强。
(4)RS-485接口的最大传输距离为1200m ,在总线上允许连接多达128个收发器,即具有多站能力和多机通信功能,这样用户可以利用单一的RS-485接口方便地建立起半双工通信网络。可以说RS-485是一个真正意义上的总线标准。
因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 RS485接口组成的网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。
RS-485与RS-422的区别在于:
①硬件线路上,RS-422至少需要4根通信线,而RS-485仅需2根;RS-422不能采用总线方式通信,但可以采用环路方式通信,而RS-485两者均可。
②通信方式上,RS-422可以全双工,而RS-485只能半双工。
③两者的其它差异见表2.5所示。
表2.5 RS_485与RS422比较
2.3.4 串行总线协议转换器
在计算机控制系统中,通常主机提供了RS-232C 标准接口,而控制系统往往分布较远,单独由RS-232C 不能实现远距离的通讯任务,就需要进行与RS-485或RS-422 的转换,并且利用RS-485网络功能,可以很方便的实现RS-485通讯网络。完成这种转换的器件很多,可以分为有源和无源两种,有源转换器须提供标准电源,无源转换器利用RS-232C 内部的电源信号供电。下面以一种型号为JMW1801的RS-232/RS-485转换器为例说明其使用。
JMW1801无源转换器支持半双工通信,利用串口窃电技术供电,无须外供电源;支持远程通信(大于1.2Km )和多机通信(128接点),DB9/DB9结构,速率:0~115.2Kbps 自适应。
利用JMW1801可以方便的实现RS-232C 与RS-485的转换,并搭建起RS-485通信网络,如图2.16所示。
图2.16 由RS-232C/RS485协议转换器实现的串行通信结构
2.3.5 通用串行总线(USB )
通用串行总线USB 的规范是IBM 、Compaq 、Intel 、Microsoft 、NEC 等多家公司联合制订的。先后推出了USB1.0、USB1.1、USB2.0和USB On-The-Go (OTG )总线标准。现在
最为流行的是USB1.1和USB2.0标准。在USB 1.1版本中定义了两种速度的传输工作模式,低速(Low Speed)模式和全速(Full Speed)模式,低速模式下数据传输速度为1.5 Mb/s,全速模式下USB 的传输速度峰值达到了12 Mb/s。在USB2.0版本中推出了高速(High Speed)模式将USB 总线的传输速度提高到了480 Mb/s的水平。
1. USB设备的主要特点
目前,USB 协议已经得到广泛应用,微机系统的外设几乎都已经支持USB 协议,PC 机、服务器、数码类产品几乎都把USB 接口作为其基本配置,这主要得益于USB 本身所具有的特点。采用USB 接口的设备支持热拔插,使用户在开机状态时即可将设备连接到电脑主机上,免除了使用户感到厌烦的重新启动过程。USB 接口可以同时连接127台USB 设备。速度方面,USB 1.1总线规范定义了12 Mb/s的带宽,足以满足大多数诸如键盘、鼠标、Modem 、游戏手柄以及摄像头等设备的要求,而USB2.0所提供的480Mb/s的传输速度,更是满足了硬盘、音像等需要高速数据传输的场合,表2.6给出了USB 协议提供的三种速率及其适用范围。同时总线能够提供500 mA的电流,可以免除一些耗电量比较小的设备连接外接电源。
表2.6 USB传输速率及其适用范围
2. USB设备及其体系结构
USB 总线是一种串行总线,支持在主机与各式各样即插即用的外设之间进行数据传输。它由主机预定传输数据的标准协议,在总线上的各种外设上分享USB 总线带宽。当总线上的外设和主机在运行时,允许自由添加、设置、使用以及拆除一个或多个外设。
USB 总线系统中的设备可以分为三个类型,一是USB 主机,在任何USB 总线系统中,只能有一个主机。主机系统中提供USB 总线接口驱动的模块,称作USB 总线主机控制器。二是USB 集线器(HUB ),类似于网络集线器,实现多个USB 设备的互连,主机系统中一般整合有USB 总线的根(节点) 集线器,可以通过次级的集线器连接更多的外设。三是USB 总线的设备,又称USB 功能外设,是USB 体系结构中的USB 最终设备,如打印机、扫描仪等,接受USB 系统的服务。
USB 总线连接外设和主机时,利用菊花链的形式对端点加以扩展,形成了如图2.17所示的金字塔型的外设连接方法,最多可以连接7层,127台设备,有效地避免了PC 机上插
槽数量对扩充外设的限制,减少PC 机I/O接口的数量。
3. USB的传输方式
针对设备对系统资源需求的不同,在USB 规范中规定了四种不同的数据传输方式。
(1)控制(Control)传输方式
该方式用来配置和控制主机到USB 设备的数据传输方式和类型。设备控制指令、设备状态查询及确认命令均采用这种传输方式。当USB 设备收到这些数据和命令后,将依据先进先出的原则处理到达的数据。
(2)中断(Interrupt)传输方式
虽然该方式传送的数据量很小,但这些数据需要及时处理,以达到实时效果。此方式主要用在键盘、鼠标以及操纵杆等设备上。
(3)同步(Isochronous)传输方式
该方式用来连接需要连续传输数据且对数据的正确性要求不高,而对时间极为敏感的外部设备,如麦克风、喇叭以及电话等。同步传输方式以固定的传输速率,连续不断地在主机与USB 设备之间传输数据,在传送数据发生错误时,USB 并不处理这些错误,而是继续进行新数据的传送。
(4) 批(Bulk)传输方式
该方式用来传输要求正确无误的大批量的数据。通常打印机、扫描仪和数字相机以这种方式与主机连接。
4. USB设备的电气连接
USB 连接分为上行连接和下行连接。所有USB 外设都有一个上行的连接,上行连接采用A 型接口,而下行连接一般则采用B 型接口,这两种接口不可简单地互换,这样就避免了集线器之间循环往复的非法连接。一般情况下,USB 集线器输出连接口为A 型口,而外设及HUB 的输入口均为B 型口。所以USB 电缆一般采用一端A 口、一端B 口的形式。USB 电缆中有四根导线:一对互相绞缠的标准规格线,用于传输差分信号D+和D-,另有一对符合标准的电源线VBUS 和GND ,用于给设备提供+5 V电源。USB 连接线具有屏蔽层,以避免外界干扰。USB 电缆如图2.18所示,USB 连接线定义见表2.7。
图2.18 USB的电缆
图2.17中,两根双绞的数据线D+、D-用于收发USB 总线传输的数据差分信号。低速模式和全速模式可在用同一USB 总线传输的情况下自动地动态切换。数据传输时,调制后的时钟与差分数据一起通过数据线D+、D-传输出去,信号在传输时被转换成NRZI 码(不归零反向码) 。为保证转换的连续性,在编码的同时还要进行位插入操作,这些数据被打包成有固定时间间隔的数据包,每一数据包中附有同步信号,使得收方可还原出总线时钟信号。USB 对电缆长度有一定的要求,最长可为5 m。终端设备位于电缆的尾部,在集线器的每个端口都可检测终端是否连接或分离,并区分出高速或低速设备。
表2.7 USB连接线定义
图2.19给出了USB1.1中设备和主机的连接方法。区分全速和低速连接主要在于设备端,全速连接法需要在D+上接一个1.5 k Ω的上拉电阻,而低速接法是将此电阻接到D-上。在进行信息传输之前,无论数据是发送给USB 设备还是来自给定的USB 设备,主机软件首先都必须检测USB 设备是否存在,同时还要检测该设备是一个全速设备还是一个低速设备。USB 集线器通过监视差分数据线来检测设备是否已连接到集线器的端口上,当没有设备连接到USB 端口时,D+和D-通过下拉电阻Rpd 电平都是近地的。而USB 设备必须至少在D+和D-线的任意一条上有一个上拉电阻Rpu ,由于Rpu=1.5KΩ,Rpd=15KΩ,所以当USB
接近Vcc 的时候,而另一条保持近地电压,并且这种情况超过2.5微秒时,就认为设备已经连接到该端口上了。集线器再通过检测不同的数据线电压是否接近Vcc 来判别是哪一类USB 设备连接到其端口上,如果D+电平接近Vcc ,D-近地,则所连设备为全速设备,而如果D-电平接近Vcc ,D+近地,则所连设备为低速设备,当D+和D-的电压都降到0.8V 以下,并持续2.5微妙以上的话,就认为该设备断开连接了。
5. USB协议的发展
现在使用USB 的外设越来越多,例如可移动硬盘、各种U 盘、MP3播放器、数码相机、数码摄像机、机顶盒、数码录音笔等,并且厂商对于USB 硬件和软件的支持也越来越完备,现在开发一个USB 外设产品,所需投入的时间和成本大为降低。但是,随着USB 应用领域的扩大,人们对于USB 的期望也越来越高,希望USB 设备能够摆脱协议中居于核心地位的主机控制,直接进行两个USB 设备的互连。鉴于这种需求,早在2001年就正式推出了USB On-The-Go 协议1.0版本,简称OTG1.0。USB OTG 协议是对USB2.0的补充协议,基本上符合USB2.0规范。与以前USB 协议所不同的是符合USB OTG协议的设备完全抛开了PC ,既可以作为主机,也可以作为外设使用,与另一个符合OTG 协议的设备直接实现点对点的
通讯。相信随着USB 协议的不断完善,其功能将更加强大,应用领域也必将更加广阔。
习题
1. 什么叫总线?为什么要制定计算机总线标准?
2. 计算机总线可以分为哪些类型?
3. 评价总线的性能指标有哪些?
4. STD 总线有哪些特点?
5. 常用的PC 总线有哪些?各有什么特点?
6. 简述IEEE-488总线的工作过程。
7. 详述RS-232C 、RS485和RS422总线的特点和性能。
8. RS-232C 总线常用的有哪些信号?如何通过该接口实现远程数据传送?
9. 什么是平衡方式和不平衡传输方式?试比较两种方式的性能。
10.USB 协议中定义了几种设备? 在USB1.1中是如何区分高速设备和低速设备的?
28