5.1 总线的基本知识
5.2 微型计算机的总线标准
5.3 总线基础上的系统硬件扩展第 5 章 总 线返回主目录第 5章 总线
5.1 总线的基本知识
5.1.1概述众所周知,微型计算机是一个信息处理系统,各组成部件之间相互传送着大量的信息 。 因此,系统与系统之间,插件与插件之间以及同一插件的各个芯片之间需要用通信线路连接起来 。 要衡量一个微型计算机系统的性能,考察 CPU的性能固然十分重要,但由于所有信号都要通过通信线路传送,
故通信线路的设置和连接方式同样十分重要 。 一种最直观的方法是根据各大功能部件的需要分别设置与其它部件通信的线路,进行专线式的信息传送 。 这种方式的传送速率可以很高,信息传送的控制简单 。
但整个机器所需要的信息传送线数量很大,增加了复杂性,加重了发送信息部件的负载 。 此外,这种方式不便于实现机器的模块化与积木化 。 另一种方法是设置公共的通信线 —
—总线 。 所谓总线,是指计算机中多个部件之间公用的一组连线,是若干互连信号线的集合,由它构成系统的插件间,插件的芯片间或系统间的标准信息通路 。
微型计算机广泛采用总线技术,用以简化硬件,软件的系统设计 。 从硬件角度看,接口设计者只需按总线规范设计插件板,保证它们具有互换性与通用性,以便大批量生产,
支持计算机系统的性能及系列产品的开发 。
从软件角度看,接插件的硬件结构带来了软件设计的模块化 。 用总线连接的系统,结构简单清晰,便于扩充与更新 。
例如在规模上扩充时,只需往总线上多插几块同类型的插件;
在功能扩充时,只需插入符合该总线标准的所需插件;在系统更新时,一般只需要更换新的插件或系统板 。 微型计算机的应用领域极为广泛,采用总线标准是应用的需要 。 因此,从用户角度看,希望微型计算机生产厂家除了以机箱方式提供整机系统外,还能以其他方式,如插件方式向用户提供,原型,产品,由用户根据自己的要求构成所需的微机系统 。 借助于总线标准,可以帮助用户按其具体需要选择和获得适合自己需求的产品 。
5.1.2总线的分类在微型计算机系统中,按照总线的规模,用途及应用场合,可将总线分为以下三类 。
1.
芯片总线又称元件级总线 。 这是在构成一块 CPU插件或用微处理机芯片组成一个很小系统时常用的总线,用于各芯片 (如 CPU芯片,储器芯片,I/O接口芯片等 )之间的信息传送 。
按所传送的信息类别不同,可将芯片总线分为传送地址,传送数据和传送控制信息等三组总线,简称为地址总线,数据总线和控制总线 。
2.
内总线又称为系统总线 。 它是微型计算机系统内连接各插件板的总线,用于插件与插件之间的信息传送 。
3.
外总线又称通信总线 。 用于微型计算机系统与系统之间或微型计算机系统与外部设备之间的通信 。
内总线与外总线除地址总线,数据总线和控制总线外,还包括电源总线,地线和备用线 (为用户扩展功能用 )。
三类总线在微型计算机系统中的位置及相互关系如图 5 - 1
所示 。
图 5 – 1 用三类总线构成的微机系统
CRT 显示器存储器 I / O
C P U
总线控制及缓冲片总线
4 通道串行/ 并行输入/ 输出部件内总线外总线
5.1.3
计算机中的信息是通过总线进行传送的,信息在总线上有三种传送方式:串行传送,并行传送和并串行传送 。
1.
当信息以串行方式传送时,只使用一条传输线,且用脉冲传送 。 具体地说,是在传输线上按顺序传送表示一个数码的所有二进制位的脉冲信号,每次一位 。 通常第一个脉冲信号表示数码的最低有效位,最后一个脉冲信号表示数码的最高有效位,如图 5 - 2( a) 所示 。
图 5 - 2
(a) 串行传送; (b) 并行传送源 目的
0
1
0
1
0
1
1
0
0
1
0
1
0
1
1
0
8 位数据线
( b )

0 1 1 0 1 0 1 0
目的
8T
( a )
当进行串行传送时,可能按顺序连续传送若干个 0或若干个
1,如果编码时用有脉冲表示 1,无脉冲表示 0,那么当连续出现几个 0时,则表示在某段时间间隔内传输线上没有脉冲信号 。
为了确定传送了多少个 0,必须采用某种时序格式,以便使接收设备能加以识别 。 通常采用的方法是指定,位时间,,即指定一个二进制位在传输线上占用的时间长度 。 显然,,位时间,是由同步脉冲来体现的 。
假定串行数据是由,位时间,组成的,那么传送 8位需要 8
个位时间 。 如果接收设备在第一个位时间和第五个位时间分别接收到一个脉冲,而其余的 6个位时间没有收到脉冲,那么就表示收到的二进制信息是 00010001。
当进行串行传送时,被传送的数据需要在发送部件进行并行 -串行变换,而在接收部件又需要进行串行 -并行变换 。
串行传送的主要优点是只需要一条传输线,这一特点对于长距离传输显得特别重要 。 不管传输的数据量为多少,都只需一条传输线,因此成本比较低廉 。 串行传送是外总线中常用的传送方式 。
2.
采用并行方式传送二进制信息时,每个数据位都需要一条单独的传输线 。 信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息 (0或 1)在不同的线上同时进行传送 。
图 5 - 2( b) 给出了并行传送的示意图 。 如果要传送的数据由 8位二进制数组成,那么就使用由 8条线组成的扁平电缆,每条线分别传送二进制数的不同位 。 例如,假设图中最上面的线代表最高有效位,最下面的线代表最低有效位,那么图中的 0或 1表示正在传送的数据是 01010110。
当进行并行传送时,所有的位同时传送,所以并行传送方式的速度比串行传送的速度快得多 。 并行传送是微机系统内部常用的传送方式 。
3.
并串行传送方式是并行传送方式与串行传送方式的结合 。
当信息在总线上以并串行方式传送时,如果一个数据字由两个字节组成,那么当传送一个字节时采用并行方式,而字节之间采用串行方式 。
例如,有的微型计算机中 CPU的数据用 16位并行运算 。
但由于 CPU芯片引脚数的限制,出入 CPU的数据总线宽度是 8
位 。 因此,当数据从 CPU中出入数据总线时,以字节为单位,
采用并串行方式进行传送 。
显然,采用并串行传送信息是一种折中的办法 。 当总线宽度 (即传输线根数 )不是很宽时,采用并串行方式传送信息可以使问题得到很好地解决 。
5.1.4总线的标准化总线标准化为连接到总线的各个部件提供了标准的信息通路 。
芯片总线的标准化问题目前尚未得到妥善解决,这主要是由于不同厂家生产的大规模集成电路芯片没有一个标准化的规范,因而很难通过简单的连接提供芯片之间的标准信息通路 。 例如,Z80CPU比 8085CPU功能强,两者的指令系统基本上兼容,机械外型相同,使用相同的 +5V电源 。 但由于引脚信号排列不同,而且大部分控制信号的功能也不同,因此不能直接用 Z80CPU置换 8085CPU来提高机器性能 。 随着微机应用的日益广泛,用户要求不同厂家生产的硬件模块能实现简单方便互连的愿望越来越迫切 。 芯片级不能做到这一点,就要在插件级和系统级设法解决,因而形成了插件级和系统级的各种标准总线 。
标准总线不仅在电气上规定了各种信号的标准电平,负载能力和定时关系,而且在结构上规定了插件的尺寸规格和各引脚的定义 。 通过严格的电气和结构规定,各种模块可实现标准连接 。 各生产厂家可以根据这些标准规范生产各种插件或系统,
用户可以根据自己的需要购买这些插件或系统来构成所希望的应用系统或者扩充原来的系统 。
制定一个合理的,便于以后扩充的总线标准是一件很复杂的工作,但从用户使用的角度看,只要了解常用标准总线的种类,特点和使用方法就行了 。 目前总线标准有两类,一类是
IEEE(美国电气及电子工程师协会 )标准委员会定义与解释的标准,如 IEEE-488总线和 RS-232C串行接口标准等,这类标准现已有 20多个 。
另一类是因广泛应用而被大家接受与公认的标准,如 S-
100总线,IBMPC总线,ISA总线,EISA总线,STD总线和串行电流回路接口标准等 。
不同的总线标准可以用于不同的微机系统或者同一微机系统的不同位置。
5.1.5总线的裁决总线是由多个部件共享的,为了正确地实现各部件之间的信息传送,必须对总线的使用进行合理的分配和管理 。 当总线上的某个部件要与另一个部件进行通信时,首先应该发出请求信号 。 有时发生争用总线现象,就是在同一时刻总线上有多个部件发出总线请求信号的原因,这就要求根据一定的总线裁决原则来确定占用总线的先后次序 。 只有获得总线使用权的部件,才能在总线上传送信息,这就是所谓总线裁决的问题 。 通常,有并联,串联和循环等三种总线分配的优先级技术 。
1.
当采用并联优先权判别法时,优先级别是通过一个优先权裁决电路判断的 。 共享总线的每个部件具有独立的总线请求线,通过请求线将各部件的请求信号送往裁决电路 。 裁决电路一般由一个优先权编码器和一个译码器组成 。 该电路接收到某个部件或多个部件发来的请求信号后,首先经优先权编码器进行编码,然后由译码器产生相应的输出信号,发往请求总线部件中优先级最高的部件,允许该部件尽快获得总线 。 但需注意,即使某个部件获得了最先占有总线的特权,它也不一定能立即使用总线,而必须在总线不忙时,即原占有总线部件传送结束后,才能使用总线 。
因此,每个部件一旦获得总线使用权,应立即发出一个
,总线忙,的信号,表明总线正在被使用 。 而当传送结束后,
应该立即释放总线 。 图 5 - 3( a) 给出了并联优先级判别法的示意图 。
2.
串联优先级判别法不需要优先权编码器和译码器,它采用链式结构,把共享总线的各个部件按规定的优先级别链接在链路的不同位置上 。 在链式结构中位置越前面的部件,优先级别越高 。 当前面的部件要使用总线时,便发出信号,禁止后面的部件使用总线 。 通过这种方式,就确定了请求总线各部件中优先级最高的部件 。 显然,在这种方式中,当优先级高的部件频繁请求时 优先级低的部件很可能很长时间都无法获得总线使用权 。 图 5 - 3( b) 给出了串联优先权判别法的示意图 。
图 5 - 3
(a) 并联优先级判别法; (b) 串联优先级判别法仲裁器模块 1
请求 1
允许 1
模块 N
请求 N
允许 N
总线忙
( a )
仲裁器
1
允许
2
请求总线忙
N
( b )
3.
循环优先权判别法类似于并联优先权判别法,只是其中的优先权是动态分配的,原来的优先权编码器由一个更为复杂的电路代替,该电路把占用总线的优先权在发出总线请求的那些部件之间循环移动,从而使每个总线部件使用总线的机会相同 。
以上三种优先权判别法各有优缺点,循环优先权判别法需要大量的外部逻辑才能实现;串联优先权判别法不需要使用外部逻辑电路,但这种方法中所允许链接的部件数目受到很严格的限制,因为部件太多,那么链路产生的延时就将超过时钟周期长度,总线优先级别的裁决必须在一个总线周期中完成 。
从一般意义上讲,并联优先权判别方法较好,它允许在总线上连接许多部件,而裁决电路又不太复杂 。 在实际使用时,可根据具体情况决定采用哪种优先权判别方法 。
5.1.6
通讯协议是实现总线裁决和信息传送的手段,通常分为同步方式和异步方式 。
1.
总线上的部件通过总线进行信息交换时用一个公共的时钟信号进行同步,这种方式称为同步通讯 。
在同步方式中,由于采用了公共时钟,每个部件何时发送或接收信息都由统一的时钟规定,在通讯时不要附加时间标志或来回应答信号 。 所以,同步通讯具有较高的传输频率 。
由于同步方式对任何两个设备之间的通讯都给予同样的时间安排 。 同步通讯适用于总线上各部件之间的距离以及各部件的数据出入速度比较接近的情况 。 就总线长度而言,必须按距离最长的两个传输设备的传输延迟来设计公共时钟,
以满足最长距离的要求;就部件速度来说,必须按速度最慢的部件来设计公共时钟,以适应最慢部件的需要 。
2.
如果总线上各部件之间的距离和设备的速度相差很大,
势必降低总线的效率,在这种情况下往往采用异步通讯 。
异步通讯允许总线上的各个部件有各自的时钟 。 部件之间进行通讯时没有公共的时间标准,而是在发送信息的同时发出该部件的时间标志信号,用应答方式来协调通信过程 。
异步通讯又分为单向方式和双向方式两种 。 单向方式不能判别数据是否正确传送到对方,故大多采用双向方式,即应答式异步通讯 。 图 5 - 4 是一种全互锁异步方式的示意图 。
在这种方式中,发送部件将数据 (DATA)送到总线上,延迟一定时间后发出,READY”信号,通知对方数据已在总线上 。 接收部件以,READY”信号作为选通脉冲接收数据,并发出,ACK”信号作回答,表示数据已接收,同时在收到
,READY”信号下降沿后随即结束,ACK”信号 。 发送部件收到,ACK”信号后可以撤除数据,以便下一次传送 。
图 5 – 4 全互锁异步通信方式
D A T A
R E A D Y
A C K
全互锁方式中,依据传输情况的不同,,READY”信号和,ACK”信号的宽度会变化 。 当传输距离不同或各部件速度快慢不一时,信号的宽度也不同,即呈,水涨船高,式的变化 从而圆满地解决了通讯中存在的问题 。
全互锁异步通讯方式可靠性高,能够适用于速度不同的部件之间的通讯,对总线的长度也没有严格的要求,因而得到了广泛的应用 。
5.2 微型计算机的总线标准总线是微机中各模块之间传送信息的通道,各模块分时共享总线 。 为了方便微机系统的扩展及各厂家产品的互换或互连,国际上根据微机的发展制定了许多总线标准,如 PC总线标准,ISA总线标准,EISA总线标准,PCI总线标准,
USB总线标准等 。
[
5.2.1PC
PC总线是 PC机和 XT机中采用的系统总线标准,适用于 8
位的数据传送,最大通信速率为 5 MB/s。 它有 62根引脚,引脚如图 5 - 5(a)所示 。 可插入符合 PC总线的各种扩展板,以扩展微机的功能 。
PC总线实际上是 8088CPU核心电路总线的扩展和重新驱动,所以它和最大组态下的 8088引脚具有许多相似之处,也有其特点 。 例如,PC总线上不再具有三态信号线,数据总线和地址总线不再分时使用等 。
图 5 - 5PC
(a) PC总线; (b) ISA总线与 PC总线兼容部分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
G N D
( O ) R E S E T D R V
+ 5 V d c
( I ) I R Q
2
- 5 V d c
( I ) D R Q
2
- 1 2 V d c
C A R D S L C T D
+ 1 2 V d c
G N D
I / O C H C K ( I )
D
7
( I / O )
D
6
( I / O )
D
5
( I / O )
D
4
( I / O )
D
3
( I / O )
D
2
( I / O )
D
1
( I / O )
D
0
( I / O )
I / O C H R D Y ( I )
A E N ( O )
A
1 9
( O )
A
1 8
( O )
A
1 6
( O )
A
1 5
( O )
A
1 4
( O )
A
1 3
( O )
A
1 2
( O )
A
1 1
( O )
A
1 0
( O )
A
9
( O )
A
8
( O )
A
7
( O )
A
6
( O )
A
5
( O )
A
4
( O )
A
3
( O )
A
2
( O )
A
1
( O )
A
0
( O )
A
1 7
( O )
B A
( a )
( I / O ) M E M W
( I / O ) M E M R
( I / O ) I O W
( I / O ) I O R
( O ) D A C K
3
( I ) D R Q
3
( O ) D A C K
1
( I ) D R Q
1
( O ) D A C K
0
( O ) C L K
( I ) I R Q
7
( I ) I R Q
6
( I ) I R Q
5
( I ) I R Q
4
( I ) I R Q
3
( O ) D A C K
2
( O ) T / C
( O ) A L E
+ 5 V d c
( O ) O S C
G N D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
G N D
( O ) R E S E T D R V
+ 5 V d c
( I ) I R Q
2
- 5 V d c
( I ) D R Q
2
- 1 2 V d c
( I ) 0 W S
+ 1 2 V d c
G N D
I / O C H C K ( I )
SD
7
( I / O )
SD
6
( I / O )
SD
5
( I / O )
SD
4
( I / O )
SD
3
( I / O )
SD
2
( I / O )
SD
1
( I / O )
SD
0
( I / O )
I / O C H R D Y ( I )
A E N ( O )
SA
1 9
( O )
SA
1 8
( O )
SA
1 6
( O )
SA
1 5
( O )
SA
1 4
( O )
SA
1 3
( O )
SA
1 2
( O )
SA
1 1
( O )
SA
1 0
( O )
SA
9
( O )
SA
8
( O )
SA
7
( O )
SA
6
( O )
SA
5
( O )
SA
4
( O )
SA
3
( O )
SA
2
( O )
SA
1
( O )
SA
0
( O )
SA
1 7
( O )
B A
( b )
( I / O ) S M E M W
( I / O ) S M E M R
( I / O ) I O W
( I / O ) I O R
( O ) D A C K
3
( I ) D R Q
3
( O ) D A C K
1
( I ) D R Q
1
( O ) R E F R E S H
( O ) C L K
( I ) I R Q
7
( I ) I R Q
6
( I ) I R Q
5
( I ) I R Q
4
( I ) I R Q
3
( O ) D A C K
2
( O ) T / C
( O ) B A L E
+ 5 V d c
( O ) O S C
G N D
1,数据总线
D0~ D7:双向数据线 。 它们为 CPU,存储器,I/O电路提供数据信息传输通道 。 平时由 CPU控制,当 DMA操作时由
DMA控制器 8237A控制 。
2.
A0~ A19:地址总线 。 CPU通过地址总线访问内存和 I/
O口 。 当访问内存时,用 20根地址线,寻址范围为 1 MB。 当访问 I/ O口时,用 16根地址线 ( A0~ A15) 可访问 64 K个端口,
但 XT机中实际上只用了 10根地址线 ( A0~ A9),可访问 1K个端口 。
3.
ALE:地址锁存允许信号 。 它是由总线控制器 8288提供的,
以便把地址和数据分离 。 把地址 /状态复用线上的信号作为地址码加以锁存 。
IRQ2~ IRQ7:中断请求输入信号 。 8259A有 8个中断请求输入端 IRQ0~ IRQ7。 其中 IRQ0,IRQ1直接用在系统主板上,
剩下的 6个中断请求输入端 IRQ2~ IRQ7引到扩展槽,供 I/ O
设备申请中断使用 。 中断优先级别是 IRQ0最高,IRQ7最低 。
,I/ O读命令 。 此信号由总线控制器 8288产生 。 当
DMA操作时由 DMA控制器 8237A产生 。 低电平有效 。 信号的作用是将选中的 I/ O接口中的数据读到数据总线 。
,I/ O写命令 。 此信号由总线控制器 8288产生 。 当
DMA操作时由 DMA控制器 8237A产生 。 电平有效 。 信号的作用是把数据总线上的数据写入所选中的 I/ O接口中 。
IOR
IOR
IOW
IOW
:存储器读命令 。 此信号由总线控制器 8288或 DMA控制器 8237A产生 。 低电平有效 。 当信号有效时,将所选中的存储单元的数据读到数据总线 。
:存储器写命令 。 此信号由总线控制器 8288或 DMA控制器 8237A产生 。 低电平有效 。 当信号有效时,将数据总线上的数据写入所选中的单元 。
DRQ1~ DRQ3,DMA控制器 8237A通道 1~通道 3的 DMA
请求输入信号 。 这些信号是由外设发出的,DRQ1的优先级最高,DRQ3的优先级最低 。 当有 DMA请求时,对应的 DRQ为高电平,直到相应的 DACK为低电平为止 。
,DMA通道 0~通道 3的响应信号 。 它们由
DMA控制器送往外设接口,低电平有效 。 信号用来响应外设的 DMA请求或者实现对动态 RAM的刷新 。
MEMR
MEMW
0DACK 3DACK
iDACK
AEN:地址允许信号 。 这是由 8237A输出的,此信号用来切断 CPU的控制,从而允许 DMA传送 。 当 AEN为高电平时,
由 DMA控制器控制地址总线,数据总线和对存储器及 I/ O设备的读/写命令线 。
T/ C,计数结束信号输出 。 当 DMA通道计数到达终点时,
I/ O线上便出现高电平的脉冲 。
RESET DRV:系统总清信号,此信号使系统各部件复位 。
4.
,I/ O通道奇偶校验信号 。 此信号由插入扩展槽的存储器卡或 I/ O卡发出,用来向 CPU提供关于 I/ O通道上的设备或存储器的奇/偶校验信息 。 当 为低电平时,表示奇/偶校验有错 。
CKC H I/ O
CKC H I/ O
I/ O CH RDY,I/O通道准备好信号 。 该信号由扩展槽中的存储器卡或 I/ O卡发出 。 当一些慢速的外设跟不上 CPU工作速度时,可将该信号变低来使 CPU或 DMA控制器插入等待周期,从而延长 I/ O周期或存储周期 。 此信号为低电平的时间不应超过 10个时钟周期 。
5.
OSC:晶体振荡信号 。 此信号周期为 70 ns,占空比为 50%。
CLK:系统时钟信号 。 此信号由 OSC三分频得到,周期为
210 ns,占空比为 33%。
CARD SLCTD:插件板选中信号,PC/XT有 8个扩展槽
J1~J8。 J1~J8的这个引脚连在一起,但此信号仅由 J8中的扩展板提供,信号有效时,表示 J8中的扩展板选中 。
62芯总线有以下几组电源:
+5 V电源使用 2个引脚;
-5 V电源使用 1个引脚;
+12 V电源使用 1个引脚;
-12 V电源使用 1个引脚。
5.2.2 ISA
PC总线仅适用于 8位数据的传送,所以,从 IBM PC/XT微机开始采用 ISA总线,也称为 AT总线,以便进行 16位数据传送 。
ISA总线的数据传送速率最快为 8 MB/s,地址总线宽度为 24位,
可以支持 16 MB的内存 。 为了和 PC总线兼容,在 PC总线的基础上,ISA总线延伸出一段插槽,如图 5 - 5(b)所示 。 这一小段插槽上的引线主要是扩展的地址线和高 8位数据线及增加的中断申请线等 。 对于早期的 PC总线的扩展卡,若插入 ISA总线插槽,则只使用右边较长的插槽,这部分和原 PC总线基本一样 ( 如图 5 - 5 所示 ),仅两处作了改动:
一是原 B19的,因 AT机的 DRAM刷新不再通过
DMA伪传输完成,故直接由系统板上刷新电路产生信号代替
( 输出 ) ; 另一处是原 B8,现引入
( 零等待状态 ) 信号,它表示接口卡上的设备不需插入任何附加等待状态即可完成当前总线周期 。
由 IBM公司推出的这种总线已经成为 8位和 16位数据传输总线的工业标准,故命名为 ISA ( Industry Standard
Architecture) 。
ISA总线新增的 36引脚情况如表 5 - 1 所示 。
0DACK
C A R D SLC TD
ISA总线与 PC总线引脚的不同情况如下:
LA17~ LA23:非锁存地址总线 A17~ A23,它与系统地址总线 SA0 ~ SA19一起为系统提供多达 16 MB的寻址空间 。
LA17~ LA19与原来的 PC总线的地址线是重复的,因为原先的
XT地址线是利用锁存器提供的,锁存导致了传送速度降低,
故 ISA中定义了不锁存的地址线,在 BALE高电平期间有效 。
SD8~ SD15:新增加的 8位高位数据线 。
,高字节允许信号 。 当其为低电平时表示数据总线正在传送高字节 SD8~ SD15,16位设备可以利用 控制
SD8~ SD15接到数据总线缓冲器上 。
SBHE
SBHE
,,存储器读信号 。 在所有存储器读和存储器低 1 MB的译码,仅当读取存储器低 1 MB时才有效 。
,,存储器写信号 。 在所有存储器写周期有效; 取自 和存储器低 1 MB的译码,仅当写入存储器低 1 MB时才有效 。
,零等待状态信号 。 该输入信号用来告诉微处理器,
不必增加附加的等待状态就可以完成当前的总线周期 。
:如果总线上的某一存储器卡要传送 16位数据,信号,该信号加到系统板上,通知主板实现 16位数据的传送 。
MEMR SMEMR MEMR
MEMR
MEMW SMEMW MEMW
MEMW
WS0
16M EM CS
16M EM CS
此信号需利用三态门或集电极开路门驱动 。
,类似,如果一个 I/O接口卡要传送 16位数据,则必须产生一个有效的 I/OCS16信号,该信号加到系统板上,通知主板实现 16位数据传送 。 此信号也需利用三态门或集电极开路门驱动 。
,该信号与 DRQ线一起用于获取对系统总线的控制权,使 I/O通道上的处理器暂时控制系统总线并访问存储器和外设 。
DRQ0~DRQ3,DRQ5~DRQ7,DMA请求信号 。 优先权从高到低的顺序为 DRQ0,DRQ1 … DRQ6,DRQ7。 其中
DRQ0~DRQ3用于 8位 DMA传送,DRQ5~DRQ7用于 16位 DMA
数据传送 。
16/ OCSI 16M EM C S
MASTER
~,
~ 。
IRQ3~IRQ7,IRQ9~IRQ12,IRQ14~IRQ15:可屏蔽中断请求信号,优先级从高到低的顺序是 IRQ9~IRQ12,IRQ14,IRQ15、
IRQ3~IRQ7。
0DACK 2DACK 5DACK
6DACK
5.2.3EISA
EISA总线是采用 80286CPU的 IBM PC/AT机中使用的总线,
又称为 PC-AT 总线,它是在 8位的 PC总线基础上扩展而成的 16
位总线体系结构 。 由于 EISA总线性能稳定,目前仍有部分 386、
486,586微型机采用 EISA总线 。
EISA总线设计成前 62引脚和后 36引脚的插座,既可利用前 62引脚插入与 XT兼容的 8位扩展卡,又可利用整个插座插入
16位扩展卡 。 下面对 EISA总线前 62脚的信号功能进行说明 。
62条 PC总线信号线按功能可分为五类:
1,地址线
A19~ A0:地址线 。 用来选定存储器地址或 I/O设备地址 。
当选定 I/O设备地址时,A19~ A16无效 。 这些信号一般由 CPU产生,也可以由 DMA控制器产生 。 20位地址线允许访问 1 MB存储空间,16位地址线允许访问 64 KB的 I/O设备空间 。
2.
D7~ D0:数据线 。 用于 CPU,存储器和各种 I/O适配器之间的数据传送 。
3.
,:存储器读,存储器写信号 。 由
CPU或 DMA控制器产生,用来控制存储器的读 /写操作 。
SMEMR SMEMW
,,I/O读,I/O写信号 。 由 CPU或 DMA控制器产生,用来控制对 I/O适配器的数据读出或写入 。
ALE,地址锁存允许信号 。 由总线控制器 8288提供,用在系统板上锁存从处理器来的有效地址 。 在 I/O通道上,作为处理器有效地址指示 。 该信号用来锁存处理器地址 。 ALE下降沿锁存 。
AEN:地址允许信号 。 由总线响应电路产生,用于 DMA操作 。
当它为高电平时,禁止中央处理器信号进入系统总线,而允许
DMA控制器控制系统总线 。
IRQ3~ IRQ7,6级中断请求信号 。 这是 I/O通道上的 I/O适配器向中央处理器发出中断请求服务的信号 。 采用边沿触发 。
DRQ1~ DRQ3,3条 DMA请求信号 。
DACK1~ DACK3,3条 DMA响应信号。
IOR IOW
若 I/O槽上某适配器请求和存储器交换数据 ( 如软盘的读或写操作 ),则
DMA请求 ( DRQ) 信号电平升高,在 CPU执行完本总线周期操作后,通过 DMA控制器向该适配器发回 DMA响应
( DACK) 信号,同时 DMA控制器占用系统总线 。
REFRESH:系统板上 RAM刷新电路信号 。
,零等待状态信号 。
T/C,计数终止信号 。 当任一个 DMA通道的传送达到预定字节数时,向适配器发出 T/C脉冲信号,以终止 DMA数据交换 。
RESET DRV:系统总清信号,加电时使系统各部件复位或初始化。
WS0
4,状态线
,I/O通道校验 。 此信号指明 I/O通道上扩充存储器或外设出现奇偶校验出错 。 该信号有效时,将使 CPU
进入非屏蔽中断 ( NMI) 。
I/O CHRDY,I/O通道就绪信号 。 该信号通常处于高电平,若慢速的 I/O设备等需要 CPU延长总线周期时,将此信号变为低电平 。 直到此信号重新置为高电平才停止总线周期延长 。 其延长时间是时钟 ( 210 ns) 的整数倍 。
5.
OSC:主振荡器输出信号 。 8284时钟发生器提供给 I/O通道作为主振荡器信号 。 周期为 70ns,即频率为 14.31818MHz,
占空比为 50%。
OC HC KT /
CLK:系统时钟信号 。 它是微处理器工作频率,又称状态周期信号,由 OSC晶体振荡器主振频率 14.318 18 MHz经 8284时钟三分频获得 。 周期为 210 ns,工作频率为 4.77 MHz,占空比为 33%。
EISA总线的后 36引脚设置了 8位数据线 ( 高字节 ) SD8~
SD15,高七位地址线 SA23~ SA17以及控制存储器和 I/O设备的读写命令线,并增加了若干中断和 DMA控制线,电源和地线等在 36引脚中还设置了如下信号:
,总线高字节允许 ( 输入 /输出 ) 信号 。 表示数据总线传送的是高位字节 ( SD8~ SD15),16 信号控制数据总线缓冲器接到 SD8~ SD15。
SBHE
SBHE
和,存储器 16位芯片选择和 I/O 16
位芯片选择 ( 输入 ) 信号,用来通知系统板,当前的数据传送是一个等待状态的 16位存储器周期还是 I/O周期 。
,主设备信号 ( 输入 ) 信号,用来指示 I/O通道上的微处理器将控制总线 。
16M EM C S 16/ OC SI
MASTER
5.2.4PCI
局部总线常见的有 VL总线和 PCI。 VL总线出现以后,
虽然提高了计算机系统的整体性能,但也存在一定的局限性 。
其表现如下:
① 用户必须根据 CPU 的速度及系统采用的扩展总线来选用特定的 VL总线卡 。
② 系统中的一个 VL总线不能在多于两个 VL总线卡的情况下运行,否则将降低系统的性能 。
③ 由于其设计思想是低价格,快速上市,因此设计简单,
无缓冲器,当 CPU主频大于 33 MHz时,会导致延时,产生等待状态 。
为解决以上问题,1991年 Intel公司提出了 PCI设想 。
1993年将 PCI 商品化 。 目前主要在奔腾 (Pentium)等高档微机中使用 。 PCI(外部设备互连 )是高速外设与 CPU间的桥梁 。 它在 CPU 与外设间插入了一个复杂的管理层,以协调数据传输,
并提供了一个标准的总线接口 。 该管理层提供信号的缓冲,
使 PCI能支持 10种外设,并在高时钟频率下保持高性能 。 如图
5 - 6 所示 。
1,PCI
① 支持总线主控技术,允许智能设备在适当的时候取得总线控制权以加速数据传输 和对高度专门化任务的支持 。
图 5 – 6 PCI系统结构示意图
C P U
存储控制器存储器
P C I桥路标准总线桥路 设备 设备 设备
P C I桥路
C P U 总线设备标准总线 ( I S A,E I S A … )
② 支持突发传输模式 。 在这种模式下,PCI 能在极短时间内发送大量数据,特别适合于高分辨率且多达数百万种颜色的图像快速显示 。
③ 不受 CPU速度和结构的限制,Pentium,Over Drive等微处理器都可使用 。
④ 与 ISA/EISA/MCA总线兼容 。
⑤ 预留扩展空间,支持 64位数据和地址 。
⑥ 支持自动配置功能 。 无需手工调节跨接器,DIP开关或系统中断 。
⑦ 设有特别的缓存,实现 CPU与外设隔离,外设或 CPU
的单独升级不会带来兼容问题 。
⑧ 当数据宽度为 32位,时钟频率为 33 MHz时,最大数据传输速率为 132 MB/s。
2,PCI
PCI总线信号分为地址线,数据线,接口控制线,仲裁线,系统线,中断请求线,高速缓存支持,出错报告等信号线,共 188根 。 具体情况如表 5 - 2 所示 。
系统信号线有时钟信号线 CLK和复位信号线# RST。
CLK信号是 PCI总线上所有设备的一个输入信号,为所有 PCI
总线上设备的 VO操作提供同步定时 。 # RST使各信号线的初始状态处于系统规定的初始状态或高阻态 。
地址/数据总线 AD0~ AD31是时分复用的信号线 。 C/
# BE0~ C/# BE3称为,命令/字节使能,信号,也为复用线 。 在传输数据阶段,它们指明所传输数据的各个字节的通路;在传送地址阶段,这四条线决定了总线操作的类型,这些类型包括 I/ O读,I/ O写,存储器读,存储器写,存储器多重写,中断响应,配置读,配置写和双地址周期等等 。
为了实现即插即用 ( PnP) 功能,PCI部件内都置有配置寄存器,配置读和配置写命令就是用于在系统初始化时,对这些寄存器进行读写操作 。 PAR信号为校验信号,用于对 AD0~
AD31和 C/# BE0~ C/# BE3的偶校验 。
接口控制信号有成帧信号# FRAME,目标设备就绪信号
# TDRY,始发设备就绪信号# IRDY,停止传输# STOP,初始化设备选择 IDSEL,资源封锁# LOCK 和设备选择#
DEVSEL。
PCI总线采用独立请求的仲裁方式 。 每一个 PCI始发设备都有一对总线仲裁线# REQ和# GNT直接连到 PCI总线仲裁器 。
当各始发设备使用总线时,分别独立地向 PCI总线仲裁器发出总线请求信号# REQ,由总线仲裁器根据系统规定的判决规则决定把总线使用权赋给哪一个设备 。
3.
突发读写方式,是指在一次寻址后,将周围的单元同时选通,而不必再在附近区域重新寻址,即周围的数据无需进一步寻址就可以直接传输 。 这样,在一个突发周期只要寻址一次就可以传送一个数据块,大大加快了数据传输速度 。 这种方式是建立在页操作模式和多体交替操作模式基础上的一种寻址方式 。
PCI总线支持无限突发读写方式,它和 Pentium的突发方式相似 。 也就是说,突发的长度可以是任意长度,由始发设备和目标设备商定 。 每次突发传送由以下两个阶段组成 。
(1) 地址阶段 。 在此阶段,
地址总线发出目标设备的端口地址,同时 C/# BE0~ C
/# BE3 发出操作类型码,指明本次操作是何种类型的操作 。
由于这些线均为复用线,故目标设备必须将上述信息进行锁存,以进行地址和命令译码 。 被选中的目标设备必须输出一个该操作目的的应答信号 。
如果始发设备在预定的时间内没有发现这个信号就终止该次操作 。
(2) 数据阶段 。
数据阶段是指在始发设备和目标设备之间传送数据的一段时间 。 由于是突发传送方式,因而可连续传送一个数据块,
此时地址锁存器中的地址并没有发生变化,C/# BE0~ C/#
BE3信号切换为字节使能信号,指明各字节的存储地址或通路 。
PCI总线为始发设备和目标设备都定义了表示就绪的信号线,如果未准备就绪则在该数据阶段扩展一个时钟周期 。 整个突发方式传送的持续期由成帧信号# FRAME来标识 。 这个信号由始发设备地址阶段开始处发出,保持到最后一个数据阶段 。 始发设备通过取消这个信号来指明突发传送的最后一次数据传输正在进行当中,紧接着发出就绪信号,表示已准备好最后一次数据传输 。 当最后一次数据传输完毕后,始发设备取消就绪信号,使 PCI总线回到空闲状态 。
5.2.5USB通用串行总线
USB( Universal Serial Bus) 是由 DEC,IBM,Intel、
Microsoft以及 NEC等七家高技术企业制定的串行接口总线标准 。
由于目前微机系统的外设接口没有统一的标准,如键盘的插口是圆的,打印插口是长方形等等,而利用 USB则可把这些不同的接口统一起来 。 它使用一个 4针的插头作为标准插头,
可连接的外围设备数目最多达 127个,支持热插入 ( Hot Plug
In) 和即插即用 ( Plug& Play),最高传送速度可达 480 Mb/ s,
既可用于低速的外围设备,如键盘,鼠标等,也可用于中速装置,如打印机,数码照相机,调制解调器,扫描仪等 。 它的主要特点如下:
① 当 USB连接外围设备时可使用集线器进行树形连接,
连接的外围设备数目最多达 127个,从主装置开始可以经由 5
层集线器进行菊花链连接 。 连接于 USB上的装置都不是终点,
而是能够利用集线器连接其他装置的分叉点 。
② USB允许两种数据传送速度规格,1.5Mb/ s的叫做低速传送; 12 Mb/ s的叫做全速传送 。 当进行全速传送时,结点间连接距离为 5m,连接用的 4芯电缆 ( 有两根电源线,两根信号线作为一个差动信号 ) 必须有屏蔽;当进行低速传送时,
结点间连接距离为 3 m,连接用的 4芯电缆不一定有屏蔽 。 具有不同传送速度的各个结点设备允许互相通信 。
③ USB有同步,中断,批量三种数据传送模式 。 同步传送主要用于数码相机,扫描仪等中速外围设备;中断传送用于键盘,鼠标等低速设备;而批量传送用于打印机,调制解调器,
数字音响等不定期传送大量数据的中速设备使用 。
④ USB采用 NRZI( Non Return to Zero Invert,不归零翻转 )
编码传送格式,试图减少误码率 。 因为当 USB通信时只有一对摆幅为 3.3 V的差动信号 ( D+和 D-),既无时钟也无选通信号,
所以在同步方法上用一种称为同步模式 ( Sync.Pattern) 的数据
( 80Hex,10000000B),将其放在各种信息包前面进行同步 。
⑤ USB总线可以为低功耗装置提供电源 。
由于 USB的诸多特点,受到了世界上许多大公司的重视,大有取代现有的各种串行接口和并行接口的趋势 。
另一种串行接口标准 IEEE 1394在一些领域中也得到了应用,该标准主要是作为数字化视频和音频的接口标准 。
5.2.6 RS-232C串行接口标准为了不同厂商的计算机和各种外围设备串行连接的需要,
制定了一些串行物理接口的标准 。 其中,最著名和广泛采用的就是 RS-232C。
RS-232C是美国电子工业协会 EIA( Electronic Industry
Association) 于 1962年公布,并于 1969年修订的串行接口标准 。
它已经成为国际上通用的标准 。 1987年 1月,RS-232C经修改后,正式改名为 EIA-232D。 由于标准修改得并不多,因此现在很多厂商仍用旧的名称 。
早期人们借助电话网进行远距离数据传送而设计了调制解调器 Modem,为此就需要有关数据终端与 Modem之间的接口标准,RS-232C标准在当时就是为此目的而产生的 。
目前 RS-232C已成为数据终端设备 DTE( Data Terminal
Equipment ),如计算机,与 数 据 通 信 设 备 DCE ( Data
Communication Equipment),如 Modem的接口标准,不仅在远距离通信中要经常用到它,就是两台计算机或设备之间的近距离串行连接也普遍采用 RS-232C接口 。
1,RS-232C
RS-232C使用一个 25针的连接器,其引脚排列,名称见表
5-3所示 。 在这 25个引脚中,20个引脚作为 RS-232C信号,其中有 4个数据线,11个控制线,3个定时信号线,2个地信号线 。
另外,还保留了 2个引脚,有 3个引脚未定义 。 如图 5 - 7 所示为
25针连接器 DB-25的外形图 。 另外,图 5 - 8 中还给出了在 AT
机上使用的 9针连接器及其对应的引脚 。
图 5-7 DB-25型连接器
13
1
25
14
13
1
25
14
25 脚 D 型插座 25 脚 D 型插头图 5 – 8 DB-9型连接器
1
2
3
4
5
6
7
8
9
D C D
R x D
T x D
D T R
G N D
D S R
R T S
C T S
RI
从表中可知,RS-232C接口中实际包括两个信道:主信道和次信道 。 次信道为辅助串行通道提供数据控制和通道,
但其传输速率比主信道要低得多 。 除了速率低之外,次信道跟主信道相同,但通常较少使用 。 如果要用的话,主要是向连接于通信线路两端的 Modem提供控制信息 。 下面我们介绍
TXD( Transmitted Data) 发送数据:串行数据的发送端 。
RXD( Received Data) 接收数据,串行数据的接收端 。
RTS( Request To Send) 请求发送:当数据终端准备好送出数据时,就发出有效的 RTS信号,通知 Modem准备接收数据 。
CTS( Clear To Send) 清除发送 ( 也称允许发送 ),当
Modem已准备好接收数据终端的传送数据时,发出 CTS有效信号来响应 RTS信号 。 所以 RTS和 CTS是一对用于发送数据的联络信号 。
DTR( Data Terminal Ready ) 数据终端准备好,通常当数据终端一加电,该信号就有效,表明数据终端准备就绪 。 它可以用作数据终端设备发给数据通信设备 Modem的联络信号 。
DSR( Data Set Ready ) 数据装置准备好:通常表示
Modem已接通电源连到通信线路上,并处在数据传输方式,
而不是处于测试方式或断开状态 。 它可以用作数据通信设备
Modem响应数据终端设备 DTR的联络信号 。
GND( Ground) 信号地:它为所有的信号提供一个公共的参考电平,相对于其它信号,它为 0 V电压 。
保护地 ( 机壳地 ),一个起屏蔽保护作用的接地端 。 一般应参照设备的使用规定,连接到设备的外壳或机架上,必要时要连接到大地 。
CD( Carrier Datected ) 载波检测:当本地 Modem接收到来自远程 Modem正确的载波信号时,由该引脚向数据终端发出有效信号 。 该引脚也可缩写为 DCD。
RI( Ring Indicator) 振铃指示:自动应答的 Modem用此信号作为电话铃响的指示 。 在响铃期间,该引线保持有效 。
TXC( Transmitter Clock ) 发送器时钟:控制数据终端发送串行数据的时钟信号 。
RXC( Receiver Clock ) 接收器时钟:控制数据终端接收串行数据的时钟信号 。
终端发送器时钟 ( 引脚 24),由数据终端向外提供发送时钟,在信号电平的中间跳变 。 它和发送时钟 TXC都与发送数据
TXD有关 。
信号质量检测 ( 引脚 21) 和数据信号速率选择 ( 引脚 23),
通常用于指示信号质量和选择传输速率 。
2,RS-232C
RS-232C广泛用于数字终端设备如计算机与调制解调器之间的接口,以实现通过电话线路进行远距离通信,如图 5 - 9 所示 。 尽管 232C使用 20个信号线,但在绝大多数情况下,微型计算机,计算机终端和一些外部设备都配有 232C串行接口 。 在它们之间进行短距离通信时,无需电话线和调制解调器可以直接相连,如图 5 - 10 所示 。
图 5- 9 使用 Modem的 RS-232C接口发送数据 T x D
接收数据 R x D
请求发送 R T S
允许发送 C T S
数据装置准备好 D S R
信号地 G N D
载波检测 CD
数据终端准备好 D T R
振铃指示 RI
2
3
4
5
6
7
8
20
22
2
3
4
5
6
7
8
20
22
计算机 M O D E M
2
3
4
5
6
7
8
20
22
2
3
4
5
6
7
8
20
22
M O D E M 计算机电话线图 5 –10 不用 Modem的 RS-232C接口
T x D
R x D
R T S
C T S
G N D
D S R
D T R
2
3
4
5
7
6
20
2
3
4
5
7
6
20
计算机 计算机
( c )
T x D
R x D
R T S
C T S
G N D
D S R
D T R
2
3
4
5
7
6
20
2
3
4
5
7
6
20
计算机 计算机
( b )
T x D
R x D
G N D
2
3
7
2
3
4
计算机 计算机
( a )
图 5 - 10( a) 是最简单的只用三线实现相连的通信方式 。
很明显,为了交换信息,TXD和 RXD应当交叉连接 。 因为不使用联络信号,所以程序中不必使 RTS和 DTR有效,也不应检测 CTS和 DSR是否有效 。 图 5 - 10( b) 中 RTS和 CTS互接,
这是用请求发送 RTS信号来产生允许发送 CTS,以满足全双工通信的联络控制要求 。 当请求发送接到允许发送时,表明请求传送总是允许的 。 同样,DTR和 DSR互接,用数据终端准备好信号产生数据装置准备好信号 。
异步串行通信若采用图 5 - 10( a) 或图 5 - 10( b) 所示的三线连接方式,应注意传输的可靠性 。 因为发送方根本无法知道接收方什么时候可以接收数据,所以在软件设计时应发送一个字符,等待接收方确认之后 ( 如回送一个响应字符 )
再发送下一个字符 。
图 5 - 10( b) 虽然使用了联络信号,但实际上通信双方并未真正相连 。 图 5-10( c) 是另一种利用 232C直接互连的通信方式,这种方式下的通信更加可靠,但所用连线较多,不如前者经济 。 由于上述连接不使用调制解调器,所以也称为零调制解调器连接 ( Null Modem) 。 其中图 5 - 10( b) 和图
5 - 10( c) 是由系统 ROM[CD*2]BIOS提供的异步通信 I/ O功能调用 int 14h所支持的 。
3,RS-232C
为了保证数据正确地传送,设备控制准确地完成,有必要使所用的信号电平保持一致 。 为满足此要求,RS-232C标准规定了数据和控制信号的电压范围 。 由于 RS-232C是在 TTL集成电路之前制定的,所以它的电平不是 +5 V和地 。 它规定:高电平为 +3~+15 V,低电平为 -15~-3 V。
在实际应用中,常采用 ± 12 V或 ± 15V,232C
± 25 V 的信号电压 。 另外,要注意 RS-232C数据线 TXD和 RXD
使用负逻辑,即高电平表示逻辑 0,用符号 SPACE( 空号 ) 表示; 低电平表示逻辑 1,用符号 MARK( 传号 ) 表示 。 其它控制线均为正逻辑,高电平有效,为 0N状态; 低电平无效,为
OFF状态 。
由于发送器/接收器芯片使用 TTL电平,但 232C却使用上述 EIA电平,所以为满足 EIA电气特性,必须在发送器/接收器与 232C接口之间使用转换器件 。 如 SN75150,MC1488
芯片完成 TTL电平到 EIA电平的转换,而 SN75154,MCI489
芯片可完成 EIA电平到 TTL电平的转换,图 5 - 11 为其连接示意图 。
4,RS-232C
232C既是一种协议标准,又是一种电气标准,它采用单端的,双极性电源供电电路,可用于最远距离为 15 m,最高速率达 20 kb/s的串行异步通信 。 232C仍有一些不足之处,主要表现在:
① 传输速率不够快 。 232C标准规定最高速率为 20 kb/s,
尽管能满足异步通信要求,但不能适应高速的同步通信 。
图 5-11 EIA和 TTL电平的转换信号地
E I A 电平 T T L 电平T T L 电平
M C 1 4 8 8
- 1 2 V
- 1 2 V
- 5V
M C 1 4 8 9
1 1
② 传输距离不够远 。 232C标准规定各装置之间电缆长度不超过 50英尺 ( 约 15 m) 。
实际上,RS-232C能够实现 100英尺或 200英尺的传输,
但在使用前,一定要先测试信号的质量,以保证数据的正确传输 。
③ RS-232C接口采用不平衡的发送器和接收器,每个信号只有一根导线,两个传输方向仅有一个信号线地线,因而,
电气性能不佳,容易在信号间产生串扰 。
5.3 总线基础上的系统硬件扩展
5.3.1 I/O接口扩展在实际应用中,微机系统功能的扩展是通过把相应的硬件电路制成接口扩展板 ( I/O卡 ) 插入总线插槽得以实现的,如计算机公司生产的显示卡,网卡以及用户设计的各类特定用途卡 。
由于总线插槽上的信号是主机板上总线信号的延伸,因此,
如果 I/O接口卡设计不当,不但 I/O卡不能工作,还会使微机不能工作甚至损坏,故 I/O接口卡设计必须遵守如下原则:
① I/O接口卡的工作时序必须严格符合微机 I/O总线读写周期的时序,对慢速外设器件可使用锁存器等辅助完成信息传输 。
② I/ O槽上所有信号线的负载能力有限,因此,I/O卡与 I/ O槽上的所有连线都应具有很小的高电平输出电流和低电平灌入电流,即对微机总线不构成重负载,否则应加缓冲驱动器 。
③ 与数据总线相连的器件必须具有三态功能,在不进行数据传输时,使其处于高阻态 。
④ 为接口卡上每一个端口分配一个微机系统未用的 I/ O
端口地址,该地址不能与微机在已使用的 I/O地址重合 。
⑤ I/ O槽上的地址和读写信号线均为单向输出 。
⑥ I/ O接口卡应有去耦滤波等抗干扰措施,走线工艺合理,不能成为微机的干扰源 。
⑦ I/ O接口卡插脚与 I/ O槽引脚对应关系必须正确,
切不可造成短路故障。
下面举例介绍在 ISA总线基础上如何进行 I/O口扩展 。
AD674是一种常用的 12位 A/ D转换器 ( 和 AD574兼容 ),
图 5 - 12 就是利用 AD674进行数据采集的接口电路 。
图 5 - 12 中的 AD585是采样保持放大器,模拟信号经采样保持和放大之后送 10VIN端 。 CPU执行有关输出指令启动 A
/ D转换,转换结束后可向 CPU发出中断请求或由 CPU查询是否转换结束,然后执行相应的输入指令读取转换结果 。
在设计该接口电路时,应注意以下问题:
(1) AEN信号 。 PC系列微机在进行内部 DMA操作时也需要使用地址信号和,等信号,因此若不采取措施,
则可能引起 DMA操作和 I/ O端口访问操作混淆 。
IOW IOR
这两种操作是利用 AEN信号来区分的,在进入 DMA操作周期时,AEN为高电平,而在访问 I/ O端口时,AEN为低电平 。
利用 AEN信号有两种方法:一种就是利用 AEN I/ O
端口的译码,只有当 AEN信号为低电平时,才对 I/ O端口地址进行译码,然后由,控制读写;另一种是把 AEN信号与
,结合起来去控制 I/ O端口的读写,只有 AEN信号为低电平时,I/ O端口的读写信号才有效 。
IOR IOW
IOR
(2) 由于是进行 16位的端口读写,因此还需要注意以下两点,一是 16位端口读写只能在偶地址的端口上使用,例如在端口 320H,340H等偶地址端口上可以进行 16位端口读写,
而在端口 3411J上就不可以 。 二是在进行 16位端口读写时扩展槽上的总线信号 I/OCS16需要一个低电平,而且要求是三态门或集电极开路门驱动的,因此往往是把所有的 16位端口的译码信号相与后,经三态门驱动接到 I/O上,如图 5 - 12 所示 。
(3) 当访问 I/ O端口时地址线一般只使用 A9~ A0,且只有
A9~ A2参与译码,A1,A0作为接口芯片的片内地址 。 当 A9
= 1时,访问接口扩展板上的端口,地址应选用系统未用的 I
/ O端口地址 。
图 5 – 12 数据采集的接口电路
1 0 V
IN
2 0 V
IN
R E F
IN
R E F
OUT
Q I P
+ 5V
- 1 5 V
D G N D
A G N D
1
8
14 13 12
2
6
A D 5 8 5
DB
11 ~ 0
S TS
CS
R / C
CE
A
0
1 2 / 8
译码
DB
15 ~ 0
数据总线驱动
A E N
A
9
~ A
2
I O W
I O R
I / O C S 1 6
I
S
A
总线
V
IN
A D 6 7 4 A
&
+ 5V
&
DB
0
≥1
5.3.2存储器扩展在总线基础上进行存储器扩展应遵循的原则和 I/ O接口扩展类似 。 由于存储器扩展时占用的地址更多,所以应该更加注意地址空间的安排,一般选用 C0000H~ DFFFFH这段区域 。 最稳妥的办法是结合具体的微机系统,采用有关测试软件测出系统中内存的安排情况,从而选择未被占用的地址空间 。 这就要求所扩展的地址空间最好能够通过开关进行范围的切换,比如将首地址由 C0000H切换到 D0000H,这样,当扩展的地址空间和其他地址空间发生冲突时可以适当避开 。 图 5 - 13 就是利用数字比较器 74LS688和 DIP开关构成的可变址译码电路 。
图 5- 13 可变址译码电路
P
0
A
14
2
P
1
P
2
P
3
P
4
P
5
P
6
P
7
A
15
A
16
A
17
A
18
A
19
A EN
4
6
8
11
13
15
17
Q
0
Q
1
Q
2
Q
3
Q
4
Q
5
Q
6
Q
7
3
5
7
9
12
14
16
18
G
+ 5
+ 5
P = Q
Y
19
7 4 L S 6 8 8
8,2 k × 6
D I P 6
1
下面举例介绍在 ISA总线基础上如何进行存储器扩展 。 图
5 - 14 就是利用两片静态 RAM 6264( 8 KB) 进行 16位存储器扩展的例子 。
图中译码电路可以采用图 5 - 8 所示电路 。 对 AEN、
的处理类似 I/ O接口扩展情况 。 A0控制偶地址单元的访问,
信号控制奇地址单元的访问 。 由于用户存储器扩展都是占用主存 1 MB以下的地址空间,所以该电路中读写信号采用的是 ISA,提供的信号 。 这两个信号只在存储器寻址范围小于 1 MB时才有效,因而超过 1 MB的寻址不会响该电路的工作 。
16MEMCS
SBHE
SMEMR SMEMW
图 5 – 14 存储器扩展接口电路
S M E M W
S M E M R
译码器
A
19
~ A
14
A
0
S B H E
CS OE WE
D
7
~ D
0
A
1 2
~ A
0
6 2 6 4
CS OE WE
D
7
~ D
0
A
1 2
~ A
0
6 2 6 4
驱动
D
7
~ D
0
M E M C S 1 6
驱动
D
1 5
~ D
8
A
1 3
~ A
1
I
S
A
总线
&
≥1
≥1