计算机接口技术课件_第1页
计算机接口技术课件_第2页
计算机接口技术课件_第3页
计算机接口技术课件_第4页
计算机接口技术课件_第5页
已阅读5页,还剩957页未读 继续免费阅读

下载本文档

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

文档简介

第一章概述1.1什么是微型机接口1.2接口功能

1.3接口分析和设计方法1.4接口常用的硬器件1.5接口结构与I/O传送第一章概述1.1什么是微型机接口从应用角度看,计算机系统分为两大类:一类是独立使用的计算机系统,如台式PC机、笔记本电脑、工作站等。这类系统称为通用系统,它们是由计算机生产厂家开发生产的;另一类是嵌入式计算机系统,这类系统称为专用系统,它们是作为其他系统的组成部分使用的。通常嵌入式系统作为一个应用系统或电子设备的一部分,在无人干预的情况下进行实时控制。多数嵌入式系统是由计算机应用开发人员利用CPU(或MCU、MPU、DSP、SOC)等主控部件和IC等硬件以及汇编语言(或C/C++语言)等软件开发而成的。上一页返回计算机接口所涉及的内容与提供的知识,主要是为了开发各种专用的嵌入式系统服务的。

嵌入式系统目前已遍布生产、生活、工作的各个角落。目前,嵌入式系统应用已逐渐占据了计算机应用领域的主导地位。根据目前的科技发展水平,利用CPU(或MCU、MPU、DSP、SOC

)等作为核心,组成某个专用的嵌入式系统已不存在任何技术方面的障碍,关键是如何发挥人们的聪明才智去实现其设计。上一页返回嵌入式系统的开发,其核心问题就是用CPU等主控部件对其他事物进行控制。而CPU与其被控制对象(即外部设备)之间进行信息交换或通信,必须通过“桥梁”来衔接,这些“桥梁”就是微型机接口,如下图示:CPU接口外设CPU通过接口与外设连接上一页返回接口通常是由一些硬件电子电路和软件控制程序构成的。要组成一个以CPU(或MCU、MPU、DSP、SOC

)为核心的嵌入式系统,就需要通过各种接口来实现。因此,在开发嵌入式系统时,首先应当掌握相应的接口技术。接口的硬件部分主要用来调整外设与微机之间在信号形式,电平和传送方式等方面的差异,使微机和外设交换信息时,在物质形式上取得一致;接口的软件部分则主要实现外设与微机交换数据信息时的规则或协议,使它们在信息传送过程及数据格式上协调一致。通常软件是通过硬件产生作用的,而硬件又依靠软件进行控制。上一页返回接口设计通常还要涉及到电气的、功能的、机械的等方面的问题。如电气方面包括各种电路(触发器、锁存器、与非门等)、信号的形式(模拟、数字等)与电平(TTL、EIA等)等;功能方面包括对系统的控制、接口的管理等;机械方面包括各种接插件、电缆的连接及安装等。综上所述,接口技术既需要硬件知识,又需要软件知识,往往是用软、硬相结合的方法来实现的。图1.1表明微机系统及常用接口。上一页返回第一章概述1.2接口功能接口是CPU与外界的连接电路以及控制程序构成的,它必须具备一些条件或功能。那么,接口应具备那些功能呢?从解决CPU与外设在连接时存在的矛盾的观点来看,一般有如下功能。上一页返回1.执行CPU命令的功能(命令口)CPU对被控制对象外部设备的控制命令是以命令代码的形式先发送到接口中的命令寄存器,称之为“命令口”。再由接口电路对命令代码进行识别和分析,分解成若干个控制信号,传送到I/O设备,使其产生相应的具体操作。可见,CPU并不是直接把命令送到被控制对象,而是通过接口来进行控制的。上一页返回2.返回外设状态的功能(状态口)接口在执行CPU命令之前。执行命令过程中和执行命令之后,外部设备及接口电路都会有一些情况发生,这些“情况”就是所谓的“状态”,包括正常工作状态和故障状态。如“忙”、“闲”,“准备就绪”、“未准备就绪”,“满”、“空”,以及“溢出错”、“搁置错”等状态。接口中一般都设置状态寄存器,称之为“状态口”。这些状态信号以状态代码形式存放在接口电路的状态寄存器中,以便向CPU报告。CPU从“状态口”读取这些状态信息,就可以“知道”正在发生或已经发生了哪些情况,以供CPU做出判断与处理。上一页返回3.数据缓冲功能(数据口)为了解决主机高速与外设低速的矛盾,避免因传送速度不一致而丢失数据,接口中一般都设置数据缓冲寄存器(简称数据缓存器),称之为“数据口”。数据缓存器由分为输入和输出缓存器两种,前者暂存外设送来的数据,以待CPU将它取走;后者暂存CPU送往外设的数据。有了数据缓存器,就可以使高速工作的CPU与慢速工作的外设协调工作。由于数据缓存器直接连在系统数据总线上,因此它应具有三态特征。上一页返回4.信号转换功能由于外设所需的控制信号和它所能提供的状态信号往往同微机的总线信号不兼容。不兼容性表现在两者的信号功能定义、逻辑关系、电平高低以及工作时序的不一致。因此,信号转换(包括CPU的信号与外设的信号的逻辑关系上、时序配合上以及电平匹配上的转换),就成为接口设计中的一个重要任务。上一页返回5.设备选择功能在微机系统中一般有多种外设,在同一种外设中也可能有多台,而一个CPU在同一时间里只能予一台外设交换信息,这就要在接口中设置I/O端口地址译码电路对外设进行寻址。CPU将I/O设备的端口地址代码送到接口中的地址译码电路,并经译码电路,把地址代码翻译成I/O设备的选择信号。一般是把高位地址用于接口芯片选择,低位地址进行芯片内部寄存器(即端口)的选择,已选定需要与自己交换信息的设备端口,只有被选中的设备才能与CPU进行数据交换或通信。没有选中的设备,就不能与CPU交换数据。上一页返回6.数据宽度与数据格式转换的功能CPU所处理的是并行数据(8位、16位或32位),而有的外设(如串行通信设备、磁盘驱动器等)只能处理串行设备,在这种情况下,接口就应具有数据“并→串”和“串→并”的转换能力。为此,在接口中设置位移寄存器。CPU与有些外设交换数据时,要求按一定的数据格式传送,如串行通信中的起止式异步通信数据格式及面向字符的同步通信数据格式。此时,需要在CPU与通信设备之间进行数据格式转换。通常用软件实现数据格式转换。上一页返回上述功能并非要求每种接口都具备,对不同用途的微机系统,其接口功能不同,接口电路的复杂程度大不一样。但对第3种(数据口)功能是接口电路中的核心部分,是一般接口都需要的。上一页返回第一章概述1.3接口分析和设计方法一、两侧分析法

两侧分析法是分析接口电路的基本方法。凡是接口都有两侧,一侧是CPU,另一侧是外设。对CPU一侧,就是三总线,情况明确,因此,分析比较容易,主要要搞清楚是什么类型的CPU,以及它提供的数据线的宽度(8位、16位、32位等),地址线的宽度(16位、20位、24位)和控制线的逻辑定义(高电平有效、地电平有效、脉冲跳变),时序关系有什麽特点。上一页返回外设一侧的情况很复杂,这是因为被控对象外设种类繁多,型号不一,所提供的信号线五花八门;其逻辑定义,时序关系,电平高地差异甚大。对这一侧的分析重点放在两个方面:

一是搞清楚被连接的外设的外部特性,即外设信号线引脚的功能定义和逻辑定义,这样就可以找出需要接口为他提供哪些控制信号线,它能反馈给接口哪些状态信号线,以便在接口硬件设计时,提供这些信号线,满足外设的要求;上一页返回

二是了解被控外设的工作过程,以便在软件设计时,按照这种过程编写程序。外设的种类甚多,从高容量快速磁存储器到指示灯和扬声器,不管其复杂程度如何,只要将它们的外部特征和工作过程分析清楚了,接口电路的硬件设计与软件编程就有了依据。上一页返回二、硬软结合法

以硬件为基础,硬件与软件相结合是设计接口电路的基本方法。1.硬件设计方法主要是合理选用外围接口芯片和由针对性地设计附加电路。

⑴合理选用外围接口芯片由于现代微电子技术的成就和集成电路的发展,目前,各种接口电路都已做成集成芯片,由中规模或大规模集成接口芯片代替过去的数字电路。上一页返回因此,在接口设计中,通常不需要繁杂的电路参数计算,而需要熟练的掌握和深入了解各类芯片的功能、特点、工作原理、使用方法及编程技巧,以便根据设计要求和经济准则,合理选择芯片,把它们与微处理器真正的连接起来,并编写相应的控制程序。采用集成接口芯片使接口体积小,功能完善,可靠性高,易于扩充,应用极其灵活、方便。所以,接口芯片在微机接口技术中,起着很重要的作用,应给以足够的重视。可编程集成接口芯片是接口硬件设计中的首选器件,应尽量采用,并且把它们作为各种接口电路的核心芯片来使用。上一页返回⑵由针对性地设计附加电路外围接口芯片并非万能,因此,当接口电路中有些功能不能由接口的核心芯片完成时,就需要用户附加某些电路,予以扩充。如逻辑关系与电平转换、时序配合以及驱动能力等方面的功能,可以采用反相器、三极管、缓冲器、与门、或门以及驱动器等芯片,设计一些辅助电路加到接口电路中。上一页返回2.软件设计方法接口的硬件电路只提供了接口工作的基础,要使接口真正发挥作用就要配备相应的控制软件。

⑴采用汇编语言(或高级语言)直接对低层硬件编程对用户应用系统的接口控制程序应直接面向接口编程。由于接口程序对硬件的依赖性,它与一般的管理程序和数据处理程序不同,是直接与硬件打交道的,因此,设计者必须对相应的硬件细节十分熟悉。上一页返回具体的讲,就是对接口芯片和被控对象外设的外部特征以及接口芯片的编程命令要彻底弄清楚才能着手编写程序。编程语言可以用汇编语言,也可以用高级语言(如C或C++),但从程序的实时性与代码效率以及充分发挥低层硬件的潜力来看,采用汇编语言更佳。上一页返回

⑵采用DOS系统功能调用和BIOS调用编程如果在应用程序中,当涉及到使用系统资源(如键盘、显示器、打印机、串行口等)时,可以采用DOS和BIOS调用,而不需要作低层编程。这是因为对于微机系统中的标准设备,在DOS系统功能和ROM-BIOS中都有相应的功能子程序供用户调用。但是对于接口设计者来说,常常碰到的是一些非标准设备,所以需要自己动手编制接口控制程序的时候更多。上一页返回第一章概述1.4接口常用的硬器件微型计算机接口中除了用到了一些通用或专用的集成电路接口芯片之外,还经常用到其他各种集成电路芯片。关于前者的情况我们将在以后的章节中介绍,作为基础知识,本节仅介绍几种基本硬器件的逻辑功能。一、集成逻辑门1.集电极开路(OC)门和三态门

OC门和三态门在接口中常作为驱动器及缓冲器等,用于增强电路和器件的带负载能力和抗干扰能力。这两种门电路的逻辑符号如图1-3所示。上一页返回集电极开路门的输出端F必须有“上拉电阻”,该电阻的另一端接到正电源上,否则不能输出高电平。三态门的输入与输出端能否接通要看控制端C的信号是否有效,当该端输入信号无效时,A端与F端处于高阻状态(相当于断开)。上一页返回2.与门、与非门、或门、或非门及异或门常见的两输入端与门、与非门和或门、或非门的逻辑符号和真值表如图1-4所示。由真值表可看出:正逻辑与门和负逻辑或门;正逻辑或门和负逻辑与门;正逻辑与非门和负逻辑或非门;正逻辑或非门和负逻辑与非门的逻辑功能完全相同。对于两个以上输入端的情况同样也可以推出上述结论,因此在实用中可以相互代替。上一页返回

图1-5给出了两输入端异口或门的逻辑符号及真值表。从表中可看出异或门的两个输入信号相同时输出0,不同时输出1,由此容易推出在多个输入信号的情况下,仅当所有输入信号中1的个数为奇数时输出为1,否则输出0。上一页返回二、触发器和锁存器触发器具有记忆功能,故可记录电路中有关信号的状态。触发器在接口中的主要应用是构成寄存器和锁存器等。这里仅介绍两种常用的触发器。1.D触发器和D锁存器逻辑符号和真值表如图1-6所示。触发器的现态及次态说明在时钟CP(上升沿)作用下输出端Q随输入端D变化的情况。图中S和R为输出置1和置0(清零)端,均为低电平有效。与触发器不同,当锁存器的G端(或E端)有效时,输出随输入而变,当G端无效(从1变0)后,输出进入保持(锁存)状态。表中Q0是G从1过渡到0前Q的电平。上一页返回2.JK触发器逻辑符号和真值表如图1-7所示。由真值表说明在时钟(下降沿)作用下输出端Q随输入端J和K变化的情况。与S、R端不同的是JK控制下的置1或置0是在时钟作用下完成的。上一页返回三、译码器译码器也是接口中最常用的一种器件。它的功能是通过改变输入信号的组态,使某一输出端的信号有效,从而达到选择整体中某一部分电路工作的目的。

图1-8为二输入端四输出端的译码器逻辑符号及真值表。由表可见被选中的输出端将输出低电平,而当选片端G无效时所有输出均无效。上一页返回四、多路开关多路开关又称多路选择器,可完成NM路输入通道到m路输出通道的切换,常用在实时控制和检测系统中。

图1-9给出8-1(n=8,m=1)多路开关逻辑符号及真值表。其中A2A1A0的不同组态使输出端接通8路输入之一。当选片信号E无效时,输出端与各输入端相当于断开。上一页返回第一章概述1.5接口结构与I/O传送一、接口结构

1.I/O端口对于任何一种用途的微型机接口,其核心部分都是由一个或几个I/O端口组成的,如图1-10所示。

I/O端口通常是由锁存器或缓冲器等硬件构成的。图1-11给出了这两种器件的原理图。从图中可看到,锁存器中的每一位,都是由D触发器(或D锁存器)构成的,当锁存控制信号到来时,输入端的8位数据被锁存到输出端,直到下次信号到来前保持不变。缓冲器中的每一位,都是由三态缓冲器构成的,当缓冲器门控制信号有效时,三态门开,输入端的8位数据可送到输出端。上一页返回当门控制信号无效时,三态门关,输出端与输入端相当于断开(高阻)状态。锁存器常作为输出端口,而缓冲器常作为输入端口,这是由于微处理器总线的负载能力有限,当输入线和总线接通时要加缓冲。如果把锁存器的输出端连到缓冲器的输入端,使两种器件合并,则成为具有锁存和缓冲功能的缓冲寄存器,许多可编程接口芯片的端口都具有这种结构。上一页返回2、端口功能

I/O端口可以由软件(程序)进行锁存或缓冲门控制。例如,当需要从某一个输出端口(由锁存器构成)输出数据时,可以用一条输出指令:

OUT端口地址,AL

在执行这条指令时,将把累加器AL中的8位数据送到该端口的输入端,同时给出该端口的锁存控制信号,使数据被锁存到端口的输出端,输出给外设。因此,I/O端口可看作是CPU通向外界的门,这些门可以通过指令加以控制,并达到CPU与外设交换信息目的。上一页返回此外,对于用可编程接口芯片构成的接口,往往有两个(或两个以上)端口。其中一个是向接口芯片传送命令(对接口芯片的初始化编程)的,称为控制端口。此时接口芯片也是作为CPU的一个外设,通过该端口来接收命令信息。另一个称为数据端口,这才是CPU真正用来与外界交换信息的端口。通常数据端口的功能可通过送往控制端口的命令加以改变(如数据端口可作为输出、输入或双向口),以适应不同的需要。上一页返回二、I/O信息传送1.I/O传送的特点从CPU的角度看,每个端口都有一个固定的地址可供选择,并可对各端口进行读(输入)或写(输出)操作,仅从这一点来看,端口很类似于内存中的一个存贮单元。实际上也可以把内存看成是CPU的一个特殊的外没,其每个存贮单元都相当于一个端口,但这个端口只是用来存放信息的。

上一页返回存贮器与I/O端口的一个重要区别是存贮单元的读写时间完全取决于CPU的时序,即存贮器的读写时间是由CPU决定的。而I/O端口的读写时间则完全是由外设决定的,这个时间的长短取决于外设处理、传送信息的速度,所以通常是未知的。上一页返回

例如当CPU向一个I/O端口发出命令,要求外设通过另一个数据端口向CPU传送数据,但命令发出后这个数据何时能送到数据端口则是未知的,且数据到达这个端口时CPU在干什么,能否及时接收该数据也是无法预料的。因此,要进行CPU与外设之间的信息传送,必须让它们遵照一定的规则,使它们的步调一致。上一页返回2.常用的I/O方式通常可采用两种I/O传送方式实现CPU与外设的同步:

(1)查询法:

CPU通过程序不断地输入一个端口的状态信息,即CPU通过查询这个端口的状态来了解外设是否已准备就绪(此端口的状态可反映外设的准备情况),当准备好时才进行数据传送,其过程如图1-12(a)所示。

上一页返回(2)中断法:在I/O传送期间,CPU可以做其他的事情。当外设准备就绪时,就通过接口向CPU发出“中断请求”信号,通知CPU进行传送工作。当CPU响应中断请求后,就暂停其他工作,转人中断服务,在中服务程序中传送数据。中断服务结束后CPU再继续做其他工作,其过程如图1-12(b)所示.上一页返回3.DMA方式有一种不通过CPU进行的I/O传送方式称为“直接存贮器存取(DMA)”方式。这是一种在DMA控制器控制下的数据传送。若将图1-10中的一个端口作为DMA控制器端口就可实现DMA传送,如图1-13所示。DMA控制器工作时直接把一个或几个I/O端口与存贮器连通,使数据可以直接在这些端口和存贮器之间传送。由于传送数据不通过CPU(不用一条条执行I/O指令),故传送速度很快,适用于磁带或磁盘与内存之间的数据传送。上一页返回由于DMA控制器在工作时占用了CPU总线,故DMA传送时CPU不能做任何事情,此时,DMA控制器相当于系统中另一个微处理器.如果DMA控制器能够利用CPU空闲时进行传送,则可以在实际上不影响CPU工作的情况下达到高速传送。上一页返回AFAFAFAF正逻辑负逻辑(a)OC门图1-3OC门及三态门高电平通低电平通(b)三态门AFCAFCAFCAFC图1-3OC门及三态门正逻辑负逻辑(a)与门ABFABFABF001101010111ABF001101010001ABF001101010001图1-4与门、与非门或门、或非门及其功能正逻辑负逻辑(b)与非门ABFABF001101011000ABF00110101ABF001101011110图1-4与门、与非门或门、或非门及其功能ABF正逻辑负逻辑(c)或门ABF001101010001ABF00110101ABF001101010111图1-4与门、与非门或门、或非门及其功能ABFABF正逻辑负逻辑(d)或非门ABF001101011110ABF00110101ABF001101011000图1-4与门、与非门或门、或非门及其功能ABFABF图1-5异或门及其功能+ABFABF00110101ABF001101010110图1-6D触发器与D锁存器及其功能CPDQQSR0011输入现态次态01010011DQQD触发器图1-6D触发器与D锁存器及其功能DQQG01x

输入输出11001Q0DGQD锁存器图1-7JK触发器及其功能CPJQQSRK0111输入现态次态1101JKQQQxxQQ01Q功能保持置0置1翻转图1-82-4译码器及其功能AB输入输出GY0Y1Y2Y3选片GBA输出0000100011011XXY0=0,其余为1Y1=0,其余为1Y2=0,其余为1Y3=0,其余为1所有输出为1图1-98-1多路开关及功能EA2A1A0

F000000001xxx浮空

000001010011100101110111S1S2.......S8

F8-1开关EA1A2A3S1S2S3S4S5S6S7S8图1-10CPU通过I/O端口与外界沟通图1-11锁存器和缓冲器原理图1-12两种常用的I/O方式传送准备好?YN(a)查询式传送传送服务结束CPU进行中断服用继续做其他工作CPU做其他工作中断请求(b)中断式传送

设备选择功能是接口电路应具备的基本功能之一,因此,作为进行设备端口选择的I/O端口基本概念和I/O端口译码基本原理.基本方法的基础上,着重讨论译码电路的设计.2.1I/O端口及其编址方式一.I/O端口和I/O操作1.I/O端口端口(port)是接口电路中能被CPU直接访问的寄存器的地址.2.I/O操作通常所说的I/O操作是指对I/O端口的操作,而不是对I/O设备的操作,即CPU所访问的是与I/O设备本身上一页返回二.端口地址编址方式对上述端口有两种编址方式,一种是端口地址和寄存器地址统一编制,另一种是I/O端口地址和存储器分开独立编址.1.统一编址这种,是从存储器空间划出一部分地地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令,有一部分对存储器使用的指令也可用于端口。Motoral系列,Apple系列微型机和小型机就是采用这种方式。这种方式有许多优点:由于对I/O设备的访问是使用访问存储器的指令,所以指令类型多,功能齐全,这使访问I/O端口可实现输入/输出操作,而且还可以对端口内容进行算术逻辑位移等等;另外能给端口有较大的的编址空间,这对大型控制系统和数据通信系统是很有意义的。这种方式的缺点是端口占用了存储器的地址空间,使存储器容量减小,另外指令长度比专门I/O指令要长,因而速度较慢。

上一页返回

2.独立编址这种方式是接口中的端口地址单独编址而不和存储空间合在一起,大型计算机通常采用这种方式,有些微机,如IBM-PC系列和Z-80系列机也采用这种方式。这种方式的主要优点是:I/O端口地址不占用存储器空间;使用专门的I/O指令对端口进行操作,I/O指令短,执行速度快;并且由于专门I/O指令与存储器访问指令有明显的区别,使程序中I/O操作和存储器操作层次清晰,程序的可读性强。同时,由于使用专门的I/O指令访问端口,并且I/O端口地址和存储器地址是分开的,故I/O端口地址和存储器地址可以重叠,而不会相互混淆。上一页返回

三、独立编址方式的端口访问1.YO指令中端口地址的宽度

IBM-PC系列采用I/O(input/output)指令访问端口,实现数据的I/O传送。在I/0指令中可采用单字节地址或双字节地址寻址方式。若用单字节地址作为端口地址,则最多可访问256个端口。系统主板上接口芯片的端口,采用单字节地址,并且是直接在指令中给出端口地址,2.I/0端口访问所谓对端口的访问就是CPU对端口的读/写。而通常所说的微处理器CPU从端口读数据或向端口写数据,仅仅是指FO端口与CPU的累加器之间的数据传送,并未涉及数据是否传送到存储99(RAM)的问题。若要求输入时,将端口的数据传送到存储器,则除了把数据读入CPU的累加器之外,还要将累加9S中的数据再传送到内存。或者相反,输出时,数据从存储器先送到CPU的累加器,再从累加器传送到I/O端口。上一页返回

例如:输入时MOVDX,300H;I/O端口

INAL,DX;从端口读数据到ALMOV[DI],AL;将数据从AL-→存储器输出时MOVDX,301H;I/O端口

MOVAL,[SI];从内存取数到从

OUTDX,AL;数据从AL-→端口2.2I/O端口地址分配对于接口设计者来说,搞清楚系统I/O端口地址分配十分重要,因为要把新的I/O设备加入到系统中去就要在I/O地址空间中占一席之地。哪些地址已分配给了别的设备,哪些是计算机制造商为今后的开发而保留的,哪些地址是空闲的,了解了这些信息才能为我所用。下面以IBM-PC系列为例来分析I/O端口地址分配情况。上一页返回

一、I/O接口硬件分类按照I/O设备的配置情况,I/O接口的硬件分成两类:1.系统板上的I/O芯片这些芯片大多都是可编程的大规模集成电路,完成相应的接口操作,如定时/计数器、中断控制器、DMA控制器、并行接口等。2.I/O扩展槽上的接口控制卡这些控制卡(适配器)是由若干个集成电路按一定的逻辑组成的一个部件,如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等。上一页返回二、I/O端口地址分配不同的微机系统对I/O端口地址的分配是不同的。PC微机是根据上述I/O接口的硬件分类,把I/O空间分成两部分。虽然,PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,但由于IBM公司当初设计微机主板及规划接口卡时,其端口地址译码是采用非完全译码方式,即只考虑了低10位地址线A--A9,而没有考虑高6位地址线A10--Al5,故其I/O端口地址范围是0000H-003FFH,总共只有1024个端口,并且把前512个端口分配给了主板,后512个端口分配给了扩展槽上的常规外设。后来在PC/AT系统中,作了一些调整,其中前256个端口(000-0FFH)供系统板上的I/0接口芯片使用。后768(100—3FFH)供扩展槽上的I/O接口控制卡使用,如表2.2所示。上一页返回

在表2.1中分配给每个接口芯片的I/O端口地址,在实际使用中,并未全部用完。例如,中断控制器8259A只使用了前面2个端口地址,20H、21H(主片)和AOH、A1H(从片)。并行接口芯片8255A,只使用了前面4个端口地址,60H~63H。使用端口地址最多的DMA控制器芯片8237A,也只用了前面的16个地址(0-Fl/)。从表2.2中,可以看到允许用户使用的端口地址是300H—31FH。这一段地址是留给用户在开发IBM-PC系列机功能模块(插板)时,使用的端口地址,系统是不会占用它的。上一页返回

三、I/O端口地址选用的原则只要设计I/O接口电路,就必然要使用I/O端口地址。为了避免端口地址发生冲突,在选用I/O端口地址时要注意:①凡是被系统配置所占用了的地址一律不能使用;②原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则,会发生I/O端口地址重叠和冲突,造成用户开发的产品与系统不兼容而失去使用价值;③一般,用户可使用300-31FH地址,这是IBM-PC微机留作实验卡用的,用户可以使用。但是,由于每个用户都可以使用,所以在用户可用的这段I/O地址范围内,为了避免与其他用户开发的插板发生地址冲突,最好采用地址开关。上一页返回

2.3I/O端口地址译码

CPU为了对I/O端口进行读写操作,就需确定与自己交换信息的端口(寄存器),那么,是通过什么媒介把来自地址总线上的地址代码翻译成为所需要访问的端口(寄存器)的,这就是所谓的端口地址译码问题。这个“媒介”就是I/O地址译码电路。上一页返回

一、I/O地址译码电路工作原理及作用1.译码电路的输入信号:首先,应该指出的是,I/O地址译码电路不仅仅与地址信号有关,而且与控制信号有关。因此,I/O端口地址译码电路的作用是把地址和控制信号进行逻辑组合,从而产生对接口芯片的选择信号。由于I/O地址译码除了地址范围受上述地址分配的限制之外,还要满足其他一些控制条件,所以,译码电路的输入端除了地址信号线之外,还要引入一些控制信号。例如,用SBHE信号控制端口奇偶地址;用I/OCS16信号控制8位或16位I/O端口;用AEN信号控制非DMA传送以及用IOR和IOW信号控制对端口的读/写等。为此,在设计地址译码电路时,除了根据2.2节选用I/O端口地址的原则,精心选择地址范围之外,还要根据CPU与I/O端口交换数据时的流向(读/写)、数据宽度(8位/16位),以及是否采用奇偶地址和DMA传送方式的要求来引入相应的控制信号,参加地址译码。上一页返回2.译码电路的输出信号译码电路把输入的地址线和控制线经过逻辑组合后,所产生的输出信号线就是l根选中线,低电平有效。即若译码电路的输出线为低,则表示译码有效;若输出线为高,则译码无效。当I/O地址译码有效,选中一个接口芯片时,这个芯片内部的数据线打开,并与系统总线相连,从而打通了接口电路与系统总线的通路。而其他接口芯片的选中线无效,于是芯片内部呈高阻抗,自然就与系统总线隔离开来,从而关闭了接口电路与系统总线的通路。CPU就是这样利用译码电路来选择与之交换信息的接口电路的。上一页返回二、I/O地址译码方法

I/O端口地址译码的方法灵活多样,可按地址和控制信号不同的组合去进行译码。一般原则是把地址线分为两部分:一部分是高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片的片选CS信号,实现系统中的片间寻址;另一部分是低位地址线不参加译码,直接连到I/O接口芯片,进行I/O接口芯片的片内端口寻址,即寄存器寻址。所以,低位地址线,又称接口电路中的寄存器寻址线。低位地址线的根数决定于接口中寄存器的个数。例如,并行接口芯片8255A内部有4个寄存器,就需要2根低位地址线。串行接口芯片8251A内部只有2个寄存器,就只需1根低位地址线。若从系统的角度宋考虑,则低位地址线的根数应由系统中含有寄存器数目最多的接口芯片来决定。上一页返回三、I/O端口地址译码电路设计译码电路的形式可分为固定式译码和可选式译码。若按译码电路采用的原器件来分,又可分为门电路译码和译码器译码1.固定式端口地址译码所谓固定式是指接口中用到的端口地址不能更改。目前,接口卡中一般是采用固定式译码。在固定式译码电路中,又分单个端口地址译码和多个端口地址译码两种情况。若仅需一个端口地址,则采用门电路构成译码电路。上一页返回

例1:使用74LS20/30/32和74LS04设计I/0端口地址为2F8H的只读译码电路。分析:若要产生2F8H端口地址,则译码电路的输入地址线就应具有如表2.3所示的值。设计:按照表2.3中地址线的值,采用门电路就可以设计出译码电路,如图2.1(a)所示。图中ANE参加译码,它对端口地址译码进行控制,只有当ANE=0时,既不是DMA操作时译码才有效;当ANE=1时,即是DMA操作时,译码无效。图2.1中,要求DMA=0是为了避免在DMA周期中,由DMA控制器对这些以非DMA方式传送的I/O端口执行DMA方式的传送。同理可设计出能执行读/写操作的2E2H端口地址的译码电路,如图2.1(b)所示。若接口电路中需使用多个端口地址,则采用译码器译码比较方便。译码器的型号很多,如3-8译码器74L5138;4-16译码器74LSl540~I.2-4译码器74L8139、74LSl55等。上一页返回例2:使用7413138设计一个系统板七控口芯片的I/O端口地址译码电路,并且让每个接口芯片内部的端口数目为32个。分析:由于系统板上的I/O端口地址分配在000~0FFH范围内,故只使用低8位地址线,这意味着A9和A8两位应赋0值。为了让每个被选中的芯片内部拥有32个端口,只要留出5根低位地址线不参加译码,其余的高位地址线作为7413138的输入线,参加译码,或作为74LSD8的控制线与AEN一起(控制74LSl38的译码是否有效。由上述分析,可以得到译码电路输入地址线的值,如表2.4所示。对于译码器74LSl38的分析有两点:一是它的控制信号线G1、G2A和G2B。只有当满足控制信号线C=1,G2A=G2B=0时,74L8138才能进行译码。二是译码的逻辑关系,即输入(C,B,A)与输出(Y0-Y7)的对应关系。74LSl38输入/输出的逻辑关系,如表2.5所示。上一页返回从表2.5可知,若满足控制条件,即G1接高电平,G2A,和G2B。接低电平,则由输入端C、B、A的编码来决定输出:CBA=000,则Yo=0,其他输出端为高电平;CBA=001,Y=0,其他输出端为高电平;……;CBA=111,Y7=0,其他输出端为高电平。由此可分别产生8个译码输出信号(低电平)。若控制条件不满足,则输出全“1”,不产生译码输出信号,即译码无效。设计:采用74LSl38译码器,可设计PC机系统板上的端口地址译码电路,如图2.2所示。图中地址线的高5位参加译码,其中A,—A,经译码器,分别产生DMACS(8237)、INTRCS(8259)、T/CCS(8253)、PPICS(8255A)的片选信号,而地址线的低5位A-a4作芯片内部寄存器的访问地址。从74LSl38译码器的真值表可知,8237A的端口地址范围是000—01Fil,8259A的端口地址范围是020-03FH等等,正好和前面表2.1所列出的端口地址分配表一致。上一页返回

2.可选式端口地址译码如果用户要求接口卡的端口地址能适应不同的地址分配场合,或为系统以后扩充留有余地,则采用开关式端口地址译码。这种译码方式可以通过开关使接口卡的UO端口地址根据要求加以改变而无需改动线路,其电路可由地址开关、译码器、比较器或异或门几种元器件组成。例3:设计扩展板上的I/O端口地址译码电路,要求让扩展板上每个接口芯片的内部端口数目为4个,并且,端口地址可选。例如,选择地址范围为300H—31FH。

分析:先讨论构成可选式端口地址译码电路的地址开关、比较器和译码器3个元器件的工作原理,然后根据题目要求进行电路设计。上一页返回·对于DP开关,有两种状态:合(ON)和断(OFF)。所以,要对这两种状态进行设定,我们设置DIP开关状态为:ON=O,OFF=1·对于比较器有两点要考虑,一是比较的对象,二是比较的结果。我们采用74LS854位比较器,把它的A组4根线与地址线连接,B组4根线与DP开关相连,这样就把比较器A组与B组的比较,转换成了地址线的值与DIP开关状态的比较。74LS85比较器比较的结果有3种:A>B,A<B,A=B。我们采用A=B的结果,并令当A=B时,比较器输出高电平。这意味着,当4位地址线的值与4个DIP开关的状态相等时,比较器输出高电平,否则,输出低电平。我们又把比较器的A=B输出线连到译码器74LSl38的控制线G1上,因此,只有当4位(A6-A9)地址线的值与4个(S0—S3)DIP开关的状态逐位相等时,才能使74LSl38的控制线Gk=1,才能译码,否则,译码器不能工作。所以,如果改变DP开关的状态,则迫使地址线的值发生改变,才能使两者相等,从而达到利用DIP开关来改变地址的目的。上一页返回

设计:根据上述分析可设计扩展板上I/O端口地址译码电路,如图2.3所示。从图中可以看到,高位地址线中,A9AQA7A6的值由DIP开关的S,S2S,5b状态决定。由于S,和S,断开,S1和S0合上,故使A9=A8=1,A7=A6=0,A5连在74L8138的G2A上,故A5=0。A4A3A2三根地址线作为74L8138的输入线,经译码后可产生8个低有效的选择信号,作为扩展板上的接口芯片选择。最后剩下2根低位地址线A1和A未参加译码,作接口芯片的寄存器选择,以实现每个接口芯片内部拥有4个端口。上一页返回

例4:采用异或门设计I/O端口地址译码电路o

分析与设计:如果用异或门代替比较器,则可得到图2.4所示的可选式译码电路,它由3片异或门74LSl36,9位DIP开关和译码器74L5138组成。741B136芯片内部有4个异或门,其内部逻辑如图2.5所示。在译码电路图2.4中,每个异或门的两个输入端,一个接地址线或控制线,另一个接地址开关。并且将所有异或门的输出端连在一起,再接到74LSl38的控制端G上。要使控制信号C:为“1”,则必须使每个异或门的输出端都为“1”。上一页返回

这意味着每个异或门的两个输入信号必须相异,例如图2.4中的AEN接在74L5136的4端,而74L5136的5端接高电平,所以4端必须为低电平,也就是说AEN应为低电平,即非DMA周期,译码才有效。同理可知分别连在74LSl36的1和2端上的IOR~IOW两个控制信号只能在分开单独读或单独写时,译码才有可能,同时读写或同时都不读写时封锁译码器74LSl38,使译码无效。其余各项异或为“广的条件,由系统地址总线送来的地址码与DIP开关状态来决定,当地址码和DIP开关状态相异时,结果为“广。若改变DIP的开关状态,也就改变了地址。按图2.4中所设的开关状态,该译码电路输入地址的值,如表2.6所示。其地址范围是710H-717H。上一页返回例5:采用跳接开关设计I/O端口地址译码电路用跳接开关代替DIP开关,可得到如图2,6所示的可选式译码电路。若改变跳接开关连接方向,则有1024种选择。上一页返回

2.4CAL器件及其在I/O地址译码中的应用一、GAL器件的特点

GAL(Generically~sic)是美国LATFICE公司提出的可编程逻辑器件PLD,它具有如下特点:①可以实现组合逻辑电路和时序逻辑电路的多种功能。经过编程可以构成多种门电路,如触发器、寄存器、计数器、比较器、译码器、多路开关或控制器等,代替常用的74系列和54系列的TYL器件或CD4000系列的CMOS芯片。据统计,一个GAL器件在功能上可以代替4—12个中小规模集成芯片,从而使系统缩小体积,提高可靠性,井简化印制电路板的设计。

上一页返回②采用电擦除工艺,门阵列的每个单元可以反复改写(至少100次),因而整个器件的逻辑功能可以重新配置,因此它是产品开发研制中的理想工具。③具有硬件加密单元,可以防止抄袭电路设计和非法复制。④速度高而功耗低,具有高速电擦电写能力,改写整个芯片只需数秒钟,而功耗只有双极型逻辑器件的1/2或1/4,缓解了温升问题。因此,GAL得到越来越多用户的青睐,在微机应用系统中被广泛采用。上一页返回二、CAL器件的开发工具与开发步骤1.开发工具

GAL器件能否得到广泛应用,很大程度上取决于它是否有优良的开发环境。若用手工方式编程,则不仅繁琐,而且容易出错。现已有很多公司推出/开发工具,借助这些工具,用户可以得心应手地把GAL器件应用到逻辑设计中去。开发工具包括硬件工具——编程器和软件工具——专用的编译程序或汇编程序。

GAL编程器与EPROM/fProm的编程器在原理上并无多大差别。目前国内常见的编程器有PROMA、EXPR040和ALL-03型,其中ALD03是常用的功能很强的编程器,不仅可以对各个厂家生产的各种型号的GAL、PAL、EP~D编程,还可对EPROM、fProm编程,并具有IC数字电路测试功能。上一页返回

目前已有多种GAL编程软件,如CUPL和ABEL屑编译型高级开发软件,具有自动逻辑化简、语法检查和模拟仿真功能。在输入文件中可以采用布尔方程、真值表和状态转换图。FM(FastMap)是通用的汇编型的软件。使用它可以把按一定格式编写的GAL设计说明书进行汇编,生成对GAL编程的文件。由于它简单,实用,易于掌握,因而得到了广泛的应用oFM是一个汇编程序,它可以对具有一定格式的GAL编程输入源文件(扩展名.PLD)进行汇编,即把与-或(积-和)形式的逻辑方程翻译并生成列表文件(.LST)、熔丝状态图文件(.PLT)和分布数据代码文件(,JED),然后利用编程器,把分布数据写入到GAL中。上一页返回

2.开发步骤与方法下面以采用GALl6V8来实现基本门电路逻辑为例,说明GAL器件的开发过程,共分3步。①利用文本编辑程序(如EDIT)按一定格式编写GAL编程输入源文件(或叫GAL设计说明书)。使用FM软件前,首先要准备好GAL编程输人源文件,其格式如下:

GALl6V8;DEVICENAME——LINE1—-BASICGATES;(USE)—LINE2—XUAIQINGMAR.151998B1TI;(DESIGNER)—LINE3—BGATES;SIGNATURE——LINE4——CDFGMNPQIGND;PINNAME—LINEI—JKLROHEBAVCC;PINNAME

上一页返回B=/A;INVERTER—LINEJ—E=C*D;ANDGATEH=F+G;ORGATEL=/I+/J+/K;NANDGATEO=/M*/N;NORGATEN=P*/Q+/P*Q;XORGATEDESCRIPTION;KEYWORD—LINEK-THISEXAMPLEILLUSTRATESTHEUSEOFGALDEVICEANDITSDEVELOPMENTTOOL.上一页返回

其中:斜杠(/)符号,表示低电平有效第一行器件型号,必须用大写字母第二行标题(GAL器件的应用)第三行设计者姓名,日期等第四行电子标签第I行引脚名,可占用多行,i≥5第J行逻辑方程,可占用多行第K行程序描述。DESCRIPTION是关键字,不可少,且必须用大写字母。上一页返回

注意:第1行的器件型号和第4行的电子标签的位置不能变。第2、3行写什么由设计者自己定,上例中只是推荐的格式,这两行无论写什么Bq软件都不会判错。关键字DESCRIPTION不可缺,即使后面不给出任何描述,也要写出关键字,且一定要顶头开始写,前面不能留空格。每个引脚名最多可用8个字符,名字间应用空格、制表符、回车符隔开。不使用的引脚习惯上用NC表示,地用GND表示,电源用U”表示。引脚名必须按引脚号的次序排列,排完第一行,再排第二行。器件类型和关键字DESCRIPTION必须用大写字母。输入源文件的核心部分是输入与输出信号的逻辑方程,因为汇编程序FM无逻辑化简功能。所以,源文件要用简化的与-或式(积—和式)写出。输入源文件可以在任一编辑器上进行编辑,编辑完毕后,以扩展名.PLD存盘。上一页返回②使用FM.EXE汇编程序对GAL输入源文件进行汇编,并生成3个基本文件。当准备好输入源文件后,就可以启动FM汇编程序,根据FM的菜单,分别生成:LST列表.文档文件——包括源文件和引脚分配图;PLT熔丝状态分布图文件——供用户直观地查看逻;辑方程用;JED分布数据文件——包含门阵列中所有编程节点的编程信息代码,这些代码可通·过编程器,直接写入GAL,进行“编程写入”,故又称为编程代码文件或装载文件。上一页返回

FM.EXE汇编程序的启动和操作如下:启动时,在DOS提示符下键人FM,再键人已准备好的GAL文件后,屏幕上会出现如图2.7所示的FM菜单,并提请用户键人相应的选择项(数字键1—5)。若键人“1”,则FM将生成一份扩展名为.LST的文档文件,包括源文件和GAL引脚配置图。若输入“2”,则FM将生成一份扩展名为.PLT的芯片熔丝状态分布图文件。若键人“3”,则FM将生成一份扩展名为.用D的JEDEC标准装载文件,这种标准文件包含门阵列中所有编程节点的编程信息,可以直接写入GAL芯片。若键人“4”,则放弃对现文件的汇编,FM将要求用户输入新的编程输入源文件名,重新显示菜单。若键人“5”,则由FM退回到DOS环境。上一页返回

③使用ALD03编程器将扩展名为.JED的装载文件“烧”到GAL器件内。在DOS提示符下,键人"ACCESS'’,按回车键,屏幕上将显示:

ALD03A/03UniversalProgrammer&TesterHI-LOSYSTEMSCO.,LTDALLRightReserved

按回车键后,将显示新的一屏,接着可按屏幕标题显示来选择GAL、PAL等芯片生产公司(工厂)的名字,及某一公司(工厂)的产品型号。按准备编程的GAL的生产公司和型号进行选择。例如,若待编程的GAL是LATIICE公司生产的"GALl6V8'’,则键人“09”(对应Lattice公司),按回车键,右边一列显示出该公司的多个产品型号,再键人“00”(对应GALl6V8),选定编程芯片型号。屏幕将显示如图2.8所示的菜单。上一页返回

利用此菜单,只需按以下步骤操作,即可完成GAL器件的编程工作。当把GAL器件插入编程器的插座后,第一步,键入“2”,把装载文件.JED装入缓冲区。第二步,键人“B”,检查芯片是否擦除好,若未擦除好,则键人“E”,将其擦除。第三步,键入“P”,即进行编程(烧录)。第四步,键人“V”,进行核对。若要加密,则最后键人“S”。编程即告结束。为简单起见,也可在.扛D文件装入后,只键人“A”,代替前述各步,一次自动完成编程工作。上一页返回

在微机上,通过GAL编程软件和编程器将.JED文件中的编程代码写入(“烧”人)GALl6V8,至此一个满足上述要求的GAL基本逻辑门电路开发完毕。在使用中若发现有问题,或要求改变门电路,可以将原代码擦除,重新编写源文件,形成.JED文件,再“烧”人GAL。若想保护源代码不被非法占有,则可以在烧人时实现逻辑电路的加密功能。上一页返回

三、采用GAI的I/O端口地址译码电路设计1.要求利用GAL器件设计MFID多功能微机接口实验平台的I/O端口地址译码电路,其端口地址范围为300H-3FFH,分成16个段,每个段包含4个接口芯片,每个接口芯片内部拥有4个端口。上一页返回

2.分析①地址线的分配与使用。首先,从端口地址范围,可知最高两位地址线的值A9=A8=1。其次,要求分成16个段,可由A7A6A5A4四位地址线进行组合,实现段选。而每个段包含4片接口芯片,故可用A3和A2两位地址线进行组合,实现片选。最后,为了让每个芯片内部拥有4个端口,将A1和A最低两位地址线,不参加译码,直接连到接口芯片上,进行片内寄存器寻址。因此,可得译码电路输入地址线的值,如表2.7所示。②参加译码的控制线。根据需要,只有IOW、IOR和AEN三根控制线参加译码。③GAL器件的选择。从上述分析可知,除去不参加译码的A1和A之外,还有8根地址线,其中A7—A4四根地址线,经DIP开关和比较器进行段选,比较器的输出线仅有1根A=B线,所以,送到GAL的地址线,只有A9,A8,A=B,A3和A2五根,再加上3根控制线,共8根线作为GAL的输入线。GAL的输出线应包括4根片选信号线(Y0Y1Y2Y3),l根74LS245的选通线DS和1根方向控制线DIR,共6根,所以可选择GALl6V8作译码器。下面对GALl6V8进行讨论。上一页返回④GALl6V8芯片。GALl6V8有20个引脚,如图2.9所示,它有8个输入端(2—9),8个输出端(12—19),1个时钟输入端(1)和1个输出允许(11)控制端。其中除了8个输入引脚(2-9)固定作输入之外,还可以把8个输出引脚(12—19)配置成输入引脚作为输入使用,因此,这个芯片最多可有16个输入引脚,而输出引脚最多为8个,这就是GALl6V8中两个数字(16和8)的含义。

GALl6V8的外部引脚和内部结构见图2.10。由图可见,外部输入信号允许正、负两种极性(原码或反码)输人,8个输人信号(引脚2图2,9GALl6V8的引脚—9)分别由左边8个输入缓冲器引入。8个输出信号(引脚12-19)由右边8个输出逻辑宏单元OLMC(OutputLogicMacroCell)经三态缓冲器输出,这8个输出信号又可经OLMC反馈回来作输入信号,以扩充芯片的输入端,使输入线最多可以为16根。

上一页返回可编程阵列GALl6V8内部是与-或阵列逻辑结构,列线之间是相与的,行线之间是相或的。其中和项线,即列线共32根,分别与16个输人端的正/反极性信号线连接。积项线,即行线共有以根,分成8组,每组8根线对应1个8输入端的或门,然后,从或门输出,产生8个输出线。故可编程阵列GALl6V8内部有64行32列,由于行线上的点是相“与”,列线上的点是相”或”,因此共有64x32:2048个与-或点阵。用户可以利用阵列中的与_或关系,把输入信号进行不同组合,实现各种逻辑功能,产生不同的控制信号。

上一页返回

3.设计①硬件设计。MI~ID多功能微机接口实验平台的译码电路如图2.11所示。图中GALl6V8的6根输出线,其作用分别是:DS线连到7413245的E端,以控制7413245的通/断。只有当端口地址范围选在300H~3FFH内,才使五:0,打开7413245,否则,74LS2A5关闭,这意味着实验平台只允许使用300H-3FFH范围内的地址。DIR线用于控制74LS245的传送方向.Y0—Y3四根线可作为平台板上4个接口芯片的片选信号。其中,Yo—8255A的CS,Y1—8253A的CS,Y2--8251A的CS。上一页返回

②软件设计。使用GAL器件进行译码电路设计,与以往用SSI、MSI器件不同,除了进行硬件连接外,还要根据所要求的逻辑功能和编程工具所要求的格式编写编程输入源文件。该文件将逻辑变量之间的函数关系(输2./输出的关系)变换为阵列结构的与—或关系——积和式。再借助于编程工具生成GAL器件熔丝状态分布图文件以及分布数据文件等几个文件,并最后将分布数据“烧”到GAL内部。例如,若第00列至15列的熔丝状态分布图为:xx——xx——x—x——x—x(“x”表示熔丝接点已连接,“—”表示熔丝接点未连),则相应的分布数据为:0011001101011010(“0”表示熔丝接点已连接,“1”表示熔丝接点未连接)。用16进制表示分布数据为335AH。最后将这个数据写到从0列至15列相对应的地址中。所以,如何编写GAL器件的编程输入源文件是软件设计中的重要内容。上一页返回

4.GAL器件译码电路的编程根据MHD微机接口实验平台I/O端口地址译码电路的设计要求,井按照GAL器件开发步骤来对GAL译码电路进行编程。①编写端口地址译码电路的GAL输入源文件(设计说明书)。②利用FM.EXE对DECODER.PLD进行汇编,自动生成3个文件。它们是文件1——列表文档文件,文件2--熔丝状态分布图文件和文件3--编程信息代码文件。上一页返回返回返回返回返回返回返回返回返回返回返回返回返回返回返回返回返回返回

定时/计数技术3.1基本概念

3.1基本概念一、定时/计数在计算机系统、工业控制领域、乃至日常生活中,都存在定时、计时和计数问题,尤其是计算机系统中的定时技术特别重要。

1.定时

定时和计时是最常见和最普遍的问题,一天24小时的计时,称为日时钟。长时间的计时(日、月年直至世纪的计时)称为实时钟。在监测系统中,对被测点的定时取样。在打印程序中,查忙(Busy)信号,一般等待l0ms,若超过10ms,还是忙,就作超时处理。在读键盘时,为了去抖,一般延迟一段时间,再读。在步进电机速度控制程序中,利用在前一次和后一次发送相序代码之间延时的上一页返回时间间隔来控制步进电机的转速。

2.计数计数使用得更多,在生产线上对零件和产品的计数;对大桥和高速公路上车流量的统计,等等。定时/计数器8253内部最基本的单元也是减1计数器。3.定时与计数的关系计时的本质就是计数,只不过这里的“数”的单位是时间单位。如果把一小片一小片计时单位累加起来,就可获得一段时间。例如,以秒为单位来计数;计满60秒为1分,计满60分为1小时,计满24小时即为1天。因此,计时的本质就是计数,我们把计数作为定时的基础来讨论。上一页返回二、频率一声音一音乐从定时、计数问题还可以引出或派生出一些其他的概念和术语。例如,如果把计数和定时联系起来,就会引出频率的概念。如上述,采集数据的次数,再加上时间,就会引出每秒钟采集多少次,即采样频率。由频率可以引出声音,频率高,声音的音调高;频率低,声音的音调低。如果不仅考虑发声频率的高低,还考虑发声所占时间的长短,就会引出音乐的概念。把音调的高低和发声的长短巧妙地结合起来,便产生了美妙动听的音乐。所以,定时/计数技术与频率、声音以及音乐

上一页返回之间有密切的联系,本章将对这几个方面的问题进行讨论。三、微机系统中的定时微机系统常常需要为处理器和外设提供时间标记,或对外部事件进行计数。例如,分时系统的程序切换,向外设定时周期性地发出控制信号,外部事件发生次数达到规定值后产生中断,以及统计外部事件发生的次数等,因此,需要解决系统的定时问题。微机系统中的定时,可分为内部定时和外部定时两类:内部定时是计算机本身运行的时间基准或时序关系,计算机每个操作都是按照严格的

上一页返回时间节拍执行的;外部定时是外部设备实现某种功能时,本身所需要的一种时序关系,如打印机接口标准Electronics就规定了打印机与CPU之间传送信息应遵守的工作时序。计算机内部定时,已由CPU硬件结构确定了,是固定的时序关系,无法更改。外部定时,由于外设或被控对象的任务不同,功能各异,无一定模式,往往需要用户根据I/0设备的要求进行安排。当然,用户在考虑外设和CPU连接时,不能脱离计算机的定时要求,即应以计算机的时序关系为依据,来设计外部定时机构,以满足计算机的时序要求,这叫做时序配合。至于在一个过程控制或工艺上一页返回流程或监测系统中,各个控制环节或控制单元之间的定时关系,完全取决于被处理、加工、制造和控制的对象的性质,因而可以按各自的规律独立进行设计。本章的重点是讨论外部定时技术。四、定时方法为获得所需要的定时,要求有准确而稳定的时间基准,产生这种时间基准通常采用两种方法——软件定时和硬件定时。1.软件定时它是利用CPU内部定时机构,运用软件编程,上一页返回循环执行一段程序而产生的等待延时。这是常用的一种定时方法,主要用于短时延时。这种方法的优点是不需增加硬设备,只需编制相应的延时程序以备调用。缺点是CPU执行延时等待时间增加了CPU的时间开销,延时时间越长,这种等待开销越大,降低了CPU的效率,浪费CPU的资源。并且,软件延时的时间随主机频率不同而发生变化,即定时程序的通用性差。

2.硬件定时它是采用可编程通用的定时/计数器或单稳延时电路产生定时或延时。这种方法不占用CPU的时间,定时时间长,使用灵活。尤其是上一页返回定时准确,定时时间不受主机频率影响,定时程序具有通用性,故得到广泛应用。目前,通用的定时/计数器集成芯片种类很多,如Intel8253/8254,Zillion昭的CTC等。这里对Intel8253/8254定时/计数器进行详细讨论。

上一页返回第三章定时/计数技术

8253-5/8254-23.2可编程定时/计数器3.2可编程定时/计数器8253-5  /8254-2

可编程定时/计数器芯片型号有几种,它们的外形引脚及功能都是兼容的,只是工作的最高频率有所差异,例如,8253-5和8254-2前者为5MHz,后者为10MHz。另外,还有8253(2MHz)、8254(8MHz)和8254-5(5MHz)兼容芯片。下面以8253-5和8254-2为例进行分析。本书中,以后出现的8253和8254均分别指8253-5和8254-2。一、外部特性与内部逻辑上一页返回1.外部特性定时/计数器8253/8254是24脚双列直插式芯片,+5V电源供电。每个芯片内部有3个独立的计数器(计数通道),每个计数器都有自己的时钟输入CLK、计数输出OUT和门控制信号GATE。通过编程选择计数器和设置工作方式,计数器既可作计数器用,也可作定时器用,故称定时/计数器,记作T/C。其引脚分配见图3.1

温馨提示

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

评论

0/150

提交评论