1、0831华永奇FPGA设计报告北京联合大学数字电子课程设计实验报告 实验名称: FPGA数字频率计设计 学 院: 信息学院 专 业:电子信息工程 姓 名: 华永奇 学 号: 2008080303107 前言 频率计是电子技术中常用到的一种电子测量仪器,我们设计的选题是基于FPGA的6位数字频率计系统.数字频率计是一种用十进制数字显示被测信号频率的数字测量仪,它的基本功能 是测量正弦信号、方波信号、尖脉冲信号及其它单位时间内周期性变化的电信号,被广泛应用于航天、电子、测控等领域。所谓频率,就是周期性信号在单位时间(1s)里变化的次数。本频率计设计测量频率的基本原理是,首先让被测信号与标准信号一起
2、通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用LED液晶显示出来。任务书1、 功能要求设计一个简易的6位十进制频率计,可测量的信号频率范围是从1Hz到999999Hz,并将被测频率在6个数码管上显示出来,要求显示方式为动态扫描显示,记录测试结果 。2、 技术指标1)能够测量正弦波、三角波、锯齿波、矩形波等周期性信号的频率;2)能直接用6位LED液晶显示测得的频率;3)频率测量范围:1HZ999999HZ;6)用CPLD/FPGA可编程逻辑器件实现;目录目录前言 2任务书 2目录 3方案论证 3系统电路设计 4显示电路模块 4顶层电路设计 6硬件
3、电路设计 7适配下载 8引角设置 8硬件验证 9成员分工及工作进度 9 成员分工 9 工作进度 9结论与收获 10参考文献 10方案论证根据数字频率计的基本原理,本文设计方案的基本思想是分为4个大模块来实现其功能,即计数器模块、控制器模块、锁存器模块和显示器模块等几个单元,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。根据频率的定义,频率是单位时间内信号波的个数,因此采用脉冲数定时测频法,在待测信号的一个周期T内,记录标准频率信号变化次数N,则待测频率为:fs=N/T,当T=1s时,fs=N,单位为hz。如图:根据测频原理,一个频率计应该由两大部分组成,它
4、们是能够接受状态信息以便准确的发出控制信号的控制部分和能够在控制信号的作用下实施测频任务的受控部分。控制部分以控制器模块为主,受控部分主要由计数器模块、锁存器模块和显示模块构成,如图所示:各模块的功能如下:计数器模块负责在闸门时间内计量被测信号的脉冲个数。锁存器模块在锁存信号的作用下保存计数结果。控制器模块在标准时钟的作用下控制计数器开始或结束计数、控制锁存器保存计数结果、协调闸门时间与控制信号间的时序关系及其它辅助控制。显示模块用于显示测频结果。系统电路设计模块电路设计包括计数、锁存、控制模块电路设计原理、VHDL程序或原理图,仿真分析说明等。显示电路模块LIBRARY ieee;USE i
5、eee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY scan_led ISPORT (q1,q2,q3,q4,q5,q6:IN std_logic_vector(3 downto 0);-6个输入端口 clk0:IN std_logic;-扫描时钟信号, sg:OUT std_logic_vector(6 downto 0); -输出端口,用于对七段数码管的abcdefg设置十进制数; com:OUT std_logic_vector(5 downto 0);输出com端口,用于对END ;ARCHITECTURE one
6、 OF scan_led IS SIGNAL cnt6:std_logic_vector(2 downto 0);-中间的计数变量 SIGNAL a:std_logic_vector(3 downto 0);-中间变量,相当于一条数据总线 BEGIN p1:PROCESS (cnt6)形成24选4多路选择器和3线-6线译码器 BEGIN CASE cnt6 IS WHEN000=com=000001;acom=000010;acom=000100;acom=001000;acom=010000;acom=100000;aNULL; END CASE; END PROCESS p1; p2:PR
7、OCESS(clk0) 形成扫描脉冲 BEGIN IF clk0 EVENT AND clk0=1 then -当clk0为上升沿 IF cnt6=101 then cnt6=000;-如果cnt6此时状态值为5,那么cnt马上置0; else cnt6sgsgsgsgsgsgsgsgsgsgsg=0000000;-其他数据部分译码后显示数据0; end case;end process p3; -上述的三个进程p1,p2,p3同时进行。 end; 上图仿真分析:输入端设置的数据为060820,输出端com端口依次从com1到com6对应得到的数据为060820;故仿真结果正确。顶层电路设计
8、仿真电路分析,被测信号的周期fin=50ms,标准时间周期clk=100ms,显然,被测信号频率为标准信号频率的2倍;复位信号一直置0,不起作用;输出电路中的频率为000002,故正确。硬件电路设计动态显示电路原理如图,是多个显示器共用一套显示驱动电路,每个显示器的公共端com分别被轮流驱动,即每个显示器在com的作用依次分时地显示数据。如果用有效电平以较快的速度一次扫描各个com端口,利用人眼的滞留效应,就可以达到分时地点亮单个显示器,但是却享受着多只显示器同时点亮的效果。理论和实践证明,一个扫描周期只要小于0.04s,就能使多位显示的效果持续稳定,而不至闪烁抖动。下图是扫描6位数码管的电路
9、结构框图,此处6位数码管共用一个7段译码器。七段译码器的输入线号来自于24选4 多路数据选择器,即用4位二进制数表示等值的1位十进制数。扫描器用于产生扫描脉冲,它实质上是六进制计数器,扫描器有两个基本功能,其一是产生数据选择器的地址,其二是通过3线-6线译码器产生6个数码管的有效com信号,显然,这两个功能必须一个步调。依据人眼产生的视觉滞留效应,扫描器的时钟频率应高于150hz。适配下载选用Cyclone系列芯片EP1C6Q240C8为设计目标器件,所需的输入部件主要是标准时钟和被测频率,所需的输出部件是可实现动态显示且含有七段译码器的8位数码管。通过查阅附录,决定采用GW48开发系统的电路
10、模式5,由此可确定设计目标芯片引脚编号与开发系统硬件环境间的对应关系:标准时钟clk由开发系统的时钟源Clock2提供,对应目标芯片的153号引脚;被测频率fin由开发系统的时钟源Clock0提供,对应目标芯片的28号引脚;计数扫描电路的计数时钟clk0接开发系统提供的时钟源Clock5,对应目标芯片的152引脚;系统复位信号rst由开发系统的按键1提供,对应目标芯片的233号引脚;计数扫描电路的七段输出sg6.0分别与目标芯片的164169和173号引脚锁定;计数扫描电路提供的6个显示器的公共端com5.0与目标芯片的160,159,158,141,140,139号引脚锁定,编程下载后,将位
11、于开发系统左上部蜂鸣器下方的短路跳线帽跳下.引脚锁定后,进行整个系统的全程编译,从而完成对目标芯片的适配下载.引角设置:clk PIN_153clk0 PIN_152fin PIN_28rst PIN_233com0 PIN_139com1 PIN_140com2 PIN_141com3 PIN_158com4 PIN_159com5 PIN_160sg0 PIN_173sg1 PIN_169sg2 PIN_168sg3 PIN_167sg4 PIN_166sg5 PIN_165sg6 PIN_164硬件验证对目标芯片EP1C6Q240C8编程下载成功后,通过按键选择开发系统的电路模式5,将时
12、钟源Clock2经跳线帽与1HZ脉冲短路,将时钟源Clock5经跳线帽与4096HZ脉冲短路,将按键1设置为低电平,使测频系统得以工作.调节时钟源Clock0的跳线帽位置,则6位数码管应该稳定显示与Clock0跳线选择的频率一致的数值.成员分工及工作进度1 成员分工是指每名设计小组成员所完成的具体设计任务控制电路模块-黄姿计数器电路模块,锁存器电路模块陈政显示模块华永奇顶层电路设计-华永奇,陈政2 工作进度就是工作日记,应记录每个工作日设计小组及小组成员完成的设计工作量,重点陈述设计者本人在设计中遇到了哪些问题、困难、最终是如何解决的。第一个工作日(周一):选定了设计题目,明确了设计思路,分工
13、完成,程序全部编写完成,仿真完成,确定程序正确无误,然后生成各程序模块。程序编写和模块生成都很顺利,没有遇到什么错误。顶层设计开始,仿真不对。适配下载不对。开始寻找错误。第二个工作日(周二):继续昨天未完成的工作,开始寻找顶层设计的错误,我开始设想,可能要去掉锁存器模块,实验后,确实能动态显示,但是显示结果不稳定,证明设想错误,于是重新开始,添加锁存器模块,动态扫描模块,仍然是顶层设计正确(虽然警告很多),仿真结果不对,开始找错,没找到,于是决定适配下载试试,结果实验箱显示正确,达到实验目的。于是发现,原来昨天是引脚设置错误,才导致下载显示的结果不对。开始返回寻找仿真不对的原因,在老师的帮助下
14、,才发现仿真的源文件没改,所以才仿真结果不对。至此,实验完成。第三个工作日(周三):进一步检验,确认无误,写PPT和实验报告,老师验收。结论与收获 结论:利用VHDL语言设计出控制模块,计数模块,锁存模块和显示模块,最后综合得到了顶层电路,在实验箱上6位数字频率计的显示精度相对精确,在测量高频信号时有一定的误差。 收获:本人在这次实训中的最大收获还是对FPGA有了初步的了解,懂得了FPGA的基本语法,还有一些基本功能的电路。实训的时间太短,又临近期末考试,所以没有对电路做一些必要的改进。关于自己运用VHDL语言来自己写一个电路,这还有很长的路要走,当然,我会朝这一步继续前进的。 最后,感谢陈政,黄姿同学在小组工作中和本人的密切合作,也感谢薛琳老师的辛勤辅导和指点。 参考文献FPGA设计基础.王传新 主编. 高等教育出版社郑亚明,董小舟.可编程逻辑器件可发软件Quartus.北京:国防工业出版社,2006
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1