下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于isa总线的高精度频率计设计
d8254-2是英特尔生产的编程时计算机。它具有控制方便、用户灵活、兼容等特点。本文利用它作为核心器件,辅以外围扩展电路,用多周期同步法和等精度的测量原理,实现了基于PC机ISA总线的高精度、宽范围频率测量卡的设计。频率测量是测量与仪器仪表领域最基本的测量之一。频率信号抗干扰性强、易于传输,可以达到较高准确度的测量。除交变电信号的频率需测量之外,许多非频率量的传感信号都要转化为频率量进行测量。因此,在快速、准确测量频率量的过程中,频率测量装置的选择起着举足轻重的作用。本文设计的频率计是基于PC机ISA插槽的,其中,定时与计数部分的主要器件采用的是Intel公司生产的可编程定时计数器D8254-2,经过外围器件的扩展,本频率计测频范围可达0.01Hz~1GHz。用D8254-2设计的频率计具有结构简单、价格低廉、使用方便的特点。本文将主要讲述D8254-2在频率测量中的具体使用。基于控制字的工业模式D8254-2在微机系统中的主要应用是在软件的控制下解决精确的定时/计数问题。在其内部有三个独立的16位计数器,每个计数器都可按二进制或十进制计数,可由软件设置六种工作方式,计数频率可达10MHz,所有输入输出都与TTL兼容,便于和现在大多数器件接口。D8254-2可应用在实时时钟、可编程频率发生器、复杂波形发生器、复杂动力控制器、事件计数器、方波发生器、数字单端触发器、二进制分频器等。内部结构及管脚排列如图1所示。数据总线缓冲器为三态双向的8位数据缓冲器,是和CPU进行信息交换的通道。读/写逻辑接收来自微机系统总线的控制信号和地址信号,产生对D8254-2内部的控制信号。每片8254占用4个口地址。当CS有效时,RD和WR其中之一有效,A0A1=00、01、10分别选中三组计数器;A1A0=11,选中控制字寄存器。控制字寄存器接收从总线缓冲器传来的数据,并作为控制字存放起来控制计数器的工作。控制字寄存器只能被写入,它也可以作为回读命令寄存器,用以读出计数器的状态信息。计数器0、1、2的结构和工作原理是完全一样的,而在系统组成上是完全独立的,每个计数器可以工作在不同的方式。每个计数器都有两个输入端、一个输出端。GATE可以作为门控触发或复位信号,计数器对CLK端输入的脉冲按照二进制或二-十进制从预置的初值开始减1计数(下降沿计数),当预置数减到0时,从OUT端输出一个信号(信号的特点由工作方式决定)。计数器的初值由CPU在开始计数前用输出指令预置,在计数过程中CPU可随时读取当前计数值而不会影响计数。D8254-2是Intel微机系统中的一个器件,因此,它同这个系统中的其它外围器件以同样的方式进行接口。通常情况下,选择输入端A0A1接在CPU的A0A1,WR和RD分别接在CPU的IOW和IOR信号线上,D0~D7与系统数据总线相连,CS可用线选的方式直接通过地址总线得到或可连接到一个译码器的输出端。上电初始,D8254-2的状态是不确定的,所有计数器的工作方式、计数值和输出都是不定的。每个计数器如何工作是在对其编程后确定的。每个计数器在使用前必须对其编程,不用的计数器不需要编程。控制字对计数器的编程是通过先写控制字,再写初值来实现的。控制字的格式如图2所示。工作方式每个计数器有方式0(计数到0中断方式)、方式1(单脉冲硬件触发方式)、方式2(频率发生器方式)、方式3(方波发生器方式)、方式4(软件触发选通方式)、方式5(硬件触发选通方式)六种工作方式。旋转式计数工作方式的使用案例设计本文介绍的频率卡采用多周期同步法和等精度测量的原理,用高精度的晶振作时基信号和定时信号,可以实现测量范围宽(0.01Hz~1GHz)、测量精度高的目标。测量方框图如图3所示。用被测信号fx的第一个上升沿控制同步门的打开,从而将被测信号送入两片级联的D8254-2的计数器0,时标信号f0送计数器1,定时信号f0送入计数器2。预置定时时间到,由OUT2产生中断信号,和被测信号f0的最后一个上升沿一起关闭同步门,停止计数。同时,向CPU提出中断申请,由中断处理程序提取计数器0、1的值Nx和N0,由软件计算出被测信号的频率:fx=N0/Nxf0。为了增大测量范围,将两片D8254-2级联,这样就可将计数器扩展到32位,完全可以满足量程的要求。将计数器0、计数器1作为事件计数器,计数器2作为定时计数器。第一片8254占用4个口地址:300~303H;第二片8254也占用4个口地址:304~307H。计数器0和计数器1设为工作方式4、计数器2设为工作方式0。工作方式0的特点1.写入控制字后,OUT立即变低,再写入计数初值后,开始减1计数,减到0时OUT变高;2.方式0只计数一遍,只有重写入初值,才进行第二遍计数;3.GATE=0,停止计数;GATE=1,允许计数。计数过程中改变GATE的状态不影响OUT的状态;4.写入初值后,需经过一个CLK脉冲才把初值装入计数器,而此脉冲并不能使计数值减1。因此,若设初值为N,则输出OUT是在N+1个CLK脉冲后才变高。此特点同样在方式4中存在;5.计数过程中,改变计数初值立即有效。工作方式4的特点1.OUT初始化为高,写完计数初值后的第一个CLK脉冲将初值送入计数器,在第二个脉冲的下降沿到来后开始从初值减1计数,当计数到0后,OUT输出一个CLK周期的低电平后立即变高;2.计数到0后,如果不从软件写入计数初值,计数器从FF开始循环计数;如果写入计数初值,又从初值开始计数;3.GATE=0,停止计数;GATE=1,允许计数。OUT的状态与GATE无关;4.计数过程中改变初值立即有效。具体的工作过程可见时序图图4。D8254-2的初始化编程所有的计数器16位进行二进制计数,计数器0、1工作方式设为方式4,计数器2设为方式0。第一片D8254-2的口地址为300~303H,第二片D8254-2的口地址为304~307H。程序可在本刊网站上查找。初始化完成后,置D8254-2的GATE为1,允许计数,打开同步门,向D8254-2的计数器送入计数脉冲。以后计数器就按自己的工作方式工作,直到计数器2定时时间到产生中断,关闭同步门,并向CPU提出取走数据的中断请求。至此,一次测量就完成了。本文利用可编程定时计数器D8254-2作为核心器件设计的频率计具有价格低廉、测量精度高、测量范围宽、可靠性高、控制简单的特点。在D8254-2的使用过程中有几点需要注意:1.在写入初值后第一个CLK下降沿只是将初值锁存进内部的计数计数寄存器,并不开始计数,而是在下一个CLK的下降沿才开始减1计数。这需要在读取计数值时加1进行修正;2.在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论