基于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开发板板载资源以及外搭的功率放大电路制作一台音乐播放器,能够播放通过计算机拷贝在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音乐播放器设计

参 考 文献 : 【 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的音乐播放器的设计

摘要根据国家发改委与专业教学委员会对教育机构的要求,为培养适应我国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的音乐播放器的设计-毕业设计论文

第三章
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)。
唐山学院《EDA技术》课程设计题目音乐播放器系(部) 智能与信息工程学院班级14电信2班姓名张洪达学号指导教师魏明哲张银蒲2016 年12 月19 日至12月30 日共2 周2016年12 月30 日《EDA技术》课程设计任务书《EDA技术》成绩评定表前言 (1)1设计原理分析 (2)1.1设计任务 (2)1.2设计要求 (2)2 软件介绍 (3)2.1 Verilog HDL相关介绍 (3)2.2 QuartusⅡ相关介绍 (3)3 总体设计 (5)3.1总体结构 (5)3.2设计原理 (5)4主要模块功能的设计 (7)4.1 顶层模块 (7)4.2数码管显示模块 (7)4.2.1分频器模块 (7)4.2.2位选模块 (8)4.2.3滚动模块 (8)4.2.4转换模块 (9)4.3 蜂鸣器块 (9)4.3.1选址模块 (9)4.3.2存储器模块 (10)4.3.3译码器模块 (10)4.3.4显示控制模块 (11)5 程序调试运行 (12)5.1 seg7_drive的验证 (12)5.2:beep的软件验证 (13)6 硬件仿真 (15)6.1引脚设置 (15)6.2硬件调试 (15)7 总结 (17)参考文献 (18)附录 (19)随着电子技术的飞速发展,微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得本征半导体的工艺水平的线宽已经达到了60nm,并在不断地缩小,面在硅片单位面积上,集成了更多的晶体管。
集成电路设计正在不断地向超大规模,极低功耗和超高速的方向发展,电子产品的功能越来越强大,体积越来越小,功耗越来越低。
顺应电子技术的发展趋势,可编程逻辑器件和EDA技术使设计方法发生了质的变化。
把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载”。
利用EDA开发平台,采用可编程逻辑器件FPGA使硬件的功能可通过编程来实现,这种新的基于芯片的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和PCB设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。
这些技术使得各种电子产品迅速的进入了我们的生活,我们处在一个被电子产品深度包围的时代,在一个普通老百姓的家里,衣食住行,每一个产品的诞生都离不开EDA技术,从彩色电视机,到智能冰箱,到全自动洗衣机,电饭煲,到微波炉,电磁炉,电子琴,再到个人随身用的手机,MP3音乐播放器都需要EDA技术提供支持。
本文应用Verilog HDL硬件描述语言,设计一个音乐播放器,它能将预先设置存储好的乐曲自动播放出来,下面对乐曲播放电路的设计与实现中涉及的EDA技术,以及EDA技术中常用的开发器件FPGA可编程逻辑器件,开发语言Verilog HDL以及开发软件Quartus Ⅱ作简单介绍。
1 设计原理分析1.1设计任务本课题要求设计音乐播放器,能实现基本的播放音乐的功能。
1.2设计要求设计一个简易的音乐播放系统,使其下载到电路板上使,能使蜂鸣器播放音乐。
在可以使蜂鸣器播放音乐的基础上,增加播放音乐的数量,要求播放的音乐在三首以上。
在数码管上显示当前播放的音乐是第几首,并使播放的音乐在数码管显示屏上进行滚动(例如,当播放第一首歌曲使,数码管显示000001,并且1由右向左依次显示,其余位置为0),当蜂鸣器播放下一首歌时,数码管的显示可以立即加一,并且仍然由右向左滚动。
2 软件介绍2.1 Verilog HDL相关介绍Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种用文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。
被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。
数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。
Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。
所有这些都使用同一种建模语言。
此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。
Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。
因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。
语言从C编程语言中继承了多种操作符和结构。
Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。
但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。
当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。
Verilog HDL和VHDL是目前世界上最流行的两种硬件描述语言,都是在20世纪80年代中期开发出来的。
现在,随着系统级FPGA以及片上系统的出现,软硬件协同设计和系统设计变得越来越重要。
传统意义上的硬件设计越来越倾向于与系统设计和软件设计相结合。
2.2 QuartusⅡ相关介绍Quartus II 是Alera公司推出的一款功能强大,兼容性最好的EDA工具软件。
该软件界面友好、使用便捷、功能强大,是一个完全集成化的可编程逻辑设计环境,具有开放性、与结构无关、多平台完全集成化丰富的设计库、模块化工具、支持多种硬件描述语言及有多种高级编程语言接口等特点。
Quartus II是Altera 公司推出的CPLD/FPGA开发工具,Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片平面布局连线编辑;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog 网表文件;能生成第三方EDA 软件使用的VHDL 网表文件和Verilog 网表文件。
QuanusⅡ设计的主要流程有:创建工程、设计输入、编译、仿真验证、下载,其进行数字电路设计的一般流程如图1-1所示。
图1-1 QuanusⅡ一般流程图当我们安装完成QuartusⅡ后,双击桌面上的QuartusⅡ图标,迎接我们的就是图1-2所示的开发环境。
图1-2 QuartusⅡ开发环境这个环境包含了几部分内容:最上面的菜单项和工具栏,左边的两个窗口为工程浏览窗口和进度窗口,下面的窗口为信息窗口。
利用QuartusⅡ进行原理图设计的优点是,设计者不必具有许多诸如编译技术、硬件语言等新知识就能迅速入门,完成较大规模的电路系统设计输入设计项目:原理图/VHDL 代码 建立工作库文件夹创建工程存盘,注意原理图/文本取名选择目标器件启动编译建立仿真波形文件 仿真测试和波形分析引脚锁定并编译编程、下载/配置硬件测试3 总体设计3.1总体结构音乐播放器的系统方框图如图3-1所示,本设计是一种采用FPGA芯片进行音乐播放器,主要由蜂鸣器模块、数码管显示控制模块、译码器模块、存储器模块等模块组成。
Beep图3-1 设计框图3.2设计原理根据设计要求,系统的输入信号:时钟脉冲clk,复位信号rst_n;输出信号:音乐播放器播放的音乐beep,控制数码管的seg和sel。
声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA某个引脚输出一定频率的矩形波,接上蜂鸣器就能发出相应频率的声音。
乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不用音符的音调,实际上只要控制它输出相应音符的频率即可。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。
而要准确地演奏出一首乐曲,仅仅让扬声器能够发声是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个重要因素。
每个音符对应的频率如下图3-2所示:图3-2 每个音符对应的频率4主要模块功能的设计4.1 顶层模块顶层模块只要是实现通过FPGA中的结构建模,把每个模块例化过来,将每个模块连接起来。
其产生原理是:命名顶层文件名为beep,通过例化把选址模块controller,存储器模块my_rom,乐谱产生模块translate,分频模块dir_freq,显示控制模块show_controller,数码管seg7_drive连接起来,以实现让蜂鸣器播放三首以上音乐,且数码管循环显示当前所播放音乐为第几首。
4.2数码管显示模块数码管是一种发光的半导体器件,其基本单元式发光二极管。
数码管可分为七段数码管和八段数码管,八段数码管比七段数码管多一个用于显示小数点的发光二极管单元DP。
数码管特点:1.一个数码管可表示任意一个4位二进制;2.可分共阴和共阳且本开发板上低电平有效3.可动态,静态显示;4.动态扫描频率为1KHZ;5.根据视觉暂留效果可显示数字。
数码管的实现原理:输入信号为:时钟脉冲clk,复位信号rst_n,位选信号sel,段码seg.依次经过分频器模块,滚动模块,位选模块,转换模块来实现。
下图为共阴极数码管的电路图和引脚图:图4-1 共阴极数码管4.2.1分频器模块分频器模块的功能为产生所需要的频率。
其原理是系统输入信号时钟脉冲clk,复位信号rst_n。
例如:频率是1MHZ,则周期是1000ns,如果占空比为50%,则高低电平每500ns 变反一次。
如果设所需脉冲频率为freq,则得到所要脉冲的计数个数NUM 为:12150-⨯=freq MHZ NUM 实现框图如图4-2所示:4-2 分频器模块实现框图4.2.2位选模块位选模块的功能是用来控制那个数码管亮灭。
要使数码管同时亮,可以先让第一个数码管亮,在让第一个数码管灭,第二个数码管亮,因为人眼视觉暂留效果,只要每个数码管灭的时间足够短,我们就可以看到六个数码管是同时亮着的。
其产生原理:系统的输入信号有:时钟脉冲clk,复位信号rst_n,6个数码管可显示的24位数data ;系统输出信号有:控制那个数码管亮灭的位选信号sel,每个数码管显示的4位二进制数show_data 。