ImageVerifierCode 换一换
格式:DOC , 页数:45 ,大小:250.50KB ,
资源ID:138225      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-138225.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的数字频率计说明书.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的数字频率计说明书.doc

1、玉林师范学院 课程论文 题 目: 基于 FPGA 的数字频率计 院 (系): 电子与通信工程学院 专 业: 电子信息与科学技术 学生姓名: zhengyongyong 学 号: 指导老师: 年 月 日 评语 得分 2 基于 FPGA 的数字频率计 摘要 介绍了一种运用 FPGA开发软件 Quartus 设计的数字频率计。 使用 Verilog HDL 硬件描述语言 编程, 该数字频率计 能够准确的测量 1 H z 3MH z 脉冲信号 , 测量误差小。 关键词 : 数字频率计 fpga Verilog HDL 引言 频率测量是电子测量领域里的一项重要内容,而高精度频率计的应用尤为广泛。目前,宽

2、范围、高精度数字式频率计的设计方法大都采用单片机加高速、专用计数器芯片来实现。本文设计的高 精度频率计除了对被测信号的整形部分、键输入和最后的数码显示部分必须用硬件实现以外,其余全部采用 Verilog HDL 编程设计,并下载在一片 FPGA(Field Programmable Gates Array 现场可编程门阵列 )芯片上,整个系统非常精简,并能够达到同样的技术指标。根据不同的需要还可以重新编程下载,进行升级。 FPGA 器件作为系统控制的核心,其灵活的现场可更改性,可再配置能力,对系统的各种改进非常方便,在不更改硬件电路的基础上还可以进一步提高系统的性能。具有高速、精确、可靠、抗干

3、扰性强和现场 可编程等优点。 设计原理 本文设计了一个 数字频率计 的模型,其接口信号如图 ( 一 ) 所示。3 图 (一 ) 数字频率计 模型方框图 数字频率计设计框图如图 1 所示 , 主要由分频器、测量频率控制电路、十 进制计数器、寄存器、 液晶驱动 等六个模块组成。当系统正常工作时 , 系统时钟经分频得到的 IHZ : 标准方波信号 , 作为频率测量控制电路的输人信 号 ,用 1S 的时间使能计数器计数 ,将结果保存到锁存器 , 就可以保证输出显示稳定。将 计数值转换为 ASCII 码, 采用 LCD12864 显示待测信号的频率。 设计内容 一)源程序 1 分频计数模块 本模块主要是

4、 把 50M 的信号分频为 1hz 和 1/1.2khz。 分频计数 的模块的功能结构框图如图 1-1 所示。 clkrstclk_1sclk_1ms2jishuinst 图 1-1 计算里程和车费模块的功能结构框图 根据模块实现的功能设计 Verilog HDL 源代码如下: module jishu( 50M时钟 分频 测量控制电 路 计数器 寄存器 液晶LCD12864 显 示 驱动液晶模块 待测信号 4 clk,rst, clk_1s,clk_1ms2 ); input clk,rst; output clk_1s,clk_1ms2; reg clk_1ms2; reg clk_1s;

5、 reg25:0count_1s; reg14:0count_1ms2; /parameter cen_1ms2=30000; /parameter cen_1s=50000000; always(posedge clk or negedge rst) begin if(!rst) count_1s=0; else begin if(count_1s=50000000) begin count_1s=0; clk_1s=clk_1s; end else count_1s=count_1s+1b1; end end always(posedge clk or negedge rst) begin

6、 if(!rst) count_1ms2=0; else begin if( count_1ms2=30000) 5 begin count_1ms2=0; clk_1ms2= clk_1ms2; end else count_1ms2= count_1ms2+1b1; end end endmodule 该模块定义输入输出端口如下: clk: 全局时钟信号,这里为 50MHz 的时钟。 rst: 外部复位信号 。 clk_1s: 由 50MHZ 的信号分频得到 。 clk_1ms2: 由 50MHZ 的信号分频得到 。 在 Altera 公司的软件工具 Quartus (Windows XP

7、 环境下 )中编译和波形仿真后得到的波形如图 2-2 所示: 图 2-2 待 测信号输入计数 的仿真波形 2 待测信号 输 入计数 模块 本模块主要是将 待测信号输入 ,然后对 待测信号 进行计数 。 待测信号输入计数模块 的功能结构框图如图 2-1 所示: c lk _1 srs tf m _i nf m _c ou nt 26 .0f m _j is huin s t1 图 2-1 待测信号输入计数模块 的 功能结构框图 根据模块实现的功能设计 Verilog HDL 源代码如下: 6 module fm_jishu(clk_1s,rst,fm_in,fm_count); input fm

8、_in,clk_1s,rst; output26:0 fm_count; reg26:0 fm_count; reg26:0 count; always(posedge fm_in or negedge rst) begin if(!rst) count=0; else if(!clk_1s)count=0; else begin count=count+1b1; end end always(negedge clk_1s or negedge rst) begin if(!rst) fm_count=0; else fm_count=count; end endmodule 该程序定义输入输

9、出端口如下: clk_1s: 分频得到的 输入信号 1HZ。 fm_in: 待测输入信号 。 fm_count: 输入信号的计数 。 rst: 外部复位信号 。 在 Altera 公司的软件工具 Quartus (Windows XP 环境下 )中编译和波形仿真后得到的波形如图 2-2 所示: 图 2-2 待测信号输入计数 的仿真波形 7 3 液晶 显示模块 本模块为动态显示,时间间隔为秒。动态显示模块的功能结构框图如图 3-1所示。 in it 000 U n s ig n e d B in a r yw r it e _ d a t a _ 1 001 U n s ig n e d B i

10、n a r yw r it e _ d a t a _ 2 010 U n s ig n e d B in a r yw r it e _ d a t a _ 3 011 U n s ig n e d B in a r yw r it e _ d a t a _ 4 100 U n s ig n e d B in a r yP a r a m e t e r V a lu e T y p ec lk _ 1 m s 2d a t a 2 6 . . 0 rs t _ nL C D _ d a t a 7 . . 0 L C D _ R SL C D _ R WL C D _ E NL C D

11、_ P S BL C D _ R S TL C D _ 1 2 8 6 4in s t 2图 3-1 动态显示模块的功能结构图 根据模块实现的功能设 计 Verilog HDL 源代码如下: module LCD_12864( input clk_1ms2, /1.2ms 时钟 input26:0 data, /数据输入 input rst_n, /复位 output reg7:0 LCD_data,/LCD12864 的数据线 output reg LCD_RS, /LCD12864 的寄存器选择: H:数据寄存器 L:指令寄存器 output LCD_RW, /LCD12864 的读写信号

12、线: H:读 L:写 output LCD_EN, /LCD12864 的使能端:下降沿触发 ,锁存数据 output LCD_PSB,/LCD12864 串 /并选择 H:并 行 L:串行 output LCD_RST /LCD12864 复位端:低电平有效 ); /+ 8 / LCD12864 驱动部分 开始 /+ parameter init = 3d0, /初始化 写指令 write_data_1 =3d1, /第一行 写数据 write_data_2 =3d2, /第二行 写数据 write_data_3 =3d3, /第三行 写 数据 write_data_4 =3d4; /第四行

13、 写数据 reg2:0 state; /状态码 reg4:0 counter; /计数 assign LCD_EN =clk_1ms2; /LCD12864 的使能端:下降沿触发 ,锁存数据 assign LCD_PSB = 1b1; /LCD12864 串 /并选择: H:并行 L:串行 assign LCD_RST = 1b1; /LCD12864 复位端:低电平有效 assign LCD_RW = 1b0; /没有读操作, R/W 信号始终为低电平 always (posedge clk_1ms2 or negedge rst_n) begin if(!rst_n) begin coun

14、ter =0; /计数清零 state = init; /复位回到 init 码 end else begin case(state) init:begin /LCD12864 初始化 写数据 LCD_RS = 0; counter = counter+4d1; case(counter) 1: LCD_data = 8h30;/0x30:基本指令 2: LCD_data = 8h02;/0x02:地 址归位 9 3: LCD_data = 8h01;/0x01:清屏 4: LCD_data = 8h06;/0x06:光标右移 5: LCD_data = 8h0c;/0x0c: 6: begi

15、n LCD_data = 8h80; state = write_data_1;/转移到写第一行数据 counter = 0; end default: counter = 0; endcase end write_data_1:begin /LCD12864 写第一行数据 LCD_RS = 1; case(counter) 0: LCD_data = “ “; /空格 1: LCD_data = “ “; /空格 2: LCD_data = 8hD3; 3: LCD_data = 8hF1; 4: LCD_data = 8hC1; 5: LCD_data = 8hD6; 6: LCD_dat

16、a = 8hCA; 7: LCD_data = 8hA6; 8: LCD_data = 8hB7; 9: LCD_data = 8hB6; 10: LCD_data = 8hD1; 11: LCD_data = 8hA7; 12: LCD_data = 8hD4; 13: LCD_data = 8hBA; 14: LCD_data = “ “; 10 15: LCD_data = “ “; 16: begin LCD_RS = 0; LCD_data = 8h90; end default: counter = 0; endcase if(counter = 16) begin counter

17、 = 0; state = write_data_2; end else counter = counter+4d1; end write_data_2:begin /LCD12864 写第二行数据 LCD_RS = 1; case(counter) 0: LCD_data = 8hB4; 1: LCD_data = 8hB4; 2: LCD_data = 8hD0; 3: LCD_data = 8hC2; 4: LCD_data = 8hBB; 5: LCD_data = 8hF9; 6: LCD_data = 8hB5; 7: LCD_data = 8hD8; 8: LCD_data =“-“; / 9: LCD_data =“-“; 10: LCD_data = “F“; /“F“ 11: LCD_data = “P“; /“P“

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。