基于FPGA红外遥控乐曲播放器设计

合集下载

基于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音乐播放器设计

基于FPGA音乐播放器设计
应的音符放在一个连续 的地址 , 具体电路如图 1所示。
参 考 文献 : 【 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的音乐播放器设计说明

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

基于-FPGA的音乐播放器的设计

基于-FPGA的音乐播放器的设计

摘要根据国家发改委与专业教学委员会对教育机构的要求,为培养适应我国21世纪国民经济发展的电子设计人才;同时基于国家教委面向21世纪电工电子课程体系改革和电工电子工科教学基地建设两项教学改革研究成果。

要求高等本科在校学生能够自己动手完成简单的数字器件设计。

本次设计在自己手动焊接简易的PFGA板子上实现,并且在QusrtusII 9.0上利用VHDL设计数控分频器电路,利用数控分频原理设计音乐硬件演奏电路,并制定LPM-ROM 存储音乐数据,以“梁祝”乐曲为例,将音乐数据存储到LPM-ROM,就达到了已纯硬件的手段来实现乐曲演奏的效果,只要修改LPM-ROM所存储的音乐数据,将其转换为其他的音乐数据,再重新制定LPM-ROM,在连接到程序中就可以实现其他与取得演奏。

本次设计采用的FPGA主芯片位ALTERA公司的FLEX系列的EPF10K10LC84-4。

由于板子是自己手动在万用板上焊接的所以只焊接了必要的外设如蜂鸣器和LED。

关键词FPGA;音乐播放器;QuartusII;VHDL;目录摘要 (I)第一章前言 (2)1.1关于EDA技术 (2)1.2 关于VHDL (2)1.3 关于EDA工具 (3)1.4 有关本次课程设计 (3)第二章设计实现 (4)2.1音乐演奏电路原理 (4)2.1.1音符频率的获得 (4)2.1.2乐曲节奏的控制 ............................................................... 错误!未定义书签。

2.1.3乐谱发生器 ....................................................................... 错误!未定义书签。

2.1.4乐曲演奏电路原理框图 ................................................... 错误!未定义书签。

基于FPGA的音乐播放器的设计-毕业设计论文

基于FPGA的音乐播放器的设计-毕业设计论文
2 编写设计报告,要求包括方案选择,程序清单,调试过程,测试结果及心得.
第三章
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的音乐播放器

基于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的音乐播放器的设计

基于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)的概念发展而来的。

基于FPGA的乐曲演奏电路设计_毕业设计论文

基于FPGA的乐曲演奏电路设计_毕业设计论文

毕业设计基于FPGA的乐曲演奏电路设计摘要设计了一种基于FPGA的电子琴,该电子琴由用VHDL硬件描述语言设计的核心部件和适当的外围电路构成,可从琴键上进行演奏也可自动进行乐曲演奏。

基于FPGA(现场可编程门阵列)芯片,利用VHDL语言,介绍了一种通用乐曲演奏电路的设计,可实现多个八度音阶的乐曲演奏,与简谱的对应关系简单,编程方便,占用资源少,通用性好,可作为IP core模块引用,构成复杂的SOPC系统.关键词:电子琴;现场可编程门阵列(FPGA);智力产权核(IP core);超高速集成电路硬件描述语言(VHDL);乐曲AbstractAn electronic piano is designed based on FPGA,which consists of core paris that designed by using VHDL hardware description languages,as well as some periphery circuits.The musical perform ance can be donenot only by keys but also with automatic type in the electronic piano.Based on FPGA,by VHDL language,this paper introduces a universal music circuit design,it can play high,middle and low multiple tonality,simple corresponding relation with simple musical notation,which programs easily using little resource.It can be used universally for IP core in making complicated SOPC system.Key words:electronic piano;Field Programmable Gate Array(FPGA);Intelligence Property core(IP core) ;Very-High-Speed Integrated Circuit Hardware Description Language(VHDL);music目录1.简易电子琴与音乐发生器设计的介绍 (4)1.1简易电子琴设计介绍 (4)1.2音乐发生器设计介绍 (4)2.F P G A功能与使用简介 (6)2.1F P G A简介 (6)2.1.1F P G A的产生 (6)2.1.2F P G A的基本结构 (7)2.1. 3 MAX+PLUSII (7)2.2硬件描述语言V H D L (10)2.2.1V H D L语言的优点 (10)2.2.2利用V H D L语言设计数字系统的特点 (11)2.2.3V H D L语言的基本结构 (13)2.2.4V H D L的设计流3.简易电子琴设计及程序 (16)3.1简易电子琴设计总体框图 (16)3.2模块设计 (16)3.2.1模块Q I N设计 (16)3.2.2模块F A N A设计 (17)4.音乐发生器设计及程序 (20)4.1使用的乐谱 (20)4.2音乐发生器设计及程序 (20)4.2.1音乐发生器总框图 (20)4.2.2可变分频器设计 (20)4.2.3到计时模块设计 (31)5.仿真 (3)45.1概述 (34)5.2仿真验证与实5.2.1电子琴电路的仿真 (35)5.2.2音乐发生器仿真 (35)6.结论 (3)77.致谢 (3)88.参考文献 (39)1.简易电子琴与音乐发生器设计的介绍1.1简易电子琴设计介绍电子琴因其操作简单,且能模拟各种传统乐器的音色,而深受消费者喜爱。

基于FPGA的音乐播放控制电路设计

基于FPGA的音乐播放控制电路设计

音乐播放器控制电路课程设计报告班级:学号:姓名:指导老师:一、设计目的将《断桥残雪》简谱按照要求进行编码并将其写入只读存储器ROM之中,然后通过设计的电路读出ROM的内容,进行解码后驱动蜂鸣器播放。

二、开发环境采用Altera Quartus II 9.0软件设计环境。

它提供了全面的逻辑设计能力,包括电路图、文本和波形的设计输入以及编译、逻辑综合、仿真和定时分析以及器件编程等诸多功能。

特别是在原理图输入等方面,Altera Quartus II 9.0被公认为是最易使用、人机界面最友好开发软件。

并采用FPGALP-2900开发装置硬件实现,给人们带来极大的方便。

三、设计过程概述1、数字简谱简介数字简谱用不同的点和线段配合8个阿拉伯数字0~7构成音符,记录表示千变万化的音乐曲子及其基本音乐元素。

乐音是由三个要素决定的:频率决定了乐音的音高,频谱决定过了乐音的音色,音形标志着演奏方式。

乐曲的基本元素是:音的高低(音高)、音的长短(时值)、音的力度和音质(音色)。

音的高低和长短不同决定了乐曲的不同,因此构成了音乐的最重要的基础元素。

音乐用1、2、3、4、5、6、7分别表示同一调式7个不同的音高:多、来、米、法、索、拉、西。

这七个数字上、下标注的点表示音调升高8度音程或降低8度音程。

数字0为休止符,表示停止发音。

数字下或数字上的线段表示因的持续时间的长短。

没有线段的数字为4分音符,器时值为音长的基本度量单元,成为一拍。

数字下面标注的线段表示时间减短,没增加一条线段,表示时值减少一半,音符相应的成为8分音、16分音……数字后面的线段称为延长线,表示前一个音符的市场的增加,每条延长线的时值增量为1拍。

音长是一个相对的时间概念,一拍的时间长度没有限制,可以是1s,也可以是2s或是0.5s,。

若将4分音符的时长定为1s,其他音符的时值长度以其为基本参照度量,半拍为0.5s,2拍为2s,以此类推。

2、音高与频率关系20Hz至20KHz的音频脉冲信号控制蜂鸣器,可以使其根据控制信号的频率发出不同的音调。

基于FPGA的音乐播放器设计报告

基于FPGA的音乐播放器设计报告

中国地质大学(武汉)基于FPGA的音乐播放器设计专业班级小组成员指导老师2015.06目录一、实现功能 (2)二、成员及任务分工 (2)三、详细设计及原理 (3)1.系统硬件结构设计 (3)2.程序流程 (4)四、具体实现 (5)1.SD卡文件系统的初始化 (5)2.按键选歌模式 (6)3.自动播放模式 (7)4.快进、快退、播放/暂停功能 (7)5.LCD显示歌曲名及歌词模块 (8)6.LED显示功能 (10)7.数码管显示当前曲目、总歌曲数和时间功能 (11)五、碰到的问题及解决过程 (12)1.问题一 (12)2.问题二 (12)3. 问题三 (13)4. 问题四 (13)六、运行效果 (13)七、设计小结 (19)一、实现功能1. 支持SD卡文件读取功能;2. 支持WAV格式音频功能;3. 支持歌词同步显示功能;3. 支持歌曲名称显示功能;4. 支持“播放/暂停”控制功能;5. 支持歌曲选择功能;6. 支持LED灯显示音量功能;7. 支持返回功能;8. 支持硬启动从ROM启动;9.支持数码管显示总歌曲数和第几首歌曲功能;10.支持数码管显示歌曲的播放进度功能;11. 支持LED灯指示拨码开关0~7状态功能;12. 支持前6首歌曲直接选择功能。

二、成员及任务分工三、详细设计及原理1.系统硬件结构设计本设计采用DE2 开发板,充分利用NiosII 软核的特性,结合自定义用户组件、自定义用户外设。

在FPGA 中使用软核处理器的优势在于灵活高效,硬核实现没有灵活性,通常无法使用最新的技术。

而应用Nios II 软核处理器,开发者能够完全定制CPU 和外设,获得恰好满足需求的处理器,充分利用了Nios II 处理器灵活和高效的特性。

通过DE2 开发板上的SD 卡插槽,读取SD 卡上的音频数据后,送到音频编/解码器,对音质进行相关处理后输出,进行音乐的播放. SD 卡音乐播放是由NiosII 处理器通过软件完成的。

FPGA设计一个乐曲自动演奏控制器

FPGA设计一个乐曲自动演奏控制器

FPGA设计一个乐曲自动演奏控制器乐曲自动演奏器一、功能介绍使用FPGA设计一个乐曲自动演奏控制器,将源程序下载至FPGA 器件中,实现乐曲自动演奏。

(本设计的乐曲是《友谊天长地久》的部分音乐)乐曲演奏的原理是:由于组成乐曲的每个音符的频率值(音调)及其持续时间(音长)是乐曲演奏的2个基本数据,因此需要控制输出到扬声器的激励信号的频率高低和该频率信号持续的时间。

频率的高低决定了音调的高低,而乐曲的简谱与各音名的频率之间也有固定的对应关系。

所有不同频率的信号都是从同一基准频率分频而得来的,由于音阶频率多为非整数,而分频系数又不能为小数,故必须将计算的到的分频数进行四舍五入取整,基准频率和分频系数应综合考虑加以选择,从而保证音乐不会走调。

如在4MHz时钟下,中音1(对应的频率值为523.3Hz)的分频系数应该为:4000000/(2*523.3)=0xd3821,这样只需对系统时钟进行3821次分频即可得到所要的中音1。

至于其他音符,同样可求出对应的分频系数,这样利用程序可以很轻松地得到对应的乐声。

此外,在程序中设置了一个状态机,每250ms改变一个状态(即一个节拍),组成乐曲的每个音符的频率值(音调)相对应于状态机的每一个状态。

只要让状态机的状态按顺序转换,就可以自动播放音乐了。

《友谊天长地久》乐谱见下表(注:N一拍;N两拍;N﹒四拍;N﹒八拍;N为乐谱。

由于芯片存储容量太小,源程序只加入乐谱的一部分音符)《友谊天长地久》乐谱0 5. | 1. 1 1 3 | 2. 1 2 3 | 1. 1 3 5 | 6. 6 | 5. 3 31 | 2. 123 | 1. 6. 6 5.. | 1. 6 | 5. 3 3 1 | 2. 1 2 6| 5 . 3 3 5 | 6. 1 | 5. 3 3 1 | 2. 1 2 3 | 1. 6. 6 5..| 1. 0 ¶简谱中的音名与频率的关系二、硬件设计(电路图、原器件清单)实物元件清单:印刷电路板一个;电阻(10KΩ的10个,200Ω的8个,1KΩ的14个,50Ω的1个);三极管3个;发光二极管(红黄绿各三个);蜂鸣器1个;8段显示器2个;按键4个;4M晶振1个;电容(104的6个,10μ的1个);电源线1个;芯片底座1个;电路图:功率放大显示部分:核心控制部分:三、软件设计(流程图、源程序)流程图一个完整的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。

基于FPGA的音乐播放器课程设计

基于FPGA的音乐播放器课程设计
2.1 EDA技术介绍
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
(4)所有的制造厂商都提供了Verilog HDL的工艺库,用以支持仿真。
(5)Verilog HDL的程序语言接口拥有强大的功能,允许用户用C语言对内部
数据结构进行描述。
正是以上优点,使得Verilog HDL语言广泛流行。
下面是verilog的设计流程:
Verilog的设计流程图
2)了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。
3)培养自主学习、正确分析和解决问题的能力
1.2课程设计要求:
1)使用蜂鸣器播放音乐
2)三首音乐以上
3)数码管上显示当前播放的歌曲位置(第几首歌曲)
4)能够暂停和开始
5)能够选择上一首和下一首歌曲
2.应用工具介绍
作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表示出来,而我们经常见到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。
总成绩(100分)
提问
(答辩)
问题
情况



基于fpga的音乐播放器的设计毕业设计说明书

基于fpga的音乐播放器的设计毕业设计说明书

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

基于FPGA音乐播放器设计毕业设计

基于FPGA音乐播放器设计毕业设计

基于FPGA音乐播放器设计毕业设计简介本文档旨在介绍基于FPGA音乐播放器的毕业设计。

我们将使用FPGA技术设计一个音乐播放器,使其能够播放音乐文件,提供音频输出,并具备基本的控制功能。

设计目标1. 实现FPGA音乐播放器的硬件设计。

2. 支持音乐文件的播放和控制功能。

3. 实现音频输出功能。

4. 最大限度地减少功耗和硬件资源使用。

设计方案1. 硬件设计:使用FPGA芯片作为核心,构建音乐播放器的硬件电路。

考虑到资源使用的限制,采用简化的设计方案,保持硬件复杂度的最小化。

2. 控制功能:设计一个简单的用户界面,以便用户可以选择音乐文件并进行控制操作,如播放、暂停、停止等。

3. 音频输出:通过FPGA芯片的音频输出接口,将音乐信号转换为模拟音频信号,并通过扬声器或耳机进行播放。

4. 能耗优化:在设计中尽可能减少功耗,采用优化电路设计和功耗管理策略,以延长电池寿命或减少供电需求。

预期成果通过本毕业设计,预计可以实现一个基于FPGA的音乐播放器,具备基本的音乐播放和控制功能,并提供音频输出。

设计方案将遵循简化策略,以便在有限的资源和功耗约束下实现功能。

时间计划以下是预计的时间计划:- 第一周:调研相关的FPGA音乐播放器设计方案和技术。

- 第二周:设计FPGA音乐播放器的硬件电路。

- 第三周:实现音乐文件的播放和控制功能。

- 第四周:设计音频输出接口并测试音频输出功能。

- 第五周:优化设计,测试并调试整个系统。

- 第六周:完成毕业设计报告的撰写和总结。

参考文献1. 张三,李四。

FPGA音乐播放器设计方法。

《电子技术与软件应用》 2020年,第12期。

2. 王五,赵六。

FPGA音频输出接口设计技术研究。

《电子工程与设计》 2019年,第5期。

以上是基于FPGA音乐播放器设计的毕业设计文档。

请根据需要进行进一步的完善和修改。

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

基于FPGA红外遥控乐曲播放器设计作者:赖义汉卢彬锋王宇松来源:《赤峰学院学报·自然科学版》2019年第02期摘要:本文介绍了乐曲播放的基本原理及基于FPGA芯片乐曲播放器系统的组成,分析了红外遥控器的工作原理及红外遥控接收解码器、按键消抖的有限状态机设计方法,系统以FPGA内部嵌入式存储块作为乐曲存储器,能够动态显示乐曲的音符,通过SignalTap II逻辑分析仪进行在线仿真和硬件测试,系统控制稳定,音质效果好,外围电路简单.关键词:FPGA;红外遥控;乐曲;播放器中图分类号:TN912.2; 文献标识码:A; 文章编号:1673-260X(2019)02-0068-041 引言传统的音乐播放器主要以单片机为主控制芯片[1-2],由芯片中的定时器来产生乐曲的音调及音调的持续时间,从而实现乐曲的连续演奏.由于单片机运行速度及内部存储容量有限,其音调频率的精度及乐曲的存储数量会受到一定的限制[3].而FPGA芯片内部含有丰富的逻辑阵列、嵌入式存储器块、PLL锁相环等硬件资源,以FPGA芯片为控制芯片,以Verilog硬件描述语言来设计乐曲的播放器,具有低功耗、外围电路简单,速度快、功能可扩展等特点.乐曲播放器具有上一首、下一首、播放/暂停、自动/手动和红外遥控等多种控制模式,能够动态显示音符等功能.2 系统总体结构系统主要由FPGA核心模块及系统时钟、按键模块、红外一体接收电路,音乐放大电路等外围电路组成.系统总体框图如图1所示.其中系统时钟频率为50MHz, FPGA采用Altera公司的Cyclone IV系列的EP4C4E10F174CN芯片,FPGA核心模块包含按键消抖模块、分频器模块、乐曲播放模块、乐谱存储及动态音符驱动模块等.3 系统各模块的FPGA实现3.1 乐曲演奏的基本原理声音的频谱范围为20Hz~20KHz范围,乐曲主要由音调(音符的频率值)和音长(持续时间)两个基本数据组成,即只要控制输出信号的频率高低及持续的时间就可以使扬声器发出连续的乐曲声.根据音乐的十二平均率規定[4]:每两个八度之间的频率相差一倍,在两个八度音之间,又可分为12个半音,每两个半音的频率比为■,如音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音,由此可以计算出简谱中从低音1到高音7之间每个音名对应的频率,乐曲就是由一连串的音符组成的,按照乐曲的乐谱依次输出这些音符所对应音调的频率,就可以在扬声器上连续发出各个音符的音调,因此,要演奏一首音乐,关键是控制乐曲中的音符的发生频率及乐曲的节拍的.由于每两个音的音频比值(高音比低音)正好是2或是2n,因此,对于所有八度关系的乐音除了音高上的差异外,本质上听起来不会任何区别.3.2 乐曲播放控制模块实现准确获取音符的发音频率及持续的时间是乐曲无失真演奏的重要因素,为产生乐谱中不同的音符的频率,系统采用预置数分频法对基准时钟信号进行分频,预置数不同,其计数值不同分频数也不同,就能得到不同的频率值.由于音阶频率多为非整数,分频后会存在或多或少的误差,一般采用四舍五入法.本设计以6MHz的时钟信号为基准频率,通过设置不同的初值使分频器产生各种音符频率.如要产生低音的“1”,则分频数为6MHz/216.6Hz≈22935.8,即分频数约为22936,为提高信号的驱动能力,使音调的频率输出占空比为50%,则分频数为22936/2=11468,其他音符以此类推,本设计以C调为例,各音阶频率、分频数、音符编码之间关系如表1所示.音长即音乐的节拍,也就是音调持续的时间,以2/4节拍为例,如果每个小节持续的时间为1s,则每拍的演奏时间为0.5s,为提高驱动能力及节拍精度,系统由占空比为50%的4Hz 的时钟来产生节拍信号,即每一个半节拍为0.25s.3.3 基准时钟的产生基准时钟是产生乐曲音调的基础,根据设计要求,需要得到音调所需的6MHz基准时钟和节拍所需的4Hz信号,为提高时钟的精度,采用FPGA内部集成的嵌入式锁相环PLL来实现,锁相环可以与输入的系统时钟信号同步,并以其作为参考信号实现锁相,从而可以输出一个或多个同步倍频或分频的片内时钟,得到高精度的频率,以供逻辑系统使用,与直接来自外部的时钟相比,这种片内时钟会减少时钟的延时和时钟信号的变形,减少干扰,能很好地保证系统稳定高速可靠工作.通过设置ALTPLL模块的分频数,由50MHz系统时钟得到6MHz和4MHz的频率,再由4MHz的频率再经过分频得到占空比为50%的4Hz的节拍时钟信号.从而保证基准时钟的稳定性和准确性.3.4 乐曲的定制及动态音符的显示为提高乐曲的直观性和可读性,乐曲中用变量q[11:0]表示音名,其中高4位q[11:8]表示高音的■:■,q[7:4]表示中音的1~7,q[3:0]表示低音的■:■,其编码方式如表1所示.通过定制FPGA中LPM- ROM存储音乐数据,通过改变ROM的地址就可以输出不同的音符编码,通过查表可得到不同的分频预置数,从而得到不同的音调频率,通过控制地址产生的频率就可以控制乐符输出的节拍,以纯硬件的方法来实现乐曲的演奏效果.若要实现其他乐曲的演奏,只要修改LPM-ROM所存储的音乐数据,再重新定制LPM-ROM,就可以实现其他乐曲的演奏.为使演奏能循环进,需另外设计置一节拍时长计数器,保证演奏完后又重新开始,或跳到下一首的乐曲的首地址.LPM-ROM中存储的是乐曲音符的编码,由3位的BCD码组成,分别表示不同音阶,系统采用3位数码管分别动态显示乐曲中的高中低音的音符,显示模块采用动态扫描方式,由8位的段码信号和3位的位码信号来驱动3位的共阴数码管,从而实现音符的动态显示.3.5 按键消抖模块键盘模块有四个按键:上一首(key_up)、下一首(key_down)、暂停/播放(key_pause);自动/手动(key_auto).由于机械按键存在抖动,为保证每按一次,产生一个负脉冲,执行一次操作,这里采用有限状态机分别对按键按下和释放进行消抖处理[5].其按键识别与消抖的状态转换图如图2所示.工作过程:初始状态为IDLE,当检测有下降沿时,进入STATE0状态,并通过一个计数器计时电平持续的时间.在按键按下时,计数器开始计数,并且每个周期判断该键是否为低电平,如果仍为低电平且计数器计数值达一定值(约10ms)后,则按键切换标志变量key_flag 产生一个高电平脉冲,按键状态变量key_state为低电平,进入稳定状态DOWN,若计数值未达到预定值,则为抖动重新返回IDLE状态;在DOWN状态时,如果检测到上升沿,则进入STATE1状态,启动计数器,并且每个周期判断该键是否仍为高电平,当高电平保持时间达10ms后,则按键切换标志变量key_flag产生一个高电平脉冲,按键状态变量key_state为高电平,一次完整的按键识别结束,重新回到IDLE状态,若计数值未达到预定值,则为抖动重新返回DOWN状态.如果满足(key_flag==1&&key_state==0)则按键按下有效,按键为低电平,如果(key_flag== 1&&key_state==1)则按键释放完成,按键为高电平.3.6 红外遥控系统接收电路及解码模块设计3.6.1 红外遥控接收电路红外遥控系统分为发射和接收两部分,红外发射部分主要由红外发光二极管、矩阵键盘、编码和调制电路等组成[6],红外接收部分采用Holtek公司的HT6221一体化红外接收头模块,该接收头集红外接收、放大、滤波和比较输出等模块功能,性能稳定可靠,其接口电路如图3所示,其中IR输出信号接FPGA的红外遥控解码模块.3.6.2 红外遥控解码模块设计HT6221红外遥控器是一款基于NEC红外通信协议的遥控编码芯片,其采用脉冲宽度编码(PPM)的编码格式,其数据帧格式由:引导码、8位地址码、8位地址反码、8位按键数据码、8位按键数据反码以及1位结束位组成[7],如图4所示.其中,引导码由9ms高电平和4.5ms的低电平组成,其代表一个数据的帧头.NEC协议采用脉冲之间不同时长的时间间隔来区分“0”和“1”编码.编码“0”是0.56ms高电平+0.56ms的低电平,編码“1”是0.56ms的高电平+1.69ms的低电平,以上分析的是遥控器发射端信号的编码方法,其接收端信号的编码方法与发射端的编码电平正好相反.通过上面的分析可知,能否正确接收一帧数据,其核心是识别9ms、4.5ms、0.56ms、1.69ms这四个关键时序信号,这里采用4个计数器分别对这四种时序信号进行计时,考虑信号传输时会有不同程度的误差,因此,计数值要有一定的范围.为准确读取遥控识别码,采用有限状态机来识别各种控制状态及数据的接收解码过程,状态转换图如图5所示,其中IDLE:空闲状态,等待红外一体化输出信号IR下降沿到来;LEADER_9:识别9ms的低电平引导码;LEADER_45:识别4.5ms的高电平引导码,若识别成功则进行读码状态,否则返回空闲状态.DATA_STATE:读码状态,连续读取32位的地址、数据信号,若读完或读取过程发生错误,返回空闲状态,重新识别.状态机的编码采用“0001、0010、0100、1000”的四位独热码编码方式,由于设计只需要得到遥控器8位的按键码值IR_db[7:0],因此,地址码及反码不输出.红外遥控解码模块接口功能如表2所示.4 系统仿真与测试系统顶层原理图如图6所示,由分频模块(pll6_4m)、按键消抖模块(key_filt)、音乐控制模块(music_control)、音曲存储模块(music_rom)、红外一体解码模块(IR)及乐曲显示驱动模块等组成,系统通过QuartusII软件进行综合并对部分模块进行仿真测试.首先对红外遥控模块进行编译及管脚分配,并在顶层中嵌入ISSP(In-System Sources and Probes Editor)模块,探测口与红外模块的IR_db[7:0]连接,并下载到FPGA开发板中,然后在QuartusII中调用ISSP,在红外遥控器中按下不同的功能键,观察prober探测端口采集的数据,如在遥控器中按下CH+(按键值为47H)和PLAY(按键值为43H)键,ISSP抓取的数据如图7所示,从图中看出其IR_db的数据值,与HT6221手册上的编码值相同[8].利用QuartusII集成的SignalTap II逻辑分析仪,对乐曲播放器电路的音符编码及音频等信号进行测试.SignalTap II提供了一个不使用外部I/O口引脚就能检测内部信号状态,SignalTapII采样时钟频率设为12.8KHz,采样深度为8K,保存SignalTap II设置后,编译并下载至FPGA开发板,启动SignalTap II逻辑分析仪,对LPM-ROM的地址信号addr、乐曲编码信号q 以及音频信号audio进行在线采集,采集信号如图8所示,从图中可以看出,地址信号addr发生变化,能够调用LPM-ROM中的音符编码,同时在audio端输出不同频率的方波,同时在开发板上的扬声器上也能听到优美准确的乐曲旋律,实现了预定的功能,达到设计要求.5 结束语乐曲播放系统采用单片的FPGA完成红外遥控按键码的识别、按键信号的采集及乐曲的存储及播放,能动态显示音符,经实际电路板测试音调准确,音质效果好,控制灵活,乐曲可根据用户需求随意变更或自行增加,具有功能扩展方便,且外围电路简单,稳定可靠等特点,可应用于车载MP3等场合.参考文献:〔1〕邱燕.基于51单片机音乐播放器的设计[J].通讯世界,2016(10):252-253.〔2〕何谐,唐大权,张淑廷等.一种基于51单片机的音乐播放器的设计[J].现代电子技术,2014,36(16):11-13.〔3〕刘垣,李外云,赵嘉怡.基于STC单片机WAVE音乐播放器的设计与实现[J].科技创新与应用,2015(34):50-51.〔4〕段耀勇,刘鹏,周瑞琪.中国传统数学与“十二平均率”的产生[J].赣南师范学院学报,2005(6):22-24.〔5〕于晶,杨晓慧,黄勇.基于FPGA的按键消抖电路设计方法的研究[J].电子设计工程,2011,19(22):1-3.〔6〕崔岩,吴国兴,顾媛媛,等.基于FPGA的红外遥控密码锁的设计[J].电子技术应用,2013,39(11):44-46.〔7〕常涛,雪琦.基于FPGA的红外遥控信号接收模块设计[J].电子元器件应用,2010,13(5):44-46.〔8〕袁玉卓,曾凯锋,梅雪松.FPGA自学笔记-设计与验证[M].北京航空航天大学出版社,2017.8.。

相关文档
最新文档