1、第 7 章 总线系统7.1.1 总线的基本概念1. 总线基本特性及其分类物理特性总线的物理特性包括总线的物理连接方式、连线的类型、连线的数量、接插件的形状和尺寸、引脚线的排列方式等方面。根据连线的类型,计算机系统的总线可分为电缆式、主板式和背板式。电缆式总线通常采用扁平电缆连接电路板;主板式总线通常在主机板上采用插槽方式供电路板插入;背板式总线则在机箱中设置一个插槽板,其他功能模块或设备电路板都以插板的方式插入背板。根据连线的数量,总线一般可分为串行总线和并行总线。串行总线采用一条线路传输信号;并行总线采用多条线路并行地传输信号,一般有 8 位总线,16 位总线,32 位总线和 64 位的总线
2、等。功能特性总线的功能特性包括总线的功能层次、资源类型、信息传递类型、信息传递方式和控制方式等。计算机系统中可以有多个层次的总线:芯片级的、板级的和系统级的。CPU 芯片内部有的总线式芯片级的总线,这种总线也称内部总线,是连接 CPU 内部运算器等部件的数据通路。板极总线连接主机系统印刷电路板 CPU 和主存等部件,通常也称局部总线。电气特性总线的电气特性定义为每一条信号线的信号传递方向、信号的时序特征和电平特征。从允许的数据传输方向来看,总线可以有单向传输(单工) 总线和双向传输(双工) 总线两种。双向传输的总线又可分为半双工的和全双工的。单向总线只能将信息从总线的一端传输到另一端,不能反向
3、传输。半双工总线可以在两个方向上轮流传输信息,全双工总线可在两个方向上同时传输信息。总线中的单向信号线有输入信号线,输出信号线之分。在单处理机总线中,一般规定送入 CPU 的信号为输入信号,从 CPU 发出的信号为输出信号。这种总线中的地址线一般为输出信号线,数据线为双向信号线,控制信号线有输入信号线,也有输出信号线。2. 总线的性能参数线时钟频率: 总线的工作频率,以 MHz 表示,它是影响总线传输速率的重要因素之一。总线宽度: 数据总线的位数,用位(bit)表示,如总线宽度为 8 位、16 位、32 位和 64位。总线传输速率: 在总线上每秒传输的最大字节数,MB/s 表示,即每秒多少兆字
4、节。若总线工作频率 8MHz,总线宽度 8 位,则最大传输速率为 8MB/s。若工作频率33.3MHz,总线宽度 32 位,则最大传输速率为 133MB/s。同步方式有同步或异步之分。在同步方式下,总线上主模块与从模块进行一次传输所需的时间(即传输周期或总线周期)是固定的,并严格按系统时钟来统一定时主、从模块之间的传输操作,只要总线上的设备都是高速的,总线的带宽便可允许很宽。在异步方式下,采用就答式传输技术,允许从模块自行调整响应时间,即传输周期是可以改变的,故总线带宽减少。多路复用数据线和地址线是否共用。若地址线和数据线共用一条物理线,即某一时刻该线上传输的是地址信号,而另一时刻传输的是数据
5、或总线命令。这种一条线做多种用途的技术,叫做多路复用。若地址线和数据线是物理上分开的,就属非多路复用。采用多路复用,可以减少总线的数目。负载能力一般采用“可连接的扩增电路板的数量”来表示。其实这并不严密,因为不同电路插板对总线的负载是不一样的,即使是同一电路插板在不同工作频率的总线上,所表现出的负载也不一样,但它基本上反映了总线的负载能力。信号线数 表明总线拥有多少信号线,是数据、地址、控制线及电源线的总和。信号线数与性能不成正比,但与复杂度成正比。总线控制方式 如传输方式(猝发方式) ,并发工作,设备自动配置,中断分配及仲裁方式。其他性能 电源电压等级是 5V 还是 3.3V,能否扩展 64
6、 位宽度等。7.1.2 总线标准所谓总线就是一组进行互连和传输信息(指令、数据和地址) 和信号线。但是,计算机的总线,都是有特定含义的。如“局部总线” , “系统总线”和“通信总线”等等,它们都具有其明确的定义与内容。因此,一提到总线,就一定要指出是什么样的总线,才有意义。总线标准是指芯片之间、插板之间及系统之间,通过总线进行连接和传输信息时,应遵守的一些协议与规范,包括硬件和软件两个方面,如总线工作时钟频率、总线信号定义、总线系统结构、总线仲裁机构、电气规范、机械规范和实施总线协议的驱动与管理程序。平时我们通常说的总线,实际上指的是总线标准。不同的标准,就形成了不同类型和同一类型不同版本的总
7、线。比较常用的总线标准有:ISA 总线、EISA 总线、VESA 总线、PCI 总线。有关总线的分类、定义及其标准将在后面详细讨论。7.1.3 总线的基本概念1.串行传输串行传输是指数据的传输在一条线路上按位进行。在计算机中普遍使用串行的通信线路连接慢速的外围设备,如终端、鼠标器和调制解调器等。近年出现的中高速串行总线可连接各种类型的外围设备,可传输多媒体信息。串行传输只需一条数据传输线,线路的成本低,适合于长距离的数据传输。在串行传输时,被传输的数据需要在发送设备中进行并行到串行的变换;而在接收设备中又需要进行串行到并行的变换。串行总线是一种信息传输信道。在信息传输通道中,携带数据信息的信号
8、单元叫码元,每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。波特率的倒数称为码元时间,又称为位时间,即传输一位码元所需要的时间。每秒钟通过信道传输的信息量称为位传输速率。比特率表示有效数据的传输速率。波特率和比特率是不同的,波特率是传输线路上信号的传输速率,而比特率是信息传输的速率。波特率和比特率之间有一定的对应关系,这种对应关系来源于两个因素:一是通过编码消除数据冗余以提高通信效率的措施;另一个因素是按一定规则增加一定的同步信息代码和冗余代码,以降低传输的误码率的措施。前一个措施使得比特率提高,2.并行传输用并行方式传输二进制信息时,对每个数据位都需要单独
9、一条传输线。在并行传输方式中,所有的数据位同时进行传输。在采用并行传输方式的总线中,除了有传输数据的线路外,还可以具有传输地址和控制信号的线路。地址线用于选择存储单元和设备,控制线用于传递操作信号。为了传输各种不同的控制信号,在并行传输方式中可为每个控制信号专门设置一条信号线。所以并行数据传输比串行数据传输快得多,但需要很多信号线。3.复合传输复合传输方式又称为总线复用的传输方式,它使不同的信号在同一条信号线上传输,总线设计的目标是用较少的线数实现较高的传输速率。通常采用的方法是信号分时的方法,即不同的信号在不同的时间片中轮流地向总线的同一条信号线上发出。它与并串行传输的区别在于分时地传输同一
10、数据源的不同信息。7.1.4 总线仲裁总线上的设备一般分为总线主设备和总线从设备。总线主设备是指具有控制总线能力的模块,通常是 CPU 或以 CPU 为中心的逻辑模块,在获得总线控制权之后能启动数据信息的传输;与之相对应的总线从设备,是指能够对总线上的数据请求做出响应,但本身不具备总线控制能力的模块。在早期的计算机系统中,一条总线上只有一个主设备,总线一直由它占用,技术简单,实现也比较容易。随着应用的发展,主要是工业控制、科学计算的需求,多个主设备共享总线的情况越来越多,这对总线技术提出了新的要求。根据这类系统的特点,需要解决各个主设备之间资源争用等问题,这使得总线的复杂性大为增加。总线仲裁就
11、是在多个总线主设备的环境中提出来的。在多处理机系统中,每个处理机都可以作为总线主设备,都要共享资源,它们都必须通过系统总线才能访问其它资源,总线也可视为是一种重要的公共资源。由于每个处理机都会随机地提出对总线使用的要求,这样就可能发生总线竞争现象。为了防止多个处理机同时控制总线,就要在总线上设立一个处理上述总线竞争的机构,按优先级次序,合理地分配资源,这就是总线仲裁问题。用硬件来实现总线分配的逻辑电路称为总线仲裁器(Bus Arbiter)。它的任务是响应总线请求,通过对分配过程的正确控制,达到最佳使用总线。对总线仲裁问题的解决是以优先级(又称优先权) 的概念为基础的,通常有三种总线分配的优先
12、级技术串联、并联和循环。1. 串联优先级判别法。等 N 个模块,都可作为总线主设备,各个模块中的“请求”输出端采用集电极( 漏极)开路门, “请求”端用“线或”方式接到仲裁器“请求”输入端,每个模块的“忙”端同仲裁器的“总线忙”状态线相连,这是一个输入输出双向信号线。当一个模块占有总线控制权时,该模块的“忙”信号端成为输出端,向系统的“忙”状态线送出有效信号(例如低电平) 。其它模块的“忙”信号端全部作为输入端工作,检测“忙”线上状态。一个模块若要提出总线“请求” ,其必要条件是选检测到“忙”信号输入端处于无效状态。与此相应,仲裁器接受总线请求输入的条件,也是“忙”线处于无效状态。进一步可以规
13、定仲裁器输出“允许”信号的条件首先是“忙”线无效,表示总线没有被任一模块占用;其次才是有模块提出了总线请求。 “允许”信号在链接的模块之间传输,直到提出总线“请求”的那个模块为止。这里用“允许”信号的边沿触发,它把共享总线的各模块要使用总线时,便发生信号禁止后面的部件使用总线。通过这种方式,就确定了请求总线各模块中优先级最高的模块。显然,在这种方式中,当优先级高的模块频繁请求时,优先级别低的模块可能很长时间都无法获得总线。一旦有模块占用总线后, “允许”信号就不再存在。2. 并联优先级别判别法。N 个模块,都可作为总线主设备,每个模块都有总线“请求”线和总线“允许”线,模块之间是独立的,没有任
14、何控制关系。这些信号接到总线优先控制器(仲裁器) ,任一模块使用总线,都要通过“请求”线向仲裁器发出“请求”信号。仲裁器一般由一个优先级编码器和一个译码器组成。该电路接到某个模块或多个模块发来的请求信号后,首先优先级编码器进行编码,然后由译码器产生相应的输出信号,发往请求总线模块中优先级最高的模块,并把“允许”信号送给该模块。被选中的模块撤销总线“请求”信号,输出总线“忙”信号,通知其余模块,总线已经占用。在一个模块占用总线的传输结束以后,就把总线“忙”信号撤销,仲裁器也撤销“允许”信号。根据各请求输入的情况,仲裁器重新分配总线控制权。3.循环优先级判别法。循环优先级判别方法类似于并联优先级判
15、别方法,只是其中的优先级是动态分配的,原来的优先级编码器由一个更为复杂的电路代替,该电路把占用总线的优先级在发出总线请求的那些模块之间循环移动,从而使每个总线模块使用总线的机会相同。7.1.5 总线通信协议总线通信同步方式规定了实现总线数据传输的定时规则,这种规则又称为总线通信协议。总线数据通信方式按照传输定时的方法可分为同步式和异步式两类。这里以处理器总线为例进行说明。1. 同步通信在同步方式中,所有的设备都从同一个公共的时钟信号中获得定时信息。一定频率的时钟信号线定义了等间隔的时段,每一个时间段定义了一个总线周期。在这个时序图中,t0 时刻 CPU 将设备地址放到设备地址线上并设置模式控制
16、线以表示读数据操作。这个信号通过总线传到设备时经过一定的时间延迟,被访问的设备收到这些信号后进行译码和回答也需要一定时间。因此时钟的宽度 t1-t0 应大于从 CPU 到设备之间的最大延迟加上设备对地址进行译码的时间,以使设备能够在时刻 t1 作出响应。被寻址的设备在识别到读操作的请求之后,将数据在 t1 时放到数据线上。经过一定的延迟之后,CPU 在 t2 时读入数据,t2-t1 应大于总线数据的延迟以及 CPU 的寄存器的数据建立时间。在 t2 之后数据保持一段时间,到 t3 时所有的总线信号被清除,准备进行一个总线操作周期。2. 异步通信另一种总线操作使用一个在 CPU 和设备之间的“握
17、手”信号,去除了公共的时钟信号,从而使得操作成为异步的。两条握手信号分别称为“就绪”(ready)和“应答”(ack-nowledge)。在异步方式下,总线操作周期时间不是固定的,操作的每个步骤都有一个信号表示。异步方式允许总线周期有较大的变化范围。根据握手信号的相互作用,异步通信方式可有非互锁、半互锁和全互锁三种可能的方式。在非互锁方式中,发送设备将数据放在总线上,延迟一定时间后发出就绪信号,通知对方数据已在总线上,接收设备根据这个就绪信号接收数据,并发出应答信号作回答,表示数据已接收到,发送设备收到应答信号后可以撤销数据,以便进行下一次传输。上述握手信号发出后,经过固定的时间就自动撤销。如
18、果总线上各设备之间的速度差异很大,这种方式比较简单,有利于提高传输速度,但有时不能保证就绪信号和应答信号正确到达对方。因为,当握手信号过短时,速度慢的设备容易将其错过,而当握手信号过长时则会延迟到下一个周期,使下一周期的握手产生错误。半互锁方式与非互锁方式类似,只是让就绪信号保持到发送设备接收到应答信号为止。这样解决了就绪信号的宽度问题,但应答信号的宽度仍难以确定。在全互锁方式中,数据发送设备在发出数据后发出数据准备就绪信号,接收设备在接收到后发出应答信号,发送设备在收到应答后复位就绪信号,在就绪信号复位后接收设备才复位应答信号。这样,就绪信号和应答信号的宽度是依据传输情况而变化的,传输距离不
19、同,信号的宽度也不同,从而解决了通信中的异步定时问题。这种异步互锁式总线被广泛采用,因为它可适合各种工作速度的设备,总线周期是可变的,但它比较复杂,每次传输数据时需要传递四个握手信息,不利于提高传输速度。由于全互锁方式中的就绪信号和应答信号的上升边沿和下降边沿都是触发边沿,因此这种方式称为四边沿协议。7.1.6 总线负载能力所谓总线的负载能力即驱动能力,是指当总线接上负载(接口设备) 后必须不影响总线输入/输出的逻辑电平。例如 PC 总线中的输出信号,在输出低电平要吸收电流(由负载流入信号源),以 IOL 表示,这时的负载能力就是指当它吸收了规定电流时,仍能保持逻辑低电平。输出高电平的负载能力
20、以 IOH 表示,这是一个由信号源流向负载的输出电流。当输出电流超过规定值时,输出逻辑电平会降低,甚至变到阈值以下。7.2.1 ISA 总线ISA(Industry Standard Architecture,工业标准体系结构)总线也称 AT 总线,是由Intel 公司、IEEE 和 EISA 集团联合开发的与 IBM-PC/AT 原装机总线意义相近的系统总线,它具有 16 位数据宽度,最高工作频率为 8MHz,数据传输速率达到 16MB/s,地址线 24 条,可寻访 16M 字节地址单元。它是在早期的 62 线 PC 总线基础上再扩展一个 36线插槽形成的。分成 62 线和 36 线两段,共
21、计 98 线。其 62 线插槽的引脚排列及定义,与 PC 总线兼容。98 根线分布 5 类:地址线、数据线、控制线、时钟线、电源线。 7.2.2 EISA 总线386、486、PS/2 等高性能微处理器的出现,要求有高性能的系统总线相配合。IBM公司为 PS/2 设计了微通道结构(MCA) 。这种总线结构支持多微处理器,多个总线主控,支持 16 位、32 位数据,24 位、32 位地址,数据传输速率达 40MB/s,是一种高性能总线。但它与原 PC 总线及 ISA 总线完全不兼容,并且 IBM 对 MCA 技术采取严格的封锁,使其他厂商无法采用,因而得不到推广。为了与 MCA 总线技术抗衡,C
22、ompaq、HP、AST、Epson、NEC 等 9 家公司联合起来,在 ISA 的基础上于 1988 年推出了 32 位微机 “扩展工业标准结构”EISA 总线。EISA 总线在结构上与 ISA 兼容,保护了原有投资。同时又充分发挥 32 位微处理器的功能。它支持 32 位地址,可寻址 4GB 地址空间,32 位数据宽度,工作频率为7.3MHz,数据传输率可达 33MB/s。由于 EISA 总线插槽要兼顾 ISA 和 EISA 两种插板,故在 EISA 总线插槽外观上与ISA 总线插槽等长宽高,而内部采用双层引脚结构,两层引脚之间由定位键限位,使上层引脚与 ISA 插板上的 “金手指”接触,
23、下层引脚与 EISA 插板上的“金手指”接触。7.2.3 VESA 总线系统总线虽然从 PC 总线、ISA 总线发展到 EISA 总线,但仍然跟不上软件和 CPU的发展速度,在大部分时间内,CPU 仍处于等待状态。随着 CPU 芯片不断更新换代和各种高速适配卡的出现,加上操作系统和应用程序越来越复杂,ISA/EISA 总线已满足不了足够快的数据传输,可以说是总线而不是外设妨碍了系统性能的提高,这是单一慢速的系统总线体系结构所带来的限制。1991 年,局部总线标准 VESA 出现了,它比 EISA 性能更完善,传输速率更高,它将外设直接挂接到 CPU 局部总线上,并以 CPU 的速度运行,极大地
24、提高了外设的运行速度。VESA 总线数据宽度为 32 位,可以扩展到 64 位,与 CPU 同步工作,最大运行速度可达 66MHz,VESA 的最大传输率达到 132MB/s,是 ISA 总线传输率的 16 倍。但是,VESA 总线存在着规范定义不严格、兼容性差、总线速度受 CPU 速度影响等缺陷。7.2.4 PCI 总线目前在微型机和服务器中广泛采用的系统总线是 PCI 总线。PCI 总线 (Peripheral component interconnect)是 1992 年由 Intel 公司主持设计的一种系统总线。PCI 总线规范 1.0 版由 Intel 公司推出, 2.0 版于 19
25、93 年 4 月由 PCI 集团推出。这个总线是一种时钟同步型输入/输出总线,总线接口上所有的信号的逻辑和时序都作了严格的定义,数据线为 32 位,可扩充到 64 位。在传输数据时,最高速度为 133M 字节/秒,适用于图形显示等要求高速数据传输的应用场合。总线支持线性猝发传输方式,即在猝发方式下地址可不断递增,连续传输任意长度的数据块,而且支持写猝发方式。随着 Windows 图形用户界面的迅速发展,以及多媒体技术的广泛应用,要求系统具有高速图形处理的 I/O 吞吐能力,这使原有的 ISA、EISA 总线远远不能适应而成为整个系统的主要瓶颈。为此,1991 年下半年,Intel 公司首先提出
26、 PCI 概念,并联合IBM、 Compaq、AST、HP、Apple、NCR、DEC 等 100 等家公司共谋计算机总线发展大业,成产了 PCI 集团。 PCI 总线的英文名称: Peripheral Component Interconnect Special Interest Group(外围部件互联专业组) ,简称 PCISIG。PCI 是一种先进的局部总线,已成为局部总线的新标准,广泛用于当前高档微机(台式) 、工作站,以及便携式微机。1. PCI 总线特点(1)传输速率高。(2)多总线共存。(3)独立于 CPU PCI 总线不依附于某一具体处理器,即 PCI 总线支持多种处理器及将
27、来发展的新处理器,在更改处理器品种的,更换相应的桥接组件即可。(4)自动识别与配置外设 用户使用方便。(5)并行操作能力。(6)PCI 总线的主要性能总线时钟频率 33.3MHz/66.6MHz。总线宽度 32 位/64 位。最大数据传输率 133MB/s(266MB/s)。支持 64 位寻址。适应 5V 和 3.3V 电源环境。2. PCI 总线信号定义PCI 总线标准所定义的信号通常分成必需的和可选的两大类。必需信号线:主控设备 49 条,目标设备 47 条。可选信号线:51 条(主要用于 64 位扩展、中断请求、高速缓存支持等) 。信号线总数:120 条(包括电源、地、保留引脚等) 。主
28、设备是指取得了总线控制权的设备,而被主设备选中以进行数据交换的设备称为从设备或目标设备(节点)。作为主设备需要 49 条信号线,若作为目标设备,则需要 47条信号线,可选的信号线有 51 条。利用这些信号线便可以传输数据、地址,实现接口控制、仲裁及系统的功能。PCI 局部总线信号按功能分组进行说明。(1)系统信号CLK IN:系统时钟信号,为所有 PCI 传输提供时序,对于所有的 PCI 设备都是输入信号。其频率最高可达 33MHx/66MHz,这一频率也称为 PCI 的工作频率。RST# IN:复位信号。用来迫使所有 PCI 专用的寄存器、定时器和信号转为初始状态。(2)地址和数据信号AD3
29、100 T/S:地址、数据复用的信号。PCI 总线上地址和数据的传输,必须在FRAME #有效期间进行。当 FRAME#有效时的第 1 个时钟,AD3100上的信号为地址信号,称地址期;当 IRDY #和TRDY#同时有效时,AD3100上的信号为数据信号,称数据期。一个 PCI 总线传输周期包含一个地址期和接着的一个或多个数据期。地址期为一个时钟周期,在地址期,AD3100 线上传输的是一个 32 位地址。对于 I/O 空间,仅需 1 个字节地址;而对存储器空间和配置空间,则需要双字节地址(16 位) 。数据期由多个时钟周期组成。在数据期;AD310 线上传输的是一个 32 位数据,分 4
30、个字节,其中 AD0700为最低字节, AD3124为最高字节。传输数据的宽度是可变的,可以是 1 个字节,2 个字节或 4 个字节,这由字节允许信号来指定。C/BE30 #T/S:总线命令和字节允许复用信号。在地址期,这 4 条线上传输的是总线命令(代码);在数据期,它们传输的是字节允许信号,用来指定在数据期,AD31 00线上 4 个数据字节中哪些字节为有效数据,以进行传输。PAR T/S:奇偶校验信号。它通过 AD310和 C/BE30 进行奇偶校验。主设备为地址周期和写数据周期驱动 PAR,从设备为读数据周期驱动 PAR。(3) 接口控制信号FRAME # S/T/S:帧周期信号,由主
31、设备驱动。表示一次总线传输的开始和持续时间。当 FRAME #有效时,预示总线传输的开始;在其有效期间,先传地址,后传数据;当 FRAME #撤销时,预示总线传输结束,并在 IRDY#有效时进行最后一个数据期的数据传送。IRDY # S/T/S:主设备准备好信号。IRDY #要与 TRDY#联合使用,当二者同时有效时,数据方能传输,否则,即为未准备好而进入等待周期。在写周期,该信号有效时,表示数据已由主设备提交到 AD3100 线上;在读周期,该信号有效时,表示主设备已做好接收数据的准备。TRDY # S/T/S:从设备(被选中的设备) 准备好信号。同样,TRDY #要与 IRDY#联合使用,
32、只有二者同时有效,数据才能传输。在写周期,该信号有效时,表示从设备已准备好接收数据;在读周期内,该信号有效时,表示数据已由从设备提交到AD3100线上;IRDY#和 TRDY #中任何一个无效时,都为末准备好,而进入等待周期。STOP # S/T/S:从设备要求主设备停止当前的数据传送的信号。显然,该信号应由从设备发出。LOCK #S/TS:锁定信号。当对一个设备进行可能需要多个总线传输周期(中间不能停顿)才能完成的操作的,使用锁定信号 CLK,进行独占性访问。例如,某一设备带有自己的存储器,那么它必须能进行锁定,以便实现对该存储器的完全独占性访问。也就是说,对此设备的操作是排它性的。IDSR
33、L IN:初始化设备选择信号。在参数配置读/ 写传输期间,用作片选信号。DEVSEL # S/T/S:设备选择信号。该信号由从设备( 接收端)在识别出地址时发出,当它有数时,说明总线上有某处的某一设备已被选中,并作为当前访问的从设备。(4)仲裁信号 (只用于总线主控器)REQ # T/S:总线占用请求信号。该信号有效表明驱动它的设备要求使用总线。它是一个点到点的信号线,任何主设备都有它自己的 REQ #信号。GNT # T/S:总线占用允许信号。该信号有效,表示申请占用总线的设备的请求已获得批准。这也是一个点到点的信号线,任何主设备都有自己的 GNT #信号。(5)错误报告信号PERR # S
34、/T/S:数据奇偶校验错误报告信号。一个设备只有在响应设备选择信号(DE-VSEL #)和完成数据期之后,才能报告一个 PERR#。对于每个数据接收设备,如果发现数据有错误,就应在数据收到后的两个时钟周期内将 PERR#激活。由于该信号是持续的三态信号,因此,该信号在释放前必须先驱动为高电平。SERR # O/D:系统错误报告信号。用做报告地址奇偶错、特殊命令序列中的数据奇偶错,以及其他可能引起灾难性后果的系统错误。它可由任何设备发出。(6)中断信号INTA # O/D:用于请求中断。INTB # O/D:用于请求中断,仅对多功能设备有意义。INTC # O/D:用于请求中断,仅对多功能设备有
35、意义。INTD # O/D:用于请求中断,仅对多功能设备有意义。中断在 PCI 总线中是可选项,不一定必须具有。并且中断信号是电平触发,低电平有效,使用漏极开路方式驱动。同时,此类信号的建立和撤销与时钟不同步。对于单功能设备,只有 1 条中断线,并且只能使用 INTA#,其他 3 条中断线没有意义。而多功能设备最多可有 4 条中断线,它们分别是:INTA #、INTB #、INTC #和 INTD #,均为 O/D(漏极开路)。7.3.1 RS-232C 串行通信总线该标准的全称是 EIA-RS-232C 标准(Electronic Industrial Associate-Recommend
36、ed Standard232C)是美国 EIA(电子工业联合会)与 BELL 等公司一起开发的 1969 年公布的通信协议。它适合于数据传输速率在 020000b/s 范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电气特性都作了明确规定。由于通信设备厂商都生产与RS-232C 制式兼容的通信设备,因此,它作为一种标准,目前已在微机串行通信接口中广泛采用。EIA-RS-232C 标准规定了在串行通信时,数据终端设备 DTE 和数据通信设备 DCE之间的接口信号。RS-232C 标准为主信道和辅信道共分配了 25 根线,其中辅信道的信号线,几乎没有使用,而主信道的信号线有 9 根,
37、它们才是远距离串行通信接口标准中的基本信号线。2 号线 发送数据(Transmitted data TxD):通过 TxD 线终端将串行数据发送到MODEM。3 号线 接收数据 (Received data RxD):通过 RxD 线终端接收从 MODEM 发来的串行数据。4 号线 请求发送(Request to sendRTS):用来表示 DTE 请求 DCE 发送数据,即当终端要发送数据时,使该信号有效(ON 状态),向 MODEM 请求发送。它用来控制 MODEM 发来的串行数据。5 号线 清除发送(Clear to sendCTS):用来表示 DCE 准备好接收 DTE 发来的数据,是
38、对请求发送信号 RTS 的响应信号。当 MODEM 准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线 TxD 发送数据。这对 RTS/CTS 请求应答联络信号是用于半双工采用 MODEM 的系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需 RTS/CTS 联络信号,使其变高。6 号线 数传机就绪(Data set ready-DSR):有效时(ON 状态),表明 MODEM 处于可以使用的状态。7 号线 信号地(Signal Groud SG):信号地线,无方向。8 号线 数据载体检出(Data Carrierdetection-DCD
39、)线:用来表示 DCE 已接通通信链路,告之 DTE 准备接收数据。当本地的 MODEM 收到由通信链路另一端( 远地) 的 MODEM 送来的载波信号时,使 DCD 信号有效,通知终端准备接收,并且由 MODEM 将接收下来的载波信号解调成数字量数据后,沿接收数据线 RxD 送到终端。20 号线 数据终端就绪(Data set reaay DTR):有效时(ON 状态),表明数据终端可以使用。DTR 和 DSR 这两个信号有时连到电源上,一上电就立即有效。目前有些 RS-232C接口甚至省去了用以指示设备是否准备好的这类信号,认为设备是始终准备好的。可见这两个设备状态信号有效,只表示设备本身
40、可用,并不说明通信链路可以开始进行通信了。22 号线 振铃指示(Ringing IndicatorRI):当 MODEM 收到交换台送来的振铃呼叫信号时,使该信号有效(ON 状态),通知终端,已被呼叫。上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR 和 DTR 都处于有效 (ON)状态时,才能在 DTE 和 DCE 之间进行传送操作。若DTE 要发送数据,则预先将 RTS 线置成有效(ON) 状态,等 CTS 线上收到有效(ON)状态的回答后,才能在 TxD 线上发送串行数据。这种顺序的规定对半双工的通信线路有用,因为半双工的通信线路进行双向传送时,有一个换
41、向问题,只有当收到 DCE 的 CTS 线为有效(ON)状态后,才能确定 DCE 已由接收方向改为发送方向了,这时线路才能开始发送。7.3.2 通用串行总线 USBUSB(Universal Serial Bus)的中文含义是通用串行总线,它是一种新型的外设接口标准。USB 以 Intel 公司为主,并有 Compaq、 IBM、DEC 以及 NEC 等公司共同开发,于1994 年 11 月制定了第一个草案,1996 年 2 月公布了 USB1.0 版本,目前,已发展到 2.0版本。1997 年,微软在 Windows97 中开始外挂模块形式提供对 USB 的支持,1998 年后,随着在 Wi
42、ndows 98 中内置了对 USB 接口的支持模块,加上 USB 设备日益增多,USB逐渐流行起来。1. USB 传输类型USB 传输类型,实质是 USB 数据流类型,这是一个问题的两个方面。首先,从管理 USB 系统软件的角度来描述 USB 数据流类型的作用,然后,再讨论相应的传输类型的特点。USB 数据流类型: USB 支持控制信号流、块数据流、中断数据流、实时数据流等 4种数据类型。控制信号流的作用是:当 USB 设备加入系统时,USB 系统软件与设备之间建立起控制信号流来发送控制信号,这种数据不允许出错或丢失。块数据流通常用于发送大量数据。中断数据流是用于传输少量随机输入信号的,它包
43、括事件通知信号、输入字符或坐标等,它们应该以不低于 USB 设备所期望的速率进行传输。实时数据流用于传输连接的固定速率的数据,它所需的带宽与所传输数据的采样率有关。因为实时数要求固定速率和低延时,USB 系统专门对此进行了特殊设计,尽量保持低误码率和较大的缓冲区。与 USB 数据流类型对应, USB 有 4 种基本的传输类型,它们是:(1) 控制传输控制(Control) 传输是双向的,它的传输有 23 个阶段:Setup 阶段,Data 阶段( 可有可无)和 Status 阶段。在 Setup 阶段,主机送命令给设备;在 Data 阶段,传输的是 Setup阶段所设定的数据;Status 阶
44、段,设备返回握手信号给主机。USB 协议规定每一个 USB 设备必须要用端点 0 来完成控制传送,它用在当 USB 设备第一次被 USB 主机检测到时和 USB 主机交换信息。提供设备配置、对外设设定、传送状态这类双向通信。传输过程中若发生错误,则需重传。Control 传输主要是作配置设备用的,也可以作设备的其他特殊用途。例如,对数字相机设备,可以传送暂停、继续、停止等控制信号。(2) 批传输批(Bulk)传输可以是单向,也可心是双向。它用于传送大批数据,这种数据的时间性不强,但要确保数据的正确性。在包的传输过程中,出现错误,则重传。其典型的应用是扫描仪,打印机,静态图片输入。(3) 中断传
45、输中断(Interrupt)传输是单向,且仅输入到主机,它用于不固定的、少量的数据传送。当设备需要主机动性为其服务时,向主机发送此类信息以通知主机,像键盘、鼠标之类的输入设备采用这种方式。USB 的中断是 Polling(查询)类型。主机要频繁地请求端点输入。USB 设备在满速情况下,其端点 Polling 周期为 1255ms;对于低速成情况,Polling 周期为 10255ms。因此,最快的 Polling 频率是 1kHz。在信息的传输过程中,如果出现错误,则需将在下一个 Polling 中重传。(4) 等时传输等时(Isochronous)( 同步) 传输可以单向也可以双向,用于传送
46、边连续性、实时的数据。这种方式的特点是要求传输速率固定(恒定) ,时间性强,忽略传送错误,即传输中数据出错也不重传。因为这样会影响传输速率。传送的最大数据包是 1024B/ms。视频设备、数字声音设备和数字相机采用这种方式。2. USB 的主要特点(1) 用一种连接器类型连接多种外设(2) 用一个接口连接大量的外设(3) 连接简单快速(4) 总线提供电源(5) 速度加快了7.4.1 总线控制现代微机系统中,总线的层次化结构发展十分迅速。层次化总线结构主要分 3 个层次:微机处理器总线(或称 Host Bus)、局部总线(以PCI 总线为主 )、系统总线(如 ISA 总线) 。三级总线中,微处理
47、器总线提供了系统原始的控制、命令等信号以及与系统中各功能部件传输代码的最高速度的通路,以印刷电路的形式颁在主板上微处理器周围。局部总线(PCI)和系统总线(ISA)均是作为输入/输出(I/O)设备接口与系统互连的扩展总线,其终端是两种不同的边缘接触型插座,PCI 与 ISA 型 I/O 接口模块( 卡)插入这些插座上就实现了这些扩展模块与系统的互连。按照传统的概念,PCI 总线由于离微机处理器较“近” ,习惯称之为“局部总线” ,ISA 总线与微处理器之间隔着 PCI 总线,习惯称之为系统总线(标准总线)。实际上,PCI 总线是为了适应高速 I/O 设备的需求而产生的一个总线层次,而 ISA
48、总线是为了延续老的低速 I/O 设备接口卡的寿命而保留的一个总线层次。由于PCI 总线的高性能价格比及跨平台特点,它今后将成为不同平台的 PC 微机乃至工作站的标准系统总线。随着 PCI 总线的推出和应用,在计算机系统中允许多种总线共同工作。因此,在继多处理器、多媒体概念之后,又出现了多总线的概念。3 个层次总线的频宽不同,控制协议不同,在实现互连时层与层之间必须有“桥梁”过渡。总线之间的所谓桥,简单来说就是一个总线转换器,它实现各类微处理器总线到PCI 总线、各类标准总线到 PCI 总线的连接,并允许它们之间相互通信。因此,桥的两端必有一端与 PCI 总线连接,另一端可接不同的微处理器总线或
49、标准总线,可见,桥是不对称的。桥的内部包含有一些相当复杂的兼容协议的单元电路,也可以与内存控制器或外设控制器包装在一起。实现这些总线桥接功能的是一组大规模集成专用电路,称之为 PCI 总线芯片组 (Chipset)或 PCI 总线组件。随着微处理器性能的迅速提高及产品种类增多,在保持 PC 机主板的组织结构不变的前提下,只改变这些芯片组的设计即可使系统适应不同微处理器的要求。为了使高速外设能直接与 PCI 总线桥接,一些外设专业厂商开发和推出了一大批新的PCI 总线的外设控制器大规模集成芯片。以这些芯片为基础,生产出许多 PCI 总线外设插卡,如视频图像卡、高速网络卡、多媒体卡以及高速外存储设备卡(SCSI 控制器,IDE 控制卡)等。这些芯片具有独立的处理能力,并带有 PCI 接口,使高速外高能直接挂到 PCI 局部总线上,共享 PCI 局部总线提供的各种性能优越的服务,大大提高了系统的性能。7.4.2 总线通信系统总线最基本的任务就是传送数据,这里的“数据”包括程序指令、运算处理的数据、设备的控制命令和状态字及设备的输入输出数据。而系统总线上的数据是在主模块的控制下进行的,主模块有控制总线的能力,例如 CPU 及 DMA 模块。从模块则没有控