《《频率计课程设计》word版.doc》由会员分享,可在线阅读,更多相关《《频率计课程设计》word版.doc(11页珍藏版)》请在金锄头文库上搜索。
1、可编程逻辑器件及其应用课程设计数字频率计设计总结报告班级: 自动1101学号 姓名111401101 曹灿 111401102 曹斐汉 111401218 张东 指导老师: 于卫 管旗日期: 2013/12/23扬州大学信息工程学院目录1 技术指标要求2 总体方案设计(说明:方框图、组成、各部分作用、连接关系、工作原理 )3 可编程器件逻辑功能设计 (1)可编程器件简介(2)顶层设计(顶层方框图、组成、各部分作用、连接关系、工作原理、顶层原理图、仿真结果图、器件选择、管脚锁定、下载测试 )4 硬件制作及调试情况5设计结果情况6 心得体会器件清单参考文献1 技术指标要求1.设计1个6位数字频率计
2、系统,频率范围:1999999Hz,分辨率:1Hz;2.输入测试信号为正负对称的幅度为1V5V之间可调的正弦波、脉冲波、三角波;3.用动态扫描技术实现6位数字显示。2 总体方案设计 根据要求,设计出总体方案,画出系统总体框图,见图所示。 图10.1 频率计系统总体框图各部分的组成及作用如下:(1) CPLD器件:接收被测频率信号、1Hz标准信号和动态扫描信号,发出频率数字信号;(2) 转换电路: 将正负对称的幅度为1V5V之间可调的正弦波、脉冲波、三角波转换为同频率的TTL脉冲波形;(3) 反相驱动电路:加大由转换电路输出的TTL脉冲波形的驱动能力;(4) 动态扫描显示电路:用数码管显示输出的
3、频率值;(5) 标准脉冲电路:产生1Hz的标准脉冲信号和2048Hz的动态扫描信号;(6) NE555 Hz电路和单位显示亮熄电路:使“Hz”单位一亮一熄;(7) 直流稳压电源:给各部分电路提供电源。3 可编程器件逻辑功能设计(1)可编程器件简介EPM7128是可编程的大规模逻辑器件,为ALTERA公司的MAX7000系列产品,具有高阻抗、电可擦等特点,可用门单元为2500个,管脚间最大延迟为5ns,工作电压为+5V。(2)顶层设计(顶层方框图、组成、各部分作用、连接关系、工作原理、顶层原理图、仿真结果图、器件选择、管脚锁定、下载测试 )顶层原理图其中:TESTCTL模块为测频控制器、CNT1
4、0模块为10进制加法计数器、 REG4B为锁存器、动态扫描软件模块包括:BCD6模块(6进制加法计数器)、MUX461模块(数据选择器)、74138模块(3-8译码)和DECL7S模块(七段译码)。本方案用动态扫描显示结果.也可直接将结果静态显示出来(为每一位计数器输出配译码和显示)。A 测频模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TESTCTL ISPORT(CLKK:IN STD_LOGIC; CNT,RST,LOAD:OUT STD_LOGIC);END TESTC
5、TL;ARCHITECTURE ONE OF TESTCTL ISSIGNAL DIV2CLK: STD_LOGIC;BEGINPROCESS(CLKK)BEGINIF CLKKEVENT AND CLKK=1 THEN DIV2CLK=NOT DIV2CLK;END IF;END PROCESS; PROCESS(CLKK,DIV2CLK) BEGINIF CLKK=0 AND DIV2CLK=0 THEN RST=1;ELSE RST=0; END IF; END PROCESS; LOAD=NOT DIV2CLK; CNT=DIV2CLK; END ONE;仿真图B 计数模块LIBRAR
6、Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CNT10 ISPORT(CLK,CLR,ENA:IN STD_LOGIC;CQ:OUT INTEGER RANGE 0 TO 10;CNT:OUT STD_LOGIC);END ENTITY CNT10;ARCHITECTURE BEHAV OF CNT10 ISSIGNAL CQI:INTEGER RANGE 0 TO 10;BEGINPROCESS(CLK,CLR,ENA)BEGINIF CLR=1THEN CQI=0;ELSIF CLKEVENT AND CLK=1 THENIF ENA=1THENIF
7、 CQI9 THEN CQI=CQI+1;ELSE CQI=0;END IF;END IF;END IF;END PROCESS;PROCESS(CQI)BEGINIF CQI=9 THEN CNT=1;ELSE CNT=0;END IF;END PROCESS;CQ=CQI;END BEHAV;仿真图C 锁存模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG4B ISPORT(LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(3
8、 DOWNTO 0);END ENTITY REG4B;ARCHITECTURE BEHAVE OF REG4B ISBEGINPROCESS(LOAD,DIN)BEGINIF LOADEVENT AND LOAD=1THEN DOUT=DIN;END IF;END PROCESS;END BEHAVE;仿真图D 六进制加法计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY BCD6 ISPORT(CLK,CLR:IN STD_LOGIC;COUNT:BUFFER STD_LO
9、GIC_VECTOR(2 DOWNTO 0);END BCD6;ARCHITECTURE BEHAVIOR OF BCD6 ISBEGINPROCESS(CLK)BEGINIF(CLR=0)THENCOUNT=000;ELSEIF(RISING_EDGE(CLK)THENIF(COUNT=101)THENCOUNT=000;ELSECOUNT=COUNT+1;END IF;END IF;END IF;END PROCESS;END BEHAVIOR;仿真图E 4个6选1数据选择器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX441 I
10、S PORT(A,B,C,D,E,F:IN STD_LOGIC_VECTOR(3 DOWNTO 0);S:IN STD_LOGIC_VECTOR(2 DOWNTO 0);X:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END ENTITY MUX441;ARCHITECTURE ARC OF MUX441 IS BEGINMUX461:PROCESS(A,B,C,D,S)BEGINIF S=000THEN X=A;ELSIF S=001THEN X=B;ELSIF S=010THEN X=C;ELSIF S=011THEN X=D;ELSIF S=100THEN X=E;
11、ELSIF S=101THEN X=F;ELSIF S=110THEN X=E;ELSIF S=111THEN XLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL;END CASE;END PROCESS;END ONE;G 3-8译码器模块直接调用软件里的74138器件,其输出作为动态扫描显示的位控端。管脚锁定:FIN 锁定2号脚SMMC 锁定83号脚其余管脚锁定普通的I/O脚4 硬件制作及调试情况脉冲产生电路和由D触发器组成的二分频电路原理图图中电阻为10兆欧,10号脚接51pF电容,11号脚接100pF电容。动态显示系统的接线原
12、理其框图所示,由总线型数据选择器、计数器、七段译码器、译码器等组成。 动态扫描系统框图实物连接图5 设计结果情况根据函数发生器调节频率,数码管显示的频率和发出的频率一致,频率调节范围为1999999Hz。6 心得体会 起初是一头雾水,建立模块不知道如何下手,兜了很大的圈子,但是后来凭借稍微扎实的功底和大胆设想,硬件电路很快就完成接线并通过测试。 建立模块:一开始在模块编辑状态下,一个管脚一个管脚定义,并排布管脚,以及与它相应的逻辑功能结合,就是与文本取相同的器件名,就能将定义的模块赋予相应的逻辑功能。可是作出来的模块外观欠佳,不利于顶层原理图的绘制。而且编辑一旦出错,就难以删除,造成不必要的麻烦。但是接下来同学给了我一点提示,就是直接在文本编辑状态下,输入模块的内部逻辑结构,保存为.vhd,软件自动生成模块管脚图。 下载测试后的硬件接线又是一大难题,老师并没