基于eda的数字频率计的设计内容摘要:

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