【摘 要】本设计是基于FPGA的一个数字频率计,利用VHDL描述语言设计实现了频率计模块,测量范围是10KHz—10MHz。采用直接测量的方法,一定的时间间隔T内,对周期性的脉冲的重复次数进行计数。设计分频器、计数器、时序信号发生器、锁存器四大模块进行频率的测量,并结合NIOS软核CPU嵌入到FPGA,构成SOPC系统。本设计应主要解决三个问题:产生一个标准的时钟信号作为闸门信号;在闸门信号有效时间范围内对输入的信号进行计数;对所得的数据进行处理,并将其显示。针对上述问题,可以通过分频器产生标准时钟信号,产生1s的闸门信号;当时序信号发生器电路产生的1s的闸门信号为有效电平状态时,开始计算被测信号的周期数;当闸门信号回到无效电平状态时其值即为所求频率,将得到的结果保存到锁存器。
【关键词】 频率计; VHDL; NIOS; FPGA; SOPC;
目录
摘要
Abstract
1 绪论-1
1.1 频率计发展概述-1
1.1.1 频率计研究背景-1
1.1.2 频率计发展历程-1
1.1.3 本课题的主要工作及任务-1
1.2 NiosⅡ软核处理器-2
1.3 硬件描述语言VHDL-2
1.3.1 VHDL语言概述-2
1.3.2 VHDL语言优点-2
2 频率测量设计方案-3
2.1 频率测量基本原理-3
2.2 频率测量结构-3
2.3 频率测量设计方法-3
2.4 频率测量指标-3
2.5 SOPC频率计优点-4
3 SOPC系统设计概述-5
3.1 SOPC系统介绍-5
3.2 SOPC系统结构-5
3.3 SOPC系统开发流程-5
4 SOPC系统硬件设计-7
4.1 QuartusⅡ开发软件概述-7
4.2 QuartusⅡ工程建立-7
4.3 频率计IP核-7
4.3.1 频率计IP核模块连接图-7
4.3.2 分频器clk_gen的设计-8
4.3.3 时序信号发生器testctl的设计-9
4.3.4 计数器Counter的设计-10
4.3.5 锁存器reg32b的设计-11
4.4 定制Nios CPU-12
4.5 锁相环的构建-13
5 SOPC系统软件设计-14
5.1 NiosⅡIDE开发软件概述-14
5.2 Nios软件设计流程-14
6 实物测试-16
6.1 实物介绍-16
6.2 频率测试-17
参考文献-18
致谢-19
附录1 原理图和引脚图-20
附录2 程序代码-22