logo资料库

基于FPGA的音乐硬件演奏电路设计与实现(二).pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
基于基于FPGA的音乐硬件演奏电路设计与实现(二) 的音乐硬件演奏电路设计与实现(二) 该文在EDA 开发平台上,利用VHDL 语言设计数控分频器电路,采用可编程逻辑器件CPLD/FPGA,经过整体分 析、模块化分析、整体与模块的仿真分析三个步骤,以乐曲《梁祝》为例,使硬件实现了整体复位、按键选择 演奏方式、循环演奏以及数码管显示乐谱的功能。系统能自动从头开始循环播放,也可随时起停、、按键选择 播放、循环播放播放中切换歌曲以及发光二极管动态显示播放的音符。 3 系统的方案实现 3.1 各模块仿真及描述 notetabs作为音符rom的地址发生器,此模块中设置了一个8位2进制计数器,频率为4hz,即为4个音符一秒时间四四拍的4分音 符。notetabs计数器计数器按4hz时钟频率做加法计数,当stop为高电平时停止加法运算,而当change可设置rom中数据的跳 转,rom通过toneindex[30]端口输向tonetaba模块。乐曲就演奏起来了。 由图6 sperkera仿真波形可以看出,当clk输入时钟频率为12mhz时,输出端信号clk输出的频率,随tong信号的不同,输出不 同频率的声音信号。 由图7tonetaba信号的仿真波形,可以看出,当输入信号index[30]输入不同信号值,code输出端输出音符的显示,high为音符 高位信号,tone大于7时high为高电平。 图8为notetabs仿真波形,当clk输入时钟信号,toneindex[30]端从rom中读入音符数据,当输入端口stop为“1”时,暂停从rom 中读入数据,stop为“0”继续读取音符信号,change为高低电平时,模块分别读取rom不同位置的数据。 3.2 顶层电路仿真及描述 clk8hz端输入8hz时钟信号,另一个clk12mhz输入12mhz时钟信号,系统将自动从music.mif中读取音符信号,以频率不同输出 到spkout,同时输出到显示端口,和高音端口,code1[30],high1.p端口可以是音符暂停输出(高电平时),ch端口控制歌曲间 的切换。 4 硬件测试及说明
选择实验电路模式1,将引脚锁定时clk12mhz于clock9连接,短路帽clock接12mhz.clk8hz与clock2连接。发音输出spkout接 speaker.简谱码输出code1由数码管5显示,high高8度指示由发光管d5指示,p与按键d16连接,ch与的15连接。最后向目标 芯片下载适配后的sof逻辑设计文件。 5 结论 本次设计在EDA开发工具QuartusII平台上,应用语言层次化和模块化的设计方法,通过音符编码的设计思想,预先定制乐 曲,在此基础上设计了一个乐曲硬件演奏电路,经过对整体进行模块化分析、编程、综合、仿真及最终下载,完整实现简易音 乐器的播放功能。 通过学生自己手动完成简单的数字器件的设计,在加强以传统电子设计方法为基础的工程设计训练的同时,使学生能够更快地 掌握现代电子电路设计自动化的新方法和新手段,提高了学生对基础实验的兴趣。
分享到:
收藏