基于FPGA的音乐播放器设计说明Word格式文档下载.docx
- 文档编号:13700944
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:21
- 大小:282.50KB
基于FPGA的音乐播放器设计说明Word格式文档下载.docx
《基于FPGA的音乐播放器设计说明Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于FPGA的音乐播放器设计说明Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
这种先进的编程方式已成为当今世界上各类可编程器件发展的趋势。
因为它省却了价格昂贵,操作不便的专用编程器,只需要一个十分简单的下载编程电路和一条PC机的打印机通讯线就行了。
它无须编程高压,在TTL电平下随时可进行在线编程,并可进行所谓菊花链式多片串行编程。
②高可靠性。
在高可靠应用领域,MCU的缺憾为FPGA的应用留下了很大的用武之地。
这族器件尽管在功能开发上是通过EDA软件实现的。
但物理机制却像一片74LS164那样纯属硬件电路,十分可靠。
通过合理设计,大多数应用中,无须考虑复杂的复位和初始化。
设计中只需利用简单的语句将闲置状态导入同一初始入口,就能有效防止任何可能的“死机”现象。
由于是并行工作,它的任一输入脚都可用作类似于MCU的中断监测引脚,且反应速度仅为纳妙级。
FPGA的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。
③高速。
FPGA的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。
④功能强大,应用广阔。
目前,FPGA的可选择围很大,可根据不同的应用选用不同容量的芯片,如Lattice的ispLSI和AMD公司的MACH,最小芯片的等效逻辑门为1000门,最大达数十万门。
ALTERA和XILINX公司推出的百万门的FPGA可实现几乎任何形式的数字电路或数字系统的设计。
随着这类器件的广泛应用和成本的大幅下降,以与产品上市速率的提高,FPGA在系统中的直接应用率正直逼ASIC的开发。
⑤易学易用,开发便捷。
单片机应用系统的设计对于行家里手来说是十分简单的事。
然而,对于初学者,诸如CPU的工作方式、众多特殊寄存器的用法、中断概念等等,着实不是一件容易的事。
相比之下,FPGA应用的学习却不需要太多的预备知识,只要稍具一点数字电路和计算机软件设计的基础知识,就能在短期掌握基本的设计方法和开发技巧。
而且反过来去学用单片机,就显得轻车熟路多了。
这无疑是高技术为我们的学习提供了捷径,站在巨人的肩膀当然能更快地获得成功。
可以预言,我国EDA技术的学习热潮和FPGA的应用热潮决不会逊色于过去10年的单片机热潮。
⑥开发周期短。
由于相应的EDA软件功能完善而强大,仿真能力便捷而实时,开发过程形象而直观,兼之硬件因素涉与甚少,因此可以在很短时间完成十分复杂的系统设计,这是产品快速进入市场的最宝贵的特征。
一些EDA专家预言,未来的大系统的FPGA设计仅仅是各类再应用逻辑与IP核(CORE)的拼装,其设计周期仅以小时计。
TI公司认为,一个ASIC百分之八十的功能可用IP核等现成逻辑合成。
1.3开发语言VHDL
VHDL是非常高速集成电路硬件描述语言,是可以描述硬件电路的功能、信号连接关系与定时关系的语言.它能比电路原理图更有效地表示硬件电路的特性。
使用VHDL语言,可以就系统的总体要求出发,自上至下地将设计容细化,最后完成系统硬件的整体设计。
VHDL语言的主要特点是:
①功能强大,灵活性高:
VHDL语言是一种功能强大的语言结构,可用简洁明确的代码来进行复杂控制逻辑的设计。
同时VHDL语言还支持层次化的设计,支持设计库和可重复使用的元件生成。
目前,VHDL语言已成为一种设计、仿真、综合的标准硬件描述语言。
②器件无关性:
VHDL语言允许设计者在生成一个设计时不需要首先选择一个具体的器件。
对于同一个设计描述,可以采用多种不同器件结构来实现其功能。
因此设计描述阶段,可以集中精力从事设计构思。
当设计、仿真通过后,指定具体的器件综合、适配即可。
③可移植性:
VHDL语言是一种标准的语言,故采用VHDL进行的设计可以被不同的EDA工具所支持。
从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。
在一个EDA工具中采用的技术技巧,在其它工具中同样可以采用。
④自顶向下的设计方法:
传统的设计方法是,自底向上的设计或平坦式设计。
自底向上的设计方法是先从底层模块设计开始,逐渐由各个模块形成功能复杂的电路。
这种设计方法优点是很明显的,因为它是一种层次设计电路,一般电路的子模块都是按照结构或功能划分,因此这种电路层次清楚,结构明确,便于多人合作开发,同时设计文件易于存档,易于交流。
自底向上设计方法的缺点也很明显,往往由于整体设计思路不对而使的花费几个月的低层设计付之东流。
平坦式设计是整个电路只含有一个模块,电路的设计是平铺直叙的,没有结构和功能上的划分,因此不是层次电路的设计方式。
优点是小型电路设计时可以节省时间和精力,但随着电路复杂程度的增加,这种设计方式的缺点变的异常突出。
自顶向下的设计方法是将要设计的电路进行最顶层的描述(顶层建模),然后利用EDA软件进行顶层仿真,如果顶层设计的仿真结果满足要求,则可以继续将顶层划分的模块进行低一级的划分并仿真,这样一级一级设计最终将完成整个电路的设计。
自顶向下的设计方法与前面两种方法相比优点是很明显的。
⑤数据类型丰富:
作为硬件描述语言的一种VHDL语言的数据类型非常丰富,除了VHDL语言自身预定义的十种数据类型外,在VHDL语言程序设计中还可以由用户自定义数据类型。
特别是std_logic数据类型的使用,使得VHDL语言能最真实模拟电路中的复杂信号。
⑥运行库和程序包丰富:
目前支持VHDL语言的程序包很丰富,大多以库的形式存放在特定的目录下,用户可随时调用。
如IEEE库收集了std_logic_1164、std_logic_arith、std_logic_unsigned等程序包。
在FPGA综合时,还可以使用EDA软件商提供的各种库和程序包。
而且用户利用VHDL语言编写的各种成果都可以以库的形式存放,在后续的设计中可以继续使用。
⑦建模方便:
由于VHDL语言中可综合的语句和用于仿真的语句齐备,行为描述能力强,因此VHDL语言特别适合信号建模。
VHDL语言无论仿真还是综合都是非常合适的描述语言。
⑧VHDL语言是一种硬件电路的建模描述语言,因此与普通的计算机语言有较大差别,普通计算机语言是CPU按照时钟的节拍,一条指令执行完后才能执行下一条指令,因此指令执行是有先后顺序的,也即是顺序执行,而每条指令的执行占用特定的时间。
而与VHDL语言描述结果相对应的是硬件电路,它遵循硬件电路的特点,语句的执行没有先后顺序,是并发的执行的;
而且语句的执行不象普通软件那样每条指令占用一定的时间,只是遵循硬件电路自身的延迟时间。
1.4开发环境MAX+PLUSⅡ
MAX+PLUSⅡ提供了全面的逻辑设计能力,包括电路图、文本和波形的设计输入以与编译、逻辑综合、仿真和定时分析以与器件编程等诸多功能。
特别是在原理图输入等方面,MAX+PLUSⅡ被公认为是最易使用、人机界面最友好的PLD开发软件。
这样灵活多变的输入方式,给设计使用者带来了极大的方便。
1.5研究思路与主要工作
本文按照EDA开发流程,采用VHDL硬件描述语言开发,将乐曲硬件播放电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,最后,经顶层文件将各单独结构体进行综合,实现乐曲硬件播放。
主要工作:
根据硬件播放电路的功能进行全局分析,采用自上至下的设计方法,从系统总体要求出发,逐步将设计容细化,最后完成系统结构的整体设计,实现预先设置乐曲的播放功能。
实现功能乐曲播放,需要完成以下设计:
①.预置乐曲,本文选取了《梁祝》与《欢乐颂》作预置,作预置时,需要将乐曲音符转换成相应的代码,通过计算逐一将音符转换成代码,通过EDA开发平台MAX+PLUS进行乐曲定制;
②.为了提供乐曲发音所需要的发音频率,编写数控分频器程序,对单一输入高频,进行预置数分频,生成每个音符发音的相应频率;
③.为了给分频提供预置数,需要计算分频预置数;
④.对每部分结构单元逐一进行编译,生成相应的元器件符号,并对独立结构单元功能进行仿真;
启动MAX+PLUS全程编译,生成具体输入,输出端口的图形文件。
启动全程功能仿真,生成仿真波形文件。
生成下载文件,在ZYE1502D实验开发板上利用Altera公司的FLXE10K—EPF10K10LC84—4芯片进行功能验。
第2章系统设计
2.1系统原理
传统数字逻辑设计方法相比,本设计借助于功能强大的EDA工具和硬件描述语言来完成,如果只以纯硬件的方法完成乐曲播放电路的设计,将是难以实现的。
本设计采用了《梁祝》与《欢乐颂》的曲子来完成。
表2.1简谱中的音名与频率的关系表
音符名
频率(Hz)
休止符
375000
低音5
394.737
中音6
989.446
高音4
1609.442
低音1
294.349
低音6
495.376
中音7
1136.363
高音5
1802.884
低音2
330.396
低音7
555.56
高音1
1175.549
高音6
2027.027
低音3
370.92
中音4
796.178
高音2
1353.790
高音7
2272.727
低音4
386.598
中音5
882.353
高音3
1512.097
为了便于理解,首先介绍一下硬件电路的发声原理。
我们知道,声音的频谱围约在几十到几千赫兹,若能利用程序来控制FPGA某个引脚输出一定频率的矩形波,接上扬声器就能发出相应频率的声音。
而乐曲中的每一音符对应着一个确定的频率,因此,要想FPGA发出不用音符的音调,实际上只要控制它输出相应音符的频率即可(音符和频率的关系见表2.1)。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。
而要准确地播放出一首乐曲,仅仅让扬声器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 音乐 播放 设计 说明