计算机接口卡_第1页
计算机接口卡_第2页
计算机接口卡_第3页
计算机接口卡_第4页
计算机接口卡_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论

1.1课题研究的目的意义

ISA是工业标准体系结构的缩写,是一种在1981原始IBMPC引入的8位总线结构,

ISA总线是在IBMPC总线的基础上发展起来的,IBM公司在PC总线的基础上增加了一

个36引脚的AT扩展槽而形成AT总线。在IBMPC/AT及其兼容机的机箱中,通常在母

板上分别设置几个AT插槽和PC插槽,这种结构人们称为IBM公司的ISA结构(即工业

标准结构)。这种IBMPC/AT总线称为ISA总线。ISA总线较PC总线在性能上有了较大

的提高,如其寻址空间的范围、数据总线的宽度、中断处理能力等都有很大的提高。

ISA是现代个人计算机的基础,虽然体系结构比较陈旧,传输速度比较低,但鉴

于其可靠性、可供应性以及兼容性,再加此总线仍快于许多与之相连的外围设备等,

至今仍被用在高性能系统中尤其是工业控制系统中。

进入到20世纪90年代以后,电子设计自动化(ElectronicsDesignAutomation,EDA)

技术的发展和普及给数字系统的设计带来了革命性的变化。在器件方面,可编程逻辑

器件飞速发展。利用EDA工具,采用可编程逻辑器件,正在成为数字系统设计的主流。

采用可编程逻辑器件通过对电路内部的设计来实现系统功能,是一种基于芯片的设计

方法。设计者可以根据需要定义器件的内部逻辑和引出端,将电路板设计的大部分工

作放在芯片的设计中进行,通过对芯片设计实现数字系统的逻辑功能。灵活的内部功

能块组合、引出端定义等,可大大减轻电路设计和电路板设计的工作量和难度,有效

地增强设计的灵活性,提高工作效率。同时采用可编程逻辑器件,设计人员在实验室

可反复编程,修改错误,以期尽快开发产品,迅速占领市场。基于芯片的设计方法可

以减少芯片的数量,缩小系统体积,降低能源消耗,提高系统的性能和可靠性川。放

眼工业控制方面,单板机和单片机已经广泛地引用于实际的控制系统里面,但对于一

些较大的控制和处理系统,它们的局限性明显暴露出来。首先是处理速度受限,存储

容量不易扩展,不便修改程控程序,安全性能低,以及得不到一些高级服务,而微机

系统(或者工程控制计算机IPC)正好可以解决这些矛盾,但微机系统本身并没有这种

输出电路,它只提供了可供扩展的总线插槽,相应的系统电路须另外设计,依据相应

的总线标准做成插卡(即接口卡,如现在已经广泛用于控制现场的接口卡),插入扩展

槽编程,即可显现高性能和高速的处理功能,而且可以享用微机系统起到在网络系统

里的高档资源服务,如远程控制等。基于FPGA的ISA接口卡的设计意图就在于此。

1

对设计者来说,在ISA总线中最引人注目的是它能提供16位I/O和16位DMA操作,基

于该总线的接口电路,其布线要求没有PCI接口板的要求高,因而在ISA总线上开发

接口电路目前仍是人们首先考虑的方法。

ISA总线是早期总线的一种,它的接口逻辑和时序比较简单,信号线的数量也比

较少,虽然数据的传输速度不算太高,但由于开发非常简单,因此广泛地应用于各种

与计算机进行接口通讯的外部设备之上。

基于FPGA设计的ISA接口卡具有设计简单,电路运行快,加密性能好等优点。

综上所述,设计一个性能和可靠性高的符合工业控制上实际需求的接口卡,即满

足现场可编程的ISA接口卡是非常必要的,也是非常有实际意义的。

1.2国内外研究现状

1.2.1计算机接口卡的研究现状

人们是通过外部设备使用计算机的。由于多种原因,外设往往不能与CPU直接相

连,它们之间的信息交换需要一个中间环节(或称界面),这就是接口电路。

最初的计算机系统中并没有设置独立的接口部件,对外设的控制与管理均由CPU

直接承担。这在当时CPU任务较单一,操作简单,外设品种较少的条件下是行得通的。

然而,随着计算机技术的迅猛发展和日益广泛的应用,CPU需要执行的任务愈来愈多,

外设的种类也大大增加,且性能各异,对外设的管理也变得愈来愈复杂。如果再使

CPU承担全部管理任务,那么势必会使主机完全陷入与外设打交道的沉重负担之中,

因而必须设置专门的接口电路,把对外设的控制管理任务交给接口去完成,而主机只

在适当时刻向接口发出命令,从接口读外设状态或与外设传送数据。这就大大减轻了

主机的负担,降低了对CPU的要求,同时也极大地提高了CPU的利用率。

早期的接口其实就是在CPU和外设之间设置简单的逻辑电路,后来逐步发展成为

独立的接口电路、接口芯片,甚至是设备控制器。它们的功能越来越强,而电路也越

来越复杂。

基于现代化集成技术及计算机技术的发展,目前的接口几乎都是中、大规模集成

芯片,并且是可编程的,还具有较好的通用性,即通过改变控制字可使接口芯片工作

在不同方式,同一芯片能管理不同外设和管理多台外设,CPU只需写入少量的命令,

其余的事情均可由接口芯片独立完成。因此可以实现实时、多任务、并行操作。

接口技术的发展趋势是大规模和超大规模芯片,并向智能化、技术化、系列化和

i体化方向发展。另外,随着多媒体、超媒体技术的出现,相应的接口器件也会不断

涌现。

2

在基于微机的数据采集、处理系统中,计算机接口卡常常是其中的关键硬件设备。

接触较多的接口卡一般有ISA卡和PCI卡,但它们都有不足。ISA总线作为一种曾得到

广泛应用的微机总线,随着计算机技术的发展,将被PCI(PeripheralCom一ponent

Interconnect)总线所取代的趋势已经成为事实。然而由于PCI总线协议的复杂性,PCI

总线接口卡的设计是一项难度很大的工作。作为一种传统的计算机接口卡总线技术,

ISA(IndustryStandardArchitecture)总线曾经取得了很大的成功,成为事实的业界标准。

但是随着计算机技术的发展,ISA总线显得越来越不适应计算机技术的发展。首先ISA

总线的数据传输速度较低,ISA总线采用8MHz的总线时钟,16bit的总线字宽,在大

多数的设计应用中最高只能达到5MB/S的传输速度。这对于一些需要高速采集、控制

的设计来说是不可接受的。其次,ISA总线接口卡无法实现资源的自动配置。计算机

的接口卡都需要使用I/O空间资源、存储器空间资源以及中断资源,在传统的ISA总线

接口卡中,这些资源都是在设计中就设定好的。为了避免不同接口卡之间的资源冲突,

传统的ISA总线接口卡上经常设置跳线,以便在预定的资嫄配置中选择--种。这给硬

件的安装使用带来了很大麻烦,也无法符合计算机为了实现简单易用而采用的“即插

即用”技术。而PCI2.1总线接口卡采用了33MHz的总线时钟,32bit的总线字宽,峰

值传输速度可达到132MB/S。PCI接口卡可以实现资源的自动配置,即在每次系统启

动时,由操作系统根据每个接口卡上的资源需求情况,自动分配所需的资源。启动完

毕后,接口卡的驱动程序可以读取分配结果,从而获得所需的资源。接口卡上无需任

何硬件跳线。

1.2.2FPGA的研究现状

当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身

在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超

大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,

随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承

担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计

周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际

应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可

编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。

早期的可编程逻辑器件只有可编程只读存贮器(PROM)、紫外线可按除只读存贮

器(EPROM)和电可擦除只读存贮器(EEPROM)三种。由于结构的限制,它们只能完成

简单的数字逻辑功能。其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑

器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”

3

门阵列组成,而任意一个组合逻辑都可以用“与-或”表达式来描述。所以,PLD能

以乘积和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PAL(可编程阵列

逻辑)和GAL(通用阵列逻辑)。PAL由一个可编程的“与”平面和一个固定的“或”平

面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编

程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更

为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个“与”平面和一个“或”平

面构成,但是这两个平面的连接关系是可编程的。PLA器件既有现场可编程的,也有

掩膜可编程的。在PAL的基础上,又发展了一种通用阵列逻辑GAL(GenericArray

Logic),如GALI6V8,GAL22V10等。它采用了EEPROM工艺,实现了电可擦除、电

可改写,其输出结构是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今

仍有许多人使用。这些早期的PLD器件的一个共同特点是可以实现速度特性较好的逻

辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。

为了弥补这一缺陷,20世纪80年代中期ALTERA和Xilinx分另IJ推出了类似于PAL

结构的扩展型CPLD(ComplexProgrammab1eLogicDvice)和与标准门阵列类似的

FPGA(FieldProgrammableGateArray),它们都具有体系结构和逻辑单元灵活、集成

度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较

大规模的电路,编程也很灵活。与门阵列等其它ASIC(ApplicationSpecificIC)相比,

它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、

质量稳定以及可实时在线检验等优点。因此被广泛应用于产品的原型设计和产品生产

(一般在一万件以下)之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路

的场合均可应用FPGA和CPLD器件。

1.3论文研究内容及创新点

研究的核心部分是ISA接口卡的原理图设计。ISA接口卡作为微机的一个接口总

线,微机通过ISA接口总线将设计的内容实时的传送到外设中,或者将外设中的内

容通过ISA接口总线读到微机中,在计算机读写外设的过程中用到握手逻辑和锁存

功能以实现对信息收集和做进一步分析或处理。ISA接口卡原理框图如图1-1所示:

图1-1ISA接口卡原理框图

4

设计重点研究用TTL|'J电路设计ISA接口卡、基于FPGA设计ISA接口电路以

及通过MAX+PlusII软件将TTL门电路编译配置到FPGA芯片中的过程。

设计了一种基于FPGA芯片的ISA接口卡。该卡由ISA插槽和FPGA芯片等组

成。外设信息通过ISA接口卡读入微机中,再经过微机的分析和处理,然后将处理

过的信息通过ISA接口卡中再写入到外设中以进行工业控制。

设计在用TTL门电路设计了ISA接口卡的基础上用FPGA芯片替换复杂的TTL

门电路,实现了计算机通过ISA接口卡对外设进行读、写操作功能。不仅具有设计

简单,电路运行速度快的优点,而且加密性能好。

5

第2章计算机接口技术

2.1计算机接口原理

2.1.1总线定义

总线是一种在多于两个模块(设备和子系统)间传送信息的公共通路。为在各模块

(设备和子系统)之间实现信息共享和交换,总线由传输信息的物理介质以及一套管理

信息传输的通用规则(协议)所构成。

一个计算机系统的硬件可以含有几块、儿十块插件和外设,这些插件和外设连接

起来,即可构成系统。许多计算机制造厂(特别是微机制造厂)大量地以插件方式向各

种用户提供OEM(OriginalEquipmentManufacturer,原始设备制造厂)产品。由用户根

据自己的需要构成一个计算机系统或计算机应用系统。这些OEM产品包括CPU、

RAM、ROM、A/D、D/A、通用接口和专用接口电路,以及各种各样的单板微机等。

从用户的角度出发,希望从不同厂家购买的OEM插件能插入外购或自制的机箱,也

即希望各个厂商生产的插件是兼容的,能方便地构成系统或扩充系统。为了实现兼容

的目的,就要求各插件的几何尺寸相同,插头的插针数相同,插头上各个插针的定义

相同,以及控制插件工作的时序相同,这就从用户的角度提出了总线结构的要求。而

从微机制造厂的角度出发,按总线标准生产插件,将使其产品的应用面更广,而一个

厂家不必生产计算机系统的全部插件,只需生产本厂有专长的插件和OEM产品即可。

因此,无论从用户角度还是从制造厂来说,都提出了总线标准的要求。随着微机工业

的发展,确立并发展了各种各样的微机总线标准,微机制造厂根据各种总线标准以机

箱方式向用户提供连接好的系统,可以用于各种场合。微机系统采用了总线以后,不

仅可以大大简化系统硬件的设计过程,减轻了软件的设计和调试工作,缩短了软、硬

件的研制周期,从而降低了系统的成本。所谓总线,笼统来讲,就是一组进行互连和

传输信息(指令、数据和地址)的信号线。但是,计算机的总线,都是有特定含义的。

如''局部总线”、“系统总线”和“通信总线”等等,它们都具有其明确的定义与内容。

因此,一提到总线,就一定要指出是什么样的总线才有意义。有关总线的分类及定义

将在后面讨论〔久

2.1.2计算机接口分类

6

2.1.2.1计算机总线分类

按照总线的规模、用途及其应用场合的不同,微机总线可分为三类:

⑴片总线

又称“元件级总线”、“芯片总线”,是微处理器芯片内部引出的总线,它是用微

处理器构成一个部件(如CPU插件)或是一个很小的系统时,信息传输的通路。

(2)内总线(I—BUS)

又称“系统总线”或“板级总线”,也就是常说的“微机总线”。它是用于微机系

统中各插件之间信息传输的通路,是微机系统所特有的,应用最多。

(3)外总线(E—BUS)

又称“通信总线”,它是微机系统之间或是微机系统与其他系统(仪器、仪表。控

制装置)之间信息传输的通路,往往借用电子工业其他领域已有的总线标准。

图2-1画出了三类总线的关系。

图2-1三类总线的关系

各类微处理器的引脚信号即是片总线,例如8086CPU的地址线、数据线和控制

线等构成该芯片的片总线。内总线常用的有STD总线、MULTIBUS(多总线)PC总线、

AT总线等。32位微机系统出现以后又推出许多32位微机总统,如MCA总线、VME

7

总线、EISA总线和PCI总线等。外总线常用的有RS-232C、IISMg、IEEE488等⑶。

2.1.2.2片总线的作用

片线通常包括地址总线、数据总线和控制总线等三组总线。了解这三组总线的具

体组成、用途及其相互关系,对于解决微机系统的应用及接口问题十分重要。

⑴地址总线

地址总线通常是单向总线,由CPU输出。16位微处理器有助条或24条地址总

线,32位微处理器一般有32条地址总线。地址总线用于指令操作的不同时期,选择

要操作的器件和系统,既用于存储器的操作,又用于I/O操作。

在任一给定时刻,地址总线可能传送如下信息:

①处理器须执行的下一条指令地址;

②处理器进行计算所需的操作数的存储地址;

③准备接收处理器计算结果的单元地址;

④准备将数据发送给处理器的某台输人设备的地址;

⑤准备从处理器接收一个数据的某台输出设备的地址;

⑥在存储器的两个存储区之间、存储器与外设之间或者两个外设之间传输数据时

的有关地址;地址译码时,地址线的分配情况由系统的实际安排情况和电路板上的组

织方式决定。

(2)数据总线

数据总线是双向总线。16位微处理器有16条数据总线,32位微处理器通常有

32条数据总线。数据总线用来传送各类数据。由于数据总线的作用是把信息送入CPU

或从CPU送出,所以要求严格的时序控制电路和转接电路(例如锁存器、三态器件和

各种门电路加以配合和协调。

通过数据总线可以传送的数据类型为:数值数据、指令码、地址信息、设备码、

控制字和状态字。

(3)控制总线

不同型号的微处理器有不同数目的控制总线,且其方向和用途也不一样。但几乎

所有的控制总线都与系统的同步功能有关。下面这些控制线是一般微处理器所共有

的:

①读出线和写人线;

②中断请求线和中断响应线;

③同步(选通或时钟)信号线;

④保持、等待就绪(准备好)线。

8

总之,控制总线用来传送保证计算机同步和协调的定时信号和控制信号,从而保

证正确地通过数据总线传送各项信息的操作〔久

2.1.2.3总线标准

总线标准是国际公布或推荐的互连各个模块的标准,它是把各种不同的模块组成

计算机系统(或计算机应用系统)时必须遵守的规范。总线标准为计算机系统(或计算机

应用系统)中各个模块的互连提供一个标准接口,该接口对接口两侧的模块而言都是

透明的,接口的任一方只需根据总线标准的要求来实现接口的功能,而不必考虑另一

方的接口方式。按总线标准设计的接口是通用接口。采用总线标准可以为计算机接口

的软硬件设计提供方便。对硬件设计而言,由于总线标准的引入,使各个模块的接口

芯片的设计相对独立,同时也给接口软件的模块化设计带来了方便。

为了充分发挥总线的作用,每个总线标准都必须有详细和明确的规范说明,一般

包括如下几个部分:

(1)机械结构规范:确定模板尺寸、总线插头、边沿连接器等的规范及位置。

(2)功能规范:确定各引脚信号的名称、定义、功能与逻辑关系,对相对作用的

协议(定时)进行说明。

(3)电气规范:规定信号工作时的高低电平、动态转换时间、负载能力以及最大

额定值。总线标准的制订通常有两种途径:

①某计算机公司(或生产厂)在发展自己的微机系统时所采用的一种总线,得到

OEM(原始设备制造厂)的普遍接受,按此总线规范开发相应的配套产品,进而形成一

种为国际工业界广泛支持的实用总线标准。

②由专家小组在标准化组织的主持下从事开发和制订总线标准的工作,标准推出

后即可由厂家和用户使用。

从事接纳和主持制订总线标准工作的有IEEE(国际电气与电子工程师协会)、

正C(国际电工委员会)、ITU(国际电信联盟)和ANSI(美国国家标准局)组织的专门标准

化委员会,这些委员会一方面为适应共同应用水平要求,从事开发和制订总线标准或

建议草案;另一方面对现有的由一些公司提出的并为国际工业界广泛支持的实用总线

标准进行筛选、研究、修改和评价,给以统一编号,作为对该总线标准的认可。

随着微机系统的发展,总线在不断地发展完善,一些老的总线标准已不适应当前

技术发展的需要,因而有的被淘汰,如S-100,有的进行改进,如STD总线。

2.1.2.4计算机接口分类

CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者

被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工

9

作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同。因此,

习惯上说到接口只是指I/O接口。

(1)1/0接口的概念

①接口的分类

I/O接口的功能是负责实现CPU通过系统总线把I/O电路和外围设备联系在一

起,按照电路和设备的复杂程度,I/O接口的硬件主要分为以下两大类。

I/O接口芯片:这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并

控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、

中断控制器、DMA控制器、并行接口等。

I/O接口控制卡:有若干个集成电路按一定的逻辑组成为一个部件,或者直接与

CPU同在主板上,或是一个插件插在系统总线插槽上。

按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和

磁盘接口等。

②接口的功能

由于计算机的外围设备品种繁多,几乎都采用了机电传动设备。因此,CPU在

与I/O设备进行数据交换时存在以下问题:

速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不同,他们

之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。

时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传输数据,

无法与CPU的时序取得统一。

信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串

行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。

信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而有些

是模拟信号,因此所采用的处理方式也不同。

基于以上原因,CPU与外设之间的数据交换必须通过接口来完成。通常接口有

以下一些功能:

设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由

一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;

能够进行信息格式的转换,例如串行和并行的转换;

能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/

模或模/数转换器等;

协调时序差异;

地址译码和设备选择功能;

10

设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和

DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。

(2)接口的控制方式

CPU通过接口对外设进行控制的方式有以下儿种:

①程序查询方式

这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,

则进行数据的输入或输出,否则CPU等待,循环查询。

这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的

速度远远高于外设,因此通常处于等待状态,工作效率很低。

②中断处理方式

在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据

交换准备就绪,就可以向CPU提出服务请求。CPU如果响应该请求,便暂时停止当

前程序的执行,转去执行与该请求对应的服务程序。完成后,再继续执行原来被中断

的程序。

中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待

外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需

要为每个I/O设备分配一个中断请求号和相应的中断服务程序。此外还需要一个中断

控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优

先级等。

此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,

还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大。这样如果需要大

量数据交换,系统的性能会很低。

③DMA(直接存储器存取)传送方式

DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存

与外设之间的数据交流,无须CPU介入,大大提高了CPU的工作效率。

在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制权,CPU如果

允许,则将控制权交出。因此,在数据交换时,总线控制权由DMA控制器掌握,在

传输结束后,DMA控制器将总线控制权交还给CPU⑸。

(3)I/O扩展槽

I/O扩展槽即I/O信号传输的路径,是系统总线的延伸,可以插入任意的标准选

件,如显示卡、解压卡、MODEM卡和声卡等。通过I/O扩展槽,CPU可对连接到

该通道的所有I/O接口芯片和控制卡寻址访问,进行读写。

根据总线的类型不同,主板上的扩展槽可分为ISA、EISA、MAC、VESA和PCI

11

儿种。

①ISA插槽:黑色,分为8位、16位两种。16位的扩展槽可以插8位和16位的

控制卡,但8位的扩展槽只能插8位卡。

②EISA插槽:棕色,外型、长度与16位的ISA卡一样,但深度较大,可插入

ISA与EISA控制卡。

③VESA插槽:棕色,位于16位ISA扩展插槽的下方,与ISA插槽配合使用。

④PCI插槽:白色,与VESA插槽一样长,与ISA插槽平行,不需要与ISA插

槽配合使用,而且只能插入PCI控制卡。由于主板的空间有限,PCI插槽要占用ISA

插槽的位置。

2.2ISA总线接口单元

2.2.1ISA总线概述

2.2.1.1ISA总线介绍

ISA是工业标准体系结构的缩写,是一种在1981原始IBMPC引入的8位总线结构,

1984年在IBMPC/AT中将其扩展到16位。ISA是现代个人计算机的基础,其可靠性高、

可供应性以及兼容性强,再加上此总线仍快于许多与之相连的外围设备等,基于该总

线的接口电路,其布线要求没有PCI接口板的要求高,因而在ISA总线上开发接口电

路目前仍是人们首先考虑的方法。

ISA总线是早期计算机传统总线的代表,它的主要特点是:

8位ISA扩展插槽由62个引脚组成,用于8位的插卡8/16位的扩展插槽除了具

有62个引脚的连接器外,还有一个附加的36个引脚的连接器,这种扩展插槽既可支

持8位的插卡,也可支持16位插卡。

性能指标如下:

(1)1/0地址空间为64Ko

(2)24位地址线可直接寻址的内存容量为16MBo

(3)8/16位数据线。

(4)62+36引脚。

(5)最高时钟频率8MHZo

(6)最大稳态传输率5MB/so

(7)中断功能。

(8)DMA通道功能。

12

2.2.1.2ISA总线的机械规范

ISA总线机械规范如图2-2所示:

X

6

m

X

图2-2ISA总线机械规范

该插板有长短两个插口,长插口有62个引脚,以A1-A31和B1-B31分列于板的

两面;短插口有36个引脚,以C1-C18和D1-D18分列于板的两面。图中虚线X-X

为短板边缘,虚线Y-Y为PC/XT总线板的尺寸。

2.2.2ISA总线信号说明

ISA总线信号的功能说明如下:

(1)数据传输总线

①SD0-SD7(I/O),数据总线低字节信号

这是为CPU、存储器和I/O设备提供数据的位0-位7。I/O道上的所有8位设备

与CPU之间的数据传送使用SD0-SD7。16位设备的数据传送使用SD0-SD15。为了

支持8位设备,在对这些设备进行四位数据的传送过程中,SD8-SD15上的数据将接

到SD0-SD7位,CPU向8位设备的传送将变换为两个8位进行传送。

这组信号由74AL245(IOL=24InA,IOH=T5mA)和74LA646(IOL=24mA,

IOH=15mA)进行驱动。当由控制总线的部件进行驱动时,应该使用具有同等性能的

总线驱动器。

②SD8-SD15(1/0),数据总线高字节信号

这是为CPU、存储器和I/O设备提供数据的位8-位15。

这组信号由74Al24(IOL=24mA,I0H=75InA)进行驱动。当由扩展的I/O适配

器卡进行驱动时,应使用同等性能的总线驱动器。

③SBHEB(I/O),总线高字节允许信号

表示数据总线传送的是高位字节(SD8-SD15)。16位设备用SBHEB信号控制数据

总线缓冲器接到SD8-SD15。

13

该信号由ALS573(IOL=24mA,IOH=-2.6mA)和IS245(IOL=IOH=TmA)进行驱

动。当由控制总线的部件进行驱动时,应使用具有同等性能的总线驱动器。

④MEMCS16B⑴,存储器16位芯片选择信号

用来通知主板,当前的数据传送是一个等待状态的16位存储器周期。它必须由

来自LA17-LA23译码所驱动。在电路上,MEMCS16B由能够吸收20mA电流的集电

极开路或三态驱动器所驱动。

该信号直接驱动F20,因是“线或”逻辑,连接有300Q的上拉电阻,所以要由

集电极开路门之类的电路驱动,其IOL在24WA以上。

⑤IOCS16B。),1/016位芯片选择信号

用来通知主板,当前的数据传送是一个等待状态的16位I/O周期。其驱动来自

地址译码器,由能够吸收20mA电流的集电极开路或三态驱动器来驱动。

该信号直接驱动HAL16L8,因是“线或”逻辑,连接有300。的上拉电阻,所

以要由集电极开路门之类的电路驱动,应使其IOL在241uA以上。

(2)地址总线

@SA0-SA19(O),系统地址总线

用来寻址系统中的存储器及I/O设备。这20条地址线再加LA17-LA23就可对最

多可达16MB的存储空间进行存取操作。当BALE="H”时,SA0-SA19,就挂到系

统总线上,而在BADE的下降沿,它们被锁存。这些信号由微处理器或DMA控制器

(DMAC)产生,也可以由装在I/O通道上的微处理器或DMA控制器来驱动。

该组信号由ALS573(IOL=24mA,IOH=-2.6mA)进行驱动。当由控制总线的部

件进行驱动时,应使用具有相同性能的总线驱动器。

②LA17-LA23(I/O),非锁定地址总线

也是用于系统中的存储器及I/O设备的寻址,这些信号的加入给系统提供了多达

16MB的寻址能力。BADE="H”时,这些信号才有效。在CPU周期期间,这些信

号不被锁存,所以在整个周期期间不保持有效,它们的用途是为一个等待状态的存储

周期生成存储器译码信号,这些译码信号应由I/O适配器锁定在BALE的下降沿上。

这些信号还可以由驻留在I/O通道上的其他微处理器或DMA控制器驱动。

该组信号由ATH245(IOL=24mA,IOH=T5mA)驱动。当由控制总线的部件进

行驱动时,应使用具有同性能的总线驱动器。

③BALE(O),地址锁存允许信号

由82288总线控制器提供,用于在主板上锁存从处理器来的有效地址。在I/O通

道上作为处理器或DMAC的地址指示。该信号与AEN一起锁存处理器地址,并在

BALE的下降沿锁存。该信号由ALS244(IOL=24mA,I0H=T5mA)进行驱动。

14

④AEN(O),地址允许信号

用来使主板上的微处理器进人保持状态,以便进行DMA传送。该信号有效时,

由DMAC控制系统总线。

该信号由ALS244进行驱动。

⑶控制总线

①IORB(I/O),I/O读命令信号。

指示I/O设备把数据送上数据总线。它可以由系统微处理器或DMAC驱动,也

可以由装在I/O通道上的微处理器或DMAC驱动。

②IOWB(I/O),I/O写命令信号

指示I/O设备读取数据总线上的数据。它可由系统中的任何微处理器或DMAC

驱动。IORB与IOWB由总线控制器(IOL=32mA,I0H=-5mA)和LS245(IOL=24mA,

I0H=T5mA)进行驱动。当由控制总线的部件进行驱动时,应使用具有同等性能的

总线驱动器。为了保证在进行输人/输出切换时为高电平,连接有10kQ的上拉电阻。

③MEMRB(I/O),存储器读命令信号

指示存储器将数据送上数据总线。它在所有的存储器读周期有效,可以由系统中

的任何微处理器或DMAC驱动,当I/O通道上的微处理器要驱动MEMRB时,在使

MEMRB有效之前,总线上必须有一个系统时钟周期的地址线有效期。

由总线控制器(IOL=32mA,IOH=-5mA)或LS245(IOL=24mA,I0H=-15mA)

进行驱动,当由控制总线的部件进行驱动时,应使用具有同等性能的总线驱动器。为

了保证在进行输人/输出切换时为高电平,连接有10KQ的上拉电阻。

④MEMWBQ/O),存储器写命令信号

指示存储器把当前数据总线上的数据存入,它适用于所有的存储器写周期。可以

由系统中的任何微处理器或DAC驱动,当I/O通道上的微处理器要驱动MEMWB时,

在使MEMWB效之前,总线上必须有一个系统时钟周期的地址线有效期。

该信号由总线控制器(IOL=32mA,IOH=-5mA)、LS245(IOL=24mA,I0H=T5mA)

和LS125(IOL=24mA,IOH=-2.6mA)进行驱动,当由控制总线的驱动部件进行驱动

时,应使用具有同等性能的总线驱动器。为了保证在进行输人/输出切换时为高电平,

连接有10in的上拉电阻。

⑤SMEMRB、SMEMWB(O),存储器读写命令信号

指示存储器将数据送上数据总线或把数据总线上的数据存到存储器的信号。仅当

存储器的地址译码信号低于1MB的存储空间时,这些信号才有效。这两个信号取自

SMEMRB.SMEMWB(O)和低于1MB的地址译码信号。

这两个信号由AM244(IOL=24mA,IOH=T5mA)通过30。的阻尼电阻进行驱

15

动。当由控制总线的部件进行驱动时,应使用具有同等性能的总线驱动器。为了保证

访问在超过1MB的地址时为高电平,连接有10kQ上拉电阻。

⑥IRQ3-IRQ7、IRQ9-IRQ12、IRQ14、IRQ15(1),中断请求信号

用于I/O设备向微处理器发中断请求信号。其中IRQ9优先级最高,其次是IRQ10

至IRQ12、IRQ14、[RQ15,最低的是IRQ3至IRQ7QRQ7最低当IRQ由低电平变

为高电平时,即产生中断请求。此高电平一直要保持到微处理器响应中断请求,执行

中断服务程序为止。

该信号直接驱动8259A的输人。因MOS电路输人的负载小,所以不需要很大的

驱动能力,IOL=4mA就足够了。为了实现多个扩展的I/O适配器卡切换使用8259A

的中断请求输人,可以用三态门进行驱动,由软件对中断请求信号的输出进行控制。

⑦DRQ0-DRQ3、DRQ5-DRQ7⑴,DMA请求信号

由外设和I/O通道上的微处理器所驱动的异步通道请求信号,以便得到DMA服

务(或对系统的控制)。其中DRQ0的优先级最高,DRQ7的优先级最低。当DRQ线

进入有效电平时就产生了DMA请求,它必须保持这一有效高电平,直到相应的DMA

响应线有效为止。其中DRQ0-DRQ3执行8位DMA传送,而DRQ5-DRQ7执行16

位DMA传送。

这组信号直接驱动8237A的输入。因MOS电路输入的负载很小,所以不需要很

大的驱动能力IOL=-4mA就足够了。为了实现多个扩展的I/O适配器卡切换使用

8237A的DMA请求输入,可以用三态门进行驱动,由软件对DMA请求信号的输入

进行控制。

⑧T/C(O),计数结束信号

当任一DMA通道的字计数器计满时,送出一个脉冲信号。该信号由FOO(IOL=

20mA,IOH=TmA)进行驱动。扩展的I/O适配器卡的输入负载应尽可能可能小。

⑨REFRESHB(VO),刷新信号

指示一个存储器刷新周期,输出低电平时,它启动外部RAM的刷新周期。该信

号也能由I/O通道上的微处理器驱动,当它作为输入信号时,将迫使从外设驱动刷新

周期。

该信号由7407(10L=40mA,上拉电阻=300Q)进行驱动,当控制总线的部件进行

驱动时,要使用集电极开路门之类的电路,并使其输出的IOL在24mA以上。

(4)时钟、定时与电源

①OSC(O),振荡器信号

一个周期为70ns(14.31818MHz)的高速时钟,该信号与系统时钟SYSCLK相同,

占空比为50%,提供给其他功能部件使用。

16

该信号由8284(IOL=8mA,I0H=-4mA)进行驱动,因接有30Q的阻尼电阻所以

扩展的I/O适配器卡上的输人负载应尽可能小。

②SYSCLK(O),系统时钟信号

用于与微处理器的时钟周期同步的时钟信号,只应用于同步,而不准备用作一个

固定的频率源。

该信号LS112(IOL=8mA,IOH=-0.4mA)进行驱动,由于在主板上带有负载

(ALS74-CLK*4,F175-CLK)并接受有30Q的阻尼电阻,所以在扩展的I/O板上的输

人负载应尽可能的小。

③RESETDRV(O),复位驱动

用于系统上电或断电时复位或初始化系统逻辑。该信号由ALS244(IOL=24mA,

IOH=T5InA)进行驱动。

④OWSB(I),零等待状态信号

用于告诉微处理器,它可以完成当前的总线周期,不必增加任何附加的等待状态。

为了能在原等待状态的16位设备上执行一个存储器周期,需从读命令或写命令的地

址译码中获得OWSB线的驱动。而要在至少两个等待状态的8位设备上执行一个存

储器周期,在设备的地址译码选通读命令或写命令以后•个系统时钟周期面而被驱动

为有效,对8位设备的读命令和写命令是在系统时钟的下降沿为有效。它也要由能够

吸收20mA电流的集电极开路或三态驱动器来驱动。

该信号直接驱动时钟发生器的STDRB输入和F11的输入。因是“线或”信号,

连接有300Q的上拉电阻,所以要由集电极开路门之类的电路驱动,应使IOL在24mA

以上。

⑤+5V、-5V、+12V、T2V和GND,电源及地线

总共有+5V电源线3条、-5V电源线1条、+12V电源线1条、T2V电源线1

条,以及地线4条⑹。

2.2.3ISA总线分析与时序

ISA总线共有四类总线周期,即8位总线周期、16位总线周期、DMA总线周期

和刷新总线周期。16位总线周期比8位总线周期具有更高的操作速度。

ISA总线上有关信号时序与PC/XT总线相似,工作过程也类似。结合ISA总线

与PC/XT总线的主要差异,下面着重介绍16位的I/O总线周期时序和16位的存储

器总线周期时序。

17

2.2.3.116位的I/O总线周期时序

如果某个I/O设备能支持一个16位访问操作时,它将通过ISA总线扩展槽发出

1/016位片选(I/OCS16B)信号。一个有效的I/0CS16B不仅说明该设备支持16位数据,

它还允许总线占有者执行一个很短的隐含操作周期。I/0CS16B信号直接对A0-A15

端口地址线译码,而不需要任何其他命令信号的参与。

与16位存储器读/写周期类似,I/0CS16B必须要在地址有效后的规定时间内被

驱动有效,以执行16位的I/O操作,有效的I/0CS16B信号的产生时序如图所示。

由A0-A15地址信号译码所产生的信号被送到ISA总线扩展槽的I/0CS16B引脚

前,要将该译码信号进行驱动。驱动器应该是三态门或集电极开路门,要有20mA的

拉电流能力,一般的门电路可能提供不了这么大的拉电流。16位的I/O总线周为3

个时钟,8位的总线周期为6个时钟。16位的I/O总线读写周期时序如图2-5所示。

2.2.3.216位存储器读/写周期

在ISA总线中有两组存储器读写控制信号,SMEMRB.SMEMWB,他们与地址

A0-A19相配,在其范围内对存储器进行寻址及读写控制。由于A0-A19对整个存储

器读写周期有效,利用这些信号进行存储控制电路的设计简单,而且可做到与及总线

的兼容,但这组信号的限制是只能寻址1MB的存储空间。对于更大容量的存储器寻

址应该利用ISA总线LA17-LA23地址信号进行寻址,同时读写控制要使用SMEMRB.

SMEMWBo由于没对LA17-LA23进行地址琐存,这组地址线仅在ALE为高时有效,

下降沿并没有锁存它们,而是使它们变为无效,因此,为了保护产生的译码信号,

ALE下降沿时,将这些地址译码信号锁存,由被锁存的译码信号来选通存储单元,

并与SMEMRB或SMEMWB一起控制存储器的读写。

为了进行16位的存储器读写操作,必须使用MEMCS16B这个信号。利用对存

储器地址的译码信号经过存储器送到ISA总线上对应的MEMCS16B这个引脚上去。

驱动器应该是三态门或集电极开路门,要有20mA的拉电流能力,一般的门电路可能

提供不了这么大的拉电流。

在ISA总线的应用过程中,MEMCS16B信号是在地址有效的特定时间才被驱动

去执行一个16位的操作。16位存储器读写总线周期时序如图2-3所示。

18

CLKi-j~~i_L_(_L_rr

BALE_____-Tn!i—

SBHE

LA16~I-A23--.iXaTTKI_____L.

SAoSAX]IZL3CI

SN4EMRSMEMWr»:Irh

MEMRN4EMW

MEMOS16

OWS

I/OCHRE>Y

11!!1

数据读0-

b卜

数据写Do—D】s—<~b<!n>c>-

<■r

图2-416位存储器读写总线周期时序

19

第3章可编程逻辑器件FPGA/CPLD

3.1FPGA/CPLD的功能

3.1.1FPGA概述

FPGA是英文FieldProgrammableGateArray的缩写,即现场可编程门阵列,它

是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集

成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服

了原有可编程器件门电路数有限的缺点⑺。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可

配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)

和内部连线(Interconnect)三个部分。

⑴FPGA特点

FPGA的基本特点主要有:

①采用FPGA设计ASIC电路,用户不需要投片生产,就能得到适用的芯片。

②FPGA可做其它全定制或半定制ASIC电路中的试样片。

③FPGA内部有丰富的触发器和I/O引脚。

④FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

⑤FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

⑥FPGA提供了通用的计算结构,非常适合于软件无线电中基带和IF数字处理

的需要。

⑦FPGA作为通用处理器或DSP软件处理的硬件协处理器,能够增强功能,改

善吞吐量,减小系统成本和降低系统功率。可以说,FPGA芯片是小批量系统提高系

统集成度、可靠性的最佳选择之一。

(2)FPGA芯片介绍

目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA

公司的FIEX系列等。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要

对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。

上电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FP­

GA进入工作状态。掉电后,FPGA恢复成白片一,内部逻辑关系消失,因此,FPGA

20

能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PR­

OM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一

片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵

活。

FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从

模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;

外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。

3.1.2FPGA结构与原理初步

(1)查找表(Look-Up-Table)的原理与结构

采用这种结构的PLD芯片我们也可以称之为FPGA:如ALTERA的ACEX,AP­

EX系列,XILINK的SPARTAN,VIRTEX系列等。

查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中

多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RA-

Mo当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件

会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM。这样,每输入一

个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出

即可。

(2)基于查找表(LUT)的FPGA的结构

Spartan-II主要包括CLBs,I/O块,RAM块和可编程连线(未表示出)。在spartan-II

中,一个CLB包括两个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。

Slices可以看成是Spartanll实现逻辑的最基本结构(xilinx其他系列,如SpartanX-L,

Virtex的结构与此稍有不同,具体请参阅数据手册)。ALTERA的FLEX/ACEX等芯

片的结构如图3-1所示:

FmbetMedArrayBlock

]]

图37ALTERAFLEX/ACEX芯片的内部结构

21

dalal

dala2

data3

data4

Iabc*i1

Iabc*t2

RMCt

Iabctt3

labdrM

Cany*04Ca»ca<MOutwww.fpga.com.cn

图3-2逻辑单元(LE)内部结构

FLEX/ACEX的结构主要包括LAB,I/O块,RAM块(未表示出)和可编程行/列连

线。在FLEX/ACEX中,一个LAB包括8个逻辑单元(LE),每个LE包括一个LUT,

一个触发器和相关的相关逻辑。LE是FLEX/ACEX芯片实现逻辑的最基本结构。

(ALTERA其他系列,如APEX的结构与此基本相同,具体请参阅数据手册)

(3)查找表结构的FPGA逻辑实现原理

图3-3简单门电路

以图3-3的电路为例:A、B、C、D由FPGA芯片的管脚输入后进入可编程连线,

然后作为地址线连接到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地

址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接

利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟

专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到

芯片管脚。这样PLD就完成了图3所示电路的功能。(以上这些步骤都是由软件自动

完成的,不需要人为干预)

这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。

对于一个LUT无法完成的电路,就需要通过进位逻辑将多个单元相连,这样FPGA

就可以实现复杂的逻辑。

22

(4)其他类型的FPGA和PLD

随着技术的发展,在2004年以后,一些厂家推出了一些新的PLD和FPGA,这

些产品模糊了PLD和FPGA的区别。例如ALTERA最新的MAXII系列PLD,这是

--种基于FPGA(LUT)结构,集成配置芯片的PLD,在本质上它就是一种在内部集成

了配置芯片的FPGA,但由于配置时间极短,上电就可以工作,所以对用户来说,感

觉不到配置过程,与传统的PLD一样使用,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论