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

合集下载

基于FPGA的音乐播发器设计

基于FPGA的音乐播发器设计

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

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

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

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

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

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

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

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

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

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

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

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

音乐电路设计总体参考方案如图1所示。

图1 总体设计方案本设计以用于演奏“梁祝”乐曲的音乐电路为例,对音乐电路各模块的实施进行分析。

一、控制电路模块控制电路模块包含节拍产生模块和音符产生模块两个子模块,可合写成一个文件。

基于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音乐播放器设计
应的音符放在一个连续 的地址 , 具体电路如图 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的音乐播放器的设计-毕业设计论文
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的音乐播放器的设计

目录引言 (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的音乐播放控制电路设计

音乐播放器控制电路课程设计报告班级:学号:姓名:指导老师:一、设计目的将《断桥残雪》简谱按照要求进行编码并将其写入只读存储器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的音频脉冲信号控制蜂鸣器,可以使其根据控制信号的频率发出不同的音调。

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

摘要根据国家发改委与专业教学委员会对教育机构的要求,为培养适应我国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乐曲演奏电路原理框图 ................................................... 错误!未定义书签。

2.2音乐硬件演奏电路的设计实现 (5)2.2.1各个模块的功能简介 ....................................................... 错误!未定义书签。

2.2.2 music模块 (6)2.3地址发生器模块 (8)2.3.1地址发生器的VHDL设计 (8)2.3.2波形仿真 (9)2.4分频预置数模块 (9)2.4.1分频预置数模块的VHDL设计 (9)2.4.2波形仿真 (10)2.5十六进制模块 ............................................................................ 错误!未定义书签。

12.5.1十六进制模块的VHDL设计 ........................................... 错误!未定义书签。

12.5.2波形仿真 ......................................................................... 错误!未定义书签。

12.6数控分频模块 ............................................................................ 错误!未定义书签。

22.6.1数控分频模块的VHDL设计 ............................................. 错误!未定义书签。

2.6.2 波形仿真 .......................................................................... 错误!未定义书签。

2.7 分频模块 (13)2.8顶层模块 (15)结论 (17)参考文献 (18)第一章前言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)采用平面规划技术对逻辑综合和物理版图设计联合管理,做到在逻辑设计综合早期阶段就考虑到物理设计信息的影响。

(4)可测性综合设计。

(5)为带有嵌入式IP核的ASIC设计提供软、硬件协同设计工具。

(6)建立并行设计工具框架结构的集成化设计环境,以适应当今ASIC规模大而复杂、数字与模拟电路并存、硬件与软件设计并存、产品上市速度快等特点。

总而言之,EDA技术的出现,给电子信息产业带来了革命性的变革。

1.2关于VHDLVHDL是一种硬件描述语言,它可以对电子电路和系统的行为进行描述,基于这种描述,结合相关的软件工具,可以得到所期望的实际电路与系统。

使用VHDL语言描述的电路,可以进行综合和仿真。

然而,值得注意的是,尽管所有VHDL代码都是可仿真的,但并不是所有代码都能综合。

VHDL被广泛使用的基本原因在于它是一种标准语言,是与工具和工艺无关的,从而可以方便地进行移植和重用。

VHDL两个最直接的应用领域是可编程逻辑器件(PLD)和专用集成电路(ASIC),其中可编程逻辑器件包括复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)。

关于VHDL最后要说明的是:与常规的顺序执行的计算机程序不同,VHDL从根本上讲是并发执行的。

在VHDL中,只有在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)内部的语句才是顺序执行的。

1.3EDA工具目前有多种EDA工具支持采用VHDL进行电路综合、仿真以及实现。

比较常见的是Altera公司的QuartusⅡ开发平台和Xilinx公司的ISE开发平台。

这些平台中使用的综合工具和仿真工具通常由专业的EDA厂商提供。

本次设计中所使用的平台正是QuartusⅡ7.2,它是Altera公司提供的一套集成了编译、布局布线和仿真工具在内的综合开发环境。

它能完成从代码输入到编译到仿真再到物理实现的全部设计流程。

1.4有关于本次课程设计本次课程设计要求使用EDA工具,设计实现简易音乐演奏器,理解音名与频率的关系及数控分频原理,经过对整体进行模块化分析、编程、综合、仿真及最终下载,完整实现简易音乐器的播放功能。

我们知道,与利用单片机来实现乐曲演奏相比,以纯硬件完成乐曲演奏电路的逻辑要复杂得多,如果不借助于功能强大的EDA工具与硬件描述语言,仅凭传统的数字逻辑技术,即使最简单的演奏电路也难以实现。

在后面的章节中会详细介绍利用EDA技术实现简易音乐演奏器的过程。

第二章设计实现2.1音乐演奏电路原理先介绍一下硬件电路的发声原理。

声音的频谱范围约在几十到几千赫兹,若能利用程序来控制FPGA某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。

乐曲中的每一音符对应着一个确定的频率,要想FPGA发出不同音符的音调,实际上只要控制它输出相应音符的频率即可。

乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频,就可以在扬声器上连续地发出各个音符的音调。

而要准确地演奏出一首乐曲,仅仅让扬声器能够发生是不够的,还必须准确地控制乐曲的节奏,即乐曲中每个音符的发生频率及其持续时间是乐曲能够连续演奏的两个关键因素。

2.1.1音符频率的获得多个不同频率的信号可通过对某个基准频率进行分频器获得。

由于各个音符的频率多为非整数,而分频系数又不能为小数,故必须将计算机得到的分频系数四舍五入取整。

若基准频率过低,则分频系数过小,四舍五入取整后的误差较大。

若基准频率过高,虽然可以减少频率的相对误差,但分频结构将变大。

实际上应该综合考虑这两个方面的因素,在尽量减少误差的前提下,选取合适的基准频率。

本文中选取750KHz的基准频率。

由于现有的高频时钟脉冲信号的频率为12MHz,故需先对其进行16分频,才能获得750KHz的基准频率。

对基准频率分频后的输出信号是一些脉宽极窄的尖脉冲信号(占空比=1/分频系数)。

为提高输出信号的驱动能力,以使扬声器有足够的功率发音,需要再通过一个分频器将原来的分频器的输出脉冲均衡为对称方波(占空比=1/2),但这时的频率将是原来的1/2。

表1中各音符的分频系数就是从750KHz的基准频率二分频得到的375KHz频率基础上计算得到的。

由于最大分频系数是1274,故分频器采用11位二进制计数器能满足要求,乐曲中的休止符,只要将分频系数设为0,即初始值=211-1=2047,此时扬声器不会发声。

表2-1 各个音符的频率及其对应的分频系数(基准频率375KHz)2.1.2乐曲节奏的控制本文中的梁祝乐曲,最小的节拍为1/4拍,若将1拍的时间定为1秒,则只需要提供一个4Hz的时钟频率即可产生1/4拍的时长(0.25秒),对于其它占用时间较长的节拍(必为1/4拍的整数倍)则只需要将该音符连续输出相应的次数即可。

计数时钟信号作为输出音符快慢的控制信号,时钟快时输出节拍速度就快,演奏的速度也就快,时钟慢时输出节拍的速度就慢,演奏的速度自然降低。

相关文档
最新文档