100MHz等精度频率计设计(基于Verilog-HDL).docxVIP

100MHz等精度频率计设计(基于Verilog-HDL).docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
100MHz等精度频率计设计(基于Verilog-HDL)

数电课设报告 姓名:郑中权 姓名:郑中权 学号:152210303127 班级:电子1班 江苏科技大学2017/10/12 江苏科技大学 2017/10/12 100MHz等精度频率计设计(基于Verilog HDL) 一、设计要求: 提供一个 幅值为10mV ~ 1 V,频率为 1 ~ 100MHz的正弦信号,需测试以下指标: 频率: 测频范围 1Hz ~ 100MHz,测频精度为测频全域内相对误差恒为百万分之一。 占空比:测试精度 1% ~ 99% 相位差:测试两个同频率的信号之间的相位差,测试范围 0 ~ 360 二、设计分析 使用FPGA数字信号处理方法,首先需要将正弦信号转换成可读取的数字方波信号,再经过FPGA设计计算得出所需测量值。 三、模电部分 首先选择比较器,对于 100 MHz 信号,比较器灵敏度需要达到5ns内,TI公司的LTV3501灵敏度为4.5ns,符合要求 由TLV3501数据手册得知:当频率低于 50MHz 的时候,正弦波的峰峰值需大于 20mV,频率高于50MHz时,峰峰值需大于 1V。 然后需要选择放大器,当正弦波幅值为 10mV时, 放大倍数需大于35。方法通过二级放大,一级用OPA847放大20倍,二级用OPA675放大8倍,得到总放大倍数160的正弦波。 经转换后的输出电压符合TTL电平要求,可以被识别出0和1。 四、数电部分 开发板:Cyclone IV E: EP4CE6E22C8 板载时钟为 50MHz,带4个按键和一个复位键(按键按下为0,抬起为1),四个七段数码管(共阳),FPGA的引脚可由杜邦线引出。 设计思路: 测量频率: 输入一个100MHz的基准频率,由计数器CNT1来计算基准频率的上升沿个数,即周期数。 输入一个被测信号,它由计数器CNT2来测量周期数。 两个信号在同一个使能信号EN(使能信号时间为1~2s)下开始计数,计数完后,存储计数结果,由(CNT1 * 10)可以算出具体的计数时间(单位ns),再由((CNT1 * 10ns)/CNT2 )*10^9可算得被测信号频率,单位Hz。 测量占空比: 同样由CNT1测量基准信号100MHz的周期数,使能信号还是EN。 CNT3测量的也是100MHz,但是它的使能信号是在EN使能时,有被测信号时且被测信号为高电平时计数,测得的是被测信号高电平中100MHz周期数的个数,即在一段时间内,高电平的计数个数占总计数个数的比例。 所以占空比计算公式为 CNT3/CNT1 *100。 测量相位差: CNT3同前。 CNT4测量的也是100MHz,但它的使能信号为当被测信号1为高电平,被测信号2为低电平。即被测信号1超前被测信号2的部分计数。用CNT4/CNT3 *180即被测信号1和被测信号2的相位差,但有一个限制,就是被测信号1和被测信号2的占空比都为50%。 原理图: 原理图仿真: 频率: 占空比: 相位差: mySZQLJ :下载用的顶层文件 test :仿真用的顶层文件 KEY :按键模块,用于按键消抖 DFF1 :D触发器,用于等待被测信号上升沿 PL :用于产生测试信号 LPM_PLL :用LPM生成的锁相环,用于倍频 couter32 :32位计数器 process :用于选择数据输出及数据计算 MUX :4选1选择器,选择输出计数器的值 SMG :驱动4个7段数码管 mySZPLJ 顶层文件 KEY模块 加入按键模块是为了防止按键抖动,同时实现TOGGLE,即按一下开始计数,再按一下计数结束。 DFF1模块 DFF1模块可以让使能信号和基准信号,被测信号等同上升沿,提高精准度。 PL模块 PL模块输入100MHz信号,通过程序转换,输出用于测试用的各个信号。 LPM_PLL模块 由于板载晶振50M,达不到100MHz要求,加入LPM_PLL模块为了倍频,得到所需要的100MHz基准信号。 couter32模块 计数器,采用32位,因为2^32100M. process模块 软件转换,由于计算结果会溢出,这里下载到板子的程序并不包含这个,process模块仅用于仿真使用。 MUX模块 4选1模块,选择要输出的结果 SMG模块 驱动4个7段数码管。 五、下载测试与误差分析 下载测试 绑定引脚: 被测1输入: PIN_30 被测2输入: PIM_28 生成的测试信号1Hz: PIN_105 生成的测试信号1KHz: PIN_103 生成的测试信号1MHz: PIN_100 生成的测试信号1KHz: PIN_98 下载与读数: 误差分析 可能出现的误差就是,当基准信号还在高电平和低电平时,EN使能,这会导致CN

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档