返回

AUDIO电子音乐实验

一、  实验目的
  1、    了解普通扬声器的工作原理。
  2、    使用FPGA产生不同的音乐频率。
  3、    进一步体验FPGA的灵活性。
二、      实验原理
  本实验是完成一小段音乐程序的开发,然后再用扬声器进行试听。下面主要介绍一下完成本实验的几个主要部分的工作原理。
  音符的产生:音符的产生是利用计数器对输入的时钟信号进行分频,然后输出不同的频率来控制扬声器发不同的声音。计数器必须是模可变的计数器,也就是其初始计数值可变,这样便可以对其进行初始化,使其从不同的初始值开始计数,实现对输入时钟信号的不同分频。
  节拍的产生:节拍也是利用计数器来实现,如果某一个音符需要维持的时间比较长,那么就可以在此计数器从计数值A到计数值B之间都维持该音符,很显然,A和B之间的间隔越大,那么该音符维持的时间也就越长。
  乐谱的存储:乐谱是一个固定的组合电路,根据不同的输入值,然后输出一个固定的值,该值就是音符产生计数器的分频的初始值。
  适当的选择这些计数器和组合电路,便可完成不同的乐曲和不同节奏。
  三、      实验内容
  本实验要求完成的任务是通过编程实现一段音乐旋律的循环播放。
  四、  实验步骤
  1、 打开QUARTUSII软件,新建一个工程。
  2、 建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
  3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
  4、 编写完VHDL程序后,保存起来。方法同实验一。
  5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
  6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
  7、 根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
  如果是调用的本书提供的VHDL代码,则实验连线如下:
  Clk:时钟输入信号,接1.5MHz的时钟源。
  Spk:输出,接扬声器部分的输入端SPK。
  8、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。
  五、         实验结果与现象
  以设计的参考示例为例,当设计文件加载到目标器件后,确认信号连接线已正确连接,将数字信号源模块CLOCK1的时钟选择为1.5MHz ,在实验平台上的音频输出模块将会响起一段“梁祝”音乐的旋律。
  六、         实验报告
  1、    了解乐曲节拍产生的过程,注意音符的节拍长短的变化是由什么控制的。
  2、    熟悉音乐编程的过程,填入新的乐曲。
  3、    试利用FPGA的LPM-ROM将音乐旋律存放入ROM,然后再调用的形式编写程序。
  4、    绘出仿真波形图,并加以说明。
X(带手机端)

截屏,微信识别二维码

微信号:13817525788

(点击微信号复制,添加好友)

  打开微信

微信号已复制,请打开微信添加咨询详情!