欢迎来到天天文库
浏览记录
ID:3140625
大小:1012.50 KB
页数:14页
时间:2017-11-19
《verilog hdl—简易电子琴设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、湖北文理学院简易电子琴设计专业:自动化学号:2012118064姓名:一天虹影实验目的使用VerilogHDL语言进行前端设计,并使用Quaruts软件在GW48-PK2实验上实现仿真,实现硬件电子琴。电子琴要求有8个音阶,使用外部时钟信号3MHz,能同步显示音阶。设计要求1、设计一个简易电子琴。要求能演奏的音域为D调的do到E调do。2、用GW48-PK2中的8个按键作为琴键。3、GW48-PK2中有蜂鸣器。4、可以使用GW48-PK2上的12MHz作为输入时钟信号设计思路通过可编程逻辑器件(PLD)
2、和VHDL硬件描述语言来实现电子琴的基本要求。设计的主体是数控分频器,对输入的频率按照与每个音阶对应的分频系数进行分频,得到各个音阶对应的频率分别在蜂鸣器和数码管上以声音和频率数值的形式作为输出。设计组成与原理下图为系统的工作原理框图。分频置数按键分频器12MHZ蜂鸣器数码管显示模块设计1.音名与频率的关系音乐的12平均率规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差1倍。在2个八度音之间,又可分为12个半音。灵位,音符A(简谱中的低音6)的频率为440HZ,音符B到C之间、E到F之间为半
3、音,其余为全音。由此可以计算出简谱中所有的音符的频率,在这我们只需计算出中音1到高音1的频率即可。如下所示:表一简谱音名与频率的对应关系音名中音1中音2中音3中音4中音4中音6中音7高音1频率/HZ523.3587.3659.3698.5784880987.81046.5由于各音符对应的频率多为非整数,而分频系数又不能为小数,故必须将计算得到的分频数四舍五入取整。若分频器时钟频率过低,则由于分频系数过小,四舍五入取整后的误差较大;若时钟频率过高,虽然误差变小,但分频数将变大。实际的设计应综合考虑两方面的
4、因素,在尽量减少频率误差的前提下取合适的时钟频率。本实验要求用12MHZ的时钟脉冲信号,所以不必考虑这方面的因素。实际上,只要各个音符间的相对频率关系不变,弹奏出来的音调听起来是不会走调的。1.分频系数与初始值(预置数)本例设计的音乐电子琴选取12MHZ的系统时钟频率。在数控分频器模块中,由于数控分频器输出的波形是脉宽极窄的脉冲波,为了更好地驱动扬声器发生,减少输出的偶次谐波分量,在到达扬声器之前需要均衡占空比,从而生成各音符对应频率的对称方波输出。这个过程实际上进行了一次二分频,频率变为原来的二分之一
5、,即6MHZ。因此,分频系数的计算可以按照下面的方法进行。以中音1为例,对应的频率值为523.3HZ,它的分频系数应该为:Divider=6MHz/523.3=6*106/523.3=11466至于其他音符,同样由上式求出对应的分频系数,这样利用程序可以轻松地得到相应的乐声。各音名对应的分频系数如下表:表二各音名对应的分频系数音名中音1中音2中音3中音4中音5中音6中音7高音1分频系数(divider)1146610216910185907653681860745733由于最大的分频系数为11466,故
6、采用14位二进制计数器已能满足分频要求。将分频系数设为0,其初始值为16383(214-1)即可,此时扬声器不会发声。对于不同的分频系数,加载不同的初始值即可。本实验参考王金明:《VerilogHDL程序设计教程》,采用差值法进行分频。把差值作为初始值,为不同音阶的发声的来源。各音名对应的初始值如下表:表三各音名对应的初始值音名中音1中音2中音3中音4中音5中音6中音7高音1初始值(origin)49176167728277938730956510309106501.数控分频器数控分频器是对基准频率进行
7、分频,得到与各个音阶对应的频率输出。数控分频模块是由一个初始值可变的14位加法计数器构成,该计数器的模为214=16384,当计数器记满时,产生一个进位信号,该信号就是用作发音的频率信号。其分为预分频和脉冲展宽两部分。a)预分频assignpreclk=(divider==16383)?1:0;always@(posedgeclk)beginif(preclk)divider=origin;elsedivider=divider+1;endb)脉冲展宽(二分频)always@(posedgepreclk
8、)beginspeaker=~speaker;目的是将预分频产生的占空比很小的波形进行拓宽,使得波形有足够长的高电平来驱动扬声器。实验仿真(一)测试使用的仪器与软件仪器康芯GW48系列EDA设备-----GW48-PK2实验电路图和适用范围:本实验适用模式3,其结构图如下1.Altera公司的Cyclone系列的EP2C5T144C8芯片2.康芯教学实验箱软件QuartusIIQuartusII是Altera公司的综合性PLD开发软件,支持
此文档下载收益归作者所有