基于fpga的等精度数字频率计设计毕业论文设计(编辑修改稿)内容摘要:
4)用 C 语言完成了系统中单片机控制的的软件设计。 ( 5)对频率计的系统性能进行分析,通过分析得出,本设计的测频范围是~50MHz,测量精度为百万分之一,被测信号的幅度为。 本文分 5 章介绍了基于 FPGA 的等精度数字频率计的设计原理、设计步骤,性能分析等。 兰州交通大学毕业设计(论文) 3 2 系统设计的相关理论 频率测量方法的研究 常用测频方案 在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。 测量频率的方法有多种,其中等精度测量频率具有精度高、使用方便、测量迅速,以及便于现测量、过程自 动化等优点,是频率测量的重要手段之一。 普通测频有两种方式:一是间接测频法,二 是直接测频法。 方案一:采用 间接测频法,即 周期法。 通过测量待测信号的周期并求其倒数, 需要有标准 频率 的信号 ,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为 177。 1 个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。 方案二:采用直接测频法。 直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。 由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为 177。 1 个脉冲误差。 进一步分析测量准确度:设待测信号脉冲周期为 Tx,频率为 Fx,当测量时间为 T=1s 时,测量准确度为& =Tx/T=1/Fx。 由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。 因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。 方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。 在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。 单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列 FPGA 为实现高速、高精度的测频提供了保证。 综上所述, 本设计所采用的测频方法就是等精度频率测量法,下面我们将对等精度频率测量法做进一步介绍。 等精度测频原理 等精度测频方法是在直接测频方法的基础上发展起来的。 它的闸门时间不是固定的值,而是 被测信号周期的整数倍,即与被测信号同步,因此,避 免 了对被测信号计数所兰州交通大学毕业设计(论文) 4 产生 177。 1 个字误差,并且达到了在整个测试频段的等精度测量。 其测频原理如图 所示。 在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。 首先给出闸门开启信号 (预置闸门上升沿 ),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。 然后预置闸门关闭信号 (下降沿 )到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。 可以看出,实际闸门时间 t 与预置闸门时间 t1 并不严格相等,但差值不 超过被测信号的一个周期 [1]。 图 等精度测频原理波形图 等精度测频的实现方法可简化为图 所示。 CNT1 和 CNT2 是 两个可控计数器,标准频率信号从 CNT1 的时钟输入端 CLK 输入;经整形后的被测信号从 CNT2 的时钟输入端 CLK 输入。 当预置门控信号为高电平时,经整形后的被测信号的上升沿通过 D触发器的 Q 端同时启动 CNT1 和 CNT2。 CNT CNT2 同时对标准频率信号和经整形后的被测信号进行计数,分别为 NS与 NX。 当预置门信号为低电平的时候, 随 后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为 (FS/N S)*NX。 则等精度测量方法测量精度与预置门宽度和 标准频率有关,与被测信号的频率无关。 在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。 图 等精度测频实现原理图 兰州交通大学毕业设计(论文) 5 等精度测频误差分析 设在一次实际闸门时间 t 中计数器对被测信号的计数值为 Nx,对标准信号的计数值为 Ns。 标准信号的频率为 fs,则被测信号的频率如式 (21): fx=(Nx/Ns)fs (21) 由式 21 可知,若忽略标频 fs 的误差,则等精度测频可能产生的相对误差如式 (22): δ=(|fxefx|/fxe)100% (22) 其中 fxe 为被测信号频率的准确值。 在测量中,由于 fx 计数的起停时间都是由该信号的上升沿触发的,在闸门时间 t内对 fx 的计数 Nx无误差 (t=NxTx);对 fs 的计数 Ns 最多相差一个数的误差,即 |ΔNs|≤1,其测量频率如式 (23): fxe=[Nx/(Ns+ΔNs)]fs (23) 将式 (21)和 (23)代入式 (22),并整理如式 (24): δ=|ΔNs|/Ns≤1/Ns=1/(tfs) (24) 由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。 闸门时间越长,标准频率越高,测频的相对误差就越小。 标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度 [2]。 单片机模块理论及知识 MCS51 单片机结构 简介 MCS51 单片机 分为 51 和 52 两个系列,包括 80c5 87c5 80c5 87c52 等典型产品型号,它们的结构基本相同,主要差别仅在片内 存储器、计数器。 中断源的配置有所不同,其中 52 子系列在存储器容量、计数器和中断源数量都高于 51 子系列。 考虑到本设计采用 STC89C51,这里将以 80c51 为例进行介绍 [3]。 MCS51 单片机的内部结构包含了作为微型计算机必需的基本功能部件,如 CPU、RAM、 ROM、定时 /计数器和可编程并行 I/O 口、可编程串行口等。 这些功能部件通常都挂靠在单片机内部总线上,通过内部总线穿送数据信息和控制信息。 其基本内部结构如图 所示。 兰州交通大学毕业设计(论文) 6 图 MCS51 单片机内部基本结构 80C51 单片机内部资源主要包括: 8 位中央处理器;片内振荡器和时钟电路; 4KB片内程序存储器( ROM); 128 字节的片内 RAM; 2 个 16 位定时 /计数器;可寻址 64KB外部程序存储器和 64KB 数据存储空间的控制电路; 4 个 8 位双向 I/O 口; 1 个全双工串行口; 5 个中断源; 80C51 单片机采用 40 引脚双列直插式封装形式,其引脚分布如图 所示。 ( 1)电源及晶振引脚( 4 只) VCC、 GND、 XTALL XTAL2。 ( 2)控制引脚( 4 只) PSEN、 ALE、 EA、 RST; ( 3)并行 I/O 口引脚( 32 只) 、 、 、。 兰州交通大学毕业设计(论文) 7 图 80c51 单片机引脚图 Keil μ vision 3 软件 概述 Keil 是德国 Keil Software 公司出品的单片机集成开发软件,该软件支持 51 单片机的所有变种。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理及一个功能强大的仿真调试器在内的完整开发方案,并通过一个集成开发环境( μ Vision 3)将这些部分组合在一起。 Keil单片机集成开发软件可以运行在 Windows98/NT/20xx 及 XP 等操作系统下。 μ Vision 3 软件界面包括 4 大组成部分,即菜单工具栏、项目管理窗口、文件窗口和输出窗口。 其软件开发流程为: ( 1)创建一个项目,从器件库中选择目标器件,配置工具设置; ( 2)用 C 语言或汇编语言创建源程序; ( 3)用项目管理器生成应用; ( 4)修改源程序中的错误; ( 5)测试,连接应用。 Proteus 软件 概述 Proteus 软件是英国 Labcenter 公司开发的电路及单片机系统设计与仿真软件。 Proteus 软件可以实现数字电路、模拟电路及微控制器系统与外设的混合电路系统的电路兰州交通大学毕业设计(论文) 8 仿真、软件仿真、系统协同仿真和 PCB 设计等功能。 Proteus 软件是目前唯一能对各种处理器进行实时仿真、调试与测试的 EDA 工具,真正实现了在没有目标原形时可以对系统进行调试、测试和验证。 Proteus 软件大大提高了企业的产品开发率,降低了开发风险。 由于 Proteus 软件逼真、真实的协同仿真功能,它也特别适合于作为配合单片机课堂教学和实验的学习工具。 Proteus 软件提供了 30 多个元器件库、 7000 余种元器件。 元器件涉及电阻、电容、二极管 、三极管、变压器、继电器、各种放大器、各种激励源、各种微控制器、各种门电路和各种终端等。 Proteus 软件还提供有交直流电压表、逻辑分析仪、示波器、定时 /计数器和信号发生器等测试信号工具,用于电路测试。 Proteus 软件主要由两个设计平台组成: ( 1) ISIS( Intelligent Schematic Input System)原理图设计与仿真平台,它用于电路原理图的设计以及交互式仿真。 ( 2) ARES( Advanced Routing And Editing Software)高级布线和编辑软件平台,它用于印制电路板的设计,并产生输出文件。 FPGA 模块 理论及知识 FPGA 原理概述 FPGA 器件具有高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证等特点。 使用 FPGA器件,可在较短地时间内完成一个电子系统地设计和制作,缩短了研制周期,达到快速上市和进一步降低成本的要求 [4]。 FPGA 具有掩模可编程门阵列地通用结构,它由排成阵列 的 逻辑功能块 组成,由可编程的 互连资源连接这些逻辑功能块来实现不同的设计。 FPGA 由可 配置逻辑块 (CLBConfigurable Logic Block)、输入 /输出模块 (IOBI/O Block)和互连资源 (IRInterconnect Resource)三部分组成。 可配置逻辑块 CLB 是实现用户功能的基本单元,它们通常规则地排列成一个阵列,散布于整个芯片;可编程输入 /输出模块 (IOB)主要完成芯片上逻辑与外部封装脚的接口,它通常排列在芯片的四周;可编程互连资源 (IR)包括各种长度的连线线段和一些可编程连接开关, 它们将各个 CLB 之间或 CLB、 IOB 之间以及 IOB 之间连接起来,构成特 定功能的电路。 ( 1)可配置逻辑块 (CLB) 兰州交通大学毕业设计(论文) 9 一般有三种结构形式: ① 查找表结构; ② 多路开关结构; ③ 多级与非门结构。 CLB 是 FPGA 地主要组成部分,它主要由逻辑函数发生器、触发器、数据选择器等电路组成。 ( 2)输入 /输出模块 (IOB) IOB 主要由输入触发器、输入缓冲器和输出触发 /锁存器、输出缓冲器组成。 其结构如下图所示。 每个 IOB 控制一个引脚,它们可被配置为输入、输出或双向 I/O 功能。 ( 3)可编程连线 (IR) FPGA 芯片内部单个 CLB 输入输出之间、各个 CLB 之间、 CLB 和 I/OB 之间的连线由许多金属线段构成,这些金属线段带有可编程开关,通过自动布线实现所需功能的电路连接。 连线通路的数量与器件内部阵列的规模有关,阵列规模越大, 连线数量越多。 Quartus II 软件 概述 Quartus II 是 Altera 公司 提供的 FPGA/CPLD 开发集成环境, Altera 是世界上最大的可编程逻辑器件供应商之一。 Quartus II 在 21 世纪初推出,是 Altera 前一代 FPGA/CPLD集成开发环境 MAX+PLUSII 的更新换代产品,其界面友好,使用便捷。 它提供了一种与结构无关的设计环境, 使设计者能方便地进行设计输入、快速处理和器件编程。 Altera 的 Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统( SOPC)设计的综合性环境和 SOPC 开发的基本设计工具,并为 Altera DSP 开发包进行系统模型设计提供了集成组合环境。 Quartus II 设计工具完全支持 VHDL、 Verilog 的设计流程,其内部嵌有 VHDL、 Verilog 逻辑综合器。 Quartus II也可利用第三方的综合工具。 同样, Quartus II 具备仿真功能,同时也支持第三方的仿真工具,如 ModelSim。 此外, Quartus II 与 MATLAB 和 DSP Builder 结合,可以进行基于 FPGA 的 DSP 系。基于fpga的等精度数字频率计设计毕业论文设计(编辑修改稿)
相关推荐
( 6) 灵活高效的全局时钟网络,提高设计性能 ,开发板上提供48MHz 的晶振频率 ; ( 7) 在封装上, A3P030 有 132QFN 和 100VQFP 两种 ,此工程用的是开发板是 100VQFP 封装型号 ; LiberoIDE 是 Actel FPGA 的集成开发环境 ,提供完整的 FPGA 设计工具,支持原理图, HDL 输入,并以用户 GUI 的方式显示 FPGA 的设计过程
INT82DEV_OE83IN484GCLCK11IN12DEV_OE3VCCINT4I/O0/DATA75I/O1/DATA66I/O2/DATA57I/O3/DATA48I/O4/DATA39I/O5/DATA210I/O6/DATA111D A T A 012D C L K13n C E14T D I15I / O 716I / O 817I / O 918I / O 1019V C C
y,clk66MHz)。 input clk66MHz。 output clk,clkss,clksy。 reg clk,clkss,clksy。 reg[9:0] count1。 reg[6:0] count2。 reg[7:0] count3。 reg[5:0] count4。 reg cin1,cin2。 always @(posedge clk66MHz) if(count1[9
来时,对输入的逻辑信号进行一次移位并输出。 使用 VHDL 语言编程并在 Quartus II 中生成的该模块符号图如图 所示。 CLKLOADD[7..0]Q[7..0]SHIFTXinst 循环移位寄存器的仿真结果如图 所示。 图 中 CLK 为时钟信号, LOAD 为工作信号 , D 为预置信号, Q 为输出观察信号。 从图中可以看出,当时钟信号上升沿到来且 LOAD 信号处于低电平时 ,
0 进行温度采集,将采集到的温度数字直接以数字信号传输给 FPGA 控制器,控制器通过比较采集的温度和用户设置的温度来做出发送降温还是加热的控制信号给空调机。 同时通过 FPGA 芯片还可以实现定时和控制显示,使用 6 个数码管将传感器测量到的温度,设置的温度、定时时长都显示出来。 其方框图 32如下: 图 32 基于 FPGA 的空调控制系统框图 方案论证与确定 通过比较两个方案,方案 1
这里只需了解系统的轮廓即可,后面会详细介绍各模块的设计与实现。 河南理工大学毕业设计(论文)说明书 15 3 模块设计与实现 如前面所述,顶层实体由 3个模块构成: 微控制器接口模块、相位累加器模块及双端口 RAM 模块。 由 8 个比例乘法器级联组成的分频器模块以端口定义的形式例化在微控制器模块中,属于后者的子模块,但是由于比例乘法器的本设计中所发挥的作用很大,加之相关资料少之又少