1、第七章 总 线,7.1. 总线的基本概念7.2. 常见的总线标准7.3. 高速总线接口7.4. I2C总线,第7章 总线,7.1 总线的基本知识微型计算机是一个信息处理系统,各组成部件之间相互传送着大量的信息。因此,系统与系统之间,插件与插件之间以及同一插件的各个芯片之间需要用通信线路连接起来。一种最直观的方法是根据各大功能部件的需要分别设置与其它部件通信的线路,进行专线式的信息传送。这种方式的传送速率可以很高,信息传送的控制简单。,所谓总线,是指计算机中多个部件之间公用的一组连线,是若干互连信号线的集合。 微型计算机广泛采用总线技术,用以简化硬件、软件的系统设计。从硬件角度看,接口设计者只需
2、遵循总线设计规范,就可以方便迅捷地完成系列产品的开发。,从软件角度看,接插件的硬件结构带来了软件设计的模块化。用总线连接的系统,结构简单清晰,便于扩充与更新。 例如在规模上扩充时,只需往总线上多插几块同类型的插件; 在功能扩充时,只需插入符合该总线标准的所需插件;在系统更新时,一般只需要更换新的插件或系统板。,7.1.2总线的分类在微型计算机系统中,按照总线的规模、用途及应用场 合,可将总线分为以下三类。1. 芯片总线芯片总线又称元件级总线。这是在构成一块CPU插件或用微处理机芯片组成一个很小系统时常用的总线,用于各芯片(如CPU芯片、 储器芯片、I/O接口芯片等)之间的信息传送。 按所传送的
3、信息类别不同,可将芯片总线分为传送地址、传送数据和传送控制信息等三组总线,简称为地址总线、数据总线和控制总线。 ,2. 内总线内总线又称为系统总线。它是微型计算机系统内连接各插件板的总线,用于插件与插件之间的信息传送。 3. 外总线外总线又称通信总线。用于微型计算机系统与系统之间或微型计算机系统与外部设备之间的通信。 内总线与外总线除地址总线、数据总线和控制总线外, 还包括电源总线、地线和备用线(为用户扩展功能用)。三类总线在微型计算机系统中的位置及相互关系如图 7 - 1 所示。,图 7 1 用三类总线构成的微机系统,7.1.3信息的传送方式计算机中的信息是通过总线进行传送的,信息在总线上有
4、三种传送方式:串行传送、并行传送和并串行传送。 1. 串行传送当信息以串行方式传送时,只使用一条传输线, 且用脉冲传送。具体地说,是在传输线上按顺序传送表示一个数码的所有二进制位的脉冲信号,每次一位。通常第一个脉冲信号表示数码的最低有效位,最后一个脉冲信号表示数码的最高有效位, 如图 7 - 2(a)所示。 ,图 7- 2串行传送与并行传送(a) 串行传送; (b) 并行传送,当进行串行传送时,可能按顺序连续传送若干个0或若干个1,如果编码时用有脉冲表示1,无脉冲表示0,那么当连续出现几个0时,则表示在某段时间间隔内传输线上没有脉冲信号。为了确定传送了多少个0,必须采用某种时序格式,以便使接收
5、设备能加以识别。 通常采用的方法是指定“位时间”,即指定一个二进制位在传输线上占用的时间长度。显然,“位时间”是由同步脉冲来体现的。 ,当进行串行传送时,被传送的数据需要在发送部件进行并行-串行变换,而在接收部件又需要进行串行-并行变换。 串行传送的主要优点是只需要一条传输线,这一特点对于长距离传输显得特别重要。不管传输的数据量为多少,都只需一条传输线, 因此成本比较低廉。串行传送是外总线中常用的传送方式。 ,2. 并行传送采用并行方式传送二进制信息时,每个数据位都需要一条单独的传输线。信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息(0或1)在不同的线上同时进行传送。 图
6、 7 - 2(b)给出了并行传送的示意图。如果要传送的数据由8位二进制数组成,那么就需使用由8条线组成的扁平电缆,每条线分别传送二进制数的不同位。例如,假设图中最上面的线代表最高有效位,最下面的线代表最低有效位, 那么图中的0或1表示正在传送的数据是01010110。 ,当进行并行传送时, 所有的位同时传送,所以并行传送方式的速度比串行传送的速度快得多。并行传送是微机系统内部常用的传送方式。,7.1.4总线通信协议通讯协议是实现总线裁决和信息传送的手段, 通常分为同步方式和异步方式。 1. 同步方式总线上的部件通过总线进行信息交换时用一个公共的时钟信号进行同步,这种方式称为同步通讯。 在同步方
7、式中,由于采用了公共时钟,每个部件何时发送或接收信息都由统一的时钟规定,在通讯时不要附加时间标志或来回应答信号。所以,同步通讯具有较高的传输频率。 ,2. 异步通讯如果总线上各部件之间的距离和设备的速度相差很大, 势必降低总线的效率,在这种情况下往往采用异步通讯。 异步通讯允许总线上的各个部件有各自的时钟。部件之间进行通讯时没有公共的时间标准,而是在发送信息的同时发出该部件的时间标志信号,用应答方式来协调通信过程。,异步通讯又分为单向方式和双向方式两种。单向方式不能判别数据是否正确传送到对方,故大多采用双向方式,即应答式异步通讯。 在这种方式中,发送部件将数据(DATA)送到总线上,延迟一定时
8、间后发出“READY”信号,通知对方数据已在总线上。接收部件以“READY”信号作为选通脉冲接收数据,并发出“ACK”信号作回答,表示数据已接收,同时在收到“READY”信号下降沿后随即结束“ACK”信号。发送部件收到“ACK”信号后可以撤除数据,以便下一次传送。,7.2 微型计算机的总线标准,总线是微机中各模块之间传送信息的通道,各模块分时共享总线。为了方便微机系统的扩展及各厂家产品的互换或互连,国际上根据微机的发展制定了许多总线标准, 如PC总线标准、ISA总线标准、EISA总线标准、PCI总线标准、 USB总线标准等。,7.2.1 ISA总线PC总线仅适用于8位数据的传送,所以,从IBM
9、 PC/XT微机开始采用ISA总线,也称为AT总线,以便进行16位数据传送。 ISA总线的数据传送速率最快为8 MB/s,地址总线宽度为24位,可以支持16 MB的内存。为了和PC总线兼容,在PC总线的基础上, ISA总线延伸出一段插槽,如图 5 - 5(b)所示。 这一小段插槽上的引线主要是扩展的地址线和高8位数据线及增加的中断申请线等。对于早期的PC总线的扩展卡,若插入ISA总线插槽, 则只使用右边较长的插槽,这部分和原PC总线基本一样仅两处作了改动:,一是原B19的 ,因AT机的DRAM刷新不再通过DMA伪传输完成,故直接由系统板上刷新电路产生信号代替(输出); 另一处是原B8的 ,现引
10、入 (零等待状态)信号,它表示接口卡上的设备不需插入任何附加等待状态即可完成当前总线周期。 由IBM公司推出的这种总线已经成为8位和16位数据传输总线的工业标准,故命名为ISA(Industry Standard Architecture)。 ,ISA总线与PC总线引脚的不同情况如下: LA17LA23:非锁存地址总线A17A23,它与系统地址总线SA0SA19一起为系统提供多达16 MB的寻址空间。LA17LA19与原来的PC总线的地址线是重复的,因为原先的XT地址线是利用锁存器提供的,锁存导致了传送速度降低, 故ISA中定义了不锁存的地址线,在BALE高电平期间有效。 SD8SD15:新增
11、加的8位高位数据线。 : 高字节允许信号。当其为低电平时表示数据总线正在传送高字节SD8SD15,16位设备可以利用 控制SD8SD15接到数据总线缓冲器上。 ,、 : 存储器读信号。 在所有存储器读周期有效;取自 和存储器低1 MB的译码,仅当读取存 储器低1 MB时才有效。 、 : 存储器写信号。 在所有存储器写周期有效; 取自 和存储器低1 MB的译码,仅当写入存储器低1 MB时才有效。 : 零等待状态信号。该输入信号用来告诉微处理器, 不必增加附加的等待状态就可以完成当前的总线周期。:如果总线上的某一存储器卡要传送16位数据,则必须产生一个有效的 信号,该信号加到系统板上, 通知主板实
12、现16位数据的传送。,此信号需利用三态门或集电极开路门驱动。 与 类似, 如果一个I/O接口卡要传送16位数据, 则必须产生一个有效的I/OCS16信号,该信号加到系统板上,通知主板实现16位数据传送。此信号也需利用三态门或集电极开路门驱动。 :该信号与 DRQ 线一起用于获取对系统总线的控制权, 使I/O通道上的处理器暂时控制系统总线并访问存储器和外设。 DRQ0DRQ3、 DRQ5DRQ7:DMA请求信号。优先权从高到低的顺序为DRQ0、DRQ1 DRQ6、DRQ7。其中DRQ0DRQ3用于8位DMA传送,DRQ5DRQ7用于16位DMA数据传送。,它们对应的响应信号分别为 、 。 ,IR
13、Q3IRQ7、IRQ9IRQ12、IRQ14IRQ15可屏蔽中断请求信号,优先级从高到低的顺序是IRQ9IRQ12、IRQ14 IRQ15、IRQ3IRQ7。,7.2.1 PCI局部总线局部总线常见的有VL总线和PCI。VL总线出现以后, 虽然提高了计算机系统的整体性能,但也存在一定的局限性。 其表现如下: 用户必须根据CPU 的速度及系统采用的扩展总线来选用特定的 VL总线卡。 系统中的一个VL总线不能在多于两个VL总线卡的情况下运行,否则将降低系统的性能。 由于其设计思想是低价格,快速上市,因此设计简单, 无缓冲器, 当CPU主频大于33 MHz时,会导致延时,产生等待状态。,为解决以上问
14、题,1991年Intel公司提出了PCI设想。 1993年将PCI 商品化。目前主要在奔腾(Pentium)等高档微机中使用。PCI(外部设备互连)是高速外设与CPU间的桥梁。它在CPU 与外设间插入了一个复杂的管理层,以协调数据传输,并提供了一个标准的总线接口。该管理层提供信号的缓冲,使PCI能支持10种外设,并在高时钟频率下保持高性能。如图7 - 3 所示。 1. PCI的主要特点 支持总线主控技术,允许智能设备在适当的时候取得总线控制权以加速数据传输 和对高度专门化任务的支持。,图 7 3 PCI系统结构示意图, 支持突发传输模式。在这种模式下,PCI 能在极短时间内发送大量数据,特别适
15、合于高分辨率且多达数百万种颜色的图像快速显示。 不受CPU速度和结构的限制,Pentium、Over Drive等微处理器都可使用。 与ISA/EISA/MCA总线兼容。 预留扩展空间, 支持64位数据和地址。 支持自动配置功能。 无需手工调节跨接器、 DIP开关或系统中断。 , 设有特别的缓存,实现CPU与外设隔离,外设或CPU的单独升级不会带来兼容问题。 当数据宽度为32位, 时钟频率为33 MHz时,最大数据传输速率为132 MB/s。 2. PCI总线的主要信号PCI总线信号分为地址线、数据线、接口控制线、仲裁线、系统线、中断请求线、 高速缓存支持、出错报告等信号线, 共188根。 具
16、体情况如表 7 - 2 所示。,系统信号线有时钟信号线CLK和复位信号线RST。 CLK信号是PCI总线上所有设备的一个输入信号,为所有PCI总线上设备的VO操作提供同步定时。RST使各信号线的初始状态处于系统规定的初始状态或高阻态。 地址数据总线AD0AD31是时分复用的信号线。CBE0CBE3称为“命令字节使能”信号,也为复用线。在传输数据阶段,它们指明所传输数据的各个字节的通路;在传送地址阶段,这四条线决定了总线操作的类型,这些类型包括IO读、IO写、存储器读、存储器写、存储器多重写、中断响应、配置读、配置写和双地址周期等等。,为了实现即插即用(PnP)功能,PCI部件内都置有配置寄存器
17、,配置读和配置写命令就是用于在系统初始化时,对这些寄存器进行读写操作。 PAR信号为校验信号,用于对AD0AD31和CBE0CBE3的偶校验。 接口控制信号有成帧信号FRAME、目标设备就绪信号TDRY、 始发设备就绪信号IRDY、停止传输STOP、初始化设备选择IDSEL、资源封锁LOCK和设备选择DEVSEL。 PCI总线采用独立请求的仲裁方式。每一个PCI始发设备都有一对总线仲裁线REQ和GNT直接连到PCI总线仲裁器。 当各始发设备使用总线时,分别独立地向PCI总线仲裁器发出总线请求信号REQ,由总线仲裁器根据系统规定的判决规则决定把总线使用权赋给哪一个设备。 ,3. 突发读写方式突发
18、读写方式,是指在一次寻址后,将周围的单元同时选通, 而不必再在附近区域重新寻址,即周围的数据无需进一步寻址就可以直接传输。这样,在一个突发周期只要寻址一次就可以传送一个数据块,大大加快了数据传输速度。 这种方式是建立在页操作模式和多体交替操作模式基础上的一种寻址方式。 PCI总线支持无限突发读写方式,它和Pentium的突发方式相似。也就是说,突发的长度可以是任意长度,由始发设备和目标设备商定。 每次突发传送由以下两个阶段组成。,(1) 地址阶段。 在此阶段,地址总线发出目标设备的端口地址,同时CBE0CBE3 发出操作类型码,指明本次操作是何种类型的操作。 由于这些线均为复用线,故目标设备必
19、须将上述信息进行锁存, 以进行地址和命令译码。被选中的目标设备必须输出一个该操作目的的应答信号。 如果始发设备在预定的时间内没有发现这个信号就终止该次操作。 (2) 数据阶段。 数据阶段是指在始发设备和目标设备之间传送数据的一段时间。由于是突发传送方式,因而可连续传送一个数据块, 此时地址锁存器中的地址并没有发生变化,C/BE0CBE3信号切换为字节使能信号,指明各字节的存储地址或通路。,PCI总线为始发设备和目标设备都定义了表示就绪的信号线,如果未准备就绪则在该数据阶段扩展一个时钟周期。整个突发方式传送的持续期由成帧信号FRAME来标识。这个信号由始发设备地址阶段开始处发出,保持到最后一个数
20、据阶段。始发设备通过取消这个信号来指明突发传送的最后一次数据传输正在进行当中,紧接着发出就绪信号, 表示已准备好最后一次数据传输。当最后一次数据传输完毕后,始发设备取消就绪信号,使PCI总线回到空闲状态。,7.2.3 USB通用串行总线USB(Universal Serial Bus)是由DEC、IBM、Intel、 Microsoft以及NEC等七家高技术企业制定的串行接口总线标准。 由于目前微机系统的外设接口没有统一的标准, 如键盘的插口是圆的,打印插口是长方形等等,而利用USB则可把这些不同的接口统一起来。 它使用一个4针的插头作为标准插头,可连接的外围设备数目最多达127个,支持热插入
21、(Hot Plug In)和即插即用(PlugPlay),最高传送速度可达480 Mbs, 既可用于低速的外围设备, 如键盘、 鼠标等,也可用于中速装置, 如打印机、 数码照相机、 调制解调器、扫描仪等。它的主要特点如下:, 当USB连接外围设备时可使用集线器进行树形连接, 连接的外围设备数目最多达127个,从主装置开始可以经由5层集线器进行菊花链连接。连接于USB上的装置都不是终点, 而是能够利用集线器连接其他装置的分叉点。 USB允许两种数据传送速度规格:1.5Mbs的叫做低速传送;12 Mbs的叫做全速传送。 当进行全速传送时,结点间连接距离为5m,连接用的4芯电缆(有两根电源线,两根信
22、号线作为一个差动信号)必须有屏蔽;当进行低速传送时, 结点间连接距离为3 m, 连接用的4芯电缆不一定有屏蔽。, USB有同步、中断、批量三种数据传送模式。同步传送主要用于数码相机、扫描仪等中速外围设备;中断传送用于键盘、鼠标等低速设备;而批量传送用于打印机、调制解调器、 数字音响等不定期传送大量数据的中速设备使用。 USB采用NRZI(Non Return to Zero Invert, 不归零翻转)编码传送格式,试图减少误码率。因为当USB通信时只有一对摆幅为3.3 V的差动信号(D+和D-),既无时钟也无选通信号, 所以在同步方法上用一种称为同步模式(Sync.Pattern)的数据(8
23、0Hex, 10000000B), 将其放在各种信息包前面进行同步。,7.3高速总线接口,USB总线是一种新型计算机外设接口标准。但USB总线的数据传输主要还是适合于中、低速设备,而对于那些高速外设(如多媒体数字视听设备)就显得有些不够了。 IEEE 1394(又称i.Link或Fire Wire),是由Apple公司和TI(德克萨斯仪器)公司开发的高速串行接口标准,其数据传输率已达100M bps、200M bps、400M bps、800M bps,即将达到1Gbps和1.6G bps。 而前一时期流行的USB 1.1的通信速率仅为12M bps(2000年问世的USB 2.0的速率也仅为
24、480M bps)。,7.3.1 IEEE 1394,采用IEEE 1394标准,一次最多可将63个IEEE 1394设备接入一个总线段,设备间距可达4.5米;如加转发器(repeater)还可相距更远。目前,人们正在进行将这个距离延伸至25米的尝试。 最多63个设备可以通过菊花链方式串接到单个IEEE 1394适配器上。 另外,通过桥接器(bridge),允许将1000个以上的总线段互联,可见IEEE 1394具有相当大的扩展能力。 使用专门设计的6芯电缆,其中两线用于提供电源(连接在总线上的设备可以取得电压为直流8V40V、电流可达1.5A的电能); 另外四线分为两个双绞线对,用于传输数据
25、及时钟信号。 图7.4给出了IEEE 1394的芯片、电缆及连接器情况。,图7.4 1394电缆结构及接口芯片,与USB相似,IEEE 1394也完全支持“即插即用”(PnP)。任何时候,都可以在总线上添加或拆卸IEEE 1394设备,即使总线正处于全速运行的状态。 总线配置发生改变以后,节点地址会自动重新分配,而不需用户进行任何形式的介入。 通过IEEE 1394连接的设备包括多种高速外设如硬盘、光驱、新式DVD以及数码相机、数字摄录机、高精度扫描仪等。,7.3.2高速图形端口AGP,在一般的PC机中,三维图形卡与主存之间是通过PCI总线进行连接和通信的,其最大数据传输率仅为132MB/S(
26、兆字节/秒)。加之PCI总线还接有其他设备(如硬盘控制器、网卡、声卡等),所以,实际数据传输率远低于132MB/S。而三维图形加速卡在进行三维图形处理时不仅有极高的数据处理量,而且要求具有很高的总线数据传输率。因此,这种通过PCI总线的连接和通信方式,实际上成了三维图形加速卡进行高速图形数据传送和处理的一大瓶颈。 AGP(Accelerated Graphics Port,高速图形端口)是为解决计算机三维图形显示中“图形纹理”数据传输瓶颈问题应运而生的。现在许多PC机系统都增加了AGP功能。,AGP是由Intel公司开发,并于1996年7月正式公布的一项新型视频接口技术标准。 它定义了一种高速
27、的连通结构,把三维图形控制卡从PCI总线上分离出来,直接连在CPU/PCI控制芯片组”(北桥)上,形成专用的高速点对点通道高速图形端口(AGP)。 从严格的总线意义上讲,AGP并不是一种总线标准,因为总线通常是多个设备共享的资源。而AGP仅为供AGP视频控制卡专用的高速数据传输端口。,AGP允许视频卡能与系统RAM(主存)直接进行高速连接,即支持所谓DIME(Direct Memory Execute,直接存储器执行)方式,当显存容量不够时,将主存当作显存来使用,把耗费显存的三维操作全部放在主存中来完成。这样一可以节省显存,二可以充分利用现代PC机大容量主存(现已达GB容量级)的优越条件。AG
28、P可以工作于处理器的时钟频率下,若以66MHz的基本频率(实际为66.66MHz)运行,则称为基本AGP模式(即AGP 1X),每个时钟周期完成一次数据传输。由于AGP的数据传输宽度为32位(4字节),所以在66MHz的时钟频率下能达到约266MB/S的数据传输能力;此外,还定义了AGP 2X模式,每个时钟周期完成两次数据传输(宽度仍为32位),速率达533MB/S;大多数AGP卡都工作在2X模式。AGP 2.0规范增加了4X模式的传输能力,每个时钟周期完成四次数据传输,达1066MB/S(约1GB/S)的数据传输速率,是传统PCI数据传输率的8倍。现代PC主板均全面支持AGP2.0规范及AG
29、P 4X模式。,图 7.5 Pentium 系统中AGP的连接以及系统中其他总线的情况。,7.4 I2C总线,7.4.1. I2C总线简介 I2C总线(Inter IC Bus)是由Philips公司推出的一种芯片间的串行通信总线,广泛应用于单片机系统中。 在单片机应用系统中推广I2C总线后将会大大改变单片机应用系统结构性能、对单片机的应用开发带来如下好处: (1)可最大限度地简化结构。 (2)可实现电路系统的模块化、标准化设计。 (3)标准I2C总线模块的组合开发方式大大地缩短了新品种的开发周期。,(4)I2C总线各节点具有独立的电气特性. (5)I2C总线系统构成具有最大的灵活性。 (6)
30、I2C总线系统可方便地对某一节点电路进行故障诊断与跟踪,有极好的可维护性。 7.4.2. I2C总线特点 (1)二线传输。 (2)系统中有多个主器件时,这些器件都可作总线的主控制器(无中心主机)。 (3)I2C总线传输时,采用状态码的管理方法。,(4)系统中所有外围器件及模块采用器件地址及引脚地址的编址方法。 (5)所有带I2C接口的外围器件都具有应答功能。 (6)I2C总线电气接口为开漏晶体管组成,其自身的电源可以独立,线上各个节点可在系统带电情况下接入或撤出。 7.4.3. I2C总线原理 (1)数据传输方式 I2C总线上的器件之间通过串行数据线SDA和串行时钟线SCL相连接并传送信息。每
31、一个器件由唯一的地址连接到总线上,可以根据地址来识别器件。送到SDA线上的每个字节必须为8位,每次传送的字节数不限,但每个字节后面必须跟1个响应位。,(2)I2C总线的寻址约定 在I2C总线标准规约中,寻址字节由被控器的七位地址位(它占据了D7一D1位)和一位方向位(为D0位)组成。方向位为0时表示主控器将数据写入被控器,为1时则表示主控器从被控器读取数据。I2C总线系统中,主器件(单片机)作为被控器时,其7位从地址在I2C总线地址寄存器中约定,为纯软件地址。而非单片机类型的外围器件地址完全由器件类型与引脚电平给定,即器件的7位地址由器件编号地址(高4位D7D4)和引脚地址(低3位D3D0)组成,如8位I/O扩展器件PCF8574其器件编号地址为0111,引脚地址为A2、A1、A0。如果在I2C总线系统中NF8574地址引脚A2、A1、A0皆接地,则该器件的寻址字节为SLAW70H,SLAR7lH。I2C总线上同一编号地址器件最大允许接入数量取决于可利用的地址引脚数。,