频率计课程设计.docx

上传人:b****8 文档编号:23675867 上传时间:2023-05-19 格式:DOCX 页数:13 大小:604.06KB
下载 相关 举报
频率计课程设计.docx_第1页
第1页 / 共13页
频率计课程设计.docx_第2页
第2页 / 共13页
频率计课程设计.docx_第3页
第3页 / 共13页
频率计课程设计.docx_第4页
第4页 / 共13页
频率计课程设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

频率计课程设计.docx

《频率计课程设计.docx》由会员分享,可在线阅读,更多相关《频率计课程设计.docx(13页珍藏版)》请在冰豆网上搜索。

频率计课程设计.docx

频率计课程设计

《可编程逻辑器件及其应用》课程设计

——————数字频率计设计

 

总结报告

 

班级:

自动1101

学号

111401101灿

111401102斐汉

111401218东

指导老师:

于卫管旗

日期:

2013/12/23

 

大学信息工程学院

1技术指标要求

2总体方案设计(说明:

方框图、组成、各部分作用、连接关系、工作原理)

3可编程器件逻辑功能设计

(1)可编程器件简介

(2)顶层设计(顶层方框图、组成、各部分作用、连接关系、工作原理、顶层原理图、仿真结果图、器件选择、管脚锁定、下载测试)

4硬件制作及调试情况

5设计结果情况

6心得体会

器件清单

参考文献

 

1技术指标要求

1.设计1个6位数字频率计系统,频率围:

1—999999Hz,分辨率:

1Hz;

2.输入测试信号为正负对称的幅度为1V—5V之间可调的正弦波、脉冲波、三角波;

3.用动态扫描技术实现6位数字显示。

2总体方案设计

根据要求,设计出总体方案,画出系统总体框图,见图所示。

图10.1频率计系统总体框图

各部分的组成及作用如下:

(1)CPLD器件:

接收被测频率信号、1Hz标准信号和动态扫描信号,发出频率数字信号;

(2)转换电路:

将正负对称的幅度为1V—5V之间可调的正弦波、脉冲波、三角波转换为同频率的TTL脉冲波形;

(3)反相驱动电路:

加大由转换电路输出的TTL脉冲波形的驱动能力;

(4)动态扫描显示电路:

用数码管显示输出的频率值;

(5)标准脉冲电路:

产生1Hz的标准脉冲信号和2048Hz的动态扫描信号;

(6)NE555Hz电路和单位显示亮熄电路:

使“Hz”单位一亮一熄;

(7)直流稳压电源:

给各部分电路提供电源。

3可编程器件逻辑功能设计

(1)可编程器件简介

EPM7128是可编程的大规模逻辑器件,为ALTERA公司的MAX7000系列产品,具有高阻抗、电可擦等特点,可用门单元为2500个,管脚间最大延迟为5ns,工作电压为+5V。

(2)顶层设计(顶层方框图、组成、各部分作用、连接关系、工作原理、顶层原理图、仿真结果图、器件选择、管脚锁定、下载测试)

顶层原理图

其中:

TESTCTL模块为测频控制器、CNT10模块为10进制加法计数器、REG4B为锁存器、动态扫描软件模块包括:

BCD6模块(6进制加法计数器)、MUX461模块(数据选择器)、74138模块(3-8译码)和DECL7S模块(七段译码)。

本方案用动态扫描显示结果.也可直接将结果静态显示出来(为每一位计数器输出配译码和显示)。

A测频模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYTESTCTLIS

PORT(CLKK:

INSTD_LOGIC;

CNT,RST,LOAD:

OUTSTD_LOGIC);

ENDTESTCTL;

ARCHITECTUREONEOFTESTCTLIS

SIGNALDIV2CLK:

STD_LOGIC;

BEGIN

PROCESS(CLKK)

BEGIN

IFCLKK'EVENTANDCLKK='1'THEN

DIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;

PROCESS(CLKK,DIV2CLK)

BEGIN

IFCLKK='0'ANDDIV2CLK='0'THEN

RST<='1';ELSERST<='0';ENDIF;ENDPROCESS;

LOAD<=NOTDIV2CLK;CNT<=DIV2CLK;ENDONE;

仿真图

B计数模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCNT10IS

PORT(CLK,CLR,ENA:

INSTD_LOGIC;

CQ:

OUTINTEGERRANGE0TO10;

CNT:

OUTSTD_LOGIC);

ENDENTITYCNT10;

ARCHITECTUREBEHAVOFCNT10IS

SIGNALCQI:

INTEGERRANGE0TO10;

BEGIN

PROCESS(CLK,CLR,ENA)

BEGIN

IFCLR='1'THENCQI<=0;

ELSIFCLK'EVENTANDCLK='1'THEN

IFENA='1'THEN

IFCQI<9THENCQI<=CQI+1;

ELSECQI<=0;

ENDIF;ENDIF;ENDIF;

ENDPROCESS;

PROCESS(CQI)

BEGIN

IFCQI=9THENCNT<='1';

ELSECNT<='0';

ENDIF;

ENDPROCESS;

CQ<=CQI;

ENDBEHAV;

仿真图

C锁存模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYREG4BIS

PORT(LOAD:

INSTD_LOGIC;

DIN:

INSTD_LOGIC_VECTOR(3DOWNTO0);

DOUT:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYREG4B;

ARCHITECTUREBEHAVEOFREG4BIS

BEGIN

PROCESS(LOAD,DIN)

BEGIN

IFLOAD'EVENTANDLOAD='1'THENDOUT<=DIN;

ENDIF;ENDPROCESS;ENDBEHAVE;

仿真图

D六进制加法计数器模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYBCD6IS

PORT(CLK,CLR:

INSTD_LOGIC;

COUNT:

BUFFERSTD_LOGIC_VECTOR(2DOWNTO0));

ENDBCD6;

ARCHITECTUREBEHAVIOROFBCD6IS

BEGIN

PROCESS(CLK)

BEGIN

IF(CLR='0')THEN

COUNT<="000";

ELSE

IF(RISING_EDGE(CLK))THEN

IF(COUNT="101")THEN

COUNT<="000";

ELSE

COUNT<=COUNT+1;

ENDIF;ENDIF;ENDIF;

ENDPROCESS;ENDBEHAVIOR;

仿真图

E4个6选1数据选择器模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMUX441ISPORT

(A,B,C,D,E,F:

INSTD_LOGIC_VECTOR(3DOWNTO0);

S:

INSTD_LOGIC_VECTOR(2DOWNTO0);

X:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYMUX441;

ARCHITECTUREARCOFMUX441IS

BEGIN

MUX461:

PROCESS(A,B,C,D,S)

BEGIN

IFS="000"THENX<=A;

ELSIFS="001"THENX<=B;

ELSIFS="010"THENX<=C;

ELSIFS="011"THENX<=D;

ELSIFS="100"THENX<=E;

ELSIFS="101"THENX<=F;

ELSIFS="110"THENX<=E;

ELSIFS="111"THENX<=F;

ENDIF;ENDPROCESSMUX461;ENDARC;

仿真图

F7段译码器模块

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYDECL7SIS

PORT(A:

INSTD_LOGIC_VECTOR(3DOWNTO0);

LED7S:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

ENDDECL7S;

ARCHITECTUREONEOFDECL7SIS

BEGIN

PROCESS(A)

BEGIN

CASEAIS

WHEN"0000"=>LED7S<="0111111";

WHEN"0001"=>LED7S<="0000110";

WHEN"0010"=>LED7S<="1011011";

WHEN"0011"=>LED7S<="1001111";

WHEN"0100"=>LED7S<="1100110";

WHEN"0101"=>LED7S<="1101101";

WHEN"0110"=>LED7S<="1111101";

WHEN"0111"=>LED7S<="0000111";

WHEN"1000"=>LED7S<="1111111";

WHEN"1001"=>LED7S<="1101111";

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;ENDONE;

G3-8译码器模块

直接调用软件里的74138器件,其输出作为动态扫描显示的位控端。

管脚锁定:

FIN锁定2号脚

SMMC锁定83号脚

其余管脚锁定普通的I/O脚

4硬件制作及调试情况

脉冲产生电路和由D触发器组成的二分频电路原理图

图中电阻为10兆欧,10号脚接51pF电容,11号脚接100pF电容。

动态显示系统的接线原理

其框图所示,由总线型数据选择器、计数器、七段译码器、译码器等组成。

动态扫描系统框图

实物连接图

5设计结果情况

根据函数发生器调节频率,数码管显示的频率和发出的频率一致,频率调节围为1~999999Hz。

6心得体会

起初是一头雾水,建立模块不知道如何下手,兜了很大的圈子,但是后来凭借稍微扎实的功底和大胆设想,硬件电路很快就完成接线并通过测试。

建立模块:

一开始在模块编辑状态下,一个管脚一个管脚定义,并排布管脚,以及与它相应的逻辑功能结合,就是与文本取相同的器件名,就能将定义的模块赋予相应的逻辑功能。

可是作出来的模块外观欠佳,不利于顶层原理图的绘制。

而且编辑一旦出错,就难以删除,造成不必要的麻烦。

但是接下来同学给了我一点提示,就是直接在文本编辑状态下,输入模块的部逻辑结构,保存为.vhd,软件自动生成模块管脚图。

下载测试后的硬件接线又是一大难题,老师并没有给出硬件设计的详细步骤。

研究顶层原理图,我一直纠结于它到底如何实现功能的。

在研究顶层原理图未果之后,我决定不再纠结它的部构造,而是转变思路,看外部管脚如何连接。

虽然部结构复杂难懂,但是整个逻辑器件于外界的联系只有管脚。

可能我的出发点是对的,在硬件电路连接成功后,我才渐渐发现可逻辑编程器件的真正作用,它能完成各种模块不同组合下的逻辑功能,这样有利于电路的集成。

器件清单

EPM7128可编程逻辑器件

CD406014位2进制分频器

74LS74双上升沿D触发器

51PF电容

100PF电容

32768Hz晶体振荡器

BS207数码管

10兆欧电阻

连接导线

参考文献

《FPGA/CPLD器件应用》实验指导书于卫管旗蔡钧

现代数字电路与系统综合实训教程于卫周德芳王茂祥

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1