基于fpga的数字频率计--2012021750--陈嘉明

上传人:wt****50 文档编号:33500199 上传时间:2018-02-15 格式:DOC 页数:8 大小:146KB
返回 下载 相关 举报
基于fpga的数字频率计--2012021750--陈嘉明_第1页
第1页 / 共8页
基于fpga的数字频率计--2012021750--陈嘉明_第2页
第2页 / 共8页
基于fpga的数字频率计--2012021750--陈嘉明_第3页
第3页 / 共8页
基于fpga的数字频率计--2012021750--陈嘉明_第4页
第4页 / 共8页
基于fpga的数字频率计--2012021750--陈嘉明_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于fpga的数字频率计--2012021750--陈嘉明》由会员分享,可在线阅读,更多相关《基于fpga的数字频率计--2012021750--陈嘉明(8页珍藏版)》请在金锄头文库上搜索。

1、1华南师范大学课程论文题 目: 基于 FPGA 的数字频率计 院 (系): 物理与电信工程学院 专 业: 电子与通信工程 学生姓名: 陈嘉明 学 号: 2012021750 指导老师: 周卫星 2基于 FPGA 的数字频率计摘要介绍了一种运用 FPGA 开发软件 Quartus 设计的数字频率计。使用 Verilog HDL 硬件描述语言编程,该数字频率计能够准确的测量 1Hz 50MHz 脉冲信号, 测量误差较小。关键词: 数字频率计 FPGA Verilog HDL引言频率测量是电子测量领域里的一项重要内容,而高精度频率计的应用尤为广泛。目前,宽范围、高精度数字式频率计的设计方法大都采用单

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

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

4、1/1.2khz。 。分频计数的模块的功能结构框图如图 1-1 所示。clkrstclk_1sclk_1ms2jishuinst图 1-1 分频模块的结构框图在 Altera 公司的软件工具 Quartus中编译和波形仿真后得到的波形如图 1-2 所示:图 1-2 待测信号输入计数的仿真波形2. 门限控制模块本模块根据所给定的计数基时钟,提供输出相应的计数器计数值的清除脉冲与锁存器锁存脉冲与使能信号。门限控制模块的功能结构框图如图 2-1 所示:f1hz Latch_ENCounter_ClrCounter_ENgate_controlinst8图 2-1 门限控制模块的功能结构框图3. 待测

5、信号输入计数模块本模块主要是将待测信号输入,然后对待测信号进行计数,门限信号使用,能对数据的采集更稳定,更准确。待测信号输入计数模块的功能结构框图如图 3-1 所示:4clk_1srstfm_inENCLRclkfm_count26.0count_1_out31.0count_2_out31.0fm_jishuinst9图 3-1 待测信号输入计数模块的功能结构框图在 Altera 公司的软件工具 Quartus中编译和波形仿真后得到的波形如图 3-2 所示:图 3-2 待测信号输入计数的仿真波形4. 门闩缓存模块本模块为所采集到的数据进行缓存处理,防止由于采集数据过快而导致数据丢失或者前一个

6、数据被后一个数据所覆盖等问题。门闩缓存模块的功能结构框图如图 4-1 所示:clkA26.0A_131.0A_231.0Q26.0Q_131.0Q_231.0flip_latchinst10图 4-1 门闩缓存模块的功能结构框图5. 核心模块本模块为 SOPC 片上系统构建,系统时钟为 100MHz。核心模块的功能结构框图如图5-1 所示。5clk reset_n in_port_to_the_DATA_INPUT26.0 in_port_to_the_KEY in_port_to_the_count_131.0 in_port_to_the_count_231.0 LCD_E_from_th

7、e_LCD LCD_RS_from_the_LCD LCD_RW_from_the_LCD zs_addr_from_the_sdram11.0 zs_ba_from_the_sdram1.0 zs_cas_n_from_the_sdram zs_cke_from_the_sdram zs_cs_n_from_the_sdram zs_dqm_from_the_sdram1.0 zs_ras_n_from_the_sdram zs_we_n_from_the_sdram LCD_data_to_and_from_the_LCD7.0 zs_dq_to_and_from_the_sdram15.

8、0 KERNELinst图 5-1 核心模块 SOPC 的功能结构图该模块定义输入输出端口如图 5-2 所示:图 5-2 SOPC 内部构建6. 设计数字频率计电路Verilog HDL 具有行为描述和结构描述功能。行为描述是对设计电路的逻辑功能的描述,并不用关心设计电路使用哪些元件及这些元件之间的连接关系。而结构描述是对设计电路的结构进行描述,即描述设计电路使用的元件及这些元件之间的连接关系。本文用行为描述和结构描述分别实现电路系统。顶层文件如下图 6-1 所示,实现的功能是将检测出的频率显示出来。6PIN_N2 VCCCLOCK INPUTPIN_G26 VCCKEY0 INPUTPIN_

9、K26 VCCGPIO_B37 INPUTPIN_T6PIN_V4PIN_V3PIN_W2PIN_W1PIN_U6PIN_U7PIN_U5PIN_W4PIN_W3PIN_Y1PIN_V5S_A11.0OUTPUTAE2AE3S_BA1.0OUTPUT I BS_nCASOUTPUTI_AA6S_CKEOUTPUTABS_nRASOUTPUT ADS_nWEOUTPUTI_AC3S_nCSOUTPUTYD2S_DQM1.0OUTPUTPIN_AA7S_CLKOUTPUTPIN_K3LCD_EOUTPUT PIN_K1LCD_RSOUTPUTPIN_K4LCD_RWOUTPUTPIN_L4LCD_

10、ONOUTPUT PIN_K2LCD_BLONOUTPUTI V6I AA2I A1I YI 4I R8PIN_T8PIN_V7PIN_W6PIN_AB2PIN_AB1PIN_AA4PIN_AA3PIN_AC2PIN_AC1PIN_AA5VCC S_DB15.0BIDIRPIN_H3PIN_H4PIN_J3PIN_J4PIN_H2PIN_H1PIN_J2J1VCC LCD7.0BIDIRCyclone IIinclk0 frequency: 50.000 MHzOperation Mode: NormalClk RatioPh (dg)DC (%)c0 2/1 0.00 50.00c1 2/1

11、 -75.00 50.00inclk0 c0c1PLLinst1VCCclk reset_n in_port_to_the_DATA_INPUT26.0 in_port_to_the_KEY in_port_to_the_count_131.0 in_port_to_the_count_231.0 LCD_E_from_the_LCD LCD_RS_from_the_LCD LCD_RW_from_the_LCD zs_addr_from_the_sdram11.0 zs_ba_from_the_sdram1.0 zs_cas_n_from_the_sdram zs_cke_from_the_

12、sdram zs_cs_n_from_the_sdram zs_dqm_from_the_sdram1.0 zs_ras_n_from_the_sdram zs_we_n_from_the_sdram LCD_data_to_and_from_the_LCD7.0 zs_dq_to_and_from_the_sdram15.0 KERNELinstclkrst clk_1sclk_1ms2jishuinst3VCCVCCVCCf1hz Latch_ENCounter_ClrCounter_ENgate_controlinst8clk_1srstfm_inENCLRclkfm_count26.0

13、count_1_out31.0count_2_out31.0fm_jishuinst9clkA26.0A_131.0A_231.0Q26.0Q_131.0Q_231.0flip_latchinst10图 6-1 频率计顶层设计图二)硬件实现1. 引脚锁定对数字频率计进行实验验证时,需要确定用开发板的哪些输入/输出端口(PI/O )来表示设计电路的输入输出。根据 Cyclone II EP2C35F672C6N 开发板的管脚。数字频率计与 EP2C35F672C6N 中的目标芯片引脚连接的全部关系见表 1-1。表 1-1 频率计与目标芯片引脚连接关系表(部分如下所示)7三)软件实现系统显示部分使

14、用 nios实现,由于 LCD1602 显示器直接使用 SOPC 固件库里的lcd1602 固件,所以在 nios上无需像以往单片机控制 LCD1602 那样,得写时序。主要功能函数如下所示:/*定义控制函数 */#define LCD_Write_CMD(data) IOWR(LCD_BASE_1602, 0, data) #define LCD_Write_Data(data) IOWR(LCD_BASE_1602, 2, data)#define LCD_Read_Data() IORD(LCD_BASE_1602, 3)从公式中可看出,nios里的 LCD1602 是直接对寄存器进行操

15、作的。在 nios里通过定义结构体函数,从而对寄存器的各数据位进行读写操作。端口的结构体函数如下所示:/*-PIO-*/typedef structunsigned long int DATA;unsigned long int DIRECTION;unsigned long int INTERRUPT_MASK;unsigned long int EDGE_CAPTURE;PIO_STR;系统设计可以显示一个 8 位的数据,由于在 LCD1602 上显示的是 ASCII 码,故需要8对所采集到的数据的每一位进行分离,各位数字分离算法如下:LCD_SetPos(1,4);LCD_Write_Data(0x30 + data/10000000);LCD_SetPos(1,5);LCD_Write_Data(0x30 + (data/1000000)%10);LCD_SetPos(1,6);LCD_Write_Data(0x30 + (

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号