




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 I 摘 要 本文介绍了基于 FPGA 的数字频率计的设计方法 设计采用硬件描述语言 Verilog 在软件开发平台 ISE 上完成 可以在较高速时钟频率 48MHz 下 正常工作 该数字频率计采用测频的方法 能准确的测量频率在 10Hz 到 100MHz 之间的信号 使用 ModelSim 仿真软件对 Verilog 程序做了仿真 并 完成了综合布局布线 最终下载到芯片 Spartan3A 上取得良好测试效果 关键词 关键词 FPGA Verilog ISE 测频方法 摘要 I Abstract This paper introduces the design method of digital frequency meter based on FPGA which use hardware description language Verilog in software development platform ISE and can word in relatively high speed clock of 48MHz The frequency meter uses the method of frequency measurement which could accurately measure the frequency of signals between 10Hz to 100MHz This system uses the simulation tool ModelSim to run and debug the Verilog program and design the circuit placement A good result can be achieved when the program was burnt on the chip Spartan3A Keywords FPGA Verilog ISE Frequency Measurement 目录 II 目 录 第一章第一章 测量原理与方法测量原理与方法 4 1 1测频方法 4 1 2测周方法 5 1 3等精度测量法 5 1 4放大整形电路 6 1 5时基信号产生 7 第二章第二章 任务要求任务要求 8 第三章第三章 各模块功能及介绍各模块功能及介绍 8 3 1 分频器 8 4 2 闸门选择器 10 4 3 频率计数器 12 4 4 锁存器 14 4 5 扫描显示控制译码系统 15 第四章第四章 顶层电路及总体仿真顶层电路及总体仿真 16 4 1 顶层电路 16 4 2 总体仿真结果 16 4 3 测试结果 19 数字频率计 3 第一章 测量原理与方法 所谓 频率 就是周期性信号在单位时间 秒 内变化的次数 若在一定的时间间 隔 T 内计数 计得某周期性信号的重复变化次数为 N 则该信号的频率可表达为 f N T 所以测量频率就要分别知道 N 和 T 的值 由此 测量频率的方法一般有三 种 测频方法 测周方法和等精度测量 1 1 测频方法测频方法 这种方法即已知时基信号 频率或周期确定 做门控信号 T 为已知量 然后在 门控信号有效的时间段内进行输入脉冲的计数 原理图如下图所示 图 1 1 测频方法原理图 首先 被测信号 以正弦波为例 经过放大整形后转变成方波脉冲 其重复频 率等于被测信号频率 把方波脉冲 加到闸门的输入端 由一个高稳定的石英振荡 器和一系列数字分频器组成了时基信号发生器 它输出时间基准 或频率基准 信号 去控制门控电路形成门控信号 门控信号的作用时间 T 是非常准确的 由石英振荡 器决定 门控信号控制闸门的开与闭 只有在闸门开通的时间内 方波脉冲 才能 通过闸门成为被计数的脉冲 由计数器计数 闸门开通的时间称为闸门时间 其长 度等于门控信号作用时间 T 比如 时间基准信号的重复周期为 1S 加到闸门的门 控信号作用时间 T 亦准确地等于 1S 即闸门的开通时间 闸门时间 为 1S 在 这一段时间内 若计数器计得 N 100000 个数 根据公式 f N T 那么被测频率就 是 100000Hz 如果计数式频率计的显示器单位为 KHz 则显示 100 000KHz 即 数字频率计 4 小数点定位在第三位 不难设想 若将闸门时间设为 T 0 1S 则计数值为 10000 这时 显示器的小数点只要根据闸门时间 T 的改变也随之自动往右移动一位 自动定 位 那么 显示的结果为 100 00Khz 在计数式数字频率计中 通过选择不同的闸 门时间 可以改变频率计的测量范围和测量精度 1 2测周方法测周方法 测周方法即 被测信号 频率或周期待测 做门控信号 T 为未知量 做门控信 号 T 然后在门控信号有效的时间段内对时基信号脉冲计数 原理图如下图所示 图 1 2 测周方法原理图 计 数器 测周 的基 本原 理刚 好与 测频相反 即由被测信号控制主门开门 而用时标脉冲进行计数 所以实质上也是 一种比较测量方法 1 3等精度测量法等精度测量法 等精度测量法的核心思想是通过闸门信号与被测信号同步 将闸门时间 控制 为被测信号周期长度的整数倍 测量时 先打开预置闸门 当检测到被测信号脉冲 沿到达时 标准信号时钟开始计数 预置闸门关闭时 标准信号并不立即停止计数 而是等检测到被测信号脉冲沿到达时才停止 完成被测信号整数个周期的测量 测 量的实际闸门时间可能会与预置闸门时间不完全相同 但最大差值不会超过被测信 号的一个周期 在等精度测量法中 相对误差与被测信号本身的频率特性无关 即对整个测量 域而言 测量精度相等 因而称之为 等精度测量 标准信号的计数值越大则测量 相对误差越小 即提高门限时间 和标准信号频率可以提高测量精度 在精度不 c f 变的情况下 提高标准信号频率可以缩短门限时间 提高测量速度 原理图如下 数字频率计 5 1 4放大整形电路放大整形电路 放大整形电路包括衰减器 跟随器 放大器 施密特触发器 衰减器由两个双 向限幅二极管构成 将来的信号限制在 0 7v 到 0 7v 之间 跟随器由一个集成运算放 大器组成 以增大带负载能力 放大器为由集成运放构成一个同向比例放大器 放 大位数为 50 倍 施密特触发器由 555 定时器组成 实现对波形的整形 整形后的方 波送到闸门以便计数 其仿真电路如下图所示 图 1 5 放大整形电路 当输入信号为 0 5V 时 仿真放大整形后的输出结果如下图示 图 1 4 等精度测量的原理图 数字频率计 6 图 1 6 放大整形电路仿真结果 一 当输入信号为 3V 时 仿真放大整形后的输出结果如下图示 图 1 6 放大整形电路仿真结果 二 当输入信号为 10V 时 仿真放大整形后的输出结果如下图示 1 5时基信号产生时基信号产生 系统所使用的时钟信号由时基信号产生模块产生 它由一块晶体振荡器及简单 的电路组成 如下图所示 图 1 7 时基信号产生电路 第二章 任务要求 设计一个计数式频率计 其频率测量范围为 10Hz 1MHz 测量结果用 6 只数 图 1 6 放大整形电路仿真结果 三 数字频率计 7 码管显示 有三个带锁按键开关 任何时候都只能有一个被按下 被用来选择 1S 0 1S 和 0 01S 三个闸门时间中的一个 有一个按钮开关用来使频率计复位 有 两只 LED 一只用来显示闸门的开与闭 另一只当计数器溢出时做溢出指示 下图 显示了该频率计前面板的基本排布构想 第三章 各模块功能及介绍 3 1 分频器分频器 由于晶体振荡器提供的为由于晶体振荡器提供的为 48M 的时钟 而在整个频率计里的时钟 而在整个频率计里 将用到周期为将用到周期为 2s 0 2s 和和 0 02s 的闸门信号 还有译码显示的的闸门信号 还有译码显示的 扫描信号扫描信号 1KHz 所以我们在此模块先分频产生 所以我们在此模块先分频产生 1Hz 10Hz 100Hz 1KHz 四个分频信号 以留作其它模块用 四个分频信号 以留作其它模块用 分频分别采用分频分别采用 4 个计数器来实现 当计到一定的值时输出个计数器来实现 当计到一定的值时输出 的分频信号翻转 最后分别获得的分频信号翻转 最后分别获得 4 个分频输出 分频器模块如个分频输出 分频器模块如 下图所示 下图所示 图图 3 1 分频器模块分频器模块 此模块的复位为同步方式 当复位有效时 输出将清零 此模块的复位为同步方式 当复位有效时 输出将清零 源程序如下 源程序如下 module div clk reset clk 数字频率计 8 clk 1hz clk 10hz clk 100hz clk 1khz input reset clk output reg clk 1hz clk 10hz clk 100hz clk 1khz reg 29 0 counter1 counter2 counter3 counter4 分频计数值分频计数值 always posedge clk or negedge reset begin if reset begin counter1 0 counter2 0 counter3 0 counter4 0 clk 1hz 0 clk 10hz 0 clk 100hz 0 clk 1khz 0 endelse begin if counter1 24000000 begin counter1 0 clk 1hz clk 1hz end else begin counter1 counter1 1 end if counter2 2400000 begin counter2 0 clk 10hz clk 10hz end else begin counter2 counter2 1 end if counter3 240000 begin counter3 0 clk 100hz clk 100hz end else begin counter3 counter3 1 end if counter4 24000 begin counter4 0 clk 1khz clk 1khz end else begin counter4 counter4 1 end end end endmodule 仿真图如下所示 仿真图如下所示 图图 3 2 分频器模块仿真图 一 分频器模块仿真图 一 图图 3 3 分频器模块仿真图 二 分频器模块仿真图 二 数字频率计 9 4 2 闸门选择器闸门选择器 该模块主要实现对闸门的选择功能 通过输入的门选信号该模块主要实现对闸门的选择功能 通过输入的门选信号 来确定输出的闸门 生成的模块如下图所示 来确定输出的闸门 生成的模块如下图所示 图图 3 4 闸门选择器闸门选择器 具体实现方法如下 当三个门选信号中有且仅有门选信号具体实现方法如下 当三个门选信号中有且仅有门选信号 gate ch1 有效时 有效时 reg 变量变量 gate 为为 clk 1hz f 的值为的值为 01 当 当 三个门选信号中有且仅有门选信号三个门选信号中有且仅有门选信号 gate ch2 有效时 有效时 reg 变量变量 gate 为为 clk 10hz f 的值为的值为 10 当三个门选信号中有且仅有门 当三个门选信号中有且仅有门 选信号选信号 gate ch3 有效时 有效时 reg 变量变量 gate 为为 clk 100hz f 的值的值 为为 11 reg 变量变量 gate 再二分频则是输出的闸门信号再二分频则是输出的闸门信号 gate out f 为标记信号 标记了当前闸门的选择情况 为标记信号 标记了当前闸门的选择情况 如果同时有两个或 如果同时有两个或 以上的门选信号有效 则以上的门选信号有效 则 err 输出为低 否则为高 输出为低 否则为高 另外输出的译码扫描信号为另外输出的译码扫描信号为 clk 1khz 供后面的扫描译 供后面的扫描译 码模块使用 码模块使用 本模块的本模块的源代码如下所示 源代码如下所示 module gate ch reset gate ch1 gate ch2 gate ch3 clk 1hz clk 10hz clk 100hz clk 1khz gate out err scan freq f 数字频率计 10 input reset gate ch1 gate ch2 gate ch3 clk 1hz clk 10hz clk 100hz clk 1khz output reg gate out err output wire scan freq output reg 1 0 f reg 2 0 counter5 产生扫描信号时的分频计数产生扫描信号时的分频计数 值值 reg gate always posedge clk 1khz or negedge reset begin if reset begin gate 0 counter5 0 err 1 f 2 b01 end else begin if gate ch1 0 f 2 b01 err 1 end else if gate ch1 1 f 2 b10 err 1 end else if gate ch1 1 f 2 b11 err 1 end else begin err 0 end end end assign scan freq clk 1khz always posedge gate or negedge reset begin if reset begin gate out 0 end else begin gate out gate out end end endmodule 仿真结果如下图所示 仿真结果如下图所示 图图 3 5 当当 且且 仅仅 当当 数字频率计 12 gate ch2 有效时的仿真结果图 一 有效时的仿真结果图 一 4 3 频率计数器频率计数器 频率计数器的功能为在输入的闸门信号的控制下对输入脉冲频率计数器的功能为在输入的闸门信号的控制下对输入脉冲 时行计数 它是一个时行计数 它是一个 7 拉的模十计数器 生成的模块如下图所拉的模十计数器 生成的模块如下图所 示 示 图图 3 6 当且仅当当且仅当 gate ch2 有效时的仿真结果图 一 有效时的仿真结果图 一 当当 gate out 信号为高时才计数器才计数 在信号为高时才计数器才计数 在 gate out 为低为低 后 马上将此时计数的值后 马上将此时计数的值 cnt 赋给输出赋给输出 cnte 然后当输入 然后当输入 carry in 信号再过一个脉冲后降计数的值信号再过一个脉冲后降计数的值 cn 清零 以备下次闸清零 以备下次闸 门有效时又重新开始计数 源程序如下 门有效时又重新开始计数 源程序如下 module count carry in gate out reset cnte0 cnte1 cnte2 cnte3 cnte4 cnte5 cnte6 input carry in gate out reset output reg 3 0 cnte0 cnte1 cnte2 cnte3 cnte4 cnte5 cnte6 在每一次闸门有效在每一次闸门有效 时读数时读数 器传递的计器传递的计 数值数值 reg 3 0 cnt0 cnt1 cnt2 cnt3 cnt4 cnt5 cnt6 计数器的计数器的 6 个计数值个计数值 reg 2 0 counter6 延迟将延迟将 counter num 清零清零 的计数值的计数值 always posedge carry in or negedge reset begin if reset begin cnt0 4 b0000 cnt1 4 b0000 cnt2 4 b0000 cnt3 4 b0000 cnt4 4 b0000 cnt5 4 b0000 cnt6 4 b0000 判断是否溢出判断是否溢出 cnte0 4 b0000 cnte1 4 b0000 cnte2 4 b0000 数字频率计 13 cnte3 4 b0000 cnte4 4 b0000 cnte5 4 b0000 counter6 0 end else begin if gate out 1 begin counter6 0 if cnt5 4 b1001 cnt1 4 b0000 cnt2 4 b0000 cnt3 4 b0000 cnt4 4 b0000 cnt5 4 b0000 cnt6 cnt6 4 b0001 end else begin if cnt4 4 b1001 cnt1 4 b0000 cnt2 4 b0000 cnt3 4 b0000 cnt4 4 b0000 cnt5 4 b0001 cnt5 cnt6 cnt6 end else begin if cnt3 4 b1001 cnt1 4 b0000 cnt2 4 b0000 cnt3 4 b0000 cnt4 4 b0001 cnt4 cnt5 cnt5 cnt6 cnt6 end else begin if cnt2 4 b1001 cnt1 4 b0000 cnt2 4 b0000 cnt3 4 b0001 cnt3 cnt4 cnt4 cnt5 cnt5 cnt6 cnt6 end else begin if cnt1 4 b1001 cnt1 4 b0000 cnt2 4 b0001 cnt2 cnt3 cnt3 cnt4 cnt4 cnt5 cnt5 cnt6 cnt6 end else begin if cnt0 4 b1001 begin cnt0 4 b0000 cnt1 4 b0001 cnt1 cnt2 cnt2 cnt3 cnt3 cnt4 cnt4 cnt5 cnt5 cnt6 cnt6 end else begin cnt0 4 b0001 cnt0 cnt1 cnt1 cnt2 cnt2 cnt3 cnt3 cnt4 cnt4 cnt5 cnt5 cnt6 cnt6 end end end end end end end else begin if counter6 2 b01 begin cnt0 4 b0000 cnt1 4 b0000 cnt2 4 b0000 cnt3 4 b0000 cnt4 4 b0000 cnt5 4 b0000 cnt6 4 b0000 end else begin counter6 counter6 1 cnte0 cnt0 cnte1 cnt1 cnte2 cnt2 cnte3 cnt3 cnte4 cnt4 cnte5 cnt5 cnte6 cnt6 end end end end endmodule 频率计数器的仿真工作时序如图所示 频率计数器的仿真工作时序如图所示 数字频率计 14 图图 3 7 频率计数器的仿真结果图频率计数器的仿真结果图 4 4 锁存器锁存器 如果计数器输出直接与译码器相连接 那么在计数过程中如果计数器输出直接与译码器相连接 那么在计数过程中 输出端则随输入脉冲数的增加而不断跳变 那么显示数码管则输出端则随输入脉冲数的增加而不断跳变 那么显示数码管则 也会不断闪烁跳变 让人不能看到稳定的输出 设锁存器后 也会不断闪烁跳变 让人不能看到稳定的输出 设锁存器后 则不再跳变 便可清晰读出计数结果 其生成的功能模块如图则不再跳变 便可清晰读出计数结果 其生成的功能模块如图 所示 所示 数字频率计 15 图图 3 7 锁存器模块锁存器模块 这模块实现了对七位计数结果的锁存功能 程序很简单如下所示 这模块实现了对七位计数结果的锁存功能 程序很简单如下所示 module latch reset clk 1hz cnte0 cnte1 cnte2 cnte3 cnte4 cnte5 cnte6 cn0 cn1 cn2 cn3 cn4 cn5 cn6 input reset clk 1hz input 3 0 cnte0 cnte1 cnte2 cnte3 cnte4 cnte5 cnte6 output reg 3 0 cn0 cn1 cn2 cn3 cn4 cn5 cn6 always posedge clk 1hz or negedge reset begin if reset begin cn0 4 b0000 cn1 4 b0000 cn2 4 b0000 cn3 4 b0000 cn4 4 b0000 cn5 4 b0000 cn6 4 b0000 end else begin cn0 cnte0 cn1 cnte1 cn2 cnte2 cn3 cnte3 cn4 cnte4 cn5 cnte5 cn6 cnte6 end end endmodule 数字频率计 16 4 5 扫描显示控制译码系统扫描显示控制译码系统 本模块在扫描信号的本模块在扫描信号的 scan for 的控制下 对多路选择器进的控制下 对多路选择器进 行扫描 实现对实现对六位已经锁存的计数结果的扫描输出 行扫描 实现对实现对六位已经锁存的计数结果的扫描输出 由于人眼的视觉暂留效应 每支数码管只需大于由于人眼的视觉暂留效应 每支数码管只需大于 25Hz 的扫描的扫描 频率即可实现动态扫描 所以我们用频率即可实现动态扫描 所以我们用 1KHz 的扫描信号足以 的扫描信号足以 其生成的功能模块如图所示 其生成的功能模块如图所示 图图 3 7 频率计数器的仿真结果图频率计数器的仿真结果图 本模块还实现了高位的无意义的消隐 即高位若值为零且本模块还实现了高位的无意义的消隐 即高位若值为零且 无意义时 相应的数码管将不会显示 输出信号无意义时 相应的数码管将不会显示 输出信号 over 通过最高通过最高 位位 cnt6 是否有值来判断结果是否溢出 如果溢出则是否有值来判断结果是否溢出 如果溢出则 over 输出输出 结果为低结果为低 led khz 为单位标志 如果为单位标志 如果 led khz 为有效时 显为有效时 显 示结果的单位为示结果的单位为 KHz dot 实现了小数点的显示 其源程序较实现了小数点的显示 其源程序较 数字频率计 17 多 可以附录中查看 此模块的仿真结果如下所示 多 可以附录中查看 此模块的仿真结果如下所示 图图 3 7 频率计数器的仿真结果图频率计数器的仿真结果图 第四章第四章 顶层电路及总体仿真顶层电路及总体仿真 4 1 顶层电路顶层电路 顶层电路如下图所示 顶层电路如下图所示 数字频率计 18 数字频率计 19 图图 4 1 顶层电路图顶层电路图 4 2 总体仿真结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聚酯底漆行业深度研究分析报告(2024-2030版)
- 2025年 公路交通安全生产管理能力考试练习题附答案
- 2025年 蚌埠行知高级中学招聘考试笔试试题附答案
- 2023-2028年中国干果坚果行业市场发展监测及投资战略咨询报告
- 中国纤维柄斧子行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 中国天花板行业市场深度研究及发展趋势预测报告
- 2025年中国点阵式显示器行业发展潜力分析及投资方向研究报告
- 中国紫胶行业市场调查报告
- 2025年中国止挡片行业市场发展前景及发展趋势与投资战略研究报告
- 中国空调压缩机减震垫行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 租房合同到期交接协议书
- 道路人行天桥加装电梯导则(试行)
- 中国废旧轮胎橡胶粉项目投资计划书
- 子宫内膜异位性疾病护理
- 人工智能芯片研究报告
- 2025-2030母婴用品产业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025贵州中考:历史高频考点
- pc构件吊装安全专项施工方案
- 汽车质量意识培训
- 2025万家寨水务控股集团所属企业校园招聘82人笔试参考题库附带答案详解
- 管网工程有限空间内清淤作业检测修复安全专项施工方案
评论
0/150
提交评论