数字电子技术创新实验设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字电子技术实验课程FPGA创新实验设计报告

设计名称上下课铃声模拟系统

姓名林嘉颖金延鑫

学号 3090100768 3090104182

专业班级机械电子工程0902

指导教师樊伟敏

日期 2011.6.6 浙江大学电工电子基础实验中心

一摘要

通过QUATURS 软件的程序编译及FPGA的应用,模拟出浙江大学紫金港校区的上下课铃系统。

该系统分为两部分:电子钟部分和铃声部分

电子钟部分将实现二十四小时计时,时间设置等功能。铃声部分将实现特定时间(如上课时间)响起特定铃声功能。

二关键词

时序电路时钟系统调节装置声音系统 QUATURS应用

三正文

3.1 设计思路

整个上下课铃响可分为时钟系统和铃声系统两大部分。

时钟系统:

时钟部分分为铃声选择器,时间调试部分,时钟部分等三大模块。

1时钟部分

时钟部分实现24小时时钟运行及循环功能,按照1:60时间进行缩放,其中LED灯表示小时数,采用24进制计数器实现;led灯两位表示分钟数,采用60进制计数器实现,计

数频率设置为1HZ,以节省时间。此部分设置能完全模拟时钟循环功能,即分钟部分逢六十进一,时钟部分逢24归零,同时23:59后自动返回00:00

2 时间调试部分

时间调试部分实现时间暂停,移位调试时间(其中移到的位置会发生闪烁),时间设置等功能,具有调试目标明确,调试时间不会超过时钟表示范围等优点。

使用方法:将clr置为0之后,可以发现时钟十位在闪烁,此时通过按trf键可以将闪烁点移到下一个即时钟个位,以此类推。在移到自己想调节的位置以后通过按住plus键,每一个秒脉冲之后可以发现该数加一,加到九跳回一。

通过一些条件语句,防止了当时钟十位等于2时,时钟个位不会大于3;时钟个位大于3时,时钟十位不会等于2。

3 铃声选择器:

根据紫金港校区上下课的时间,制成铃声选择器。

铃声部分

铃声部分分为JK触发器,分频器,铃声部分,选择器,音频调试,音频转换器,六个模块。

1 分频器

分频器将50MHZ的脉冲电路调节到合适的频率,在铃声系统部分中需使用两次,一次为对上下课铃音频电路的触发(1HZ),一次为音频转换器的触发(6250000HZ).

2 铃声部分

铃声部分设置成上课铃和下课铃两个子模块,分别存放上下课铃的乐谱。

3音频调试电路

根据十二平均律将两个八度共十六个音符设置成相应的频率。使其转换成相应的音高。4音频转换器

原理为一个计数器,通过脉冲电路将每次的音符转换成相应的频率,通过小喇叭输出。

5 JK触发器

整个音乐系统的开始与停止通过两个JK触发器来控制。

原理如图

当选择器发出信号时,第一个JK触发器中J通道接高,K通道为0,Q输出高电平,使第二个JK触发器触发(第二个JK触发器设置成T’触发器)此后即使第一个触发器中J=0.Q1状态保持,仍为1.

在铃声部分设置逻辑出口K,当输出最后一个音符时,k=1,反馈到第一个JK触发器的K端上,此时Q1=0,使第二个触发器清零,停止向铃声部分输送脉冲信号。铃声停止。

3.2实验原理图展示

时钟部分

铃声部分

综合电路

3.3仿真波形及分析

Trf 仿真波形

由图可知,每一个trf 下降沿使trfo 从3减到0再到3从而实现循环,当clr 变为0了之后,trfo 立即变为3。

SS仿真波形

15为变暗。由图可知,假定plus键按住,trfo为3,因此h_hi从0开始加到5,然后放开plus之后h_hi交替5与15,说明正在闪烁。假定当按下trf,trfo变为2,即闪烁从h_hi改为h_lo,同样trfo为1时,闪烁m_hi。

SZ仿真波形

上三图为时钟正常工作时的输出。

上图为当clr为1,按plus的时候,当trfo为3,2,1时h_hi,h_lo,m_hi的数值的增加。Lj仿真波形

当时间为08:00,08:45时分别输出tmp1,tmp2为10和01,当下一个脉冲到来,08:00变成00:00之后,tmp1,tmp2为00。通过tmp1与tmp2实现上下课铃的控制。

Nacklass,vorklass仿真波形

通过clk可以实现放歌曲,当歌曲结束时k=1,此时通过jk触发器使clk停止,等到下一个lj模块中的tmp1,tmp2的信号到来,clk重新开始,此时通过条件语句时cnt归零,重新放歌曲。

3.4源程序及注释

1 分频器(50MHZ=>8MHZ)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY fenpinqi IS

PORT(clk:IN STD_LOGIC;

clk_out:OUT STD_LOGIC);

END fenpinqi;

ARCHITECTURE fwm OF fenpinqi IS

CONSTANT m : INTEGER:=4;--when we need 8M HZ。INTEGER=6250000when we need 2HZ SIGNAL tmp :STD_LOGIC;

BEGIN

PROCESS(clk, tmp)

V ARIABLE cout : INTEGER:=0;

BEGIN

IF clk'EVENT AND clk='1' THEN cout:=cout+1;

IF cout<=m THEN tmp<='0';

ELSIF cout

ELSE cout:=0;

END IF;

END IF;

END PROCESS;

clk_out<=tmp;

END fwm;

2 JK触发器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY JANDK IS

PORT (clr,clk,j,k:IN STD_LOGIC;

q, qn : out STD_LOGIC);

END JANDK;

ARCHITECTURE CONTROL OF JANDK IS

SIGNAL TMP : STD_LOGIC;

BEGIN

PROCESS(clr,clk,j,k)

BEGIN

if clr='0' then TMP<='0';

elsIF (clk'EVENT AND clk='0') THEN

IF ((j='1')and(k='1'))then TMP<= NOT TMP;--J=1K=1翻转)

ELSIF ((j='1')and(k='0'))then TMP<= '1'; --J=1K=0置高

ELSIF ((j='0')and(k='1'))then TMP<= '0'; --J=1K=1置零

END IF;

END IF;

相关文档
最新文档