硬件课程设计报告 基于FPGA预置歌曲播放器
基于FPGA的音乐播放器

基于FPGA的音乐播放器尝试利用FPGA开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在SD卡(或MMC卡、TF卡)的根目录中的某一个WAV文件。
一、基本要求:制作音乐播放器(50分)(1)除了外置的音频功率放大器之外,本系统的主体部分(单片机)应基于STI51开发板,音乐来源于SD卡(或MMC卡、TF卡)(10分)(2)制作一个音频功率放大器,能够实现音频信号的功率放大功能,并能成驱动普通扬声器或耳机。
(10分)(3)能够播放单声道、8位,采样率为1.5K(或更高)的WAV文件。
实际播放时,歌声、伴奏声能依稀可辨。
(30分)二、提高要求:提高音乐播放器的音质(50分)(1)能够播放单声道、8位,采样率为2.5K或更高的WAV文件。
实际播放时,歌声、伴奏声清晰可辨。
(20分)(2)音频功率放大器从FPGA开发板取电,使用USB即可完成系统所有器件的供电。
(10分)(3)改造一切可以改造的部分以提高播放器的音质。
(20分)(提示:可以利用Adobe Audition软件编辑WAV文件并改变音频位数与采样率;可以利用Ultraedit软件以二进制方式查看WAV文件;WAV文件数据区的每一个字节顺次送入D/A中即可实现WAV文件的播放。
)起草人:刘文浩2010-11-25,04:43若具备一定的基础,以下内容可以忽略。
下面的内容是利用单片机制作音乐播放器的步骤。
题目分析1 系统开发步骤本题目对于刚学习完单片机尚未上手的同学来说可能难度较大,刚开始就着手制作一个以SD卡(或MMC卡、TF卡)为存储介质的音乐播放器并且要想尽办法提高播放音乐的音质具有较大难度,且容易让制作者失去继续制作下去的信心。
建议在制作过程中循序渐进,一步一步逐步深入逐渐实现以下功能:第一步:能够播放存储在单片机程序(ROM)中的音乐。
(参考时间:4天)第二步:通过串口调试助手向单片机发送WAV文件,使单片机能够播放计算机发出的WAV文件数据流。
基于FPGA的MP3音乐播放器设计

现了 以下几个方面 的功能 : ① 循环播放系统 内预存 曲 目; ②播 放
列表 : 可 以建 立 自 己 的播 放 列 表 , 建 立 后 MP 3将 会 循 环 播 放 选 中 的 几 首 歌 曲 。如 只 选 择 一 首 歌 曲 ,则 可 以 实 现 重 复 播 放 的 功 能; ③播放模式选择 : 系统内贮存有“ 普通” 、 “ 流行” 、 “ 古典 ” 、 “ 摇 滚” 等模 式 可 供 选 择 , 以数字编号代 替 , 选 择 后 相 应 数 字 显 示 在
K e y wo r d s : F P GA, MP 3 , t h e c o n t r o l l e r , t o n e f r e q u e n c y
本文基于 F P G A 实 现 的 MP 3音 乐 播 放 器 的设 计 , 它 主 要 实
块、 按 键 消抖 模 块 、 控制模块 、 音乐乐谱存储模 块 、 发 生 模 块 和 显 示模块等等。其中 , 分频设计是基础 , 而 控 制 模 块 和 发 生 模 块 的
数码 管上 ; ④可 实现快进 、 快退 、 暂停等 功能 ; ⑤ 可 以进 行 “ 上一
曲” 、 “ 下一 曲” 曲 目的 自由 选 择 。
1 系统 硬 件 组成
系 统 硬 件 设 计 主 要 由 5部 分 组 成 : 输入模块 ( 时钟 、 按键 ) 、
F P G A、 输 出模 块 ( 喇叭 、 数码管显示 ) 。 本 设 计 以基 于 Al t e r a公 司 C y c l o n e系列 的 E P 1 C 2 QC 8作 为 核 心 芯 片 , 自主 设 计 制 作 的开 发 电路板 , 在 配 套 以 部 分 系 统 所 需 的外 围 电路 板 , 作 为 MP 3音 乐 播 放 器 的硬 件 主体 。 如 图 1所 示 为 系 统 硬 件 设 计 框 图 。
fpga音乐盒课程设计

fpga音乐盒课程设计一、课程目标知识目标:1. 学生能够理解FPGA的基本原理和数字电路设计的基础知识。
2. 学生能够掌握音乐盒的基本工作原理和音乐理论知识。
3. 学生能够描述FPGA在音乐盒设计中的应用和优势。
技能目标:1. 学生能够运用Verilog或VHDL等硬件描述语言进行FPGA编程。
2. 学生能够设计并实现一个简单的音乐盒电路,包括音符生成、音调控制和播放功能。
3. 学生能够利用FPGA实现音乐盒的个性化定制,创作自己的音乐作品。
情感态度价值观目标:1. 学生培养对电子工程和音乐创作的兴趣,提高创新意识和动手能力。
2. 学生培养团队合作精神,学会与他人合作解决问题。
3. 学生培养良好的工程伦理观念,认识到科技发展对社会的积极影响。
课程性质:本课程为实践性较强的课程,结合理论知识与实践操作,培养学生的实际动手能力和创新能力。
学生特点:学生具备一定的电子基础和编程能力,对音乐有兴趣,喜欢探索新事物。
教学要求:教师应注重理论与实践相结合,引导学生主动参与,鼓励学生创新思维,关注学生的个体差异,提高学生的综合素质。
通过课程学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
二、教学内容1. 数字电路基础:复习数字电路的基本概念,包括逻辑门、触发器、计数器等,为FPGA设计打下基础。
- 教材章节:第一章 数字逻辑基础2. FPGA原理与编程:介绍FPGA的基本结构、工作原理,学习Verilog或VHDL硬件描述语言。
- 教材章节:第二章 FPGA原理与应用;第三章 硬件描述语言基础3. 音乐理论知识:学习音乐的基础知识,包括音符、音阶、和弦等,为音乐盒设计提供理论支持。
- 教材章节:第四章 音乐理论基础4. 音乐盒设计:讲解音乐盒的组成,包括音符生成、音调控制、播放电路等,引导学生进行设计实践。
- 教材章节:第五章 音乐盒设计与实现5. FPGA在音乐盒中的应用:探讨FPGA在音乐盒设计中的优势,如灵活性、可编程性等,并分析实际案例。
基于FPGA音乐播放器设计

参 考 文献 : 【 1 1 张庆 玲 , 杨 勇. F P G A 原 理 与 实践 [ M】 . 北京: 北 京航 空航 天 大 学 出版 社 . 2 0 0 6
[ 2 ] 刘睿 强. F P G A应 用技 术及 实践[ M ] . 北京: 北 京理 工大 学
出版 社 . 2 01 1
[ 3 】 袁 海林. 基于F P G A的具有存储功 能的 电子琴的设计 I J 1 .
中国科技信 g - 。 2 0 0 7 , ( 1 9 ) [ 4 ] 郑亚民. 可编程逻辑器件开发软件 Q u a a u s l I [ M] . 北京: 国
防 工 业 出版 社 . 2 0 0 6
机 械 与 自动 化
2 0 1 3 . N 0. 1 1 J o u r n a l o f He n a n S c i e n c e a n d ’ 。 。 。 。 。 T 。 。 。 e 。 ’ ’ c 。 。 。 h 。 。 。 。 ’ n ‘ 。 o 。 。 。 。 l 。 。 o 。 。 — g y —
计数 器是数字 系统 中应 用较 多的基本逻 辑器件 l 2 1 3 】 。 它的
综合分析 。其仿真结果如 图 2所示。
基本功能是实现计数操作 , 它也可用与分频 、 定 时、 产生节拍脉 冲和脉 冲序列等 。分频器是将不 同频段 的声音信号 区分开来 ,
分别给于放大 , 送到相应频段的扬声器 中再进行重放。
图 l 数控 果
作者简介 :
付莉 ( 1 9 8 5 年一 ) , 女, 汉族 , 毕业 于桂林 电子科技大学 , 助
教, 研究方向 : F P G A 及嵌 入 式 系统 设 计 。
基于FPGA的音乐播放器设计说明

频率的高低决定了音调的高低。计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。由于音阶频率多为非整数,而分频系数又不能为小数,因此必须将计算得到的分频数四舍五入取整。若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大;若基准频率过高,虽然误差较小,但分频数将变大。实际的设计应综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率。因此,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。综合考虑各因素,本文中选取12MHZ作为CLK的分频计数器的输入分频信号。乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。
④自顶向下的设计方法:传统的设计方法是,自底向上的设计或平坦式设计。自底向上的设计方法是先从底层模块设计开始,逐渐由各个模块形成功能复杂的电路。这种设计方法优点是很明显的,因为它是一种层次设计电路,一般电路的子模块都是按照结构或功能划分,因此这种电路层次清楚,结构明确,便于多人合作开发,同时设计文件易于存档,易于交流。自底向上设计方法的缺点也很明显,往往由于整体设计思路不对而使的花费几个月的低层设计付之东流。平坦式设计是整个电路只含有一个模块,电路的设计是平铺直叙的,没有结构和功能上的划分,因此不是层次电路的设计方式。优点是小型电路设计时可以节省时间和精力,但随着电路复杂程度的增加,这种设计方式的缺点变的异常突出。自顶向下的设计方法是将要设计的电路进行最顶层的描述(顶层建模),然后利用EDA软件进行顶层仿真,如果顶层设计的仿真结果满足要求,则可以继续将顶层划分的模块进行低一级的划分并仿真,这样一级一级设计最终将完成整个电路的设计。自顶向下的设计方法与前面两种方法相比优点是很明显的。
基于FPGA的音乐播放器的设计-毕业设计论文

第三章
3.1
为了便于理解,首先介绍一下硬件电路的发声原理.我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制 某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音.而乐曲中的每一音符对应着一个确定的频率,因此,要想 发出不用音符的音调,实际上只要控制它输出相应音符的频率即可.乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间.由此可见,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素.
课程设计
课程名称:可编程数字片上系统实训
设计题目:基于FPGA的音乐播放器设计
院系:电气信息学院
指导教师:谷雷
专业:通信工程
学号:122700109
姓名:尚斌成
长春建筑学院
2015年12月31日
摘 要
在 开发环境下,采用 硬件描述语言设计了一个可以在 芯片上实现的音乐播放器.通过将音乐播放器电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,经顶层文件将各单独结构体进行综合,最后将设计代码结合 模块制作的 文件下载到 实验箱进行功能验证,实现乐曲播放.由于音乐播放器的通用性及 语言的可移植性, 因此本音乐播放器可直接应用于各种不同系列的 芯片的设计中.
而简易电子琴,工作原理与乐曲演奏一样,只是将固定预置乐曲变成了手动按键输入,节拍时间取决于按键的停留时间,如果合适,同样能播放出完整的歌曲来.
3.1.1
频率的高低决定了音调的高低.音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍.在两个八度音之间又分为十二个半音.另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音.由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的.由于音阶频率多为非整数,而分频系数又不能为小数,因此必须将计算得到的分频数四舍五入取整.若基准频率过低,则由于分频比太小,四舍五入取整后的误差较大,若基准频率过高,虽然误差较小,但分频数将变大.实际的设计应综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的基准频率.因此,要想 发出不同音符的音调,实际上只要控制它输出相应音符的频率即可.综合考虑各因素,本文中选取12MHZ作为CLK的分频计数器的输入分频信号.乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调.
基于FPGA的音乐播放器

基于FPGA的音乐播放器姓名:陆波学号:09090323指导老师:周爱军•音乐硬件演奏电路基本原理•硬件电路的发声原理,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA芯片某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频,就可以在扬声器上连续地发出各个音符的音调。
而要准确地演奏出一首乐曲,仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。
•音调的控制:频率的高低决定了音调的高低。
通过查阅资料,得到下面的音符名与频率的关系表:音符名频率/hz音符名频率/hz音符名频率/hz 低音1262中音1523高音11046低音2294中音2587高音21175低音3330中音3659高音31318低音4349中音4698高音41397低音5392中音5784高音51568低音6440中音6880高音61760低音7494中音7988高音71976•分频比预置数的计算:•分频比就是从6Mhz基准频率通过二分频得到的3Mhz频率基础上计算得到的。
对于乐曲中的休止符,只需将其分频系数设为0,将分频预置数设为16383即可。
例如:低音3的频率为330hz,分频比为3M/330hz=3000000/330=9091,则其分频预置数为:16383-9091=7292。
其他的音符对应的分频比和分频比预置数均按此法计算可得到。
依次计算出低、中、高3X7=21个音的预置数。
•各音阶对应的预置数如右表:音符名预置数音符名预置数音符名预置数低音14933中音110647高音113515低音26179中音211272高音213830低音37292中音311831高音314107低音47787中音412085高音414236低音58730中音512556高音514470低音69565中音612974高音614678低音710310中音713347高音714858•音长的控制:•音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。
基于FPGA的音乐播放器的设计

目录引言 (1)1 VHDL及QUARTUSII软件简介 (2)1.1EDA简介 (2)1.2硬件描述语言VHDL (2)1.3软件介绍 (3)2 简易音乐演奏器设计 (5)2.1硬件电路设计 (5)2.2软件代码设计 (6)2.2.1音符储存单元 (6)2.2.2选择播放模式及手动模块单元 (6)2.2.3分频模块单元 (8)2.2.4预置数模块单元 (9)2.2.5音频发声模块单元 (10)3引脚锁定及下载 (10)3.1引脚锁定 (10)3.2结果分析 (11)4设计总结 (11)参考文献 (116)附录 (16)引言VHDL语言是一种用于电路设计的高级语言。
它在80年代的后期出现。
最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。
随着EDA技术的高速发展,电子系统的设计技术和工具发生了深刻的变化,大规模可编程逻辑器件CPLD/FPGA的出现,给设计人员带来了诸多方便。
利用它进行产品开发,不仅成本低、周期短、可靠性高,而且具有完全的知识产权。
突出了其作为硬件描述语言的良好的可读性、可移植性和易读性等优点。
本文基于FPGA开发系统,在QuartusII 7.2软件平台上,完成了简易乐曲演奏器设计和与仿真,并下载到试验箱进行硬件实现。
首先,本文介绍了QuartusII 7.2软件的基本使用方法和VHDL硬件描述语言的特点,采用VHDL 硬件描述语言描述简易信号发生器,完成对电路的功能仿真。
在设计过程中,重点探讨了简易乐曲演奏设计思路和功能模块划分。
然后,初步探讨了电路逻辑综合的原理,该软件对简易乐曲演奏器进行了逻辑综合。
最后,使用EDA实验开发系统进行电路的下载和验证。
验证结果表明设计的简易乐曲演奏器完成了预期的功能。
本设计是采用VHDL来实现的简易乐曲演奏器。
它能实现自动播放和手动播放。
1 VHDL及QuartusII软件简介1.1 EDA简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华中科技大学硬件课程设计总结报告项目名称:基于FPGA的预置乐曲播放器设计院系:华中科技大学 __小组成员:指导老师: _______时间: _【摘要】本次课程设计的项目名称是‘基于FPGA的预置乐曲播放器’,本次设计是在BASYS2实验开发板上实现,使用xinlinx14.1软件,开发语言采用VHDL,、通过Basys开发板的拨码开关实现播放乐曲的相关功能的控制;该播放器还外接自制音箱实现放大乐曲功能,PS2键盘实现电子琴的扩展弹奏功能,并通过VGA 显示电子琴琴键界面。
【关键词】FPGA;Basys;xilinx;VHDL;预置音符;音乐播放;电子琴;VGA显示屏显示;PS/2键盘;数码管目录【摘要】 (2)【关键词】 (2)一、绪论 (6)1.1.研究背景 (6)1.2.基本技术简介 (6)1.2.1.可编程逻辑器件FPGA (6)1.2.2.硬件描述语言VHDl (7)1.2.3.开发软件xilinx (7)1.3.设计目标 (7)1.4.关键技术 (8)1.5.考核指标 (9)1.6.参考资料 (9)1.7.元器件列表 (9)1.8.成员列表 (9)1.9.时间历程 (10)1.10.系统实物图片 (10)二、系统设计 (11)2.1系统原理 (11)2.1.1音调控制 (11)2.1.2音长控制 (12)2.1.3乐谱发生器 (13)2.1.4音量控制 (13)2.1.5.模式控制 (13)2.1.6 VGA 显示彩条 (14)2.1.7键盘接口实现电子琴 (14)2.2 方案论证 (14)2.3系统架构 (14)2.3.1键盘系统 (15)2.3.2VGA系统 (15)2.3.3扬声器系统 (15)2.3.4 I/O系统 (15)2.3.5时钟控制系统 (16)2.3.6总系统 (16)三、系统模块设计 (16)3.1 顶层模块 (17)3.1.1顶层模块原理框图 (17)3.1.2顶层模块电路图 (17)3.2时钟分频[DCM1]模块: (17)3.2.1功能描述 (17)3.2.2工作流程 (17)3.2.3元件符号 (17)3.2.4软件实现 (18)3.2.5硬件实现 (18)3.3乐谱码发生模块: (18)3.3.1功能描述 (18)3.3.2工作流程 (18)3.3.3元件符号 (18)3.3.4软件实现 (18)3.3.5硬件实现 (19)3.4乐谱码查表译码模块 (19)3.4.1功能描述 (19)3.4.2工作流程 (19)3.4.3元件符号 (19)3.4.4软件实现 (19)3.4.5硬件实现 (20)3.5数控分频模块: (20)3.5.1功能描述 (20)3.5.2工作流程 (20)3.5.3元件符号 (20)3.5.4软件实现 (20)3.5.5硬件实现 (20)3.6音量调节模块: (21)3.6.1功能描述 (21)3.6.2工作流程 (21)3.6.3元件符号 (21)3.7VGA显示模块: (21)3.7.1功能描述 (21)3.7.2工作流程 (21)3.7.3元件符号 (21)3.7.4软件实现 (22)3.7.5硬件实现 (22)3.8键盘电子琴模块: (22)3.8.1功能描述 (22)3.8.2工作流程 (22)3.8.3元件符号 (22)3.8.4软件实现 (23)3.8.5硬件实现 (23)四、开发环境 (23)4.1 硬件环境 (23)4.2软件环境 (24)4.3系统调试与测试方法 (24)4.4模块仿真结果 (25)五、技术报告 (27)5.1界面显示 (27)5.2操作指南 (27)5.2.1供电电源 (27)5.2.2按键功能 (27)5.2.3开关功能 (27)5.3用户体验 (28)5.4故障问题与分析 (28)5.4.1电子密码锁模块 (28)5.4.2键盘模块 (28)5.5后期计划 (28)六、项目总结 (28)七、心得体会 (29)八、致谢 (29)九、源代码清单 (29)一、绪论1.1.研究背景在电子技术的飞速发展的今天,电子产品的种类越来越多,功能越来越强大,体积越来越小,功耗越来越低。
随着经济的快速发展,人们对生活质量的要求也越来越高,在越来越高效率的生活条件下,人们需要来音乐来释放压力,而体型庞大的随身听已经满足不了人们的需求。
在此背景下,MP3应运而生。
MP3播放器,顾名思义也就是可播放MP3格式的音乐播放工具。
MP3发展到今天,其功能越来越多,外观越来越精致,受到了广大消费者的喜爱。
但是传统的Flash存储器的成本居高不下,设计者创意受限,造成MP3播放器卖价不菲但功能单一,而利用FPGA实现的MP3播放器可以用尽可能低的成本提供尽可能多的附加性能。
可编程逻辑器件和EDA技术的发展也为本次课程设计提供了一定的研究背景。
EDA技术,即电子设计自动化,是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
这样,将原来的“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”,在芯片的设计中完成对电路板的设计,减少了电路板连线,提高了系统集成度,降低了可能的干扰,增加了系统的可靠性和稳定性,提高了设计的灵活性和效率,大大提升了技术指标。
MP3播放器的功能可以有很多,基本功能就有从SD卡读取文件,通过扬声器播放音乐,通过调节按钮调节音量等。
还可以有多个扩展功能,如通过LED 显示歌曲的歌曲名、演唱者、播放时间等相关信息,快进后退,暂停等。
甚至可以实现一些较高级别的创新功能,如通过语音识别实现MP3的密码保护功能。
这是一个发展空间很大的课题,研究者可以根据自己的能力水平和兴趣爱好自由发展。
本次课程设计中,我完成了预置音乐的播放,暂停,音符显示,播放模式控制,播放时间显示,暂停及重新播放控制,快进及回放控制,快速及慢放控制,VGA显示乐谱彩条,键盘敲击电子琴,音量调节功能。
1.2.基本技术简介1.2.1.可编程逻辑器件FPGAFPGA(Field-Programmable Gate Array),即现场可编程门阵列,在结构上主要分为三个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线三个部分。
它采用专用的集成电路,用户不需要投片生产就可以得到合用的芯片。
FPGA 是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一,功耗低,是小批量系统提高系统集成度、可靠性的最佳选择之一。
了解利用FPGA实现电子琴的基本原理,综合运用所学知识实现一个具有多个模块的模数混合系统,为后续课程学习和工作打下基础,而且实现乐曲播放器设计业十分有趣,能够加深电子系统在音乐计数领域的作用。
本次课程设计使用的是BASYS2开发板,是一个基于xinlinx Spartan-3E 可编程逻辑器件和Atmel AT90USB2 USB 控制器的电路设计和实现的平台,USB 电缆提供电源和编程接口,所以他没有其他的电源供应器和编程电缆。
BASYS2开发板向用户提供完整的,准备使用的,硬件适合托管范围的,基本的逻辑器件复杂控制器的电路,开发板上包括I/O设备和所必须的FPGA支持电路,不需要任何其他组件就可以实现无数的电路设计。
1.2.2.硬件描述语言VHDlVHDL语言是一种超高速集成电路硬件描述语言,是用于电路设计的高级语言,事实上已成为通用的硬件描述语言。
VHDL主要用于描述数字系统的结构、行为、功能和接口,他的语言形式十分类似于一般的计算机高级语言。
他的程序特点是将一个设计实体分成外部和内部,外部又称可视部分,或者端口,同理,内部又称不可视部分,涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
由于VHDL语言易读和结构化,所以易于修改设计,在硬件电路的设计过程中主要的设计文件使用VHDL来编写源代码。
VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。
VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。
VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
本次课程设计用的就是VHDL语言编写程序,实现整体模块中的各种功能。
1.2.3.开发软件xilinx本次课程设计中使用的Spartan-3E开发板就是由xilinx公司最新推出的低成本FPGA,是基于Spartan-3/3L的,对其性能和成本进一步优化。
这款产品成本低廉,总体性能指标不是很优秀,适合低成本应用场合,是Xilinx未来几年在低端FPGA市场上的主要产品。
1.3.设计目标播放器的功能可以有很多,基本功能就有从SD卡读取文件,通过扬声器播放音乐,通过调节按钮调节音量等。
还可以有多个扩展功能,如通过LED显示歌曲的歌曲名、演唱者、播放时间等相关信息,快进后退,暂停等。
甚至可以实现一些较高级别的创新功能,如通过语音识别实现MP3的密码保护功能。
这是一个发展空间很大的课题,研究者可以根据自己的能力水平和兴趣爱好自由发展。
本次课程设计中,我们完成了预置音乐的播放,暂停,音符显示,播放模式控制,播放时间显示,暂停及重新播放控制,快进及回放控制,快速及慢放控制,VGA显示乐谱彩条,键盘敲击电子琴,音量调节功能。
预置音乐的播放:把音乐的曲谱写在程序里面,通过对不同音符的发音频率进行分析,把不同的音符以不同频率的脉冲形式输出,接到扬声器发出声音。
暂停:音乐是通过不断输送的时钟脉冲一个一个连续不断的实现输出的,使时钟脉冲停止就达到了是音乐播放暂停的功能。
重置:将音乐乐谱置为零即可。
音符LED显示:把音符的简谱代码存放在程序中,在音符频率输出的同时也通过LED灯把音符的简谱代码显示出来。
播放模式控制:通过一个拨码开关,实现单曲播放和循环播放模式的切换。
播放时间显示:在乐曲开始播放的同时启动计时器,并将时间显示在数码管上,随着乐谱的播放而递增,当暂停是时间停止计数,重置时将时间清零。
快进及回放控制:通过快进按键和回放按键控制,当快进按键按下时将乐谱以3个音节递增,回放按键按下时以3个音节递减。
快放及慢放控制:通过快放和慢放两个拨码开关,分别实现快放慢放,快放时每个音节时间播放3个音节,慢放时每3个音节播放1个音节,即实现了快放和慢放功能。
VGA彩条显示音节:在显示器上画出7条彩条分别对应着7个音调,当对应音调被播放时,显示器上对应的彩条显示高亮。