




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广西工学院课程设计用纸 EDA技术课程设计 设计题目:简易电子琴设计专 业:应用物理学学生姓名:赵骉学 号:20081326031日 期:2011/8/31摘 要 随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是简易电子琴的设计。采用EDA作为开发工具,VHDL语言为软件描述语言,QuartusII6.1作为程序运行平台,所开发的程序通过调试运行、波形仿真验证,初步实现了设计目标。本程序使用的硬件描述语言VHDL,可以大大降低了硬件数字系统设计的入门级别,让人感觉就是C语言的近亲。通过老师的指导和自己的学习完成了预想的功能。 1 课程设计的目的及任务1.1 课程设计的目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。为了进一步了解计算机组成原理与系统结构,深入学习EDA技术,用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。1.2 课程设计的内容设计一个简易电子琴,利用试验箱的脉冲电源产生1,2,3,4,5,6,7共7个音阶信号,当按下一个键时,有相应的乐音发出,同时用指示灯显示乐音,用数码管显示音符。2 原理描述2.1音名与频率的关系根据声乐知识,产生音乐的两个因素是音乐频率的持续时间,音乐的十二平均率规定,每两个八音度之间的频率相差一倍,在两个八音度之间,又可分为12个半音。每两个半音的频率比为4。另外,音名A(乐谱中的低音6)的频率为440HZ,音名B到C之间,E到F之间为半音,其余为全音。由此可以计算出乐谱中从低音1到高音1之间每个音名的频率如表2-1所示:音名频率(Hz)音名频率(Hz)音名频率(Hz)低音1261.63中音1523.25高音11046.50低音2293.67中音2587.33高音21174.66低音3329.63中音3659.25高音31381.51低音4349.23中音4698.46高音41396.92低音5391.99中音5783.99高音51567.98低音6440中音6880高音61760低音7439.88中音7987.76高音71975.52表2-1 简谱中的音名与频率的关系2.3电路各模块设计 图 2-2 电路结构方框图 2.3设计规划根据系统设计要求,系统设计采用自顶向下的设计方法,它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。3 个人负责模块部分我在这次设计中主要做音调发生模块,以下是这个部分的分析:音调发生模块的作用是产生音阶的分频预置值。当7位发声控制输入信号中的某一位为高电平时,则对应某一音节的数值将输出(通过对照图4-1各音名对应的分频系数值及初始值)该数值即为该音阶的分频初始值,分频预置值控制数控分频模块进行分频,由此可得到每个音阶对应的频率。3.1可变分频器(1)基准频率的选取各音名所对应的频率可由一频率较高的基准频率进行整数分频得到,所以实际产生各音名频率为近似的整数值。这是由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频系数四舍五入取整,若基准频率过低,则由于分频系数过小,四舍五入取整后的误差较大,若基准频率过高,虽然误码差较小,但分频结构将变大,实际的设计应综合考虑两方面的因素,在尽量减小频率差的前提下取舍合适的基准频率。本次设计选择12MHz作为基准频率。(2)分频系数A、公用二进制的计数容量N及初始值的选取D1、分频系数的选取 首先将12MHz的基准频率进行12分频,得到1MHz的基准频率,分频系数A1MHz音名频率,此分频系数可由计数器实现。但若不加处理语句,其分频后的信号将不是对称方波。而占空比很小的方波很难使扬声器有效地发出声响。为得到对称方波,可将分频系数A分解为:分频系数A=分频系数n2。即先进行分频系数n的分频,得到不对称方波,然后再2分频得到对称方波。2、公用二进制的计数容量N的选取n分频可由n进制计数器实现。n进制计数器可用复位法或置位法实现,由于加载初始值d的置位法可有效地减少设计所占用的可编程逻辑器件资源,因此,此次设计采用置位法。低音1的分频数n为最大,其值为1275,应取公用二进制计数器的计数容量N大与“最大分频系数n”,故本次设计的公用二进制计数器应该设计为十一位二进制加法计数器,其计数最大容量为2048,计数的最大值N为2047,可满足本次设计中所有音名对音频系数的要求。3、初始值的选取D初始值D = 计数最大值N - 分频系数n此次设计中应用的各音名对应的分频系数值及初始值如表所示:音符初始值对应音谱区别高中低音02047001773102912203103630411164051197506129060713727081410119148021101542311216225115172812表4-1各音名对应的分频系数值及初始值3.2音调发生模块程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity tone1 is port ( index : in std_logic_vector (6 downto 0); code : out std_logic_vector (3 downto 0); tone0 : out integer range 0 to 2047); end;architecture two of tone1 is begin search : process (index) begin case index is when 0000001 = tone0 = 773;code tone0 = 912;code tone0 = 1036;code tone0 = 1116;code tone0 = 1197;code tone0 = 1290;code tone0 = 1372;code tone0 = 2047;code = 0000; end case; end process; end two;3.3音调发生模块的波形仿真图在此程序中index为自动模块输出的音符数据,经过翻译后将tone0输出到数控分频模块为其提供分频系数的初始值,code为数码管显示的字符数,应用模式5,所以直接输出音符的二进制值。通过仿真图可以清楚地看到结果。3.4音调发生模块生成的逻辑器件4 顶层原理图及仿真4.1 顶层原理图利用EDA工具提供的原理图的方式进行输入,原理图输入方法比较容易掌握,而且直观方便,根据前几次设计的模块及生成的逻辑器件可以很方便地把各个子模块所生成的逻辑器件组合起来,即将各个子模块之间的输入输出端、子模块与整体电路之间的输入输出端进行正确的硬件连接,进行编译、下载,从而实现整体功能。它将手动选择(bmux)模块音.调发生模块(tone1)及数控分频器(skfpqq)模块连接起来。 4-1 顶层原理图4.2 顶层原理仿真图 图4-2 顶层文件仿真波形图通过仿真波形图可以看到,输入端rst1为复位端,当其值为1时,输出端均为0,输入端indx1为音调按键端,当按一个音调按键时,数码管上即code1的输出显示出音符数,输出端spks则代表将输入clk先经过12次分频,再经过(预置数终值2048-tone)次分频,最终再进行二分频处理,而这个信号的频率就是我们需要演奏的音谱的频率,根据频率的不同,从而能通过喇叭听到不同的声音,实现音乐的播放。5.硬件下载及实现输入程序并且编译无误,并且仿真无误后,便进行引脚锁定及程序下载,在进行引脚锁定时必须对照引脚锁定图进行锁定,采用模式5其引脚锁定图如图5-1所示: 图5-1模式5实验电路结构图根据模式5上所对应的引脚号查表可以得出需要锁定的引脚号码锁定完后如图 5-2所示: 图 5-2 引脚锁定图Clk12mhz锁定clock9的12mhz;rst1键8为复位键;index1锁定键1到键7;code1锁定译码管8;spkout锁定扬声器。结果:当一次按下1,2,3,4,5,6,7,键时,扬声器发出do,re,mi,fa,sol,la,si七个音,同时数码管显示相应的音符数:1,2,3,4,5,6,7.6 心得体会经过努力,简易电子琴的设计基本上完成了。在整个设计过程中,包括前期中期和后期,我都有着许多不同的体会:1) 这个设计的基本是接触一门新的语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料快,在以前编程的基础上,从接触到开始动手编程的时间得到了很大的缩短。知识的接收速度在很大的程度上决定了动手的时间。2) VHDL的编程与C语言的编程有着本质的不同,然而以往形成的旧编程习惯在VHDL编程中依然起着很大的作用。一通百通,不是没有道理的。对于学习新的知识并予以应用的信心,显得更足了。3) VHDL的设计关键是电路逻辑设计,而一个程序的关键是总体设计。对于硬件设计接触不多的我们清楚这一点也许不无好处。4)通过这个程序设计让我学会一种新的语言,对数字系统结构也有了更进一步的了解和认识,对我以后的学习有很大的帮助。希望其他人在看再做类似设计时有所借鉴。通过几天的课程设计,我对数据库软件EDA技术、VHDL、等系列知识都有了一定的了解。使用EDA技术开发页面的能力也有了很大提高。在整个设计过程中,有很多人对任务的完成给予了重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品质量检验标准模板全方位质量控制
- 安久安全培训中心课件
- 关于中秋月圆的作文13篇
- 多方联合培育生物种苗协议
- 化工厂安全检查培训课件
- 2025兰州大学与白银公司技术合作合同书
- 2025年度个人汽车按揭借款合同
- 大黄素提取课件
- 2025煤炭销售合同范本
- 2025合同的商谈、签订与执行
- 淋巴瘤基础知识
- SH/T 0660-1998气相防锈油试验方法
- GB/T 14038-2008气动连接气口和螺柱端
- 《计算机系统结构(第二版)》配套教学课件
- 胰十二指肠切除术课件
- 风险分级管控责任清单(市政道路工程)
- (临床治疗)继发性甲旁亢课件
- UNIT 1 LESSON 1 LIFESTYLES课件第一课时
- 投标文件标书采购类
- 传媒公司解约合同模板
- 陆上石油天然气长输管道建设项目初步设计安全专篇
评论
0/150
提交评论