基于eda的数字频率计的设计毕业论文内容摘要:

量周期的原理图 频率计测量周期的原理图如下: 频率计测量周期的原理图 图 2 脉冲形成模块 计数模块 译码模块 控制模块 分频模块 量程切换模块 被测信号 锁存 清零 使能 基准信号 廊坊燕京职业技术学院毕业论文(设计) 第 6 页 共 47页 2 频率计测量频率的层次化设计方案 4 位十进制计数器模块 4位十进制计数器模块包含 4 个级联十进制计数器,用来对施加到时钟脉冲输入端的待测信号产生的脉冲进行计数,十进制计数器具有集束使能、清零控制和进位扩展输出的功能。 使能信号和清零信号由闸门控制模块的控制信号发生器所产生来对 4 个级联十进制计数器周期性的计数进行控制。 十进制计数器元件的设计 十进制计数器的程序如下: library ieee。 use。 use。 entity jishu10 is port(clk,rst,en:in std_logic。 cq:out std_logic_vector(3 downto 0)。 cout:out std_logic)。 end jishu10。 architecture behav of jishu10 is begin process(clk,rst,en) variable cqi:std_logic_vector(3 downto 0)。 廊坊燕京职业技术学院毕业论文(设计) 第 7 页 共 47页 begin if rst=39。 139。 then cqi:=(others=39。 039。 )。 elsif clk39。 event and clk=39。 139。 then if en=39。 139。 then if cqi9 then cqi:=cqi+1。 end if。 end if。 if cqi=9 then cout=39。 139。 else cout=39。 039。 end if。 cq=cqi。 end process。 end behav。 在源程序中 COUT 是计数器进位输出; CQ[3..0]是计数器的状态输出; CLK 是始终输入端; RST 是复位控制输入端,当 RST=1 时, CQ[3..0]=0; EN是使能控制输入端,当 EN=1时,计数器计数,当 EN=0 时,计数器保持状态不变。 编译成功后进行仿真,其仿真波形如下: 仿真波形 图 图 3 在项目编译仿真成功后,将设计的十进制计数器电路设置成可调用的元件廊坊燕京职业技术学院毕业论文(设计) 第 8 页 共 47页 ,用于以下的顶层设计。 元件 图 图 4 4 位十进制计数器的顶层设计 新建一个原理图编辑窗,从当 前的工程目录中凋出 4个十进制计数器元件,并按如图所示的 4 位十进制计数器的顶层原理图完成电路连接。 4位十进制计数器的顶层原理图 图 5 完成 4位十进制计数器的原理图编辑以后,即可进行仿真测试和波形分析,其仿真输出波形如图所示,当 RST=0、 EN=1 是其计数值在 0到 9999 之间循环变化, COUT 为计廊坊燕京职业技术学院毕业论文(设计) 第 9 页 共 47页 数进位输出信号,作为后面的量程自动切换模块的输入脉冲。 脉冲 图 图 6 因此仿真结果正确无误,可将以上设计的 4位十进制计数器设置成可调用的元件,以备高层设计中使用,其 元件符号图如下图所示。 元件 图 图 7 闸门信号的设计 频率计电路工作时先要产生一个计数允许信号(即闸门信号),闸门信号的宽度为单位时间,如 1S。 在闸门信号有效时间内,对被测信号计数,即为信号的频率。 该频率计电路的精度取决于闸门信号 T。 廊坊燕京职业技术学院毕业论文(设计) 第 10 页 共 47页 本毕业设计 中选取的基准信号频率为 750khz,为了得到 1s高电平的周期性闸门信号, 本毕业设计 采用对频率为 750khz 基准信号先进行 75 分频,再进行 3 个 10 分频,最后进行 11 分频,再用非门对分频出的信号进行取非变换,这 样得到的门闸信号高电平为 1秒钟。 a 75 进制计数器的程序如下 : library ieee。 use。 use。 entity jishu75 is port(clk,rst,en:in std_logic。 cq:out std_logic_vector(7 downto 0)。 cout:out std_logic)。 end jishu75。 architecture behav of jishu75 is begin process(clk,rst,en) variable cqi:std_logic_vector(7 downto 0)。 begin if rst=39。 139。 then cqi:=(others=39。 039。 )。 elsif clk39。 event and clk=39。 139。 then if en=39。 139。 then if cqi74 then cqi:=cqi+1。 廊坊燕京职业技术学院毕业论文(设计) 第 11 页 共 47页 else cqi:=(others=39。 039。 )。 end if。 end if。 end if。 if cqi=74 then cout=39。 139。 else cout=39。 039。 end if。 cq=cqi。 end process。 end behav。 编译成功后生成元件图如下: 生成元件图 图 8 b 11 进制计数器的程序如下 : library ieee。 use。 use。 entity jishu11 is 廊坊燕京职业技术学院毕业论文(设计) 第 12 页 共 47页 port(clk,rst,en:in std_logic。 cq:out std_logic_vector(3 downto 0)。 cout:out std_logic)。 end jishu11。 architecture behav of jishu11 is begin process(clk,rst,en) variable cqi:std_logic_vector(3 downto 0)。 begin if rst=39。 139。 then cqi:=(others=39。 039。 )。 elsif clk39。 event and clk=39。 139。 then if en=39。 139。 then if cqi10 then cqi:=cqi+1。 else cqi:=(others=39。 039。 )。 end if。 end if。 end if。 if cqi=10 then cout=39。 139。 else cout=39。 039。 end if。 cq=cqi。 廊坊燕京职业技术学院毕业论文(设计) 第 13 页 共 47页 end process。 end behav。 编译成功后生成元件图如下: 生成元件图 图 9 D 触发器的设计 其程序如下: library ieee。 use。 entity reg_2 is port(clk,d:in std_logic。 q:out std_logic)。 end reg_2。 architecture behav of reg_2 is signal q1:std_logic。 begin process(clk) 廊坊燕京职业技术学院毕业论文(设计) 第 14 页 共 47页 begin if clk39。 event and clk=39。 139。 then q1=d。 end if。 end process。 q=q1。 end behav。 编译成功后生成如下元件图: 生成 元件 图 图 10 将生成的 75进制计数器、 11 进制计数器、 10进制计数器和非门按下图连接来得到1S高电平门闸信号。 廊坊燕京职业技术学院毕业论文(设计) 第 15 页 共 47页 75进制计数器、 11 进制计数器、 10进制计数器和非门 连接电路图 图 11 将其电路图进行仿真,其仿真波形如下: 波形图 图 12 对照其仿真波形,其输出门闸信号高电平为 1S,符合设计,将其电路生成如下元件图,以便顶层调用。 廊坊燕京职业技术学院毕业论文(设计) 第 16 页 共 47页 元件图 图 13 控制信号发生器模块 该模块主要根据输入高电平的 1S 闸门信号,产生计数允许信号 EN,该信号的高电平的持续时间即计数允许时间,与输入的门闸控制时钟脉冲周期相同;产生清零信号RST,在计数使能前对计数器先清零;产生存储信号 LOAD,在计数结束后,利用上升沿把最新的频率测量值保存在显示寄存器中。 为了产生清零信号 RST,使能信 EN 和存储信号 LOAD。 不失一般性,控制信号发生器用 74161 构成 4分频计数器,用一个与非门,一个或非门和一个异或门实现 3 种译码状态,与闸门模块按下图连接。 与非门,或非门和 异或门实现 3种译码状态,与闸门模块 连接电路图 图 14 编译成功后进行仿真,其仿真波形如下: 廊坊燕京职业技术学院毕业论文(设计) 第 17 页 共 47页 波形图 图 15 该功能正确无误后生成的元件符号图如下图所示。 元件符号图 图 16 当被测频率超出量程时,设计分频模块对被测频率进行分频衰减,单位上升,从而扩大测量频率的范围。 四选一数据选择器 四选一数据选择器的程序如下: 廊坊燕京职业技术学院毕业论文(设计) 第 18 页 共 47页 library ieee。 use。 use。 entity si_xuan_1 is port(a,b,c1,c2,c3,c4:in std_logic。 y:out std_logic)。 end si_xuan_1。 architecture behav of si_xuan_1 is signal x:std_logic_vector(1 downto 0)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。