您的当前位置:首页正文

数字频率计课程设计

2024-10-18 来源:威能网


摘要

数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置。它不仅可以测量正弦波、方波、三角波、尖脉冲信号和其他具有周期特性的信号的频率,而且还可以测量它们的周期。经过改装,可以测量脉冲宽度,做成数字式脉宽测量仪;可以测量电容做成数字式电容测量仪;在电路中增加传感器,还可以做成数字脉搏仪、计价器等。因此数字频率计在测量物理量方面应用广泛。本设计用VHDL在CPLD器件上实现数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。具有体积小、可靠性高、功耗低的特点。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。采用VDHL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字频率计具有高速、精确、可靠、抗干扰性强和现场可编程等优点。

关键词:FPGA芯片、VHDL语言、数字频率计、数字频率计原理图、EDA技术

I

Abstract

Digital cymometer is to directly show to be measured a kind of diagraph of signal frequency to equip with the decimal system number.It not only can measure sine wave, square wave, triangle wave, sharp pulse signal and other have a period of the frequency of the signal of characteristic, and can also measure their periods.Has been refitted, can measure pulse width, make into the number type vein breadth to measure an instrument;Can measure electric capacity to make into a number type the electric capacity measure an instrument;Increase to spread a feeling machine in the electric circuit, can also make into a number pulse instrument, account a price machine etc..Therefore the digital cymometer accounts in the diagraph physics to measure aspect applied extensive.This design is used VHDL the spare part is at CPLD up carry out digital cymometer to account to measure repeatedly system, can show to be measured the frequency of signal with the decimal system figures, can measure the frequency of sine wave, square wave and triangle wave etc. signal, and return an ability as to it's he various physical quantity carry on diagraph.Have the physical volume small and dependable sex Gao and achievement to consume a low characteristics.digital cymometer is the diagraph instrument of research production realm indispensabilities, such as calculator, communication equipments and audio frequency video frequency...etc..The digital cymometer that adopts VDHL to weave a distance to design a realization accounts, in addition to is measured the orthopedics of signal part, the key importation part and figures show part, rest all in one FPGA realization of chip, the whole system simplifies very much, and has vivid spot to change sex.On the foundation that doesn't change hardware electric circuit, carries on various function that the improvement can also raise system further to the system.The number's frequency accounts to have high speed, precision, credibility, the anti- interference is strong and the spot programmable etc. advantage.

Key words: The FPGA chip, VHDL language and digital cymometer, the digital cymometer

account principle diagram ,EDA technique

II

目录

引言 ...................................................................................................................................................................... 1 技术性能指标及分工 .......................................................................................................................................... 2 第1章 频率计的设计背景及原理 .................................................................................................................. 3

1.1 设计背景 ............................................................................................................................................. 3 1.2 设计原理 ............................................................................................................................................. 3

1.2.1 频率计设计原理 ...................................................................................................................... 3 1.2.2 原理框图 .................................................................................................................................. 4 1.3 设计思路 ............................................................................................................................................. 5 第2章 频率计测量频率的层次化设计方案 .................................................................................................. 6

2.1频率产生器 ............................................................................................................................................ 6 2.2测频控制信号发生器 ............................................................................................................................ 7 2.3十进制计数器 ........................................................................................................................................ 9 2.4 24位锁存器 .......................................................................................................................................11 2.5 数码管控制器 ................................................................................................................................... 12 2.6 译码器 ............................................................................................................................................... 15 2.7元件声明及例化 .................................................................................................................................. 16 总结 .................................................................................................................................................................... 20 心得体会 ............................................................................................................................................................ 21 参考文献 ............................................................................................................................................................ 22 附录 .................................................................................................................................................................... 23

III

引言

所谓频率,就是周期性信号在单位时间(1s)里变化的次数。本频率计设计测量频率的基本原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。

根据数字频率计的基本原理,本设计方案分三个模块来实现其功能,即整个数字频率计系统分为时基产生与测频时序控制电路模块、待测信号脉冲计数电路模块、锁存与译码显示控制电路模块等几个单元,并且分别用VHDL硬件描述语言对其进行编程,实现了控制电路、计数电路、锁存与译码显示电路。

1

技术性能指标及分工

1)能够测量正弦波、三角波、锯齿波、矩形波等周期性信号的频率; 2)能直接用十进制数字显示测得的频率; 3)频率测量范围:1HZ~999999HZ; 4)测量时间:T<=2.0S;

5)用CPLD/FPGA可编程逻辑器件实现;

进度安排:

2011/06/27 集体针对设计进行分析、讨论,确定好分工,明确设计进度,以及对设计 总体上有个了解。

2011/06/28 各组员针对自己的任务,查找相关资料,完成各自相关部分。 2011/06/29 集体讨论,找出一个较佳的方案。

06/30—07/05 进行可行性分析,进行程序设计及仿真,对有错或不佳的地方加以改正。 07/06—07/07 最后分析整理,书写课程设计报告。 2011/07/08 打印相关图纸,答辩。

分配任务:

郭跃明 上网搜集资料,审核,打印;

李 宝 对资料进行初步整理,以备选用,写论文; 江时文 确定设计方案,设计程序及仿真。

2

第1章 频率计的设计背景及原理

1.1 设计背景

随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。目前许多高精度的数字频率计都采用单片机加上外部的高速计数器来实现,然而单片机的时钟频率不高导致测频速度比较慢,并且在这种设计中,由于PCB版的集成度不高,导致PCB板走线长,因此难以提高计数器的工作频率。为了克服这种缺点,大大提高测量精度和速度,我们可以设计一种可编程逻辑器件来实现数字频率计。

EDA技术是以大规模可编程逻辑器件为设计载体,以硬件语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门新技术。其设计的灵活性使得EDA技术得以快速发展和广泛应用。以QUARTUS II软件为设计平台,采用VHDL语言实现数字频率计的整体设计。

伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,VHDL语言是经IEEE确认的标准硬件语言,在电子设计领域受到了广泛的接受。

1.2 设计原理

1.2.1 频率计设计原理

数字频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,即闸门时间为1s。闸门时间可以根据需要取值,大于或小于1s都可以。闸门时间越长,得到的频率值就越准确,但闸门时间越长,则每测量一次频率的间隔就越长。闸门时间越短,测得的频率值刷新就越

3

快,但测得的频率精度就受影响。一般取1s作为闸门时间。

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。数字式频率计的测量原理有两类:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法即测周期法,如周期测频法。直接测频法适用于高频信号的频率测量,通常采用计数器、数据锁存器及控制电路实现,并通过改变计数器阀门的时间长短在达到不同的测量精度;间接测频法适用于低频信号的频率测量,本设计中使用的就是直接测频法,即用计数器在计算1S内输入信号周期的个数。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。随着现场可编程门阵列FPGA的广泛应用,以EDA工具作为开发手段,运用VHDL等硬件描述语言语言,将使整个系统大大简化,提高了系统的整体性能和可靠性。

本设计中使用的就是直接测频法,即用计数器在计算1s内输入信号周期的个数,其测频范围为1Hz~999999Hz。 1.2.2 原理框图

设计的原理框图如下所示:

脉冲转换电路脉冲信号复位待测信号输入基频信号输入频率产生器测频控制信号发生器使能10计数器超出量程输出锁存器译码显示输出器数码管片选信号控制信号LED控制电路

图1 数字频率计原理框图

4

1.3 设计思路

1、通过脉冲转换电路将三角波、锯齿波、正弦波,矩形波等周期性信号转换成矩形脉冲,本论文中就不涉及这方面的设计。矩形脉冲转换原理如图:

时基T

图2 矩形脉冲生成原理图

2、频率测量的基本原理是计算每秒钟内待测信号的转换生成的脉冲个数。这就要求测频控制信号发生器testpl的计数使能信号tsten能产生一个1秒脉宽的周期信号,并对频率计的每一计数器cnt10的使能端en进行同步控制。当tsten为高电平\"1\"时,允许计数;为低电平\"0\"时停止计数,并保持其计数结果。在停止计数期间,首先需要一个锁存信号load的上跳沿将计数器在前1 秒种的计数值锁存进24位锁存器reg24b中。锁存信号之后,必须有一个清零信号clr_cnt对计数器进行清零,为下1 秒的计数操作做准备。然后由外部数码管控制器ledcom控制的8段译码器ymq译出,并稳定显示。

5

第2章 频率计测量频率的层次化设计方案

2.1频率产生器

频率计电路工作时先要产生一个计数允许信号(即闸门信号),闸门信号的宽度为单位时间,如1S。在闸门信号有效时间内,对被测信号计数,即为信号的频率。该频率计电路的精度取决于闸门信号T。

本设计中选取的基准信号频率为40khz,为了得到1s高电平的周期性闸门信号,本设计采用对频率为40khz基准信号进行分频就能得到1HZ的基准信号,这样得到的门闸信号高电平为1秒钟,处理后可以产生用于测频所需的计数允许、锁存数据和清零三个控制信号。同时产生400HZ的信号来控制数码管显示。 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity lpm_counter0 is port(clock: in std_logic ; clk_div1 : out std_logic; clkq: out std_logic); end lpm_counter0;

architecture syn of lpm_counter0 is signal q1,q2 :std_logic; begin

process(clock)

variable cnt1 : integer range 1 to 50; variable cnt2 : integer range 1 to 400; begin

if clock'event and clock='1' then if cnt1=50 then

6

cnt1:=1;

q1 <= not q1; --扫描信号 if cnt2=400 then cnt2:=1; q2 <=not q2; else

cnt2:=cnt2+1; end if; else

cnt1:=cnt1+1; end if; end if; end process;

clk_div1 <=q1; clkq <=q2; end syn;

编译成功后生成元件图如下:

lpm_counter0clockclk_div1clkqinst 仿真时设置总时间为4s,对clock引脚输入设置成时间信号,周期是25ns,则其频

率为40kHZ。经过分频后产生1HZ的基准信号,从clkq输出。仿真波形如图下图:

2.2测频控制信号发生器

输入端clk收到1Hz信号后,其输出端testen控制各个cnt10的使能,clr_cnt控制各个cnt10的清零,load控制锁存器内数据的输出。

7

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity testpl is

port(clk:in std_logic;--1Hz信号 tsten:out std_logic;--计数器使能信号 clr_cnt:out std_logic;--计数器清零信号 load:out std_logic);--锁存器输出控制信号 end testpl;

architecture art of testpl is signal div2clk:std_logic; begin

process(clk) begin

if clk'event and clk='1'then

div2clk<=not div2clk; --div2clk为2Hz end if ; end process;

process (clk ,div2clk) begin

if( clk='0'and div2clk='0')then clr_cnt<='1';

--当div2clk与clk同时为零时计数器清零 else clr_cnt<='0';

--当div2clk处于的高电平时计数器计数 end if; end process;

load<=not div2clk;

--锁存器输出与计数器使能信号反相

8

tsten<=div2clk; end art;

编译成功后生成元件图如下:

testplclktstenclr_cntloadinst1 从测频控制信号发生器模块的仿真图,很鲜明的给出了时钟信号与计数允许信号

tsten、清零信号clr_cnt和锁存信号load的关系,从仿真图可以看出计数允许信号、清零信号和锁存信号与变量Q之间所存在的相对应的关系。仿真结果如下图所示:

2.3十进制计数器

有一时钟使能输入端en,用于锁定计数值。当高电平\"1\"时允许计数器计数,低电平\"0\"时禁止计数。多位十进制计数器时,最低位的计数器的clk端输入被测信号,各计数器的进位输出端c10将信号输到下一位十进制计数器cnt10的输入端clk,最高位十进制计数器cnt10的进位输出端c10给carry_out,进行报警提示(超出量程)。 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10 is

port(clk,clr,en: in std_logic;

--clk:计数器时钟,clr:清零信号,en:计数使能信号 q: out std_logic_vector(3 downto 0); --q:4位计数结果输出

c10: out std_logic); --计数进位

9

end cnt10;

architecture art of cnt10 is

signal cqi: std_logic_vector(3 downto 0); begin

process (clk,clr) begin

if clr='1' then cqi<=\"0000\"; --当输入的clr_cnt为低电平0时清零 elsif clk'event and clk='1' then if en='1' then

--当输入的tesen为高电平1时允许计数 if (cqi<9) then cqi<=cqi+1;

else cqi<=\"0000\"; --等于9则计数器清零 end if;

--当输入的tesen为低电平0时禁止计数,锁定计数值 end if; end if; end process; --产生进位 process(cqi) begin

if cqi=\"1001\" then c10<='1'; --当加的9时产生进位输出 else c10<='0'; end if; end process; q<=cqi; end art;

在项目编译仿真成功后,将设计的十进制计数器电路设置成可调用的元件cnt10.sym,用于以下的顶层设计。编译成功后生成元件图如下:

10

cnt10clkclreninst2q[3..0]c10 在源程序中c10是计数器进位输出;q[3..0]是计数器的状态输出;clk是被测信号转

换后的矩形脉冲输入端;clr是复位控制输入端,当clr=1时,q[3..0]=0;en是使能控制输入端,当en=1时,计数器计数,当en=0时,计数器保持状态不变。编译成功后进行仿真,其仿真波形如下:

2.4 24位锁存器

将已有24 位bcd码存在于此模块的输入口din[23..0],在信号load的上升沿后即被锁存到寄存器reg24b的内部,并由reg24b的输出端dout[23..0]输出,设置锁存器的好处是,数码管上显示的数据稳定,不会由于周期性的清零信号而不断闪烁。

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity reg24b is

port (load: in std_logic;--输出锁存控制信号 din: in std_logic_vector(23 downto 0); dout: out std_logic_vector(23 downto 0)); end reg24b;

architecture art of reg24b is begin

11

process(load,din) begin

if load'event and load='1'then

--load为高电平时teten为低电平,计数器禁止 dout<=din; --锁存输入的数据 end if; end process; end art;

编译成功后生成元件图如下:

reg24bloaddin[23..0]dout[23..0]inst3 在源程序中load 是锁存信号,上升沿触发;din[23..0]是寄存器输入;dout[23..0]

是寄存器输出。仿真结果如下图所示:

2.5 数码管控制器

两个输入端一个为datain[23..0],另一个为数码管显示选择的扫描频率输入端clk,输出端为数码管选择信号com[5..0]和对应显示的数码管的BCD码信号端dataout[3..0],数码管显示选择随扫描频率clk循环变化,实现稳定显示。

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ledcom is

12

port(clk:in std_logic; --数码管扫描频率 datain: in std_logic_vector(23 downto 0); --锁存器输入的24位信号

dataout: out std_logic_vector(3 downto 0); --输出至译码器的4位信号

com: out std_logic_vector(5 downto 0)); --输出数码管选择信号 end ledcom;

architecture art of ledcom is

signal comclk: std_logic_vector(2 downto 0); begin

--comclk同扫描频率clk循环变化 process(clk)

begin

if rising_edge(clk) then if comclk <5 then

comclk<=comclk+1;

else comclk <=\"000\";

end if; end if;

end process; --数码管选择

process(comclk)

begin

case comclk is

when \"000\" => com<=\"100000\"; when \"001\" => com<=\"010000\"; when \"010\" => com<=\"001000\";

when \"011\" => com<=\"000100\"; when \"100\" => com<=\"000010\";

13

when \"101\" => com<=\"000001\";

when others =>NULL; end case;

end process; --对应数码管的输出 process(comclk,datain)

begin

case comclk is

when \"101\"=> dataout<=datain(3 downto 0);

when \"100\"=> dataout<=datain(7 downto 4); when \"011\"=> dataout<=datain(11 downto 8);

when \"010\"=> dataout<=datain(15 downto 12); when \"001\"=> dataout<=datain(19 downto 16);

when \"000\"=> dataout<=datain(23 downto 20);

when others =>NULL; end case;

end process; end art;

编译成功后生成元件图如下:

ledcomclkdatain[23..0]dataout[3..0]com[5..0]inst4 在clk信号的控制下,数码管进行循环控制输出。仿真结果如图所示:

14

2.6 译码器

输入端d_in[3..0]将接收BCD码信号,译码后输出端d_out[7..0]输出8段数码管信号,其中输出的第8位均为高电平\"1\"可以使四个数码管的小数点不显示。经译码器的处理输出后数码管显示相应的数值。 library IEEE;

use IEEE.std_logic_1164.all; entity ymq is

port( d_in: in std_logic_vector(3 downto 0); --数码管控制器输入四位信号

d_out: out std_logic_vector(7 downto 0));

--输出8位信号 end ymq;

--第8位d_out[7]为逗号 architecture art of ymq is begin

process(d_in) begin

case d_in is --第8位为1高电平逗号不显示 when \"0000\" => d_out<=\"11000000\"; --0 when \"0001\" => d_out<=\"11111001\"; --1 when \"0010\" => d_out<=\"10100100\"; --2 when \"0011\" => d_out<=\"10110000\"; --3 when \"0100\" => d_out<=\"10011001\"; --4 when \"0101\" => d_out<=\"10010010\"; --5 when \"0110\" => d_out<=\"10000010\"; --6 when \"0111\" => d_out<=\"11111000\"; --7 when \"1000\" => d_out<=\"10000000\"; --8 when \"1001\" => d_out<=\"10010000\"; --9 when others =>NULL;

15

end case; end process; end art;

编译成功后生成元件图如下:

ymqd_in[3..0]d_out[7..0]inst5 将相应的BCD码转换成数码管显示信号,最后以十进制的形式显示出来。仿真结果如下图所示:

2.7元件声明及例化

将各个元器件依据设计相连: library ieee;

use ieee.std_logic_1164.all; entity lx is

port(clkqq: in std_logic; clk0: in std_logic;

led: out std_logic_vector(7 downto 0); ledc: out std_logic_vector(5 downto 0); carry_out: out std_logic); end lx;

architecture art of lx is

component lpm_counter0 --待调用的频率生成器端口定义 port(clock: in std_logic ;

16

clk_div1 : out std_logic; clkq: out std_logic); end component; --十进制计数器

component cnt10 --待调用的有时钟使能的十进制计数器端口定义 port(clk,clr,en: in std_logic;

q: out std_logic_vector(3 downto 0); c10: out std_logic); end component; --16位锁存器

component reg24b --待调用的32位锁存器端口定义 port (load: in std_logic;

din: in std_logic_vector(23 downto 0); dout: out std_logic_vector(23 downto 0)); end component; --测频控制器

component testpl --待调用的测频控制信号发生器端口定义 port(clk:in std_logic; tsten:out std_logic; clr_cnt:out std_logic; load:out std_logic); end component; --数码管选择器

component ledcom --待调用的数码管选择器端口定义 port(clk:in std_logic;

datain: in std_logic_vector(23 downto 0); dataout: out std_logic_vector(3 downto 0); com: out std_logic_vector(5 downto 0)); end component; --译码器

17

component ymq --待调用的译码器端口定义 port(d_in: in std_logic_vector(3 downto 0); d_out: out std_logic_vector(7 downto 0)); end component;

signal clk1,clk2,clk3: std_logic;

--clk1为1Hz信号,clk2为被测信号,clk3为数码管扫描信号

signal tsten,clr,load: std_logic; signal c1,c2,c3,c4,c5: std_logic;

signal qout,rout: std_logic_vector(23 downto 0); signal datao: std_logic_vector(3 downto 0); begin

u0:testpl port map(clk1,tsten,clr,load);

u1:cnt10 port map(clk0,clr,tsten,qout(3 downto 0),c1); u2:cnt10 port map(c1,clr,tsten,qout(7 downto 4),c2); u3:cnt10 port map(c2,clr,tsten,qout(11 downto 8),c3); u4:cnt10 port map(c3,clr,tsten,qout(15 downto 12),c4); u5:cnt10 port map(c4,clr,tsten,qout(19 downto 16),c5);

u6:cnt10 port map(c5,clr,tsten,qout(23 downto 20), carry_out); u7:reg24b port map(load,qout(23 downto 0),rout); u8:ledcom port map(clk2,rout,datao,ledc); u9:ymq port map(datao,led);

u10:lpm_counter0 port map(clkqq, clkq=>clk1, clk_div1=>clk2); end art;

编译成功后生成元件图如下:

lxclkqqclk0led[7..0]ledc[5..0]carry_outinst 其中clk0为系统待测信号,led[7..0]是八段数码输出,ledc[5..0]数码管控制片选

输出,carry_out超出量程报警输出。总的仿真时间设置1s,clkqq为40KHZ基频信号,

18

设置周期为25us;clk0为被测信号,周期任意(为了检测设置周期为80us,计频率为12.5kHZ,从仿真图中可以看出测得频率为12500HZ,与设计的一样)。经过1.5s后就能读出待测信号的频率。仿真结果如图下图所示:

19

总结

本频率计满足实验要求,测量频率范围是1-999999HZ,采用直接测频法对被测信号进行测量,但也存在不足的地方,最好的设计方法是用测周法与直接测频法相结合的方式,在频率低于1000HZ采用测周法,高于1000HZ时采用直接测频法,这样的好处在于减小量化误差。而两种测量方法之间进行自动选择,首先采用测周法进行测量,若频率超过1000HZ则产生溢出信号,自动选择采用测频法进行测量,这样的设计是最合理的频率计设计,若只采用某一种方法进行测量都存在不足之处。周期测量时信号频率越低,测量的误差越小,周期倍乘的值越大,误差越小,另外也可以通过更好的时基信号来进行计数来减小量化误差的影响。

20

心得体会

本次实习让我们体味到设计程序、调测程序过程中的乐苦与甜。设计是我们将来必需的技能,这次实习恰恰给我们提供了一个应用自己所学知识的机会,从到图书馆查找资料到对电路的设计对电路的调试试再到最后电路的成型,都对我所学的知识进行了检验。在实习的过程中发现了以前学的知识掌握的不牢。同时在设计的过程中,遇到了一些以前没有见到过的语句,但是通过查找资料来学习这些语句的功能和使用。

调试程序过程是一个考验人耐心的过程,不能有丝毫的急躁,马虎,特别是对仿真波形的调试要一步一步来,不能急躁,最重要的是要熟练地掌握课堂上的知识,这样才能对试验中出现的问题进行分析解决。在整个课程设计完后,总的感觉是:有收获。

以前上课都是上一些最基本的东西而现在却可以将以前学的东西作出有实际价值的东西。在这个过程中,我的确学得到很多在书本上学不到的东西,如:利用VHDL语言编写程序等等。但也遇到了不少的挫折,有时在仿真时遇到了一个错误怎么找也找不到原凶所在,找了老半天结果发现是取得时间太短了或是设定错了频率。在学习中的小问题在课堂上不可能犯,在动于的过程中却很有可能犯。特别是在编译程序时,一不小心就会犯错,而且很不容易检查出来。但现在回过头来看,还是挺有成就感的。我的动手能力又有了进一步的提高,我感到十分的欣慰。巩固了课堂上所学到的理论性的知识,对VHDL语言有了更深一层的理解,熟练地掌握了QuartusⅡ软件的应用,能在Quartus II软件环境下生成可用的波形文件、文本文件、图形文件等。

通过紧张有序的设计实践,我觉得自己的动手能力有了很大的提高:自信心也增强了,在课程设计中自己动脑子解决遇到的问题,书本上的知识有了用武之地,这义巩固和深化了自己的知识结构。

总而言之,通过此次的课程设计,我获益匪浅!!!

21

参考文献

[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005. [2] 潘松著.EDA技术与VHDL. 北京:清华大学出版社,2010.

22

附录

总电路图

23

因篇幅问题不能全部显示,请点此查看更多更全内容