毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

FPGA等精度数字频率计(原理图+电路图+论文+源代码)

更新时间:2010-6-18:  来源:毕业论文

FPGA等精度数字频率计(原理图+电路图+论文+源代码)
赛题来源:根据第三届(1997年)全国大学生电子设计竞赛题目:简易数字频率计,结合我们现学的课程,完全用FPGA芯片做一个等精度数字频率计。关键技术指标:要求
  (1)频率测量
  a.测量范围信号:方波、正弦波,锯齿波,三角波;频率:1Hz~9999Hz
  b.测量误差<0.017%
  (4)显示器
  十进制数字显示,显示刷新时间1~3秒连续可调,对上述测量功能用4位7段数码管显示。
(5)具有清零功能,时标信号频率为60000Hz。
我们的闪亮点是:没有用单片机对数据进行处理,而是完全用FPGA对数据处理,这是以前没有人尝试过的。
我们最初选的方案是用8位数码管最大能显示99999999的8位频率计。但用MAXPLUSII编译提示资源用尽,工程不匹配。后来改做6位,甚至本文源自优文论文网5位,还是出现上述问题。但如果将上述方案用EP1K50芯片编译则0错误0警告。但实验箱上的是EP1K30芯片,我们也曾考虑换实验箱芯片,但又涉及到重做PCB板以及引脚匹配问题。考虑到时间等问题我们最终决定做4位频率计,这样就不用换芯片,并且这也是该芯片资源所能承受最大位数了。因为在数据处理那块我们用了大量乘法、除法模块,而这对资源要求很高。
作品的实物显示:以下是一些特殊的数据实物显示
一, 系统方案:原理图如下:  (图1)
说明:图中计数器1和计数器2是2个可控的16 Bit计数器,EN是他们的计数允许信号端,高电平开始计数,低电平停止计数,基准频率信号从计数器1的毕业论文http://www.Lwfree.cn/时钟输入端CLK输入,设其频率为fb;待测信号经前端分频后,从计数器2的CLK输入,测量频率为fx。
测量开始:首先按键发出一个清零信号CLR,使2个16 bit的计数器和D触发器置0,然后按键再发出允许测频命令,即使预置门控信号GATE为高电平,这时D触发器要一直等到被测信号的上升沿通过时,Q端才被置1,即使计数器1和计数器2的EN同时为1,将启动计算器计数,系统进入计算允许周期。这时,计数器1和2分别对被测信号和标准频率信号同时计数。当Tc秒过后,预置门控信号被D触发器置为低电平,但此时2个16 bit的计数器仍然没有停止计数,一直等到随后而至的被测信号的上升沿到来时,才通过D触发器将这2个计算器同时关闭。由图所示的测频时序图可见,GATE的宽度和发生的时间都不会影响计数使能信号允许计数的周期总是恰好等于待测信号XCLK的完整周期,这正是确保XCLK在任何频率条件下都能保持恒定测量精度的关键。因为,此时GATE的宽度Tc改变以及随机的出现时间造成的误差最多只有基准时钟BCLK信号的一个时钟周期,由于BCLK的信号是由高稳定度的(例如24 MHz晶体振荡器发出的),所以任何时刻的绝对测量误差只有1/(24的6次方) s,这也是系统产生主要的误差。而为了减少或消去误差,我们就用以上图,用两个计数器控制计数。我们的主要亮点是没有用单片机对数据进行处理,而是完全用FPGA对数据处理。
进一步详细的原理图如下: 
    (图2)
如对上图解析下:
(1),基准时钟fb是由24M晶振产生的频率进行分频得到的,由于是4个数码管,需要16位才可以计数4位十进制数,又由于2的16次方为65536,同时又不能使计数器溢出,所以要把24M进行400分频得到60000HZ.输入到CLK.由计数器1计数,得到Nb个脉冲。
  被测信号Fx经计数器2计数得Nx。
(2),计数器1和计数器2分别输出Nb和Nx,进入数据缓存buffer。
(3),扫描时钟200HZ的由来:根据人的视觉暂留效应,每位数码管至少需25HZ,人眼就看不到闪烁,所以4位数码管至少需100HZ,而用200HZ数码管更加稳定,所以由60000Hz 进行300分频,得到200HZ。
(4), 门控制电路由D触发器组成,循环控制由24M分为基本全为低电平的1HZ控制。
(5)数据处理用的是乘法和除法模块。由两计数器同时计数,由于时间相同所以得:fb/Nb=fx/Nx,Fx=Nx*fb/Nb,从而计算出fx。最后把16进制转换为10进制用BCD码在数码管上显示。
二,MAX—PLUXII软件上实现的方案:
1,由上原理图构思出的总的FPGA仿真图:(图3)
2,分图如下:(1),数据产生:Nb,Nx.为16bit。(图4)
上图数据产生的工作原理:fb频率是由24M400分频提供,由2个D触发器构成控制电路,在fx输入的时候,对第一个D触发器开始时Q=1,此时计数器处于计数状态,当控制循环信号来一个时钟上升沿第二个D触发器Q=D=0,由于那个1经非门得0,此时由门控制电路得到第一个触发器Q=D=0,当第一个D触发器由1变为0时,两计数器停止计数,此信号经后一个非门得到一个上升沿,在上升沿时两个数所存到buffer中,在接下来的高电平时,两计数器清零。由D触发器的性质得:第二个触发器瞬间被置位为1,从而反馈到上一个触发器使其Q=D=1,从而让两计数器又开始计数,当控制信号再来下一个时钟上升沿的时候,又对上第一个D触发器置位是0,而两个计数器还在计数,当fx得时钟上升沿刚好来的时候与fb刚好,此时计数完成,而对计数器清零则延时一段时间再清,从而避免数据丢失,这样在门控信号的作用下,计数器循环计数。
(2),数据处理模块:1357

[1] [2] 下一页

FPGA等精度数字频率计(原理图+电路图+论文+源代码)下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。