文档详情

[工学]外文翻译1

博****1
实名认证
店铺
DOC
104KB
约5页
文档ID:457056611
[工学]外文翻译1_第1页
1/5

基于FPGA和单片机的频率计的设计摘要:基于MCU的传统频率测量是受益于单片机的低成本然而在这个设计系统中也存在低精度和测量频率范围狭窄的缺点此文章介绍了一种将FPGA与MCU相结合,能够充分发挥FPGA的高速性能,MCU的易于计算的性能和便于控制外围设备的特点,两者将起到同样重要的作用该产品提供了一个能够测量0.01Hz~10MHz的完美展示与此同时,这个系统具有反映时间短和高可靠性的优势关键词:MCU;FPGA;频率测量一.介绍现场可编程门阵列(FPGA)是一个半导体器件,它能够被顾客或设计师任意的装配在制造过程中FPGA的规划可以从逻辑电路框图或有源代码的硬件描述语言来看出它这个芯片是怎么工作的FPGA在一些领域或算法中可以发现有特别的应用,利用由他们的体系架构提供大量并行特性微程序控制器(MCU)是一个集成电路组成的小型计算机,一个相对简单的CPU可以支持一些功能如晶体振荡器、定时器、监视,及一系列的模拟I/O口等微控制器应用于自动控制产品和设备我们可以发现我们的设计目的为两部分第一部分可以由有大量并行运算的FPGA执行操作第二部分由单片机来计算结果和控制LCD显示二.测量原理如图一所示,一个计数器怎样建立一个阈值时间和如何计算出有多少周期信号的原理。

= 图一N是一个实数,N=1或N=-1或N=0.为了排除错误, N等于正负1是我们想要的结果三.系统设计硬件设计,如图二所示,FPGA和MCU是该系统的核心数据电线,控制信号,地址总线连接这两个重要设备输入信号通过A/D进入FPGAFPGA将产生一个不变的时钟与外部输入的信号相比较结果将被送入MCU,通过计算,显示在LCD屏上频率测量关于硬件设计,我们有两个可选的频率测量方案●固定阈值的测量这是一个常用的方法,在设定时间不变的情况下计算有多少个周期信号输入在这段时间内然而,在阈值被关闭时候不是输入信号改变的的时候,就会有一个数量一的误差在高频情况下,这个误差是可以被接受的,因为它没有明显的影响结果然而在的低频率的时候,这是一个严重的问题,误差是不可接受的●等精度的频率测量一个D触发器有clock和EN两个输入信号当EN=1时,计数器被激活;当EN=0时,计数器不起作用D触发器,计数器同步时可以避免发生错误总之,我们采用等精度的频率测量B.FPGA模块●器件选择Xilinx和altera是世界上两个主要的FPGA生产商然而,考虑成本,我们认为选择actel的proasic的价格更合理。

芯片能够完全满足我们的需要Proasic提供的一个完整,跨平台的设计环境很容易满足我们的设计需要●器件连接 图三●模块描述在这个模块中,有三个32为的暂存器,counter_base(基本时钟计数器溢出点),counter_half(基本halg-clock计数器溢出点),counter_f_in(输入信号的计数器),D触发器,一个时钟分配器(实施half-clock),一个数据的选择多路转换器(输出数据系列),一个计数完成的标志位连接到FPGA原始时钟为48兆赫在计算流程被完成后,这个程序检查counter_half是否为1 如果为1,然后停止,否则,读取数据记录假设counter_base的变量是A,counter_half的变量是B,同样地 counter_f_in是C如果counter_bsae被设置为1,输入信号的频率F =24000000 *(C / B),相反的F = 48000000 *(C / A)设计的频率范围宽0.01赫兹~ 10兆赫,如果我们独立的采用周期测量或频率测量,结果将是不可取的因此在低频段采用周期测量,在高频段采用频率测量。

为了实现这个方案,此程序要处理信号EN和Q,两种模式可以自动转变步骤如下:系统复位,确认EN为1,延迟一段时间(我们设置为120 ms),等到Q是确定为1,EN清零,等待直到Q为0当输入信号频率高的时候,在一个周期的延时内,可进行频率测量,就可以使用上述公式计算然而在低频率, 输入信号的延迟时间是不够去触发的,所以我们必须等待一段时间来获取Q的变化,所以我们至少等待1个周期的输入信号counter_base寄存器计算在一个周期内有多少个48MHz的循环,这种属于周期测量C.MCU模块●器件选择根据计划需要,我们选择易于编程的at89s52作为MCU因为经常使用,我们能够在短时间内完成设计●器件连接如图三所示,at89s52被分为两个部分,信号控制LCD和信号连接FPGALCD的控制信号R/S,R/W,E,8位的数据总线和地址总线连接FPGA的信号有RST,SEL,OUT,EN,可以对应FPGA的连接口D.ADC模块ADC模块不是创新设计的模块,所以此文略写E.程序设计Verilog 程序如图1所示,Verilog程序建立频率测量的硬件结构●MCU C程序图四是AT89S52的程序建立结构 图四四.确认完成这个装置后,我们将一些信号的被测试结果放在了表二。

左边的列是一套函数信号发生器的设定值,中间列是实验室测量的值,右边列是我们的装置测的值单位赫兹从数据显示我们可以发现,在一般情况下,我们的系统比实验室的设备好0.01 0.011 0.012 1 1.05 0.99 500 449.6 449.9 1k 1001.3 1000.2 5k 5002.4 5000.1 10k 10003.4 9999.6 100k 100005 99999 500k 499999 499999 1M 1000012 1000009 5M 5000020 4999994 10M 10000137 10000078 表二五.总结与进一步的工作作为大学生,当我们接管了这个项目,我们内心着实有点焦虑和恐慌,因为我们对FPGA不了解在理论学习和大量的实验后,我们的产品符合规定的要求。

FPGA的完美性能使高频下工作更容易,并完成了离散组件无法实现的功能为了简化系统加强可靠性,进一步的工作做的是关于ALTERA的NIOS处理器可以对FPGA有更进一步的提高随着灵活配置和紧凑系统的越来越多精度测量将被提高,反映时间将被缩短参考[1]http://en.wikipedia.org[2]萨米尔Palnitkar,Verilog HDL指导数字设计合成第二版,智胜制冷机,三月廿日。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档