当前位置:文档之家› 基于FPGA的verilog频率计设计

基于FPGA的verilog频率计设计

基于FPGA的verilog频率计设计
基于FPGA的verilog频率计设计

电子科技大学

(基于FPGA的频率计设计)

题目:简易频率计的设计

指导教师:皇晓辉

姓名:张旗

学号:2905201003

专业:光电学院一专业

摘要

本文主要介绍了基于FPGA 的简易多量程频率计的设计,使用硬件描述语言verilog来实现对硬件的控制,在软件ISE上实现编程的编译综合,在系统时钟48Mhz下可正常工作。该数字频率计采用测频的方法,能准确的测量频率在10Hz到100MHz之间的信号。使用ModelSim仿真软件对Verilog程序做了仿真,并完成了综合布局布线,通过ISE下载到Spartan3A开发板上完成测试。

关键词:FPGA ,verilog,ISE,测频方法

Abstract

This paper mainly introduces the simple more range based on FPGA design of frequency meter,Use hardware description language verilog to realize the control of hardware,In the software realize the compilation of the programming ISE on comprehensive,In the system clock can work normally under 48 Mhz。The digital frequency meter frequency measurement method used, can accurate measurement frequency in 10 Hz to 100 MHz of signals between。Use ModelSim simulation software Verilog program to do the simulation, and completed the overall layout wiring,Through the ISE downloaded to Spartan3A development board complete test。

Keywords: FPGA, Verilog, ISE, F requency M easurement

目录

第一章测量原理与方法

1.1测频方法

1.2测周方法

1.3等精度测量法

1.4放大整形电路

1.5时基信号产生

第二章任务要求

第三章各模块功能及介绍

3.1分频器

3.2闸门选择器

3.3频率计数器

3.4锁存器

3.5扫描显示控制译码系统

第四章顶层电路及总体仿真

4.1顶层电路

4.2总体仿真结果

4.3测试结果

第一章:测量原理与方法

所谓“频率”,就是周期性信号在单位时间(秒)内变化的次数。若在一定的时间间隔T内计数,计得某周期性信号的重复变化次数为N,则该信号的频率可表达为:

f = N / T

所以测量频率就要分别知道N和T的值,由此,测量频率的方法一般有三种:测频方法、测周方法和等精度测量。

1.1测频方法

这种方法即已知时基信号(频率或周期确定)做门控信号,T为已知量,然后在门控信号有效的时间段内进行输入脉冲的计数,原理图如下图所示:

首先,被测信号①(以正弦波为例)经过放大整形后转变成方波脉冲②,其重复频率等于被测信号频率。把方波脉冲②加到闸门的输入端。由一个高稳定的石英振荡器和一系列数字分频器组成了时基信号发生器,它输出时间基准(或频率基准)信号③去控制门控电路形成门控信号④,门控信号的作用时间T是非常准确的(由石英振荡器决定)。门控信号控制闸门的开与闭,只有在闸门开通的时间内,方波脉冲②才能通过闸门成为被计数的脉冲⑤由计数器计数。闸门开通的时间称为闸门时间,其长度等于门控信号作用时间T。比如,时间基准信号的重复周期为1S,加到闸门的门控信号作用时间T亦准确地等于1S,即闸门的开通时间——“闸门时间”为1S。在这一段时间内,若计数器计得N=100000个数,根据公式f = N / T,那么被测频率就是100000Hz。如果计数式频率计的显示器单位为“KHz”,则显示100.000KHz,即小数点定位在第三位。不难设想,若将闸门时间设为T=0.1S,则计数值为10000,这时,显示器的小数点只要根据闸门时间T的改变也随之自动往右移动一位(自动定位),那么,显示的结果为100.00Khz。在计数式数字频率计中,通过选择不同的闸门时间,可以改变频率计的测量范围和测量精度。

1.2测周方法

测周方法即:被测信号(频率或周期待测)做门控信号,T为未知量,做门控信号T,然后在门控信号有效的时间段内对时基信号脉冲计数,原理图如下图所示:

计数器测周的基本原理刚好与测频相反,即由被测信号控制主门开门,而用时标脉冲进行计数,所以实质上也是一种比较测量方法。

1.3等精度测量法

等精度测量法的核心思想是通过闸门信号与被测信号同步,将闸门时间τ控制为被测信号周期长度的整数倍。测量时,先打开预置闸门,当检测到被测信号脉冲沿到达时,标准信号时钟开始计数。预置闸门关闭时,标准信号并不立即停止计数,而是等检测到被测信号脉冲沿到达时才停止,完成被测信号整数个周期的测量。测量的实际闸门时间可能会与预置闸门时间不完全相同,但最大差值不会超过被测信号的一个周期。

在等精度测量法中,相对误差与被测信号本身的频率特性无关,即对整个测量域而言,测量精度相等,因而称之为“等精度测量”。标准信号的计数值越大则

测量相对误差越小,即提高门限时间τ和标准信号频率可以提高测量精度。在精度不变的情况下,提高标准信号频率可以缩短门限时间,提高测量速度。原理图如下:

1.4放大整形电路

当输入信号为0.5V时,仿真放大整形后的输出结果如下图示

图1-6 放大整形电路仿真结果(一)

当输入信号为3V时,仿真放大整形后的输出结果如下图示:

当输入信号为10V时,仿真放大整形后的输出结果如下图示:

图1-6 放大整形电路仿真结果(三)

1.5时基信号的产生

图1-7 时基信号产生电路

第二章:任务要求

设计一个计数式频率计,其频率测量范围为10Hz~100MHz,测量结果用6只数码管显示。有三个带锁按键开关(任何时候都只能有一个被按下)被用来选择1S、0.1S和0.01S三个闸门时间中的一个。有一个按钮开关用来使频率计复位。有两只LED,一只用来显示闸门的开与闭,另一只当计数器溢出时做溢出指示。

第三章:各功能模块的基本介绍

3.1分频器

由于晶体振荡器提供的为48M的时钟,而在整个频率计里将用到周期为2s、0.2s和0.02s的闸门信号,还有译码显示的扫描信号1KHz ,所以我们在此模块先分频产生1Hz、10Hz、100Hz、1KHz四个分频信号,以留作其它模块用。

分频分别采用4个计数器来实现,当计到一定的值时输出的分频信号翻转,最后分别获得4个分频输出,分频器模块如下图所示:

此模块的复位为同步方式,当复位有效时,输出将清零。

源程序如下:

module clk_div(reset, clk,clk_1hz, clk_10hz, clk_100hz,clk_1khz);

input reset,clk;

output reg clk_1hz,clk_10hz,clk_100hz,clk_1khz;

reg [29:0] counter1,counter2,counter3,counter4; //分频计数值

always @(posedge clk or negedge reset)

begin

if(!reset)

begin

counter1<=0;counter2<=0;counter3<=0;counter4<=0;

clk_1hz<=0;clk_10hz<=0;clk_100hz<=0;clk_1khz<=0;

end else begin

if(counter1==2400000)

begin counter1<=0;clk_1hz<=~clk_1hz; end

else begin counter1<=counter1+1; end

if(counter2==240000) begin counter2<=0;clk_10hz<=~clk_10hz;end else

begin counter2<=counter2+1; end

if(counter3==24000)

begin counter3<=0;clk_100hz<=~clk_100hz; end

else

begin counter3<=counter3+1; end

if(counter4==2400)

begin counter4<=0;clk_1khz<=~clk_1khz; end

else

begin counter4<=counter4+1; end

end

end

endmodule

仿真图如下所示:

3.2闸门选择器:

该模块主要实现对闸门的选择功能,通过输入的门选信号来确定输出的闸门,生成的模块如下图所示:

具体实现方法如下:当三个门选信号中有且仅有门选信号gate_ch1有效时,reg变量gate为clk_1hz ,当三个门选信号中有且仅有门选信号gate_ch2有效时,

reg变量gate为clk_10hz;当三个门选信号中有且仅有门选信号gate_ch3有效时,reg变量gate为clk_100hz。reg变量gate再二分频则是输出的闸门信号gate_out

(dot 为标记信号,标记了当前闸门的选择情况)。如果同时有两个或以上的门另外输出的译码扫描信号为clk_1khz ,供后面的扫描译码模块使用

程序如下:module gate_sel(reset,gate_ch1,gate_ch2,gate_ch3,

clk_1hz,clk_10hz,clk_100hz,clk_1khz,

gate_outdot);

input reset,gate_ch1,gate_ch2,gate_ch3,

clk_1hz,clk_10hz,clk_100hz,clk_1khz;

output reg gate_out;

output reg [2:0]dot;

always @(posedge clk_1khz or negedge reset)

begin

if(!reset)

begin gate_out<=0;dot<=3'b111;end

else

begin

if((gate_ch1==0)&&(gate_ch2==1)&&(gate_ch3==1))

begin gate_out<=clk_1hz; dot<=3'b011;end

else if((gate_ch1==1)&&(gate_ch2==0)&&(gate_ch3==1))

begin gate_out<=clk_10hz;dot<=3'b010;end

else if((gate_ch1==1)&&(gate_ch2==1)&&(gate_ch3==0))

begin gate_out<=clk_100hz;dot<=3'b001;end

else

begin gate_out<=0;dot<=3'b111;end

end

end

endmodule

3.3频率计计数

频率计数器的功能为在输入的闸门信号的控制下对输入脉冲时行计数,它是一个

7拉的模十计数器。生成的模块如下图所示:

当gate_out信号为高时才计数器才计数,在gate_out为低后,马上将此时计数的值cnt赋给输出cnte ,然后当输入carry_in信号再过一个脉冲后降计数的值

cn清零,以备下次闸门有效时又重新开始计数。源程序如下:

module count(carry_in,gate_out,reset,

cnte0,cnte1,cnte2,cnte3,cnte4,cnte5,cnte6);

input carry_in,gate_out,reset;

e2,cnte3,cnte4,cnte5,cnte6;//在每一次闸门有效时读数//器传递的计数值

reg [3:0] cnt0,cnt1,cnt2,cnt3,cnt4,cnt5,cnt6; //计数器的6个计数值

reg [2:0] counter6; // 延迟将counter-num清零的计数值

always @(posedge carry_in or negedge reset) begin

if(!reset)begin

cnt0<=4'b0000;cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000;

cnt4<=4'b0000;cnt5<=4'b0000;cnt6<=4'b0000;//判断是否溢出

cnte0<=4'b0000;cnte1<=4'b0000;cnte2<=4'b0000;

cnte3<=4'b0000;cnte4<=4'b0000;cnte5<=4'b0000;counter6<=0;

end else begin if(gate_out==1) begin

counter6<=0;

if((cnt5==4'b1001)&&(cnt4==4'b1001)&&(cnt3==4'b1001)&&(cnt2==4'b1001)

&&(cnt1==4'b1001)&&(cnt0==4'b1001))begin

cnt0<=4'b0000;cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000;

cnt4<=4'b0000;cnt5<=4'b0000;cnt6<=cnt6+4'b0001;end else begin

if((cnt4==4'b1001)&&(cnt3==4'b1001)&&(cnt2==4'b1001)&&(cnt1==4'b1001)&&(cnt0==4'b1001)) begin

cnt0<=4'b0000; cnt1<=4'b0000; cnt2<=4'b0000; cnt3<=4'b0000;

cnt4<=4'b0000; cnt5<=4'b0001+cnt5; cnt6<=cnt6;

end else begin

if((cnt3==4'b1001)&&(cnt2==4'b1001)&&(cnt1==4'b1001)&&(cnt0==4'b1001))begin cnt0<=4'b0000; cnt1<=4'b0000; cnt2<=4'b0000; cnt3<=4'b0000;

cnt4<=4'b0001+cnt4; cnt5<=cnt5; cnt6<=cnt6;

end else begin

if((cnt2==4'b1001)&&(cnt1==4'b1001)&&(cnt0==4'b1001))begin

cnt0<=4'b0000; cnt1<=4'b0000; cnt2<=4'b0000; cnt3<=4'b0001+cnt3;

cnt4<=cnt4; cnt5<=cnt5; cnt6<=cnt6;

end else begin if((cnt1==4'b1001)&&(cnt0==4'b1001))begin

cnt0<=4'b0000; cnt1<=4'b0000; cnt2<=4'b0001+cnt2; cnt3<=cnt3;

cnt4<=cnt4; cnt5<=cnt5; cnt6<=cnt6;

end else b egin if((cnt0==4'b1001))begin

cnt0<=4'b0000; cnt1<=4'b0001+cnt1; cnt2<=cnt2; cnt3<=cnt3;

cnt4<=cnt4; cnt5<=cnt5; cnt6<=cnt6;

end else begin

cnt0<=4'b0001+cnt0; cnt1<=cnt1; cnt2<=cnt2; cnt3<=cnt3;

cnt4<=cnt4; cnt5<=cnt5; cnt6<=cnt6;

end end end end end end end else begin

if(counter6==2'b01) begin

cnt0<=4'b0000; cnt1<=4'b0000; cnt2<=4'b0000; cnt3<=4'b0000;

cnt4<=4'b0000; cnt5<=4'b0000; cnt6<=4'b0000;

end else begin

counter6<=counter6+1; cnte0<=cnt0; cnte1<=cnt1;

cnte2<=cnt2;cnte3<=cnt3; cnte4<=cnt4; cnte5<=cnt5; cnte6<=cnt6;

end end end end

endmodule

3.4锁存器

如果计数器输出直接与译码器相连接,那么在计数过程中输出端则随输入脉冲数的增加而不断跳变,那么显示数码管则也会不断闪烁跳变,让人不能看到稳定的输出,设锁存器后,则不再跳变,便可清晰读出计数结果。其生成的功能模块如图所示:

这模块实现了对七位计数结果的锁存功能。程序很简单如下所示:

module data_latch(latch_enable,reset,num0, num 1, num 2, num 3, num 4, num 5,over,

n_0,n_1,n_2,n_3,n_4,n_5,over_out);

input reset,latch_enable,over;

input [3:0] num 0, num 1, num 2, num 3, num 4, num 5;

output reg [3:0]n_0,n_1,n_2,n_3,n_4,n_5;

output reg over_out;

reg over_old,over_new;

always @(negedge latch_enable or negedge reset)

begin

if(!reset)

begin

n_0<=4'b0000; n_1<=4'b0000; n_2<=4'b0000; n_3<=4'b0000;

n_4<=4'b0000; n_5<=4'b0000;

end

else

begin

n_0<=digi0; n_1<=digi1;n_2<=digi2; n_3<=digi3;

n_4<=digi4; n_5<=digi5;

end

end

always@(negedge latch_enable)

begin

over_new<=over;

end

always@(over_new)

begin

if((over_old==1)&&(over_new==1))

begin over_out<=0;over_old<=over_new; end

else

begin over_out<=1;over_old<=over_new; end

end

endmodule

3.5扫描显示译码系统

本模块在扫描信号的clk-1khz的控制下,对多路选择器进行扫描,实现对实现对六位已经锁存的计数结果的扫描输出,由于人眼的视觉暂留效应,每支数码管只需大于25Hz的扫描频率即可实现动态扫描,所以我们用1KHz的扫描信号足以。其生成的功能模块如图所示:

第四章顶层电路及总体仿真

4.1 顶层电路

4.2 总体仿真结果

为了验证我们的设计是否正确,我们用ModelSim对以上设计进行了仿真,仿真精度达到ps级,基准时钟clk用20883ns,结果如下所示,在1Hz到10000Hz 中仿真结果与理论值相等,在输入为100000Hz时出现了3Hz的误差,当输入被测信号为1000000Hz时,出现了26Hz的误差。在被测频率达到百兆赫兹以上出现溢出,溢出指示灯变亮,指示溢出。

仿真结果波形如下图所示:

4.3 测试结果

在成功下载并运行后,为评估该设计系统的实际测量效果,做了一次对比实验,选用频率可调的函数发生器,同时用示波器做同步的跟踪。测得的数据较为精确,最低频率可以测到10HZ,当输入信号不大于100MHZ时,显示结果跟函数发生器以及示波器的显示全吻合,当输入信号频率达到100MHZ时,测得的结果和显波器的显示出现了误差值,当输入信号频率达到1000MHZ时,测得的结果和显波器的显示出现了溢出,溢出指示灯变亮。由于所使用的函数发生器最大只能产生100MHZ的信号,所以我们最高只测到100MHZ。

基于FPGA的Verilog HDL数字钟设计 -

基于FPGA的Verilog HDL数字钟设计 专业班级姓名学号 一、实验目的 1.掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程; 2.熟悉一种EDA软件使用; 3.掌握Verilog设计方法; 4.掌握分模块分层次的设计方法; 5.用Verilog完成一个多功能数字钟设计; 6.学会FPGA的仿真。 二、实验要求 ?功能要求: 利用实验板设计实现一个能显示时分秒的多功能电子钟,基本功能: 1)准确计时,以数字形式显示时、分、秒,可通过按键选择当前显示时间范围模式; 2)计时时间范围00:00:00-23:59:59 3)可实现校正时间功能; 4)可通过实现时钟复位功能:00:00:00 扩展功能: 5)定时报:时间自定(不要求改变),闹1分钟(1kHz)---利用板上LED或外接电路实现。 6)仿广播电台正点报时:XX:59:[51,53,55,57(500Hz);59(1kHz)] ---用板上LED或外接 7)报整点时数:XX:00:[00.5-XX.5](1kHz),自动、手动---用板上LED或外接 8)手动输入校时; 9)手动输入定时闹钟; 10)万年历; 11)其他扩展功能; ?设计步骤与要求: 1)计算并说明采用Basys2实验板时钟50MHz实现系统功能的基本原理。 2)在Xilinx ISE13.1 软件中,利用层次化方法,设计实现模一百计数及显示的电路系 统,设计模块间的连接调用关系,编写并输入所设计的源程序文件。 3)对源程序进行编译及仿真分析(注意合理设置,以便能够在验证逻辑的基础上尽快 得出仿真结果)。 4)输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit文件。 5)在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路功能。

基于FPGA的频率计的文献综述

文献综述 一.课题来源及研究的目的和意义 数字频率计已经广泛应用于高科技等产品上面,可以不无夸张的说没有不包含有频率计的电子产品。我国的CD、VCD、DVD和数字音响广播等新技术已开始大量进入市场;而在今天这些行业中都必须用到频率计。到今天频率计已开始并正在向智能、精细方向的发展,因此系统对电路的要求越来越高,传统的集成电路设计技术已经无法满足性能日益提高的系统要求。在信息技术高度发展的今天,电子系统数字化已成为有目共睹的趋势。从传统的应用中小规模芯片构成系统到广泛地应用单片机,直至今天FPGA/CPLD在系统设计中的应用,电子技术已迈入一个全新的阶段。而在电子技术中,频率是最基本的参数之一,而信号的频率往往与测量方案的制定、测量结果都有十分密切的关系,所以测频率方法的研究越来越受到重视。 数字频率计属于时序电路,它主要由具有记忆功能的触发器构成。在计算机及各种数字仪表中,都得到了广泛的应用。在CMOS电路系列产品中,数字频率计是用量最大、品种很多的产品,是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。EDA技术是面向解决电子系统最基本最底层硬件实现问题的技术,通过设计输入编辑、仿真、适配、下载实现整个系统硬件软件的设计过程。通过EDA技术设计者不但可以不必了解硬件结构设计, 而且将使系统大大简化, 提高整体的可靠性,再加上其设计的灵活性使得EDA技术得以快速发展和广泛应用。 二、主要研究内容 1、研究内容 数字频率计用于对方波、正弦波、三角波的测量,并将结果用十进制数字显示,本设计的应达到的技术指标有: 1)频率测量范围:10HZ~100MHZ; 2)测量分辨率:1HZ; 3)测量通道灵敏度:50mVpp; 4)通道输入阻抗:不小于100KΩ; 5)测量误差:±1; 2、测量方案 (1)测频原理选择 目前常用测量频率原理有三种:直接测量频率方法、直接与间接测量相结合

基于FPGA数字频率计 (可测占空比)

VHDL 课程设计报告——基于FPGA的数字频率计 姓名: 学号: 班级:

目录 1 设计原理 (1) 2功能设计 (1) 3系统总体框图 (1) 4各功能块设计说明 (2) 5实验结果 (14) 6结论分析 (15)

一、设计原理 频计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1 s。闸门时间可以根据需要取值,大于或小于1 s都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越快,但测得的频率精度就受影响。一般取1 s作为闸门时间,此测量方法称为直接测频法。由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为±1个脉冲误差。进一步分析测量准确度:设待测信号脉冲周期为Tx,频率为Fx,当测量时间为T=1s时,测量相对误差为Tx/T=Tx=1/Fx。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。 二、功能设计 1、测量范围:1HZ--------99MHZ,测量精度±1HZ。 2、测量结果高4位与低4位进行分页显示。 当超过9999HZ时,系统亮灯提示超出低4位显示范围,可通过按键进行高低4位结果的显示切换。高4位显示时,伴有小数点位的点亮,提示已成功切换到高4位。 3、测量所测信号的占空比。 能够快速测出输入待测信号的占空比,并且通过按键,切换到占空比显示状态。 4、内置自测信号 由内部时钟产生三个特定时钟,以供自身测试功能是否正常。 三、系统总体框图

(完整版)Verilog实现的基于FPGA的五层楼电梯运行控制逻辑毕业设计论文

五层楼电梯运行控制逻辑设计 摘要:电梯是高层建筑不可缺少的运输工具,用于垂直运送乘客和货物,传统的电梯控制系统主要采用继电器,接触器进行控制,其缺点是触点多,故障率高、可靠性差、维修工作量大等,本设计根据电梯自动控制的要求利用Verilog语言编写并完成系统设计,在利用软件仿真之后,下载到了FPGA上进行硬件仿真。FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了之前的可编程器件门电路数有限及速度上的缺点。 关键词:电梯控制FPGA Verilog软件设计硬件设计 在当今社会,随着城市建设的不断发展,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。目前电梯控制系统主要有三种控制方式:继电路控制系统(早期安装的电梯多位继电器控制系统),FPGACPLD [1] 的控制系统、微机控制系统。继电器控制系统由于故障率高、可靠性差、控制方式不灵活以及消耗功率大等缺点,目前已逐渐被淘汰,而微机控制系统虽在智能控制方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般维修人员难以掌握其维修技术等缺陷。而FPGACPLD控制系统由于运行可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点 [2] ,倍受人们重视等优点,已经成为目前在电梯控制系统中使用最多的控制方式,目前也广泛用于传

统继电器控制系统的技术改造。 随着现代化城市的高度发展,每天都有大量人流及物流需要输送,因此在实际工程应用中电梯的性能指标相当重要,主要体现在:可靠性,安全性,便捷快速性。电梯的可靠性非常重要,直接或间接的影响着人们的生产,生活,而电梯的故障主要表现在电力拖动控制系统中,因此要提高可靠性也要从电力拖动控制系统入手。 本次设计尝试用Verilog实现电梯控制器部分,进行了多层次的电梯控制,也进行了软件及硬件上的仿真验证,时序分析以保证设计的正确。在设计中先用软件进行模拟仿真,然后又下载到FPGA开发板上进行硬件仿真,以确保设计的正确性。 1电梯的设计分析 1.1 系统的需求分析及系统描述 设计一个电梯运行控器,该电梯有5层楼,设计的电梯调度算法满足提高服务质量、降低运行成本的原则;电梯的内部有一个控制面板,它负责按下请求到的楼层,并且显示当前尚未完成的目的地请求,当到达该楼层以后自动撤销本楼层的请求,即将面板灯熄灭;除1层和5层分别只有上和下按钮外,其余每个楼层(电梯门口旁)的召唤面板都有两个按钮,分别指示上楼和下楼请求。当按下后,对应按钮灯亮。如果电梯已经到达该楼层,按钮灯熄灭;电梯的外部面板会显示电梯当前所在的楼层,及上行还是下行(暂停显示刚才运行时的状态);电梯向一个方向运行时,只对本方向前方的请求进行应答,直到本方向前方无请求时,才对反方向的请求进行应答。当前内部控制面板上有的请求,只要经过所在楼层均会立即响应.

计算机毕业论文_基于FPGA的等精度频率计的设计与实现

目录 前言...............................................................1 第一章 FPGA及Verilog HDL..........................................2 1.1 FPGA简介.....................................................2 1.2 Verilog HDL 概述.............................................2 第二章数字频率计的设计原理........................................3 2.1 设计要求.....................................................3 2.2 频率测量.....................................................3 2.3.系统的硬件框架设计..............................................4 2.4系统设计与方案论证............................................5 第三章数字频率计的设计............................................8 3.1系统设计顶层电路原理图........................................8 3.2频率计的VHDL设计.............................................9 第四章软件的测试...............................................15 4.1测试的环境——MAX+plusII.....................................15 4.2调试和器件编程...............................................15 4.3频率测试.....................................................16

基于FPGA的verilog的电子密码锁设计

一、概述 1.1 电子密码锁的现状 随着我国对外开放的不断深入,高档建筑发展很快,高档密码锁具市场的前景乐观。我国密码锁具行业对密码锁具高新技术的投入正逐年增大,高档密码锁的市场需求也逐年增加。在安防工程中,锁具产品是关系到整个系统安全性的重要设备,所以锁具产品的优劣也关系了整个安防工程的质量和验收。 目前,市场上比较先进的智能电子密码锁分别有:IC卡电子密码锁、射频卡式电子密码锁、红外遥控电子密码锁、指纹识别电子密码锁和瞳孔识别电子密码锁等。IC卡电子密码锁成本低,体积小,卡片本身无须电源等优点占领了一定的市场份额,但是由于有机械接触,会产生接触磨损,而且使用不太方便,在一定程度上限制了它的应用;射频卡式电子密码锁是非接触式电子密码锁,成本也不太高,体积跟IC卡密码锁相当,卡片使用感应电源,重量很轻,技术成熟,受到了广泛的欢迎,但是与IC卡电子密码锁相比,成本偏高;指纹识别电子密码锁和瞳孔识别电子密码锁可靠性很高,安全性是目前应用系统中最高的,但是成本高昂,还没进入大众化使用阶段。 在国外,美国、日本、德国的电子密码锁保密性较好,并结合感应卡技术,生物识别技术,使电子密码锁系统得到了飞跃式的发展。这几个国家的密码锁识别的密码更复杂,并且综合性比较好,已经进入了成熟期,出现了感应卡式密码锁,指纹式密码锁,虹膜密码锁,面部识别密码锁,序列混乱的键盘密码锁等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,新型的电子密码锁系统的应用也越来越广。 基于FPGA的电子密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。 在数字技术网络技术飞速发展的今天,电子密码锁技术得到了迅猛的发展。它早已超越了单纯的门道及钥匙管理,逐渐发展成为一套完整的出入管理系统。它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、餐饮收费、私家车库管理等,真正实现区域内一卡智能管理。

基于FPGA的数字频率计的设计和实现

基于FPGA 的数字频率计的设计和实现 杨守良 (渝西学院物理学与电子信息工程系 重庆 402168) 摘 要:现场可编程门阵列的出现给现代电子设计带来了极大的方便和灵活性,使复杂的数字电子系统设计变为芯片级设计,同时还可以很方便地对设计进行在线修改。本文以设计一个四位显示的十进制数字频率计为例,介绍了在一片F PG A 芯片上实现多位数字频率计的设计方法和实现步骤,并且给出了仿真结果。在设计中,所有频段均采用直接测频法对信号频率进行测量,克服了逼近式换挡速度慢的缺点。所设计的电路通过硬件仿真,下载到目标器件上运行,能够满足实际测量频率的要求。 关键词:数字频率计设计;V HDL ;现场可编程门阵列(FP GA );直接测频法 中图分类号:T P 271+.82 文献标识码:B 文章编号:1004373X (2005)1111803 Construction and Realization of the Digital C ymometer Based on FPGA Y A NG Shouliang (Department of Physics &Elec t roni c Informa tion Eng i neeri ng ,West ern Chongqing Uni v ersit y ,Chongqi ng ,402168,China ) Abstract :T he appear ance of F PG A (Field P ro gr ammable G ate A r ray )leads to t he co nvenience and flex ibility of the mo der n electr o nic construction ,w hich cha ng es the complicated dig ital electr onic sy stem co nstr uctio n into the on chip co nst ructio n .On the o ther hand ,it can a lso make so me o nline modificat ion expediently.W ith a case which describes an quadbit sho wn on t he decimal digital fr equency ,t he author intro duces the co nstr uct ion metho d and the r ealiza tio n steps o n a sing le F PG A chip.T he aut ho r show s an em ulational result.D ur ing the constr uction pro cess,the sig nal f requency of all the F requency Channel is measur ed by the way o f direct measurement ,which o ver comes the shor tcoming of lo w appr ox imate shift speed .W ith the cer tificatio n of t he har dwar e emulatio n system,t he cir cuit constructed can meet the demand of measur ing fr equency in the r eality,which has so me theor etic and pr act ical sig nificatio n. Keywords :desig n of the dig ital cymo meter ;V HDL ;F PGA (Field Pr og ram mable G ate A rr ay );dir ect frequency measur ement 收稿日期:200501 22 可编程逻辑器件和EDA 技术给今天的硬件系统设计者提供了强有力的工具,使得电子系统的设计方法发生了质的变化。传统的“固定功能集成块+连线”的设计方法正逐步地退出历史舞台,而基于芯片的设计方法正在成为现代电子系统设计的主流。在设计方法上,已经从“电路设计—硬件搭试—焊接”的传统方式转到“功能设计—软件模拟—下载”的电子设计自动化模式,从而大大提高了系统设计的灵活性。本文以一个四位的十六进制频率计为例,介绍其设计和实现方法。 1 数字频率计设计实例 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用V DHL 编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA 芯片上实现,整个设计过程变得十分透明、快捷和方便,特别是对于各层次电路系统的工作时序的了解和把握显得尤为准确,而且具有灵活的现场可更改性。在不更改硬件电路的基础上, 对系统进行各种改进还可以进一步提高系统的性能和测量频率的范围。该数字频率计具有高速、精确、可靠、抗干扰性强、而且可根据需要进一步提高其测量频率的范围而不需要更改硬件连接图,具有现场可编程等优点。 1.1 数字频率计设计的基本原理 本文以一个四位十进制、测量范围为1Hz ~16kHz 的数字频率计为例,采用SOPC /SOC 实验开发系统,以1 Hz 测频控制信号,说明设计的基本原理及实现方法。设计的数字频率计由测频控制信号发生器模块、锁存器和译码显示模块组成。根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1s 的对输入信号脉冲计数允许的信号;1s 计数结束后,计数值锁入锁存器的锁存信号和为下一测频计数周期做准备的计数器清0信号。这3个信号可以由一个测频控制信号发生器产生,即图1中的T EST CT L ,他的设计要求是,T EST CT L 的计数使能信号CN T _EN 能产生一个1s 脉宽的周期信号,并对频率计的每一计数器CNT 10的EN A 使能端进行同步控制。当CN T _EN 高电平时,允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LO AD 的上跳沿将计数器在前1秒钟的计数值锁 118 电子技术杨守良:基于FPGA 的数字频率计的设计和实现

基于FPGA的VerilogHDL数字钟设计

基于FPGA的Verilog-HDL数字钟设计--

————————————————————————————————作者:————————————————————————————————日期:

基于FPGA的Verilog HDL数字钟设计 专业班级姓名学号 一、实验目的 1.掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程; 2.熟悉一种EDA软件使用; 3.掌握Verilog设计方法; 4.掌握分模块分层次的设计方法; 5.用Verilog完成一个多功能数字钟设计; 6.学会FPGA的仿真。 二、实验要求 功能要求: 利用实验板设计实现一个能显示时分秒的多功能电子钟,基本功能: 1)准确计时,以数字形式显示时、分、秒,可通过按键选择当前显示时间范围模式; 2)计时时间范围00:00:00-23:59:59 3)可实现校正时间功能; 4)可通过实现时钟复位功能:00:00:00 扩展功能: 5)定时报:时间自定(不要求改变),闹1分钟(1kHz)---利用板上LED或外接电路实现。 6)仿广播电台正点报时:XX:59:[51,53,55,57(500Hz);59(1kHz)] ---用板上LED或外接 7)报整点时数:XX:00:[00.5-XX.5](1kHz),自动、手动---用板上LED或外接

8)手动输入校时; 9)手动输入定时闹钟; 10)万年历; 11)其他扩展功能; 设计步骤与要求: 1)计算并说明采用Basys2实验板时钟50MHz实现系统功能的基本原理。 2)在Xilinx ISE13.1 软件中,利用层次化方法,设计实现模一百计数及显示的电路系 统,设计模块间的连接调用关系,编写并输入所设计的源程序文件。 3)对源程序进行编译及仿真分析(注意合理设置,以便能够在验证逻辑的基础上尽快 得出仿真结果)。 4)输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit文件。 5)在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路功能。 三、实验设计 功能说明:实现时钟,时间校时,闹铃定时,秒表计时等功能 1.时钟功能:完成分钟/小时的正确计数并显示;秒的显示用LED灯的闪烁做指示; 时钟利用4位数码管显示时分; 2.闹钟定时:实现定时提醒及定时报时,利用LED灯代替扬声器发出报时声音; 3.时钟校时:当认为时钟不准确时,可以分别对分钟和小时位的值进行调整; 4.秒表功能:利用4个数码管完成秒表显示:可以实现清零、暂停并记录时间等功能。 秒表利用4位数码管计数; 方案说明:本次设计由时钟模块和译码模块组成。时钟模块中50MHz的系统时钟clk分频产

基于FPGA的数字频率计的设计

. 成绩课程设计说明书 课程设计名称:EDA技术课程设计 题目:数字频率计电路设计 日期:2011年5月30日

摘要:频率计具有数字频率计是直接用十进制来显示被测信号频率的一种测量装置。本设计用Verilog HDL在CPLD器件上实现数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波、三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。基于测频原理及FPGA的设计思想,给出了一种新型数字测频系统的设计方案,系统采用Verilog HDL语言,运用自顶向下的设计思想,采取将系统按功能逐层分割的层次化设计方法。在具体实现上,以FPGA为中央处理器对被测频率信号进行周期采样,通过调用Quartus II的宏功能模块进行占空比计算。 关键词:FPGA芯片、Verilog HDL语言、数字频率计、数字频率计原理图、Quartus II 软件。 Abstract: The frequency meter with digital frequency meter is directly in the decimal to display the measured signal of the frequency of a measuring instrument. This design in CPLD device with Verilog HDL on its digital frequency meter frequency measurement system, to be able to use the decimal digital display measured the frequency of the signal, able to measure the sine wave, square wave, triangle wave and the frequency of the signal, but also to other a variety of physical quantity measurement. The advantages of small size, high reliability, low power consumption characteristics. Digital frequency plan is a computer, communication equipment, audio video in scientific research production field indispensable measuring instrument. Based on frequency measurement principle and FPGA design thought, this paper presents a new digital frequency

基于FPGA的数字频率计

基于FPGA的数字频率计 1前言 数字频率计是一种基本的测量仪器,是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,它被广泛应用与航天、电子、测控等领域。它的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用液晶显示器显示出来。根据数字频率计的基本原理,本文设计方案的基本思想是分为四个模块来实现其功能,即整个数字频率计系统分为分频模块、计数模块、锁存器模块和显示模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。而且,本设计方案还要求,被测输入信号的频率范围自动切换量程,控制小数点显示位置,并以十进制形式显示。本文详细论述了利用VHDL硬件描述语言设计,并在EDA(电子设计自动化)工具的帮助下,用大规模可编程器件(CPLD)实现数字频率计的设计原理及相关程序。特点是:无论底层还是顶层文件均用Verilog HDL语言编写,避免了用电路图设计时所引起的毛刺现象;改变了以往数字电路小规模多器件组合的设计方法。整个频率计设计在一块CPLD芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。该设计方案对其中部分元件进行编程,实现了闸门控制信号、多路选择电路、计数电路、位选电路、段选电路等。频率计的测频范围:0~100MHz。该设计方案通过了Quartus Ⅱ软件仿真、硬件调试和软硬件综合测试。

基于FPGA的SDRAM实验Verilog源代码

// megafunction wizard: %ALTPLL% // GENERATION: STANDARD // VERSION: WM1.0 // MODULE: altpll // ============================================================ // File Name: clk_ctrl.v // Megafunction Name(s): // altpll // // Simulation Library Files(s): // altera_mf // ============================================================ // ************************************************************ // THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! // // 11.0 Build 208 07/03/2011 SP 1 SJ Full Version // ************************************************************ //Copyright (C) 1991-2011 Altera Corporation //Your use of Altera Corporation's design tools, logic functions //and other software and tools, and its AMPP partner logic //functions, and any output files from any of the foregoing //(including device programming or simulation files), and any //associated documentation or information are expressly subject //to the terms and conditions of the Altera Program License //Subscription Agreement, Altera MegaCore Function License //Agreement, or other applicable license agreement, including, //without limitation, that your use is for the sole purpose of //programming logic devices manufactured by Altera and sold by //Altera or its authorized distributors. Please refer to the //applicable agreement for further details. // synopsystranslate_off `timescale 1 ps / 1 ps // synopsystranslate_on moduleclk_ctrl ( areset, inclk0, c0, c1, c2,

基于FPGA的等精度数字频率计总结

作品总结 智冰冰 前几天做了数字频率计,虽然做的不是太好吧,但是还算是做出来了,我在这里就对大家分享一下我的制作过程,希望想做频率计的朋友能够少走一些弯路,如果有不好的地方请大家提出来,如果有更好的方法也可以和我交流交流。 拿到这个题目我首先看到题目要求频率计要能测频率、测周期、测占空比,所以我们要准备的东西就要有FPGA板,51开发板(主要利用数码管模块)、直流稳压电源、数字信号发生器。准备好这些东西之后就要考虑作品方案问题了。 确立作品方案是整个作品中比较重要的一部分,如果作品方案不合理,就不会做出来比较好的作品。在确立数字频率计设计方案的时候,首先就要确定用什么方法实现测频率、测周期、测占空比,查找了一些资料,大概知道了一下三种方法: (1)测频率法:测频率法是用脉冲信号产生一个固定的闸门时间t,在固定的闸门时间t内对被测信号进行计数,然后运算求出被测信号频率、周期,但是在闸门时间t内不能保证被测信号计数为整数个,这就会让被测信号产生±1的误差,所以当被测信号频率高时测量比较准确,但是测低频时误差就比较大了。 (2)测周期法:测频率法是用被测信号作为门控信号,在闸门时间t内对脉冲信号进行计数,然后运算求出被测信号频率、周期,但是同样的在闸门时间t内不能保证脉冲信号计数为整数个,这就会让脉冲信号产生±1的误差,所以当被测信号频率低时,相对来说比较准确,但对于高频来说误差就大了。 (3)等精度法:等精度测量是用脉冲信号产生一个预置闸门,然后在预置闸门时间内通过被测信号上升沿产生一个实际闸门,这样实际闸门刚好是被测信号的整数倍。在计数允许时间内,同时对脉冲信号和被测信号进行计数,再通过数学公式推导得到被测信号的频率。由于门控信号是被测信号的整数倍,就消除了对被测信号产生的±l周期误差,但是会产生对脉冲信号±1周期的误差。但是相对测频率法来说误差相对较小。 确立好自己的设计方案后,就要设计自己的程序了。下面就那我的程序进行分析一下,虽然写的不是很完美,但是分析出来之后希望能给大家带来一些帮助。 下图是我的程序的的总体设计,共分了5块:测频、测周期、测占空比、档位选择、数码管显示。因为只有六个数码管,所以每次只能显示六个数字,所以要进行档位切换,我的测频用了两个档位,hz、khz,测周期用了us、ms两个档位,上面四个档位是根据测得数据的大小自动切换,我用了不同颜色的指示灯进行了标记,另外就是测频、测周期、测占空比的数据不能同时在数码管上显示,所以又加了屏幕切换,用按键控制,并且用不同颜色的指示灯表示。

基于FPGA的verilog频率计设计

电子科技大学 (基于FPGA的频率计设计) 题目:简易频率计的设计 指导教师:皇晓辉 姓名:张旗 学号:2905201003 专业:光电学院一专业

摘要 本文主要介绍了基于FPGA 的简易多量程频率计的设计,使用硬件描述语言verilog来实现对硬件的控制,在软件ISE上实现编程的编译综合,在系统时钟48Mhz下可正常工作。该数字频率计采用测频的方法,能准确的测量频率在10Hz到100MHz之间的信号。使用ModelSim仿真软件对Verilog程序做了仿真,并完成了综合布局布线,通过ISE下载到Spartan3A开发板上完成测试。 关键词:FPGA ,verilog,ISE,测频方法

Abstract This paper mainly introduces the simple more range based on FPGA design of frequency meter,Use hardware description language verilog to realize the control of hardware,In the software realize the compilation of the programming ISE on comprehensive,In the system clock can work normally under 48 Mhz。The digital frequency meter frequency measurement method used, can accurate measurement frequency in 10 Hz to 100 MHz of signals between。Use ModelSim simulation software Verilog program to do the simulation, and completed the overall layout wiring,Through the ISE downloaded to Spartan3A development board complete test。 Keywords: FPGA, Verilog, ISE, F requency M easurement

基于FPGA的数字频率计设计毕业论文

武汉轻工大学 毕业设计外文参考文献译文本 2013届 原文出处:from Vin Skahill.VHDL for Programmable Logic page 76-88 毕业设计题目:基于FPGA的数字频率计设计 院(系):电气与电子工程学院 专业名称:电子信息科学与技术 学生姓名: 学生学号: 指导教师:

Introduction of digital frequency meter Digital Frequency is an indispensable instrument of communications equipment, audio and video, and other areas of scientific research and production . In addition to the plastic part of the measured signal, and digital key for a part of the show, all the digital frequency using Verilog HDL designed and implemented achieve in an FPGA chip. The entire system is very lean, flexible and have a modification of the scene. 1 、And other precision measuring frequency Principle Frequency measurement methods can be divided into two kinds: (1) direct measurement method, that is, at a certain time measurement gate measured pulse signal number. (2) indirect measurements, such as the cycle frequency measurement, VF conversion law. Frequency Measurement indirect measurement method applies only to low-frequency signals. Based on the principles of traditional frequency measurement of the frequency of measurement accuracy will be measured with the decline in signal frequency decreases in the more practical limitations, such as the accuracy and frequency of measurement not only has high accuracy, but also in the whole frequency region to maintain constant test accuracy. The main method of measurement frequency measurement Preferences gated signal GATE issued by the MCU, GATE time width on the frequency measurement accuracy of less impact, in the larger context of choice, as long as the FPGA in 32 of 100 in the counter b M Signals are not overflow line, in accordance with the theoretical calculation GATE time can be greater than the width Tc 42.94 s, but due to the single-chip microcomputer data processing capacity constraints, the actual width of less time, generally in the range of between 0.1 s choice, that is, high-frequency, shorter gate;, low gate longer. This time gate width Tc based on the size of the measured frequency automatically adjust frequency measurement in order to achieve the automatic conversion range, and expanded the range of frequency measurement; realization of the entire scope of measurement accuracy, reduce the low-frequency measurement error. The design of the main methods of measuring the frequency measurement and control block diagram as shown in Figure 1. Figure 1 Preferences gated signal GA TE issued by the MCU, GA TE time width of less frequency measurement accuracy, in the larger context of choice, as long as the FPGA in 32 of 100 in the counter b M

基于FPGA的DS18B20控制程序设计及其Verilog实现(汇编)

基于FPGA的DS18B20控制程序设计及其Verilog实现 一,总体介绍 DS18B20是一个1-wire总线,12bit的数字温度传感器,其详细的参数这里不做具体的介绍,只讨论其基于Verilog的控制程序的设计。 实际上,对DS18B20的控制,主要是实现1-wire总线的初始化,读,写等操作,然后再根据DS18B20的控制要求,实现对其控制的verilog逻辑。 在1-Wire总线上,有一个master,可以有1个或者多个slave。而对于FPGA+DS18B20的温度测试设计来讲,需要在FPGA上实现一个1-Wire总线的master。DS18B20作为1-wire 总线的slave设备存在,可以有一个或者多个,不过为了简化程序,例程里假定只存在一个DS18B2020。 1-Wire总线的操作形式上相对简单,但操作本身相对却又比较复杂。用Verilog做控制程序设计时,可以采用多层次嵌套的状态机来实现。 二,FPGA + DS18B20的硬件设计 硬件的设计非常简单,只需要将DS18B20的DQ与FPGA的一个IO连接,并加4.7K左右的上拉电阻就可以了。VDD和VPU可以为3.0~5.0V。这里我们参照FPGA本身的IO电压,选择3.3V。 另外要注意的一点是,由于DQ的数据是双向的,所以FPGA的该IO要设定为inout类型。 三,1-Wire总线的基本操作及Verilog实现。 根据1-Wire总线的特点,可以把1-Wire总线的操作归结为初始化,单bit读操作,单bit写操作等最基础的几种。下面分别是几种基本操作的介绍和verilog实现。由于DS18B20的时序操作的最小单位基本上是1us,所以在该设计中,全部采用1MHz的时钟。 1. 初始化 初始化实际上就是1-wire总线上的Reset操作。由master发出一定长度的初始化信号。Slave 看到该初始化信号后,在一定时间内发出规定长度的响应信号,然后初始化操作就结束了。下图是DS18B20的datasheet上给出的初始化的时序要求图示。

相关主题
文本预览
相关文档 最新文档