21
(3)将24选12与显示电路组合而成总的显示电路,电路图如下:
【8】测频模块
(1)设计原理
测频就是计算1秒钟内脉冲的个数。我们利用计数器和锁存器实现这一功能。由于累加器以频率控制字K为间隔,当累加器满量时就会产生一次溢出,完成一次周期性的动作,这个周期也就是DDS信号的一个频率周期,所以将累加器的最高位作为测频电路技术器的脉冲。
将1HZ的时钟信号二分频,得到0.5Hz。将0.5Hz脉冲送入锁存器的时钟端,0.5Hz反相延时后的脉冲送入计数器的清零端。这样就使计数器在2s的脉冲周期内,1s内清零,1s内计数。由于锁存器的脉冲和计数器的脉冲是反相的,
22
且有一定的延时,所以当锁存器有效脉冲来到时,计数器是清零状态,锁存器就锁存前1s内计数器的计数信号。这样就完成了1s内的脉冲计数,再将锁存器的输出送入译码显示电路,就可以在数码管上显示波形频率了。 (2)原理图如下:
(3)电路图如下:
5.调试、仿真、编程下载过程
1、调试
先保存,将上述电路以字母输入方式输入并保存在工程文件夹中。再将文件置顶,最后进行编译,在主菜单 中选择processing项,在弹出的对话框中选择Start complication键,则编译开始。在编译过程中,若有任何信息、错误和警告消息,都将显示在自动打开的Message-Compiler窗口中;若由于文件出错而没有通过,则需要返回原文件进行修改,修改后存盘,再编译直至文件通过。
2、仿真
23
新建一个“Vector Waveform file”文件,并在下拉列表中选.vwf扩展名,生成波形文件。右键单击,在弹出的菜单中选Enter Nodes Frome SNF,在弹出的对话框中选择要观测的节点。选Option\\Grid Size和File\\End Time,设置相应选项,并给输入引脚加上适当的信号。然后,选File\\Save保存。接着选择主菜单中的Simulator项,打开模拟器,点击Start开始仿真
3、下载
(1) 在主菜单Assignments中选择Device项,在弹出的对话框中选择相应的器件EP1C12Q240C8。
(2) 在主菜单Assignments 选“Pins”,打开平面布置图编辑器窗口,将设计的电路图中的各输入输出锁定在相应的管脚上。具体管脚号参见《课程设计参考资料》附录五。
(3) 在主菜单选File\\Save保存文件,再次编译项目,生成.sof文件,以用于下载。
(4) 在主菜单Tools 选Programmer,在弹出的对话框中单击start,即可完成下载。
(5) 要注意在实验的不同阶段,系统板上各短路帽、跳线帽的插拔与否。
24
6.遇到的问题及解决方案
1.由于前一个实验没有涉及到ROM的生成,所以在刚开始的时候在这个环节上脱了节,不知道怎么把东西输进去,后来查阅了一些资料和大家一起探讨以后,才知道了解决方法。我用的方法是excel的方法,比较简单适合初学者,但是老师说vhdl语言才是比较准确的,所以以后决定在闲暇的时候自学下vhdl语言。
2.相位移动的很慢,因为是用的1hz的,虽然也是改变的高位,但是变化还是很慢,下次可以考虑用2hz以上的。
7.实验感想
这次DDS实验是在整好做了数字钟然后趁热打铁做的实验,所以对软件还是比上一个实验要熟悉,但是就是有一点上个实验并没有涉及到,就是ROM的设计,从刚开始的不知道怎么输入信息,到最后的做出了5种波形,还是很有成就感的。还是就是深刻的体会到一定要做好预习工作,只有深刻理解实验的原理,才能很好的完成实验所要求的内容。并且认识到做工程的人容不得一点点小的错误,任何小的错误到最后都会导致大错误。经过两个星期的实验,我们渐渐的明白做工程的人的辛苦也要感谢老师这么多天对我们的教导。
8.总电路图
25
9.参考文献
1.付文红、花汉兵编著.《EDA技术与实验》.机械工业出版社 2.蒋立平编著.《数字电路》.南京理工大学出版社
3.南京理工大学电子技术中心编.《EDA设计实验指导书》