




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EDA技术课程大作业 设计题目: 简易电子琴设计 学生姓名: 郭天桥 学 号: 41203040506 专业班级: 电气工程及其自动化5班 2014年 12 月 17 日0 目录1.设计背景和方案-2 1.1设计背景- 2 1.2设计方案-2 1.2.1乐曲演奏模块-31.2.2音调发生模块-31.2.3数控分频模块-42.方案实施-52.1顶层设计-52.2系统有关波形仿真-62.2.1乐曲自动演奏模块的仿真-72.2.2音调发生模块的仿真-72.2.3数控分频模块的仿真-72.2.4 简易电子琴整个系统的仿真 -83.结果和结论-84.附录-81.设计背景和设计方案1.1 设计背景随着EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制、计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序是简易电子琴的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,所开发的程序通过调试运行、波形仿真验证,奏出美妙的乐曲。1.2 设计方案该简易电子琴的设计主要包括:乐曲自动演奏模块,音调发声模块和数控分频模块三部分。系统的整体组装设计原理图如图1.1所示。图1.1 简易电子琴设计的原理图下该设计分模块组成,每个单独的模块都是一个完整的源程序,分别实现不同性质的功能,但是每个模块又是紧密关联的,前一个模块的输出和可能是后一个模块的输入。如TONE模块的音符信号输出就是FEPIN模块的音符信号输入。另外,时钟脉冲信号在本课程设计中用的最多,用处也最大,一般情况下时钟信号处上升沿有效,判断和控制各个计数器计数多少。1.2.1乐曲自动演奏模块曲自动演奏模块的作用是产生8位发声控制输入信号,当进行自动演奏时,由存储在此模块中的8位二进制数作为发声控制输入,从而自动演奏乐曲。其源程序符号编辑图如图1.2所示。图1.2 乐曲自动演奏模块的实体该模块的VHDL源程序主要由3个工作进程组成,分别为PULSE0,MUSIC和COM1。PULSE0的作用是根据键盘输入自动演奏的值0或1来判断计数器COUNT以及脉冲CLK2的输出值。当确定了时钟信号输出的值后,在第二个PROCESS中就可以由它控制8位发声控制输入信号了。即CLK的值为0时,COUNT0为1。最后的COM1便是由前两个PROCESS所确定的COUNT0、AUTO和键盘输入信号值INDEX将8位的二进制数转化为音符信号的输出,达到自动演奏的目的。本模块的最主要用途是将输入二进制转化为发声控制输入,是产生音符的重要步骤。1.2.2音调发生模块音调发生模块的作用是给音符输入预设频率值。当8位发声控制输入信号中的某一位为高电平时,则对应某一音节的数值将输出,该数值即为该音阶的分频预置值,分频预置值控制数控分频模块进行分频,由此可得到每个音阶对应的频率。其源程序符号编辑图如图1.3所示。图1.3 音调发声模块的实体该模块的唯一输入信号INDEX对应就是自动模块中的最后的输出INDEX0,音符显示信号CODE,高低音显示信号HIGH和音符分频系数都是根据音符输入确定的。比如我们自定义INDEX第八位为高电平时,它的分频系数则为773HZ,音符显示信号为1001111,即773的二进制表示,此时高低音显示1表示高音。电子琴最终要实现乐曲演奏就是输出不同频率的正弦波,此模块就是将二进制发声信号转化为对应的频率。1.2.3数控分频模块数控分频模块是对时基脉冲进行分频,得到与1、2、3、4、5、6、7七个音符相对应的频率,其源程序符号编辑图如图1.4所示。图1.4 数控分频模块的实体该模块主要由4个工作进程组成。首先,根据系统时钟信号的输入得到时基脉冲以及计数器的值,而时钟信号在AUTO模块中便已给出,两者之间的设置关系类似于AUTO模块中第一个工作进程的设置。第二个PROCESS是此模块的核心,即由时基脉冲值转化为音符频率。最后一个PROCESS则是用来设置扬声器输出信号的,扬声器信号由0和1控制,当且仅当前一个PROCESS中的FULLSPKS输出为1时,扬声器才有输出,再根据计数器取值来确定输出是1还是0。2.方案实施2.1 顶层设计DIANZIQIN模块是整个电子琴设计的核心,也是VHDL程序的主程序,前面三个源程序都是作为子程序分别实现电子琴的某一功能,而DIANZIQIN模块则是通过调用子程序最终实现乐曲演奏的目的,奏出美妙的乐曲。利用VHDL语言COMPONENT将三个模块组合起来,其中3个模块和DIANZIQIN模块的输入输出是一一对应的,比如AUTO对应HSNDTOAUTO,TONEO对应TONE2,SPKS对应SPKOUT等,该模块的符号编辑图如图2.1示。图 2.1 顶层原理图2.2 系统有关波形的仿真系统仿真是在实际系统上进行实验研究比较困难时适用的必不可少的工具,它是指通过系统模型实验去研究一个已经存在或正在设计的系统的过程,通俗地讲,就是进行模型实验。因而,系统仿真的结果决定整个课程设计任务完成的到位程度。2.2.1乐曲自动演奏模块的仿真AUTO模块编译完成后,进行波形仿真,仿真波形图如图2.2所示。图2.2 乐曲自动演奏模块的仿真图该图输入系统时钟信号CLK初值设为0,自动演奏AUTO设为1,键盘输入信号INDEX2为00,INDEX0为音符信号输出,是8位的二进制代码。2.2.2音调发生模块的仿真TONE模块编译完成后,进行波形仿真,仿真波形图如图2.3所示。图2.3音调发声模块的仿真图该图输入音符信号INDEX初值为00,输出是音符显示信号CODE为01,高低音显示信号为0,音符的分频系数为11111111111即2047Hz。2.2.3 数控分频模块的仿真PENPIN模块编译完成后,进行波形仿真,仿真波形图如图2.4所示。图2.4 数控分频模块仿真图该图输入系统时钟信号CLK初值为0(各输出值都是在时钟信号的下降沿有效),音频分频系数TONE1为00100000000即1290Hz,驱动扬声器的音频信号SPKS输出为1。2.2.4 简易电子琴整个系统的仿真整个系统编译完成后,进行波形仿真,仿真波形图如图2.5所示。图2.5 简易电子琴整个系统的仿真图该图输入系统时钟信号CLK初值为0,自动演奏信号HANGORAUTO初值为0,键盘输入信号KEYBOARD为00000000;输出音符信号NOTE为0110000,高低音节信号HIGH1变为1,即高音,音频信号SPKAKER即输出0,输出为1时NOTE变为0110000,这时出现10ns的延时。3.结果和结论在此次设计中,较成功的完成了简易的八音符电子琴设计,它可通过按键输入来控制音响,系统演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲,能够自动演奏多首乐曲,且乐曲可重复演奏。通过仿真,验证结果正确。在此次设计中,通过使用Quartus II和VHDL进行了简单电子琴设计,较成功的完成了预期的效果。通过本次设计,让我加深了对课堂上所学到的理论知识的理解,这给我提供了一个在学习生活中很难得的理论联系实际的机会,让我深刻体会到在设计遇到不同问题时,首先应该理解问题关键所在,因为用语言编写程序需要以仔细认真的态度,一点点错误漏洞将导致整个源程序无法编译运行,阻碍下一步工作完成进度。4.附 录附录1:乐曲自动演奏模块源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY AUTO ISPORT ( CLK : IN STD_LOGIC; AUTO : IN STD_LOGIC;CLK2 : BUFFER STD_LOGIC;INDEX2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);INDEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END AUTO;ARCHITECTURE BEHAVIORAL OF AUTO ISSIGNAL COUNT0: INTEGER RANGE 0 TO 31;BEGIN PULSE0 :PROCESS(CLK,AUTO) -工作进程开始VARIABLE COUNT :INTEGER RANGE 0 TO 8; -定义计数器变量,值从0到8BEGINIF AUTO =1 THEN -键盘输入1COUNT := 0;CLK2=0; -计数器值指0,时钟信号为0ELSIF(CLKEVENT AND CLK =1)THEN-时钟输入信号为1COUNT :=COUNT +1; -计数器加1IF COUNT =4 THEN CLK2 =1;ELSIF COUNT =8 THEN CLK2=0; COUNT:=0;END IF ;END IF ;END PROCESS;MUSIC:PROCESS(CLK2)BEGIN IF (CLK2EVENT AND CLK2=1)THENIF (COUNT0=31)THEN COUNT0=0;ELSECOUNT0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0INDEX0NULL;END CASE;ELSE INDEX0TONE0 =773;CODE=1001111;HIGHTONE0 =912;CODE=0010010;HIGHTONE0 =1036;CODE=0000110;HIGHTONE0 =1116;CODE=1001100;HIGHTONE0 =1197;CODE=0100100;HIGHTONE0 =1290;CODE=0100000;HIGHTONE0 =1372;CODE=0001111;HIGHTONE0 =1410;CODE=0000000;HIGHTONE0=2047;CODE=0000001;HIGH=0; END CASE; END PROCESS;END ART;附录3:数控分频模块源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN IS PORT(CLK1: IN STD_LOGIC; -系统时钟信号 TONE1: IN INTEGER RANGE 0 TO 2047; -音频分频系数 SPKS: OUT STD_LOGIC); -驱动扬声器的音频信号END ENTITY FENPIN;ARCHITECTURE ART OF FENPIN ISSIGNAL PRECLK:STD_LOGIC; -定义时基脉冲信号SIGNAL FULLSPKS:STD_LOGIC;BEGINPROCESS(CLK1) VARIABLE COUNT:INTEGER RANGE 0 TO 8; -定义变量计数器,从0到8BEGIN IF (CLK1EVENT AND CLK1=1)THEN据时钟信号为1时COUNT:=COUNT +1; -判断计数器取值为1IF COUNT=2 THENPRECLK=1;ELSIF COUNT =4 THEN 若计数器取值为4PRECLK=0;COUNT:=0; -时基脉冲为0,计数器清零END IF ;END IF ;END PROCESS;PROCESS(PRECLK,TONE1)VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;-定义频率计数器11,从0到2047HzBEGIN IF (PRECLKEVENT AND PRECLK=1)THENPRECLK脉冲上升沿触发,时基脉冲为1时IF COUNT11TONE1 THEN-频率计数器小于音符分频系数COUNT11:=COUNT11+1;FULLSPKS=1; -计数器加1,扬声器音频信号为1ELSECOUNT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 动脉瘤术后的护理
- 公交员工教育培训
- 中学音乐教育体系构建与实践路径
- 装修电销话术培训
- 中职教育发展探索与实践
- 特殊口腔护理
- 2025年海洋生态保护与修复政策对海洋生态系统服务功能可持续性提升策略报告
- 休闲农业与乡村旅游融合发展规划报告:乡村旅游与旅游产业融合的商业模式创新001
- 绘画火龙果课件
- 小学数学教师入职面试培训
- 车辆进厂出厂管理制度
- 安全生产月题库-2025年安全生产月安全知识竞赛题库(附题目答案)
- 2025-2030年古建筑行业市场深度调研及前景趋势与投资研究报告
- 2024年贵州省黔西县教育局公开招聘试题含答案分析
- 集装箱投资项目可行性研究报告
- 拆分合同:合伙企业解散及债务分担协议
- 2025河北邯郸市肥乡区选聘农村党务(村务)工作者100人笔试参考题库完整参考答案详解
- 2025年05月四川阿坝州级事业单位公开选调工作人员78人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025-2030中国硫酸钙晶须行业市场发展现状及竞争格局与投资发展研究报告
- DB31/T 1035-2017绿化有机覆盖物应用技术规范
- 2025年农业果园土地租赁承包合同
评论
0/150
提交评论