8位10进制数字频率计设计某某

本文由用户“XX骑士联盟”分享发布 更新时间:2021-05-22 13:12:11 举报文档

以下为《8位10进制数字频率计设计某某》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

设 计 报 告

课程名称 在系统编程技术

任课教师 谭 敏 周某某 查某某

设计题目 8位十进制数字频率计

班级 05电本(2)

姓名 马 维

学号 ***66

日期 2008年1月11日

目 录

一、题目分析 ……………………………………………………03

1.分析要求,确定总体方框图……………………………… 03

2.确定技术指标 ……………………………………………03

二、选择方案…………………………………………………… 03

关键词……………………………………………………03

三、细化框图…………………………………………………… 04

1.计数器模块…………………………………………………04

2.测频控制模块………………………………………………04

3.寄存器模块…………………………………………………05

四、编写应用程序并仿真…………………………………………05

1.计数器模块仿真波形及分析………………………………… 05

2.测频控制模块……………………………………………… 06

3.寄存器模块………………………………………………… 06

五、系统联调………………………………………………………07

1.顶层文件综合结果…………………………………………… 07

2. 顶层文件程序仿真形…………………………………………07

结论………………………………………………………… 08

七.课程总结………………………… ……………………………09

八.参考文献……………………………………………………… 10

九.附录(源程序)………………………………………………10

8位十进制频率计设计

题目分析

1.分析要求,确定总体方框图

设计要求:设计并调试好一个8位十进制数字频率计,并用GW48 EDA实验开发系统进行系统仿真、硬件验证学习较复杂的数字系统设计方法。

根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号,并有为下一测频计数周期作准备的计数器清零信号。这三个信号可以由一个测频控制信号发生器产生。总体方框图如下:



图1 数字式频率计原理框图

标准信号为1Hz;分频器由控制器控制,选择输出时基信号用于控制门控电路本设计中采用二分频;计数器是模为***的十进制加法计数器,可以由8个模为10的十进制计数器级联而成;寄存器为一数据保持电路。

2.确定必须完成的技术指标

所制作的频率计电气指标如下:(1)显示的位某某:8位某某LED (2)进制数:十进制

(3)频率测试范围:1Hz~99MHz,利用预置分频器做1/2分频

关键词:频率测量 周期测量 FPGA VHDL语言

二.选择方案

频率计是指单位时间1秒内输入脉冲个数并显示出来的电路。因为要显示被测信号的频率,只要限制计数器的计数过程为一秒则计数器的结果即为被测信号的频率。频率值为:Fx=N,N为一秒内计数器所计脉冲个数。因为是8位十进制频率计计数器是模为***的十进制加法计数器,可以由8个模为10的十进制计数器级联而成,所以可以显示的频率范围是0~99MHz。因此,频率计的功能分割成三个模块:计数器,测频控制和输出锁存。各个模块均用VHDL语言描述?。

测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值锁入锁存器的锁存信号,并有为下一测频计数周期作准备的计数器清零信号。这三个信号可以由一个测频控制信号发生器产生。

当系统正常工作时,标准信号提供频率为1 Hz的输入信号,经过测频控制信号发生器进行信号变换,产生计数信号,被测信号送入计数器模块,计数模块对输入的脉冲个数进行计数数结束后,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在七段数码显示管上可以显示的十进制结果,在数码显示管上可以看到计数结果。

在设计中,所有频段均采用直接测频法对信号频率进行测量,采用了门控信号和被测信号对计数器的使能端进行双重控制,提高了测量的精确度。

细化框图

1. 计数器模块

计数器模块接收外部的待测频率输入信号,能在测频控制模块给出的1秒基准时间内完成计数操作。因此,计数器需要三个输入端:CLK是时钟输入端,CLR是异步清零端,EN是计数使能端。由于用VHDL描述同步的8位十进制计数器比较困难,因此,该计数器采用将8个模10计数器级联的方式构成,在顶层VHDL设计中进行调用。根据此题设计功能要求选用带异步清零的模10计数器,这样一旦清零信号有效,无论时钟有无到来,计数结果都清零,这样可以提高测量的精确度。

2. 测频控制模块

频率测量的基本原理是计算每秒内待测信号的脉冲个数。这就要求测频模块能产生

一个1秒宽的周期信号TSTEN,这个信号能对计数器的使能端进行同步控制。当TSTEN为高某某时允许计数器计数,低电平计数停止,并保持其所计得数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前一秒钟的计数值锁存进32锁存器REG32B中,并由外部7段译码器译出并稳定显示。设置锁存器的好处是使显示数据稳定,不会由于周期性的清零信号而不断闪烁。锁存信号之后,必须有一清零信号CLR—INT对计数器进行清零,为下一秒钟的计数操作作准备。

3. 寄存器模块

REG32B为锁存器。在信号Load的上升沿某某,立即对模块的输入口的数据锁存到REG32B的内部,并由REG32B的输出端输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断

四.编写应用程序并仿真

采用VHDL描述数字频率计的电路时,按照自顶向下的设计思路,编写各个模块

VHDL源程序,最后再对各个模块进行组合,编写顶层描述的VHDL源程序。

源程序见附录,以下是各模块仿真波形图及波形分析

计数器仿真波形



图2

波形分析:

时钟使能信号EN用于锁定计数值,当高某某时允许计数,低电平时禁止计数。上图波形中当计数清零端CLR为高某某时,无论时钟信号是否是上升沿计数输出始终为零,当CLR为低电平,EN为上升沿某某,计数器开始计数,因为是十进制计数,当计数为5时,使能信号EN变为低电平,此时计数值保持并锁存进寄存器,当EN又为上升沿某某继续计数,直到计数值为9,EN仍为高某某返回计数,同时进位输出COUT为1即输出高某某。

测频控制模块仿真波形及分析



图3

波形分析

在每次时钟CLK的上升沿到来时使TSTEN翻转,Load信号正好是TSTEN端信号的翻转。在计数结束后半个CLK周期,CLK与TSTEN都为低电平,这时CLR-CNT产生一个上升沿作为清零信号。进程中使用的模2分频出来的信号TSTEN为400 ns,占空比为50%。

在设计中输入时钟信号CLK周期为1s,进程中使用的模2分频出来的信号TSTEN的周期为2 s,占空比为50%,这个输出信号可以送给计数器的计数使能控制信号EN。高某某时允许计数、低电平时停止计数,在从高某某变为低电平后,利用其下降沿产生锁存信号Load,0.5秒后产生一个清零信号CLR-CNT对计数器进行清零。

3.寄存器模块波形仿真



图4

波形分析

REG32B为锁存器。在信号Load的上升沿某某,立即对模块的输入口的数据锁存到REG32B的内部,并由REG32B的输出端输出,然后,七段译码器可以译码输出。

五.全系统联调,顶层文件综合结果及程序仿真波形图

1.顶层文件综合结果



图5

2..频率计顶层文件波形仿真





图6

波形分析:

当时钟输入信号CLK的第一个上升沿开始计数,图中设置CLK周期为1.2us,在此周期内共测得被测信号FRIN共输入六个脉冲,在CLK的第二个上升沿到来时,返回计数,同时输出端输出之前计数器所计值6。

从顶层文件仿真结果可以看出,本系统完全符合设计要求。同时从仿真结果可以看出,输出有一定的延时,这正是器件延时特性的反映。

结论

用GW48 EDA实验开发系统(拟采用的实验芯片的型号为EPF10K10LC84-4)进行硬件验证。首先选择模式0进行下载验证,基准时钟信号CLK由CLOCK2输入,选择1Hz用跳线冒将其短路,被测信号从CLOCK0输入。然后将被测频率与实际值比较算出误差值。

1.引脚锁定

8位某某字频率计引脚锁定表

输入端口

输出端口



端口名称

锁定引脚

端口名称

锁定引脚

端口名称

锁定引脚



CLK

43

DOUT31

79

DOUT15

53



FSIN

2

DOUT30

78

DOUT14

52



------

------

DOUT29

73

DOUT13

51



------

------

DOUT28

72

DOUT12

50



------

------

DOUT27

71

DOUT11

49



------

------

DOUT26

70

DOUT10

48



------

------

DOUT25

67

DOUT9

47



------

------

DOUT24

66

DOUT8

39



------

------

DOUT23

65

DOUT7

38



------

------

DOUT22

64

DOUT6

37



------

------

DOUT21

62

DOUT5

36



------

------

DOUT20

61

DOUT4

35



------

------

DOUT19

60

DOUT3

30



------

------

DOUT18

59

DOUT2

29



------

------

DOUT17

58

DOUT1

28



------

------

DOUT16

54

DOUT0

27





2.硬件验证情况:

实验箱提供了14种待测频率值,下面是这14种频率值与实测值的对比

实际值Hz

1

4

16

64

256

1024

4096



测量值Hz

1

4

16

64

256

1024

4196



误差

0

0

0

0

0

0

0.0244



实际值Hz

16384

65536

750K

1.5M

6M

12M

50M



测量值Hz

16384

65536

750.963K

1.500926M

6.009705M

12.009416M

50.007912M



误差

0

0

0.001284

0.***

0.***

0.***

0.***





七.课程总结

经过一个学期的在系统编程课程的学习,对现代电子设计技术有了初步的了解,系统的学习了基于FPGA / CPLD应用开发的EDA技术和硬件描述语言VHDL,将VHDL的基础知识、编程技巧和实用方法与实际工程开发技术在先进的EDA设计平台MAX+PLUSⅡ上很好的结合起来。

EDA技术即电子设计自动化,是现代电子设计技术的核心,在现代集成电路设计中占据重要地位。它具有的明显特征是自顶向下设计和并行工程设计,在设计8位十进制数字频率计是便是采用自顶向下的设计方法。EDA技术的实现目标是超大规模可编程逻辑器件FPGA / CPLD、半定制或全定制ASIC及混合ASIC。EDA工具大致可分为五个模块:设计输入编辑器、HDL综合器、仿真器、适配器、下载器。其中综合器和适配器是两个特殊的软件工具。

FPGA(现场可编程逻辑器件)是由PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)发展而来。FPGA器件采用逻辑单元阵列(LCA)结构、SDRAM工艺,其中LCA由可编程逻辑块、输入输出模块、可编程互连资源三类可编程单元组成。对FPGA编程后掉电信息丢失,但配置次数无限。CPLD(复杂可编程逻辑器件)在编程后信息不会丢失,但编程次数有限。ISP(在系统编程)器件是第四代PLD器件,直接在目标系统或线路板上进行。该器件可通过软件编程对其硬件结构和工作方式进行重构,使硬件设计如同软件设计方便快捷。

在实验课程中我们使用的实验平台是MAX+ PLUSⅡ,它是Altera公司推出的,被誉为最易学的EDA软件,支持原理图、VHDL和Verilog语言文本文件、以及波形与EDIF等格式的文件作为设计输入。MAX+ PLUSⅡ自动设计的各主要环节和设计流程包括:设计输入编辑、编译网表提取、数据库建立、逻辑综合、逻辑分割、适配、沿某某网表提取、编程文件汇编以及编程下载9个步骤。在实验课程中我们分别用原理图输入法和VHDL语言描述法设计了半加器、全某某、移位寄存器、加法计数器等。

通过这次实验有了非常大的收获,这是对我这一学期理论学习的检测,非常高兴我学会了用VHDL语言设计数字频率计,学会了用自顶向下的方法完成模块划分,对计数器和寄存器的理解进一步加深,通过这一次设计还学会了用VHDL语言设计不同进制的计数器,对VHDL语言的应用有了进一步的理解和加深.

通过这次实验对EDA课程的上机操作也有了很大的进步,熟练了在MAX+PLUS‖平台上的设计流程,对波形仿真,引脚锁定,编译下载过程也更加清楚.对GW48EDA系统也有了进一步的了解,学会了选择不同实验模式下载编程.

通过认真的学习我了解并掌握EDA技术的基本理论和工程开发实用技术,并为后续的深入学习和发展打下坚实的理论与实践基础。

八.参考文献

1.EDA技术实用教程(第二版,科学出版社,潘某某,黄继业编)

2.EDA技术与PLD设计(人民邮电出版社,徐某某 王金明编)

3.可编程逻辑器件EDA应用开发技术(机械工业出版社,姜某某,张海风编)

九.附录(源程序)

采用VHDL描述数字频率计的电路时,按照自顶向下的设计思路,编写各个模块的VHDL源程序,最后再对各个模块进行组合,编写顶层描述的VHDL源程序。

----------------------------------十进制计数器的VHDL描述-------------------------------------

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; ---- 运算符重载

entity cnt10 is

port (clk,clr, : in std_logic; ---- 时钟输入,异步清零输入,

en : in std_logic; ----使能信号输入

q : buffer std_logic_vector(3 downto 0); ----状态信号,

cout : out std_logic); ----进位输出

end;

architecture one of cnt10 is

begin

process(clk,clr) ---- 该进程描述摸10计数过程

begin

if clr='1' then q请点击下方选择您需要的文档下载。

  1. AT89S52 中文手册
  2. 野外求生测试题
  3. *** 被动隔振实验 大纲_20***61
  4. 信号检测与估值matlab仿真报告
  5. 科学规划频率资源支持无线电应急广播体系建设
  6. 意念对健康的影响,大到不可思议!
  7. 意念对健康的影响,大到不可思议!
  8. 课件 古人计数
  9. 变频器应用技术实训报告(格式模板)
  10. ”体验庆祝国庆多媒体作品的数据与信息处理报告”可视化报告
  11. 小波分析知识点
  12. 传感器知识点(原稿)
  13. 消防控制室标准化建设要求
  14. 初二上数学材料阅读题及答案
  15. 电视机原理期末复习题(含答案)
  16. ADC资料及C语言驱动程序
  17. Unit-2-How-often-do-you-exercise-教材分析
  18. 分享最新微信养号及日常防封操作事项

以上为《8位10进制数字频率计设计某某》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览