您的当前位置:首页正文

ISA总线

2021-05-30 来源:易榕旅网
ISA总线

ISA总线(或称工业标准结构总线)在与IBM兼容的PC系统刚起步时就已出现了(约1982年)。实际上,任何早期PC中的功能卡均可插入最先进的基于Pentium4的计算机中,并且发挥作用。这是因为在所有这些计算机都有ISA总线接口,从而与早期的PC仍然兼容。ISA总线最近在家用计算机中已几乎不用了,但仍用于许多工业应用,且越来越受到限制。

ISA总线已经不同于它的早期版本。ISA总线已从最初的8位标准总线发展为在大多数系统中广泛应用的16位标准总线。在发展过程中甚至出现过一种称为EISA(扩展ISA)总线的32位标准总线,但已基本消失。在一些比较老的主板上仍保留有ISA插槽,既可以插入8位ISA卡,又可以插入16位ISA卡。32位的印制电路板则经常是PCI卡。8位ISA总线接口

引脚A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18A19A20A21A22A23A24A25A26A27A28A29信号名称I/OCHCKD7D6D5D4D3D2D1D0IOCHRAYAENA19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2输入输出II/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/O引脚B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19B20B21B22B23B24B25B26B27B28B29信号名称GNDRESET+5VIRQ2-5VDRQ2-12VNOWS+12VGND/SMEMW/SMEMR/IOW/IOR/DACK3DRQ3/DACK1DRQ1/REFRESHCLKIRQ7IRQ6IRQ5IRQ4IRQ3/DACK2T/CBALE+5VI/OI/OI/OI/OIOIOI/OIOOOOOII/OIIIIOIOIOI输入输出A30A31A1A0I/OI/OB30B31OSCGNDI1、下面对引脚信号做一些简要说明:D7~D0:8位数据线,双向,三态。2、A19~A0:20位地址线,输出。

3、/SMEMR、/SMEMW:存储器读、写命令,输出,低电平有效。4、/IOR、/IOW:I/O读、写命令,输出,低电平有效。5、AEN:地址允许信号,输出,高电平有效。该信号由DMAC发出,为高表示DMAC正在控制系统进行DMA传送,所以它可以用于指示DMA总线周期。

6、BALE:总线地址锁存允许,输出。该信号在CPU总线周期的T1周期有效,可作为CPU总线周期的指示。7、I/OCHRAY:I/O通道准备好,输入,高电平有效。该引脚信号与8086的READY功能相同,用于插入等待时钟周期。

8、/I/OCHCK:I/O通道校验,输入,低电平有效。它有效表示板卡上出现奇偶校验错。

9、IRQ7~IRQ2:6个中断请求信号,输入,分别接到中断控制逻辑的主8259A的中断请求输入端IR7~IR2.这些信号由低到高的跳变表示中断请求,但应一直保持高电平,直到CPU响应中断为止。它们的优先级别与所连接的IR线相同,即IRQ2在这6个请求信号中级别最高,IRQ7的级别最低。

10、DRQ3~DRQ1:3个DMA请求信号,输入,高电平有效。它们分别接到DMA控制器8237A的DMA请求输入端DREQ3~DREQ1.因此优先级别与它们相对应(DRQ1的级别最高,DRQ3的级别最低)。

11、/DACK3~/DACK1:3个DMA响应信号,输出,低电平有效。

12、T/C:计数结束信号,输出,高电平有效。它由DMA发出,用于表示进行DMA传送的通道编程时规定传送字节数已经传送完。但它没有说明是哪个通道,这要结合DMA响应信号DACK来判断。13、OSC:振荡器的输出脉冲。

14、CLK:系统时钟信号,输出。系统时钟的频率通常在4.77MHZ~8MHZ内选择,最高频率位8.3MHZCLK是由OSC的输出3分频产生的,也就是说OSC的频率应是CLK的3倍。

15、RESET:系统复位信号,输出,高电平有效。该信号有效时表示系统正在处于复位状态,可利用该信号复位总线板卡上的有关电路。

16、NOWS:零等待状态,输入,低电平有效。用于缩短按照缺省设置应等待的时钟数,当它有效时,不再插入等待时钟。17、/REFRESH:刷新信号,双向,低电平有效,由总线主控制器的刷新逻辑产生。该信号有效表示存储器正在处于刷新周期。

下面示例是一个8位ISA总线输出接口,它假设有一组4个8位锁存器需要连接到PC上,用于传输32位并行数据,则这个任务可以通过购买ISA接口卡来完成。此卡不仅提供ISA总线使用的边缘连接器,其背面还为接口连接器准备了空间。可把一个37引脚的超小型D型连接器插在卡的背面,用来把32位数据传输到外部设备。

下图给出了提供32位并行TTL数据的ISA总线的一个简单接口。

在电路中ISA卡的输出由标示为P1的带37个引脚的连接器提供。电路的输出连到P1上,P1的地线已经接好。必须给外界提供地线,否则并行端口上的TTL数据将不起作用。如果需要,每个74LS374锁存器的输出控制引脚(^OC)也可以不与地线相连,而是接到P1的4个剩余引脚上,这样就允许外部电路控制锁存器的输出。

一个小的DIP开关被接到U7的两个输出上。这样,如果与其他的卡发生地址冲突,则可以改变地址。但这种情况一般不太可能发生,除非打算在同一个系统中使用两个ISA卡。此系统中地址线A2没有被译码,因此在这里它是一个无关项。下表给出了每个锁存器的地址及S1的每一位置。

注意,在同一时间,两个开关中只能有一个闭合,而且对于每个开关设置,每个端口有两个可能地址,这是因为A2没有连接。

上图I/O端口分配表DIP开关锁存器U2锁存器U4锁存器U6锁存器U8

0608H或0609H或060AH或060BH或

1-4闭合

060CH060DH060EH060FH0E08H或0E09H或0E0AH或0E0BH或

2-3闭合

0E0CH0E0DH0E0EH0E0FH

在PC中,ISA总线被设计工作在I/O地址0000H~03FFH。ISA卡有的可以,有的不可以超出这个地址范围工作,这取决于主板的型号以及主板的制造商。较新的系统常允许ISA的I/O端口地址高于03FFH,而较早的系统则不允许。

此例中,由3个74LS138译码完成端口的译码,如果使用可编程逻辑器件,则端口的译码将更有效和更经济。

下图给出了使用可编程逻辑器件的电路图。

下面示例是一个8位ISA总线输入接口,一对ADC0804模/数转换器被接到ISA总线上。一个9引脚的DB9连接器与转换器相连。译码I/O端口地址的任务更加复杂,因为每个转换器需要一个写脉冲来启动转换;而且一旦信号由模拟输入数据转换为数字信号,还需要一个读脉冲去读这个数字信号;另外还需要一个脉冲选择^INTR输出。

注意^INTR输出被接到数据总线D0位,当^INTR被输入给微处理器时,AL最低位即被测试,以检查转换器是否处于“忙”状态。

8位ISA总线输入接口I/O端口分配

设备端口号开始ADC(U3)1200H读INTR(U3)1200H读ADC(U3)1202H

1201H开始ADC(U5)

1201H读INTR(U5)

读ADC(U5)1203H

16位ISA总线接口

下表接上面8位ISA总线接口

引脚C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15C16C17C18信号名称SBHELA23LA22LA21LA20LA19LA18LA17/MEMR/MEMWSD8SD9SD10SD11SD12SD13SD14SD15输入输出II/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/O引脚D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D16D17D18信号名称/MEMCS16/I/OCS16IRQ10IRQ11IRQ12IRQ14IRQ15/DACK0DRQ0/DACK5DRQ5/DACK6DRQ6/DACK7DRQ7+5V/MASTERGND输入输出I/OI/OOOOOOIOIOIOIOIO下面是16位ISA总线剩下信号的说明:

a)SD15~SD8:数据总线的高8位,双向,三态。

b)SBHE:总线高字节传送允许,三态信号。该信号用来表示SD15~SD8上

正进行数据传送。

c)LA23~LS17:非锁存的地址线,在BALE为高电平时有效。将它们锁存起

来,并和已锁存的低位地址线(A19~A0)组合在一起,可形成24位地址线,因而使系统的寻址能力扩大到16MB。

d)/MEMR,/MEMW:存储器读,写信号,低电平有效。这两个信号在所有的

存储器读和写周期有效。相比之下,前面所介绍的/SMEMR和/SMEMW仅当访问存储器的低1MB才有效。

e)/MEMCS16:存储器片选16,输入,低电平有效。该信号用来表示当前的

数据传输是具有一个等待时钟的16位存储器总线周期。

f)/I/OCS16:I/O片选16,输入,低电平有效。该信号为集电极开路,为

低表示当前的数据传输是具有一个等待时钟的16位I/O总线周期。g)/MASTER:总线主控信号,输入,在ISA总线的主控器初始化总线周期时

产生,低电平有效。该信号与I/O通道上的I/O处理器的DRQ线一起用于获取对系统总线的控制权。h)IRQ15~IRQ10:6个中断请求信号,输入,接到中断控制逻辑的从8259A。i)DRQ7~DRQ5、/DACK7~/DACK5、/DACK0:通道7~5的DMA请求和相应的

DMA响应信号(另一个通道0的响应信号)。这3个通道可进行16位DMA传输。

ISA总线时序

ISA总线时序和8086/8088的时序基本相同,但也有一些区别。对ISA总线时序的理解主要在于以下几点:

1、地址和数据已不再分时复用信号线,因此在整个总线周期内有效。

2、和8086/8088的最大模式一样,存储器读/写和I/O读/写的控制信号已分开,进行一种操作只需一个控制信号。

3、一个典型的存储器读/写周期还是由T1,T2,T3和T4组成,而I/O读/写周期和DMA周期都自动插入了一个等待时钟周期。

4、I/OCHRAY相当于8086/8088时序中:READY信号,当总线板卡上的存储器或I/O电路较慢时,可利用该信号迫使CPU插入等待时钟周期,但等待时钟周期不得超过10个。

5、8位ISA总线在存储器读/写周期可用到20位地址,而16位ISA总线在存储器读/写周期中可使用24位地址。但由于受I/O指令的限制,8位和16位ISA总线的I/O读/写周期都只能使用低16位地址。6、BALE在CPU总线周期的T1期间有效,它的基本作用是进行地址锁存,但也可以作为一个新的CPU总线周期已开始的标志。

7、AEN有效表示DMAC正在控制系统总线,所以它可以作为系统处于DMA总线周期的标志。关于ISA总线更详细的规范请查看ISA(PC104)总线规范。

因篇幅问题不能全部显示,请点此查看更多更全内容