课程设计-基于EDA的音乐播放器的设计.doc

上传人:西安人 文档编号:3292370 上传时间:2019-08-08 格式:DOC 页数:20 大小:594.01KB
返回 下载 相关 举报
课程设计-基于EDA的音乐播放器的设计.doc_第1页
第1页 / 共20页
课程设计-基于EDA的音乐播放器的设计.doc_第2页
第2页 / 共20页
课程设计-基于EDA的音乐播放器的设计.doc_第3页
第3页 / 共20页
课程设计-基于EDA的音乐播放器的设计.doc_第4页
第4页 / 共20页
课程设计-基于EDA的音乐播放器的设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《课程设计-基于EDA的音乐播放器的设计.doc》由会员分享,可在线阅读,更多相关《课程设计-基于EDA的音乐播放器的设计.doc(20页珍藏版)》请在三一文库上搜索。

1、课程设计说明书课程设计说明书 1 目 录 1 引言1 1.1 关于 EDA 技术.1 1.2 关于 VHDL .2 1.3EDA 工具.2 1.4 有关于本次课程设计 .2 2 设计实现.3 2.1 准备知识 .3 2.2 乐曲演奏电路的结构示意 .4 2.3 乐曲演奏电路的子结构 .4 2.3.1 音调发生器模块.4 2.3.2 手动自动选择模块6 2.3.3 音调编码器模块.8 2.3.4 数控分频器模块.9 2.4 顶层文件 .11 2.4.1 顶层音乐演奏器源程序.11 2.4.2 顶层音乐演奏器原理图.13 2.4.3 顶层程序仿真波形图.13 3 结论.14 谢辞.15 参考文献.

2、16 附录模式 5 电路图.17 附录引脚锁定表.18 课程设计说明书课程设计说明书 2 1 引言 1.1 关于 EDA 技术 随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自 动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的 要求,吸收了多学科最新成果而形成的一门新技术。现如今掌握 EDA 技术是电子 信息类专业的学生、工程技术人员所必备的基本能力和技能。 传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分, 接下来就要选择特定芯片,焊接成 PCB 电路板,最后对成品 PCB 电路板进行调试。 这样的

3、设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于 电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。然而,随 着可编程器件和 EDA 技术的发展,传统设计的劣势被克服,采用可编程逻辑器件 基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,大大提高 了设计的灵活性,提高了工作效率;同时,将系统集成在一个芯片上的设计,使 系统具有体积小、功耗低、可靠性高等特点。 EDA 技术的发展大致经历了三个阶段:20 世纪 70 年代的 CAD(计算机辅助 设计)阶段、20 世纪 80 年代的 CAE(计算机辅助工程)阶段、20 世纪 90 年代后 的 EDA(电子设计

4、自动化)阶段。以下主要介绍第三个阶段。 EDA 技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬 件描述语言(HDL)为主要的描述方式,以 EDA 软件为主要的开发软件的电子设计 过程。它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综 合、仿真、适配、下载。EDA 技术主要有以下特征: (1)高层综合的理论和方法取得进展,从而将 EDA 设计层次由 RT 级提高到了 系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂 ASIC 的设计周期。 (2)采用硬件描述语言来描述 10 万门以上的设计,并形成了 VHDL 和 Verilog- HDL 两种标准硬

5、件描述语言。 (3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计 综合早期阶段就考虑到物理设计信息的影响。 (4)可测性综合设计。 (5)为带有嵌入式 IP 核的 ASIC 设计提供软、硬件协同设计工具。 (6)建立并行设计工具框架结构的集成化设计环境,以适应当今 ASIC 规模大 而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。 课程设计说明书课程设计说明书 3 总而言之,EDA 技术的出现,给电子信息产业带来了革命性的变革。 1.2 关于 VHDL VHDL 是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基 于这种描述,结合相关的软件工

6、具,可以得到所期望的实际电路与系统。 使用 VHDL 语言描述的电路,可以进行综合和仿真。然而,值得注意的是, 尽管所有 VHDL 代码都是可仿真的,但并不是所有代码都能综合。 VHDL 被广泛使用的基本原因在于它是一种标准语言,是与工具和工艺无关 的,从而可以方便地进行移植和重用。VHDL 两个最直接的应用领域是可编程逻 辑器件(PLD)和专用集成电路(ASIC),其中可编程逻辑器件包括复杂可编程逻辑器 件(CPLD)和现场可编程门阵列(FPGA)。 关于 VHDL 最后要说明的是:与常规的顺序执行的计算机程序不同,VHDL 从根本上讲是并发执行的。在 VHDL 中,只有在进程(PROCES

7、S)、函数 (FUNCTION)和过程(PROCEDURE)内部的语句才是顺序执行的。 1.3EDA 工具 目前有多种 EDA 工具支持采用 VHDL 进行电路综合、仿真以及实现。比较常 见的是 Altera 公司的 Quartus开发平台和 Xilinx 公司的 ISE 开发平台。这些平台 中使用的综合工具和仿真工具通常由专业的 EDA 厂商提供。本次设计中所使用的 平台正是 Quartus7.2,它是 Altera 公司提供的一套集成了编译、布局布线和仿真 工具在内的综合开发环境。它能完成从代码输入到编译到仿真再到物理实现的全 部设计流程。 1.4 有关于本次课程设计 本次课程设计要求使用

8、 EDA 工具,设计实现简易音乐演奏器,理解音名与频 率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最 终下载,完整实现简易音乐器的播放功能。 我们知道,与利用单片机来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路 的逻辑要复杂得多,如果不借助于功能强大的 EDA 工具与硬件描述语言,仅凭传 统的数字逻辑技术,即使最简单的演奏电路也难以实现。 在后面的章节中会详细介绍利用 EDA 技术实现简易音乐演奏器的过程。 课程设计说明书课程设计说明书 4 2 设计实现 2.1 准备知识 在本次设计中采用了铃声祝你生日快乐作为要播放的乐曲,它的旋律如 下: 5 5 |6 5 1|7 5

9、5|6 5 2|1 5 5|5 3 1|7 6 |0 0 4 4|3 1 2|1 根据声乐知识,组成乐曲的每个音符的发音频率值及其持续的时间是乐曲能 连续演奏所需的两个基本要素,获取这两个要素所对应的数值以及通过纯硬件的 手段来利用这些数值实现所希望乐曲的演奏效果是本实验的关键。表 2-1 为简谱中 音名与频率的对应关系。 表 2-1 简谱音名与频率的关系 音名频率(Hz)音名频率(Hz) 中音 1523高音 11047 中音 2587高音 21175 中音 3659高音 31382 中音 4698高音 41397 中音 5784高音 51568 中音 6880高音 61760 中音 7988

10、高音 71976 频率点及音符与音谱对应定义如表 2-2 所示。 表 2-2 音符语音谱定义 音符对应频率点对应音谱区别高中低音 0204700 1109111 2119521 3128831 4133141 5140951 6147961 7154171 8156912 9162122 10166832 11168942 12172852 13176362 14179472 课程设计说明书课程设计说明书 5 2.2 乐曲演奏电路的结构示意 本设计由四个模块组成,如图 2-3 所示。 图 2-3 乐曲演奏电路的结构示意 2.3 乐曲演奏电路的子结构 顶层结构所包含的模块分别有音调发生器(ydf

11、sq)模块、手动自动选择(bmux) 模块、音调编码器(ydbmq)模块及数控分频器(skfpq)模块。以下便是对各个子模块 的分析。 2.3.1 音调发生器模块 1.音调发生器模块的功能 在此模块中设置了一个 8 位二进制计数器(计数最大值为 107) ,这个计数器 的计数频率选为 4Hz,即每一计数值的停留时间为 0.25s,恰好为当全音符设为 1s 时,四四拍的 4 分音符的持续时间。例如,ydfsq 在以下的 VHDL 逻辑描述中, 祝你生日快乐乐曲的第一个音符为“5”,此音在逻辑中停留了 4 个时钟节拍, 即为 1s 时间,相应地所对应“1”音符分频预置数为 1409 在 skfpq

12、 的输入端停留了 1s。随着 ydfsq 中的计数器按 4Hz 的时钟频率做加法计数时,乐谱逐次被选取, 祝你生日快乐乐曲就开始自然连续而且循环的演奏起来了。 2.音调发生器模块的 VHDL 源程序 library ieee; use ieee.std_logic_1164.all; entity ydfsq is port(clk:in std_logic; clkj:in std_logic_vector(1 downto 0); rst:in std_logic; toneindex:out integer range 0 to 14); end ydfsq; architecture

13、bhv of ydfsq is signal counter:integer range 0 to 107; signal clker:std_logic; 音调 发生 手动自 动选择 音调 编码 数控 分频 课程设计说明书课程设计说明书 6 signal count4:integer; begin process(clk) begin if clkevent and clk=1 then if clkj=“10“ then count40 then clker2 then clker1 then clkertoneindextoneindextoneindextoneindextoneind

14、extoneindextoneindextoneindextoneindexNULL; end case; end process; end bhv; 3.音调发生器模块的仿真图 图 2-4 音调发生器模块的仿真波形图 通过仿真图可以清楚的看到,时钟 clk 由 0 开始计数,每计一次数输出 toneindex 的值随之发生一定的变化,只不过根据乐谱的不同,输出的变化也不尽 相同。然后把输出 toneindex 输入到音调编码器模块,进行下一步编码工作。于是, 由仿真图印证了 ydfsq 模块逐次选取音符的功能。 2.3.2 手动自动选择模块 1.手动自动选择模块的功能 根据设计的要求,该简易

15、乐曲演奏器能实现手动或自动演奏乐曲的功能。于 是,可通过一个按键 cs 来进行自动与手动的选择,当 cs 按下时,乐曲自动演奏, 其他情况下均为手动演奏乐曲,即可以通过按下其他的按键(与 cs 相连的按键除 外)来控制不同的音符。与此同时,还需要一个复位信号 rst 来控制该演奏器是否 工作,当 rst 为 1 时,停止演奏,为 0 时,可以演奏。以上提到的手动与自动的选 择只能在 rst 为 0 时有效。 2.手动自动选择模块的 VHDL 源程序 课程设计说明书课程设计说明书 8 library ieee; use ieee.std_logic_1164.all; entity bmux i

16、s port(d1:in integer range 0 to 14; d2:in integer range 0 to 14; cs,rst:in std_logic; q:out integer range 0 to 14); end bmux; architecture bhv of bmux is begin process(cs,rst) begin if rst=1then qqqqtonetonetonetonetonetonetonetonetonetonetonetonetonetonetoneNULL; end case; end process; end bhv; 3.音

17、调编码器模块的仿真图 图 2-6 音调编码器模块的仿真波形图 在此仿真图中从上到下依次代表输出 code、输出 code1、输入 index 和输出 tone。通过此仿真图能清楚的看到当音符分别为 3、5、8、13、0 时,它们所对应 的分频预置数 tone 分别是 1288、1409、1569、1763、2047;所对应的音谱 code 分 别是 3、5、1、6、0;所对应的高中低音 code1 又分别是 1(中) 、1(中) 、2(高) 、 2(高) 、0(低) 。其中 code、code1 能分别在两个数码管上显示,而 tone 则输入 到数控分频模块作为分频的依据。于是,由仿真图印证了

18、音调编码模块传送预置 数及显示功能。 2.3.4 数控分频器模块 1.数控分频器模块的功能 该模块的 clk 端输入一个具有较高频率(本实验为 12MHz)的信号,通过 skfpq 分频后由 spkout 输出。由于直接从数控分频器中出来的输出信号是脉宽极窄 的脉冲信号,为了便于驱动喇叭,需另加一个 D 触发器均衡其占空比,也即作二 分频处理。skfpq 对 clk 输入信号的分频比由 11 位预置数 tone100决定。spkout 的输出频率将决定每一音符的音调,这样分频计数器的预置数 tone100与 spkout 的输出频率就有了对应关系。例如在 ydbmq 模块中取 tone100=

19、1479,作为发音 课程设计说明书课程设计说明书 11 符为“6”音的信号频率。 2.数控分频器模块的 VHDL 源程序 library ieee; use ieee.std_logic_1164.all; entity skfpq is port(clk:in std_logic; tone:in integer range 0 to 2047; spks:out std_logic); end skfpq; architecture bhv of skfpq is signal preclk:std_logic; signal fullspks:std_logic; begin proce

20、ss(clk) variable count4:integer range 0 to 14; begin preclk11 then preclkclk1,clkj=clkj,toneindex=x,rst=rst); u2:bmux port map(d1=d1,d2=x,cs=cs,rst=rst,q=y); u3:ydbmq port map(index=y,code=code,code1=code1,tone=z); u4:skfpq port map(clk=clk2,tone=z,spks=spks); end bhv; 课程设计说明书课程设计说明书 14 2.4.2 顶层音乐演奏

21、器原理图 经过了各个子模块的分析与验证后,我们只需将各个子模块之间的输入输出 端、子模块与整体电路之间的输入输出端进行正确的硬件连接就得到了顶层音乐 演奏器的原理图,如图 2-8 所示: 图 2-8 乐曲演奏电路的顶层原理图 2.4.3 顶层程序仿真波形图 图 2-9 顶层程序的仿真波形图 首先,介绍一下总体程序中各个引脚的作用及硬件连接情况:输入 clk1 是一 个频率较小的时钟信号,在进行硬件下载时它与实验箱上 clock0 模块的 16Hz 频率 相连,它决定着乐曲演奏的快慢;输入 clk2 是一个频率较大的时钟信号,因为要 对它进行多次不同的分频,下载时它与实验箱上 clock9 模块

22、的 12MHz 频率相连; 输入 d130是当手动演奏时自己确定的音符,下载时它与实验箱上的按键 6、5、4、3 相连;输入 rst 和 cs 分别是整体复位端和演奏方式选择端,它们分别 与实验箱上的按键 2、1 相连;输出 code 和 code1 分别用来显示音谱与高中低音, 它们分别与实验箱上的数码管 1 和 2 相连(提示:选择工作模式为模式 5) ;输出 spks 要与实验箱上的喇叭相连,用来发出声音。 课程设计说明书课程设计说明书 15 其次,顶层电路的仿真波形图是否正确依赖于各个子模块的功能是否完善, 同时顶层电路的功能实现又验证了各个子模块的正确性,二者相互依存。 3 结论 (

23、1) 本次简易乐曲演奏器的设计经过了整体分析、模块化分析、整体与模块的 仿真分析这样三个步骤,硬件实现了整体复位、按键选择演奏方式、循环演奏以 及数码管显示乐谱的功能。 (2) 在做数控分频器模块的仿真时一定要处理好时序问题。 (3) 本次设计可以说达到了设计要求,但尚有需要改进的地方。随着乐谱的复 杂程度加大,如果依然在音调发生器的程序中通过时钟计数来决定音符的输出, 会加大编程的繁杂度,这时一个很好的解决办法就是把将要演奏的乐谱存放在人 为开辟的存储空间里,这样只需要在相应地址中读出音符即可。 课程设计说明书课程设计说明书 16 谢辞 本学期最后两周我们 07 电信本 2 班做的是基于 E

24、DA 的音乐演奏器的课程设 计。 两周的课程设计已经接近尾声,这是我们本学期最后的一次课设,首先要感谢我 们的学校领导为我们提供了多次动手锻炼的机会,增强了我们的实践能力。这次 课程设计,不仅使我更加熟悉了 VHDL 语言、Quartus软件,而且真正体会到了 “实践出真知”这句话的真谛。 在这三次的课设进程中,永久不变的是各位指导老师的悉心教导,耐心指教。 尤其在本次设计中,郭老师给了我及时的帮助,让我茅塞顿开、受益匪浅,在此 对两位老师表示深深的谢意。 最后,课程设计虽然是个人探索研究取得进步的过程,但依然离不开同学之 间的相互探讨与帮助,集体的思维是开阔的,集体的智慧是无限的,再难的课题

25、 也会被集体的力量所攻破。因此我还要向那些给我提供帮助的同学们表示感谢。 课程设计说明书课程设计说明书 17 参考文献 1 张顺兴.数字电路与系统设计.第 1 版.南京:东南大学出版社,2004 2 王玉秀.电工电子基础实验.第 1 版.南京:东南大学出版社,2006 3 孙肖子.模拟电子技术基础.第 1 版.西安:西安电子科技大学出版社,2001.1 4 谢自美.电子线路设计实验测试.第 2 版.武昌:华中科技大学出版社,2000.7 5 张豫滇.电子电路课程设计.第 1 版.南京:河海大学出版社,2005.8 6 沈明山.EDA 技术及可编程器件应用实训,科学出版社,2004.6(4):318-326 7 刘婷婷,李军.电子设计自动化(EDA).北京师范大学出版社,2007,9(2):250-257 8 赵明富,李立军.EDA 技术基础,北京大学出版社,2007.5(5):221-224 课程设计说明书课程设计说明书 18 附录 模式 5 电路图 课程设计说明书课程设计说明书 19 附录 引脚锁定表 课程设计说明书课程设计说明书 20

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1