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

合集下载

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

基于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音乐盒课程设计

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

基于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 编写设计报告,要求包括方案选择,程序清单,调试过程,测试结果及心得.
第三章
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音乐播放器课程设计一、课程目标知识目标:1. 让学生掌握FPGA基础知识,理解FPGA的内部结构和编程原理;2. 帮助学生了解音乐播放器的原理,掌握数字信号处理基础知识;3. 使学生能够运用Verilog或VHDL等硬件描述语言设计简单的FPGA音乐播放器。

技能目标:1. 培养学生动手实践能力,能够独立完成FPGA音乐播放器的设计、编程、调试与验证;2. 提高学生团队协作能力,能够在小组合作中发挥个人优势,共同完成项目任务;3. 培养学生解决问题和分析问题的能力,能够针对实际问题提出合理的解决方案。

情感态度价值观目标:1. 激发学生对电子设计和硬件编程的兴趣,培养良好的学习习惯;2. 培养学生勇于尝试、敢于创新的精神,增强自信心;3. 培养学生具备良好的沟通能力和团队协作精神,提高综合素质。

分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 掌握FPGA基本原理,能够描述FPGA内部结构和编程方法;2. 学会使用硬件描述语言Verilog或VHDL编写简单的FPGA程序;3. 理解音乐播放器的基本原理,能够运用数字信号处理知识设计音乐播放器;4. 完成一个简易的FPGA音乐播放器设计项目,具备实际操作和调试能力;5. 在项目实践中,提高团队协作、沟通表达和问题解决能力。

二、教学内容1. FPGA基本原理及编程方法:包括FPGA内部结构、工作原理、硬件描述语言(Verilog/VHDL)基础、编程流程等;2. 数字信号处理基础知识:涉及采样定理、量化、编码、数字信号表示等基本概念;3. 音乐播放器原理:介绍音乐播放器的基本工作流程,包括音频信号的采集、处理、存储和播放;4. FPGA音乐播放器设计:结合教材章节内容,设计以下教学大纲:a. FPGA硬件设计:选用合适的FPGA开发板,了解硬件资源分配,设计FPGA硬件电路;b. 音频信号处理:学习音频信号的采样、量化、编码等处理方法,编写相应程序;c. 音乐播放器程序设计:运用Verilog或VHDL编写音乐播放器程序,实现音频信号播放功能;d. 系统调试与验证:对设计好的音乐播放器进行功能测试、性能优化和调试;5. 项目实践:根据教学进度,安排以下教学内容:a. 分组讨论:学生分组讨论设计方案,明确项目任务分工;b. 设计与编程:各组学生根据分工,完成FPGA音乐播放器的设计和编程;c. 调试与展示:学生调试音乐播放器,展示项目成果,分享设计经验;d. 评价与反馈:教师对各组项目成果进行评价,给予反馈和建议。

基于FPGA的音乐播发器设计

基于FPGA的音乐播发器设计

基于FPGA的音乐播发器设计【摘要】本文分析了简谱记录的音频特征信号,提取了《化蝶》简谱特征信号转换为基于FPGA实现的数字信号,设计了总体方案,阐述了播发器控制器模块、可控分频器预置数产生模块、可控分频器模块设计思路,仿真实现各个模块功能,经过实际电路测试验证,达到播放《化蝶》简谱的设计要求。

【关键词】音乐播发器;节拍;音符;计数器音乐播发器是模仿人歌唱的电路,故可用人歌唱作为原型来分析设计音乐电路的总体方案。

人通过声带振动发出声音,声带振动频率不同发出不同声音,故在用数字电路来模仿时,可用一个可控分频电路来产生不同频率时钟信号来驱动外接喇叭或蜂鸣器演奏音乐。

人在歌唱时,是根据歌谱用大脑控制声带按照一定节拍在不同时间发出不同的乐音。

故在用数字电路模仿时,还应该有一个控制电路模块,用来根据歌谱控制可控分频电路模块按照一定节拍在不同时间发出不同的乐音。

控制电路模块分为两个模块,一个用于产生节拍,称节拍产生模块;另一个用于根据歌谱控制可控分频电路模块在不同时间发出不同的乐音,称音符产生模块。

节拍产生模块应是一个计数器,每个状态持续的时间是需演奏的所有的音的音长的最小公因数,比如是一个十六分音符时值,具体时间长度应根据需演奏的歌曲而定。

控制电路的计数器的模即状态数,可由需演奏歌曲的各个音所占据状态个数累加而得。

例如,一首用于演奏“梁祝”乐曲的音乐电路的控制电路的计数器的模是139。

节拍产生电路的计数器是用来产生节拍定时的,音符产生模块则将节拍产生电路的计数器的状态翻译成对应的音符频率信号。

如需演奏的歌曲中所用到的音符为9~16个,则音符产生模块的输出信号应有四位,其他情况依此类推。

《化蝶》简谱音符共有15个,用index表示音符符号,从低音到高音依次编号1~15。

音乐电路设计总体参考方案如图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/CPLD的脉冲信号型乐曲播放器的设计摘要用纯硬件来完成乐曲演奏电路的逻辑非常复杂,仅凭传统的数字逻辑技术,即使最简单的电路也难以实现。

但是借助于功能强大的EDA工具和硬件描述语言,就可以轻松的实现设计。

本设计利用可编程逻辑器件设计一个控制器让不同频率的脉冲信号有序的输出并驱动扬声器发声,最终完成一首乐曲的演奏。

设计以《世上只有妈妈好》为例,分析了硬件电路发声的基本原理,探讨了可以实现设计的方案,利用VHDL语言在QuartusⅡ上编程设计了节拍发生器、分频器、顺序控制、音高控制等模块的功能。

最后,运用原理图编辑器调出已经设计好的各个模块,根据设计的要求进行连线、加输入输出脚,得到了总体设计的仿真实体。

并对总体设计进行了功能仿真和下载。

本设计完成了乐曲《世上只有妈妈好》的32个音符64个节拍的播放,每个节拍0.5秒,整曲播放时长为32秒。

基于FPGA,利用Quartus Ⅱ和VHDL语言完成的脉冲型乐曲播放器,其特点是设计简单、灵活、设计周期短;缺陷是实现播放的乐曲种类单一,播放时间长度较短,若想要实现较长的乐曲播放,则需要很长的源程序。

关键词:FPGA,EDA,VHDL,QuartusⅡ,乐曲播放器The design of the pulse-type music player based on FPGA / CPLDAbstractIt is very complex to complete the music playing logic circuit using pure hardware. Only depend on the traditional digital logic technology, it is difficult to achieve even the simple circuit. However, it is very ease to achieve by using the EDA tools and hardware description language. The design finished a controller that output a series of orderly pulse signal with different frequencies and driven speaker with, by using the programmable logic device ,and finally complete the concert of a music.The music <shi shang zhi you ma ma hao> was used as an example. The basic principal of the hardware circuit sing was analyzed. How could achieve the player’s faction was also discussed. Following functional module was designed in Quartus II by using VHDL language: pulse generator, frequencies divider, sequence control, pitch control and so on. Finally, simulate entity was build in the Block Editor of the Quartus II , using all of the module which has been designed and according to the design’s requirements to connect, and plus input and output pin. Following these, the player’s entity was simulated and downloaded. The <shi shang zhi you ma ma hao>’s note 32 of the 64 players beat was completed in this design. One beat was sat as 0.5 seconds long, and the whole song was played within 32 seconds。

基于fpga的音乐播放器的设计

基于fpga的音乐播放器的设计

1引言1.1关于EDA技术随着科学技术的进步,电子器件和电子系统设计方法日新月异,电子设计自动化(Electronics Design Automation,EDA)技术正是适应了现代电子产品设计的要求,吸收了多学科最新成果而形成的一门新技术。

现如今掌握EDA技术是电子信息类专业的学生、工程技术人员所必备的基本能力和技能。

传统电子电路的设计,首先要对系统进行分析,然后按功能对系统进行划分,接下来就要选择特定芯片,焊接成PCB电路板,最后对成品PCB电路板进行调试。

这样的设计没有灵活性可言,搭成的系统需要的芯片种类多且数目大,而且对于电路图的设计和电路板的设计都需要很大的工作量,工作难度也很高。

然而,随着可编程器件和EDA技术的发展,传统设计的劣势被克服,采用可编程逻辑器件基于芯片的设计方法,期间的内部逻辑和引脚可以由设计者自行决定,大大提高了设计的灵活性,提高了工作效率;同时,将系统集成在一个芯片上的设计,使系统具有体积小、功耗低、可靠性高等特点。

EDA技术的发展大致经历了三个阶段:20世纪70年代的CAD(计算机辅助设计)阶段、20世纪80年代的CAE(计算机辅助工程)阶段、20世纪90年代后的EDA(电子设计自动化)阶段。

以下主要介绍第三个阶段。

EDA技术即电子设计自动化技术,它是以可编程逻辑器件(PLD)为载体,以硬件描述语言(HDL)为主要的描述方式,以EDA软件为主要的开发软件的电子设计过程。

它主要采用“自顶向下”的设计方法,设计流程主要包括:设计输入、综合、仿真、适配、下载。

EDA技术主要有以下特征:(1)高层综合的理论和方法取得进展,从而将EDA设计层次由RT级提高到了系统级,并推出了相应的系统级综合优化工具,大大缩短了复杂ASIC的设计周期。

(2)采用硬件描述语言来描述10万门以上的设计,并形成了VHDL和Verilog-HDL两种标准硬件描述语言。

(3)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。

基于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简易音乐播放器设计学院: 电子信息学院班级: 08041301学生(学号):汪顺 2013302011学生(学号):叶尔达·叶尔丁巴图 2013302014 日期: 2015 年 12 月摘要利用EDA软件设计一个简易硬件播放器并能播放多首音乐(最少四首),可通过按键手动控制音乐播放。

在播放音乐的同时可实现音谱与音高的显示,并通过10 个LED小灯显示不同音调的变化。

使用硬件描述语言设计音调发生模块,音调编码模块,乐曲存储模块,控制模块,小灯控制模块,数字显示模块,音谱与音高输出模块等各个模块。

并下载到DE0—CV上实现。

关键词:EDA、音乐播放器、音调编码、数字显示、DE0-CV目录摘要 (1)目录 (2)一、课程设计目的 (3)二、设计任务与要求 (3)三、方案设计与论证 (4)四、单元电路设计与参数计算 (5)4。

1音频发生模块 (6)音频编码模块 (7) (7)控制模块 (10)4。

5小灯显示模块 (10) (11)4。

7分频模块 (12)4。

8总体设计 (13)五、电路的安装与调试 (14)5.1音频编码模块 (14)5.2乐曲储存模块 (14)5.3 控制模块 (14)5.4 小灯控制模块(led) (15)5.5 音谱与音高输出模块 (16)六、遇到问题的解决方法 (16)七、结论与心得 (17)八、参考文献 (17)简易音乐播放器设计一、课程设计目的《模拟、数字电路课程设计》是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础实验》课程后,电气类、自控类和电子类等专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分,其目的和任务是通过二周的时间,让学生掌握EDA 的基本方法,熟悉一种EDA 软件,并能利用EDA 软件设计一个电子技术综合问题,并在实验箱上成功下载,为以后进行工程实际问题的研究打下设计基础。

基于FPGA的多媒体音乐播放器的设计

基于FPGA的多媒体音乐播放器的设计

基于FPGA的多媒体音乐播放器的设计吴守霞【摘要】A multimedia music player was designed by using DE2 development board of Altera Corporation.The player took advantage of the rich resources of FPGA logic devices and the flexible design features of NiosII soft core's reconfigurability,combined with custom user commands,custom peripherals and software design architecture.SD card music playback function has been realized by using object-oriented software design and method.The system turns out to have high levels of integration and good stability.%设计了一款基于FPGA的多媒体音乐播放器.该播放器采用Altera公司的DE2开发板,充分利用FPGA丰富的逻辑器件资源和NiosⅡ软核灵活的可重构设计特性,结合自定义用户指令、自定义外设及软件设计架构,使用面向对象的设计思想和开发方法,实现了SD卡音乐播放功能,系统具有较高的集成度和良好的稳定性.【期刊名称】《兰州工业学院学报》【年(卷),期】2012(019)003【总页数】4页(P20-23)【关键词】多媒体音乐播放器;FPGA;NiosⅡ;SOPC;DE2【作者】吴守霞【作者单位】兰州工业高等专科学校电子信息工程系,甘肃兰州730050【正文语种】中文【中图分类】TN912.20 引言目前,电子产品的生命周期越来越短,许多消费类电子产品的生命周期只有一年左右,所以必须缩短产品的开发周期,而可编程逻辑器件与固定逻辑器件相比,可大大缩短开发周期.随着集成电路制造工艺的进步,可编程逻辑器件的设计水平不断提高,其成本已经降低到可以在消费类电子产品中大量使用的程度.从当前技术发展的趋势来看,可编程逻辑器件以其强大的优势将逐渐替代大部分的固定逻辑器件. 软核处理器的出现以及可编程逻辑器件片上存储容量的增大,使得可编程逻辑器件可以覆盖数字电子领域中的所有应用.Altera公司推出的片上可编程系统(System On a Programmable Chip,SOPC)以及Nois II软核处理器进一步证实了这一观点.目前Nios II处理器是使用最为广泛的软核处理器[1].DE2是Altera公司针对大学教学及研究机构推出的FPGA多媒体开发平台.DE2为用户提供了丰富的外设及多媒体特性,并具有灵活而可靠的外围接口设计,它能够帮助使用者迅速理解和掌握实时多媒体工业产品设计的技巧,并提供系统设计的验证,可靠性很高.消费电子是嵌入式系统重要的应用领域.随着电子信息技术的发展,人们生活质量不断提高,娱乐电子正逐渐走进百姓生活,电子娱乐产品的市场前景十分广阔.本设计就是基于SOPC技术设计的一款消费类电子产品——多媒体音乐播放器.整个系统采用FPGA可编程逻辑器件,利用先进的SOPC理念,在Altera公司提供的DE2开发板上实现了多媒体音乐播放器的功能.1 音乐播放器系统设计本设计采用DE2开发板,充分利用NiosII软核的特性,结合自定义用户组件、自定义用户外设.在FPGA中使用软核处理器的优势在于灵活高效,硬核实现没有灵活性,通常无法使用最新的技术.而应用Nios II软核处理器,开发者能够完全定制CPU和外设,获得恰好满足需求的处理器,充分利用了Nios II处理器灵活和高效的特性[2].设计充分利用了DE2开发板上的硬件资源,其中音频编/解码器(Audio CODEC)是系统的核心,它是由Wolfson公司的低功耗立体声24位音频编解码芯片WM8731来完成的[3]. WM8731包含了线路输入、麦克风输入及耳机(音响)输出.两路线路左、右声道能以1.5 dB的步距在+12~-34.5dB范围内进行对数音量调节,完成A/D转换后,还可以进行高通数字滤波,有效滤除输入信号中的直流成分.一路麦克风输入可以在-6~34 dB范围内进行音量调节.这三路输入都有单独的静音功能.D/A转换器输入、线路输入旁路及麦克风输入经过侧音电路后可相加作为输出以驱动耳机(RHPOUT和LHPOUT).DE2平台上的LINE OUT可以直接驱动耳机.LINE IN经过隔直电容输入,而MIC IN则直接输入.充分利用了24位立体声音频编/解码芯片WM8731高性能、低功耗的优点,可听到音质较好的音乐.利用这些硬件资源,设计实现了一个基于FPGA的多媒体音乐播放器.该音乐播放器主要分两种播放模式:一种是外接声源,如MP3等,通过音频输入(Line In)后,再经过音频编/解码器对音质进行相关处理后输出,进行音乐的播放.另一种是SD卡音乐播放器,即通过DE2开发板上的SD卡插槽,读取SD卡上的音频数据后,送到音频编/解码器,对音质进行相关处理后输出,进行音乐的播放.SD卡音乐播放是由NiosII处理器通过软件完成的.2 音乐播放器系统实现2.1 音乐播放器原理SD卡作为大容量的存储器,已经成为数码产品首选的存储设备,用于存储图像、音频等数据.本设计是将Wav格式的音乐保存在SD卡中,Nios II处理器从SD卡中读取音乐数据,并通过CD音质的音频编/解码器WM8731播放音乐[4].音频编/解码器被配置为从模式,需要外部电路为其提供A/D转换器(D/A转换器)串行时钟(BCK)及左/右通道时钟(LRCK),如图1所示.图中用一个音频DAC控制器产生时钟及数据控制信号,然后将该音频DAC控制器集成在Avalon总线上,Nois II处理器通过Avalon总线来控制音频DAC控制器[5].图1 SD卡音乐播放器原理框图2.2 系统硬件设计2.2.1 NIOS II处理器硬件框图根据多媒体音乐播放器系统对处理器、存储器和外设等的要求,构建的NiosII处理器结构框图如图2所示.在SOPC Builder工具中对NiosII软核进行的配置,配置的结果如图3所示.由于我们选择的FPGA是Cyclone II系列的EP2C35F672C6,所以在Target栏中的器件系列选择中选择Cyclone II[6].系统时钟选择外部的50 M晶振时钟.在NiosII 软核的选择时,由于考虑到FPGA丰富的逻辑资源,NiosII软核就选用了带有JTAG调试模块的NiosII/f(快速型),同其它两种核相比,快速型的性能最高,同时占用逻辑资源也是最多的[7].NiosII/f内核的主要特点有:指令和数据缓存分离、可访问高达2 GB的外部地址空间、可选的指令和数据紧耦合存储器、6级流水线操作、硬件乘除法和移位操作、256条定制指令等[8].其它配置的功能模块有LCD1602液晶控制器、2 K的片上ROM、512 K的外部SRAM控制器、EPCS控制器和一些输入输出通用PIO口.各模块配置完成后就可以对这些模块分配基地址和中断优先级.这些完成后,就可以生成配置好的NiosII系统(如图4所示).图2 NIOS II处理器的硬件框图图3 NiosII软核配置图2.2.2 音乐播放器软件设计总体软件设计即系统运行过程中的主逻辑,负责整个系统运行过程中各个状态之间的转换,程序流程图5所示,系统初始化完成以后,在音乐模式下,即可通过按键选择音乐目录中的音乐,解码WMA的音频文件,并播放.对SD卡的初始化后,才可以对SD卡进行读/写操作.在初始化完成后,通过设置数据长度,然后进行数据的读取,流程图如图6所示.3 结语本文给出了一种基于Nios II软核处理器的音乐播放系统.充分采用了软核处理器的开发思想以及Altera DE2开发平台,使系统具有开发周期短、易于维护、功能模块化等特点.本设计利用NiosII占用FPGA资源少和可裁剪性等特点,完全做到了系统体系的精简化和产品的低成本.使其在目前的多媒体娱乐市场上具有很高的竞争力,并且应用前景广泛.用基于FPGA的SOPC技术提高系统稳定性,使用NiosII提供的多种硬件加速方式,如自定义用户指令,自定义用户外设等大大提高运算速度,使算法和控制的实时性得到了有效的保证.图4 实现SD卡音乐播放的NiosII软核处理器参考文献:[1] 唐守龙,刘昊.浅谈Soc设计中的软硬件协同技术[J].电子器件,2002,25(2):5-6.[2] 赵川,徐涛,孙晓光.软硬件协同设计方法的研究[J].计算机工程与设计,2003,24(7):11-13.[3] 张志刚.FPGA与SOPC设计教程:DE2实践[M].西安:西安电子科技大学出版社,2007.[4] 吴喆庆.基于NiosⅡ系统的MP3播放器的设计[D].长春:吉林大学,2001.[5] 周立功.SOPC嵌入式系统基础课程[M].北京:北京航空航天大学出版社,2008:1-105.[6] FPGA/SOPC开发简明教程 V1.0[EB/OL].(2005-6-1)[2010-01-20]..[7] 陈麒.基于 NiosII处理器的SOPC设计[J].计算机与信息技术,2008,112(3):72-73.[8] 蔡伟纲.NIOS II软件架构解析[M].西安:西安电子科技大学出版社,2007.。

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

唐山学院EDA技术课程设计题目音乐播放器系 (部) 智能与信息工程学院班级姓名学号指导教师2016 年 12 月 22 日至 12 月 30 日共 2 周 2016年 12 月 31 日课程设计成绩评定表EDA技术课程设计任务书目录1.设计目的与要求.................................... 错误!未定义书签。

1.1.课程设计目的.................................. 错误!未定义书签。

1.2.课程设计要求.................................. 错误!未定义书签。

2.应用工具介绍...................................... 错误!未定义书签。

2.1.EDA技术介绍.................................. 错误!未定义书签。

2.2.Verilog HDL 语言介绍 (2)3.基本原理.......................................... 错误!未定义书签。

3.1.音调的控制 (4)3.2.音长的控制 (4)4.方案实现 (5)5.总结 (13)6.参考文献 (14)1.设计目的与要求1.1课程设计目的:1)加深对EDA技术的理解,掌握音乐播放器的工作原理2)了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。

3)培养自主学习、正确分析和解决问题的能力1.2课程设计要求:1)使用蜂鸣器播放音乐2)三首音乐以上3)数码管上显示当前播放的歌曲位置(第几首歌曲)4)能够暂停和开始5)能够选择上一首和下一首歌曲2.应用工具介绍作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。

硬件课程设计-基于FPGA的MP3音乐播放器设计

硬件课程设计-基于FPGA的MP3音乐播放器设计

基于FPGA的MP3音乐播放器设计——预置乐曲播放器设计摘要:本次课程设计的主题是‘基于FPGA的MP3播放器’,这是一个发展空间很大的课题,研究者可以根据自己的能力水平和兴趣爱好自由发展。

我们组实现的功能是‘预置乐曲的播放’。

本次设计是在BASYS2实验开发板上实现,使用xinlinx13.1软件,利用VHDL硬件描述言语设计数控分频器电路,利用数控分频原理设计音乐硬件播放数字电路,将音乐数据存放在程序中,利用时钟驱动音符输出,通过集成运放调节音量,达到了乐曲播放的效果。

程序中存放的音符数据易修改,只要修改程序中所放的的音符数据,将其转换为其他乐曲的音符数据,就可以实现不同乐曲的播放。

关键字:FPGA;xilinx;VHDL;预置音符;音乐播放目录摘要............................................................................................................................- 0 -一、绪论....................................................................................................................- 2 -1.1研究背景......................................................................................................- 2 -1.2基本技术简介..............................................................................................- 2 -1.2.1可编程逻辑器件FPGA .....................................................................- 2 -1.2.2硬件描述语言VHDL.........................................................................- 3 -1.2.3开发软件xilinx .................................................................................- 3 -二、需求分析和研究思路........................................................................................- 4 -2.1需求分析......................................................................................................- 4 -2.2研究思路......................................................................................................- 4 -三、系统设计............................................................................................................- 4 -3.1系统原理......................................................................................................- 4 -3.1.1音调控制...........................................................................................- 5 -3.1.2音长控制...........................................................................................- 6 -3.1.3乐谱发生器.....................................................................................- 6 -3.1.4音量控制...........................................................................................- 6 -3.2系统结构......................................................................................................- 7 -3.2.1各功能模块概述...............................................................................- 7 -3.2.2系统整体原理框图...........................................................................- 8 -四、详细的程序实现和仿真分析............................................................................- 8 -4.1时钟分频模块..............................................................................................- 8 -4.2乐谱码发生模块..........................................................................................- 9 -4.3乐谱码查表模块........................................................................................- 10 -4.4数控分频模块............................................................................................- 10 -4.5音量放大模块............................................................................................- 11 -4.6顶层模块....................................................................................................- 11 -五、结论..................................................................................................................- 11 -六、个人感想..........................................................................................................- 12 -一、绪论1.1研究背景在电子技术的飞速发展的今天,电子产品的种类越来越多,功能越来越强大,体积越来越小,功耗越来越低。

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

基于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)。

唐山学院EDA技术课程设计题目音乐播放器系(部) 智能与信息工程学院班级姓名学号指导教师2016 年12 月22 日至12 月30 日共 2 周2016年12 月31 日课程设计成绩评定表EDA技术课程设计任务书目录1.设计目的与要求 .................................................................................. 错误!未定义书签。

1.1.课程设计目的. .............................................................................. 错误!未定义书签。

1.2.课程设计要求 ............................................................................... 错误!未定义书签。

2.应用工具介绍....................................................................................... 错误!未定义书签。

2.1.EDA技术介绍.............................................................................. 错误!未定义书签。

2.2.Verilog HDL 语言介绍 (2)3.基本原理 ................................................................................................ 错误!未定义书签。

3.1.音调的控制 (4)3.2.音长的控制 (4)4.方案实现 (5)5.总结 (13)6.参考文献 (14)1.设计目的与要求1.1课程设计目的:1)加深对EDA技术的理解,掌握音乐播放器的工作原理2)了解怎样控制音调的高低变化和音长,从而完成乐曲的自动循环演奏。

3)培养自主学习、正确分析和解决问题的能力1.2课程设计要求:1)使用蜂鸣器播放音乐2)三首音乐以上3)数码管上显示当前播放的歌曲位置(第几首歌曲)4)能够暂停和开始5)能够选择上一首和下一首歌曲2.应用工具介绍作为当今最流行的计算机软件系统,EDA技术是以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA可提供文本输入以及图形编辑的方法将设计者的意图用程序或者图形方式表达出来,而我们经常用到的VHDL语言便是用于编写源程序所需的最常见的硬件描述语言(HDL)之一。

2.1 EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。

EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。

综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。

综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。

也就是说,综合器是软件描述与硬件实现的一座桥梁。

综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。

在今天,EDA技术已经成为电子设计的普遍工具,无论设计芯片还是设计系统,没有EDA工具的支持,都是难以完成的。

EDA工具已经成为设计师必不可少的武器,起着越来越重要的作用。

从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。

EDA技术发展迅猛,完全可以用日新月异来描述。

EDA技术的应用广泛,现在已涉及到各行各业。

EDA水平不断提高,设计工具趋于完美的地步。

2.2 Verilog HDL语言介绍Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。

被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。

数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。

作为一种通用化的硬件描述语言,Verilog HDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。

所有这些都使用同一种建模语言。

此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。

Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。

因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。

语言从C编程语言中继承了多种操作符和结构。

Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。

但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。

当然,完整的硬件描述语句足以对从最复杂的芯片到完整的电子系统进行描述。

Verilog HDL语言已经成为一种标准的硬件描述语言。

它具有以下特点:(1)作为一种多用途的硬件描述语言,它具有很好的易学性和易用性。

(2)Verilog HDL语言允许在同一个模块中进行不同抽象层次的描述。

(3)大多数逻辑综合工具都支持Verilog HDL,使得它成为设计人员的一个很好的选择。

(4)所有的制造厂商都提供了Verilog HDL的工艺库,用以支持仿真。

(5)Verilog HDL的程序语言接口拥有强大的功能,允许用户用C语言对内部数据结构进行描述。

正是以上优点,使得Verilog HDL语言广泛流行。

下面是verilog的设计流程:Verilog的设计流程图3.基本原理音乐播放器的原理是这样的:组成乐曲的每个音符的频率值(音调)及其持续的时间(音长)是乐曲能连续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和持续的时间,就可以使扬声器发出连续的乐曲声。

3.1音调的控制频率的高低决定了音调的高低。

音乐的十二平均率规定:每两个8度音(如简谱中的中音1与高音1)之间的频率相差一倍。

在两个8度音之间,又可分为12个半音,每两个半音的频率比为12:2。

另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。

由此可以计算出简谱中从低音1至高音1之间每个音名对应的频率,如表3.11所示:表3.11 简谱中的音名与频率的关系3.2音长的控制音符的持续时间必须根据乐曲的速度及每个音符的节拍数来确定。

4.方案实现1、div_freqmodule div_freq(clk,rst_n,freq,clk_out);input clk; //50MHZinput rst_n;input [25:0] freq;output reg clk_out;`define NUM 25_000_000/freq-1reg[25:0] cnt;always @(posedge clk or negedge rst_n)beginif(!rst_n)begincnt<=26'd0;clk_out<=1'b0;endelsebeginif(cnt<`NUM)begincnt<=cnt+1'b1;clk_out=clk_out;endelsebeginclk_out=~clk_out;cnt=26'd0;endendendendmodule2、selmodule sel(data,clk,rst_n,sel,show_data);input [23:0] data;input clk;input rst_n;output reg [2:0] sel;output reg [3:0] show_data;always @ (posedge clk or negedge rst_n)beginif(!rst_n)beginsel <= 3'b000;endelsebeginif(sel < 3'b101)sel <= sel + 1'b1;elsesel <= 3'b000;endendalways @ (*)begincase(sel)3'b000 :show_data = data[23:20];3'b001 :show_data = data[19:16];3'b010 :show_data = data[15:12];3'b011 :show_data = data[11:8];3'b100 :show_data = data[7:4];3'b101 :show_data = data[3:0];default : show_data = 4'hf;endcaseendendmodule3、segmodule seg(show_data,seg);input [3:0] show_data;output reg [7:0] seg;always @ (*)begincase(show_data)0 :seg = 8'b1100_0000;1 :seg = 8'b1111_1001;2 :seg = 8'b1010_0100;3 :seg = 8'b1011_0000;4 :seg = 8'b1001_1001;5 :seg = 8'b1001_0010;6 :seg = 8'b1000_0010;7 :seg = 8'b1111_1000;8 :seg = 8'b1000_0000;9 :seg = 8'b1001_0000;10 :seg = 8'b1000_1000;11 :seg = 8'b1000_0011;12 :seg = 8'b1100_0110;13 :seg = 8'b1010_0001;14 :seg = 8'b1000_0110;15 :seg = 8'b1000_1110;default : seg = 8'b1000_1110;endcaseendendmodule4、controllermodule controller (clk,rst_n,addr);input clk;input rst_n;output reg [8:0] addr;parameter T=12_500_000;reg [25:0] cnt;always @(posedge clk or negedge rst_n) beginif(!rst_n)begincnt<=26'd0;addr<=8'd0;endelsebeginif(cnt<T-1)cnt<=cnt+1'b1;elsebegincnt<=26'd0;if(addr<255)addr<=addr+1'b1;elseaddr<=8'd0;endendendendmodule5、translatemodule translate(clk,rst_n,music_data,music_freq);input clk;input rst_n;input [21:0] music_data;output reg [25:0] music_freq;always @(posedge clk or negedge rst_n)beginif(!rst_n)music_freq<=26'd0;elsecase(music_data)1:music_freq<=26'd523;//zhongyin 2:music_freq<=26'd587;3:music_freq<=26'd659;4:music_freq<=26'd699;5:music_freq<=26'd392;6:music_freq<=26'd880;7:music_freq<=26'd987;8:music_freq<=26'd261;//diyin 9:music_freq<=26'd293;10:music_freq<=26'd329;11:music_freq<=26'd349;12:music_freq<=26'd391;13:music_freq<=26'd440;14:music_freq<=26'd493;15:music_freq<=26'd1046;//gaoyin 16:music_freq<=26'd1174;17:music_freq<=26'd1318;18:music_freq<=26'd1396;19:music_freq<=26'd1567;20:music_freq<=26'd1760;21:music_freq<=26'd1975;default:music_freq<=26'd0;endcaseendendmodule6、shumaguanmodule shumaguan(data,clk,rst_n,sel,seg);input [23:0] data;input clk;input rst_n;output [2:0] sel;output [7:0] seg;wire clk_1k;wire [3:0] show_data;div_freq div_freq_dut(.clk(clk),.rst_n(rst_n),.freq(1_000),.clk_out(clk_1k));sel sel_dut(.data(data),.clk(clk_1k),.rst_n(rst_n),.sel(sel),.show_data(show_data));seg seg_dut(.show_data(show_data),.seg(seg));endmodule5.总结其实,音乐播放器用FPGA来实现是很简单的。

相关文档
最新文档