基于fpga的8位16进制频率计设计内容摘要:

电位器 RP用于调节充放电时间常数, D1和 D2两只二极管起到隔离电容 C的充电放电路的作用。 充电回路( VCC R1’ D1 C地)的时间常数 TPH=’ C放电回路( C D2 R’ 2 地)的时间常数 TPL= 方波的占空比(其中 R R2 为 、C为 1000uf、 RP为 10K 可调电位器)通过调节可调电位器使得占空比为 50%此时输出为 1HZ。 R1’ R2’ Rp12345678 U1555R1R2D1D2C2C1VCCVO图 22 555多谐振荡电路 工程师范学院 2020届本科生毕业设计 7 显示 及控制 模块 LED 显示器是由发光二极管显示字段组成的显示块,有 7段和“米”字段之分。 这种显示块有共阳极和共阴极两种。 此外,显示块中还有一个圆点型发光二极管用于显示小数点。 通过发光二极管亮、暗的不同组,可以显示多中数字、字母以及其他符号。 LED 显示块中的发光二极管共有两种连接方法,本系统采用共阴极接法 ,如图 23。 图 23 数码管显示电路 VCCS110uC510KR1P1复位D1 VCCS110uC510KR1P1复位D1VCCS110uC510KR1P1 VCCS110uC510KR1P1D1 VCCS110uC510KR1P1复位D1 abccdefgh123456781615141312111091KRp1Q99013A1f2g3e4d5A6c8DP7b9a10LED1A1f2g3e4d5A6c8DP7b9a10LED2A1f2g3e4d5A6c8DP7b9a10LED3A1f2g3e4d5A6c8DP7b9a10LED4A1f2g3e4d5A6c8DP7b9a10LED5A1f2g3e4d5A6c8DP7b9a10LED6A1f2g3e4d5A6c8DP7b9a10LED7A1f2g3e4d5A6c8DP7b9a10LED8abccdefghabccdefghabccdefghabccdefghabccdefghabccdefghabccdefghabccdefghQ89013Q79013Q69013Q59013Q49013Q39013Q2901312zp11 2 3 4 5 6 7 816 15 14 13 12 11 10 9470RP48位共阴数码管动态显示P54P55P56P57P58P60P61P63P64 P65 P67 P68 P69 P70 P73 P74 工程师范学院 2020届本科生毕业设计 8 3 基于 FPGA 器件的功能模块 设计 FPGA 是频率计设计的核心部分, VHDL 是实现 FPGA 功能的基本语言。 VHDL 简介 VHDL的英文全名是 Very一 High一 Speed Integrated Circuit Hardware Description Language,诞生于 1982年。 1987年底, VHDL被 IEEE和美国国防部确认为标准硬件描述语言。 自 IEEE公布了 VHDL的标准版本, IEEE一 1076( 简称 87版 ) 之后,各 EDA公司相继推出了自己的 VHDL设计环境,或宣布自己的设计工具可以和 VHDL接口。 此后 VHDL在 电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。 1993年, IEEE对 VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展 VHDL的内容,公布了新版本的 VHDL,即 IEEE标准的 1076一 1993版本, ( 简称 93版 )。 现在,VHDL和 Verilog作为 IEEE的工业标准硬件描述语言,又得到众多印 EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。 有专家认为,在新的世纪中, VHDL与 Verilog语言将承担起大部分的数字系统设计任务。 VHDL主要用于描述数字系统的结构 ,行为,功能和接口。 除了含有许多具有硬件特征的语句外, VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。 VHDL的程序结构特点是将一项工程设计,或称设计实体 ( 可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分及端口 ) 和内部 ( 或称不可视部分 )。 在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。 这种将设计实体分成内外部分的概念是 VHDL系统设计的基本点。 应用 VHDL进行工程设计的优点是多方面的。 ( 1) 与其他的硬件描述语言相比, VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。 强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 ( 2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 ( 3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。 符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 ( 4)对于用 VHDL完成 的一个确定的设计,可以利用 EAD工具进行逻辑综合和优化,并自动的把 VHDL描述设计转变成门级网表。 ( 5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 工程师范学院 2020届本科生毕业设计 9 测频控制电路 控制单元的作用是产生各种时序或控制信号使其他单元完成相应的动作,在其内部设计了一个状态机 , 其工作流图如图 31所示复位后系统进 入 空闲状态 , 此时量程为最小量程、计数阀门关闭、计数单元清零等 , 在下一个时种自动进 入 计数状态 , 此时启动计数阀门 , 同时对阀门宽度时间 进行计时 , 如果未发生计数溢出 , 阀门时间到时 , 切换到计数显示状态如果发生计数溢出 , 说明量程过小 , 此时进 入 量程切换 , 即将阀门宽度变窄 , 再进 入 空闲状态 , 重新准备计数量程值译码后将得到显示数据小数点的位置 , 总体单位为 KHZ。 因此这里略去实体的声明部分在显示状态 , 计数阀门关闭 , 显示数据传送有效 , 将计数值送 入 显示单元。 图 32为模块仿真波形图。 以下是控制单元部分 VHDL语言源程序: LIBRARY IEEE。 USE。 USE。 ENTITY FTCTRL IS PORT( CLKK:IN STD_LOGIC。 „„ 1HZ CNT_EN:OUT STD_LOGIC。 „„计数器时钟能使能 RST_CNT:OUT STD_LOGIC。 „„计数器清零 LOAD:OUT STD_LOGIC )。 „„输出锁存信号 END FTCTRL。 ARCHITECTURE behav OF FTCTRL IS SIGNAL Div2CLK:STD_LOGIC。 BEGIN PROCESS( CLKK ) BEGIN IF CLKK39。 EVENT AND CLKK = 39。 139。 THEN „„ 1HZ时钟 2分频 Div2CLK=NOT Div2CLK。 复位 空闲状态 计数开始 计数结果显示 量程切换 计数溢出 闸门溢出 图 31 测频控制流程图 工程师范学院 2020届本科生毕业设计 10 END IF。 END PROCESS。 PROCESS ( CLKK, Div2CLK) BEGIN IF CLKK=39。 039。 AND Div2CLK=39。 039。 THEN RST_CNT=39。 139。 „„产生计数清零信号 ELSE RST_CNT=39。 039。 END IF。 END PROCESS。 Load=NOT Div2CLK。 CNT_EN=Div2CLK。 END behav。 图 32测频控制电路仿真图 32 位计数器 此计数器为 32位十六进制,实现对标准频率信号和被测频率信号进行计数。 它具有计数使能端 ( ena) 、异步清零端 ( clr) 、时钟输入端 ( clk) 、进位输出端 ov)等。 当异步清零端 ( clr) 为 高电平时,不管计数使能瑞是否有效,时钟上升沿是否到来,计数器都立即清零,即 q=0。 只有异步清零端 ( clr) 为低电平,并且计数使能端为高电平,有上升沿到来时,计数器才开始计数,当计数器计满时,进位输出为高电平。 计数器 VHDL程序仿真图如图 33所示。 从仿真图上可知:此计数器具有良好的控制和计数功能。 计数器的 VHDL源程序如下所示 : LIBRARY IEEE。 USE。 USE。 ENTITY COUNTER32B IS 工程师范学院 2020届本科生毕业设计 11 PORT ( FIN:IN STD_LOGIC。 „„时钟信号 CLR:IN STD_LOGIC。 „„清零信号 ENABL:IN STD_LOGIC。 „„计数使能信号 DOUT:OUT STD_LOGIC_VECTOR( 31 DOWNTO 0))。 „„计数结果 END COUNTER32B。 ARCHITECTURE behav OF COUNTER32B IS SIGNAL CQI:STD_LOGIC_VECTOR( 31 DOWNTO 0)。 BEGIN PROCESS( FIN, CLR, ENABL) BEGIN IF CLR=39。 139。 THEN CQI=( OTHERS=39。 039。 )。 „„清零 ELSIF FIN39。 EVENT AND FIN=39。 139。 THEN IF ENABL=39。 139。 THEN CQI=CQI+1。 END IF。 END IF。 END PROCESS。 DOUT=CQI。 END behav。 图 33 计数器仿真图 32 位锁存器 频率计测频控制器的计数使能信号 CNT_EN能产生一个 1秒脉宽的周期信号 ,并对频率计中的 32位二进制计数器的使能端进行同步控制。 当 CNT_EN高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。 在停止计数期间,首先需要一个锁存信号 LOAD的上跳沿将计数器在前一秒钟的计数值锁存进各所存器 REG32BZ中,并由外部的十六进制 7段译码器译出,显示计数值。 设置锁存器的好处是数据显示稳定,不会 工程师范学院 2020届本科生毕业设计 12 由于周期性的清零信号而不断闪烁。 锁存模块仿 真如图 34。 锁存模块源程序如下: LIBRARY IEEE。 USE。 ENTITY REG32B IS PORT( LK:IN STD_LOGIC。 DIN:IN STD_LOGIC_VECTOR( 31 DOWNTO 0)。 A0:OUT STD_LOGIC_VECTOR( 3 DOWNTO 0)。 A1:OUT STD_LOGIC_VE。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。