- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
郑州航空工业管理学院
《EDA 技术及应用》
课程设计报告
13 届 通信工程 专业 班级
题目 : 乐曲自动演奏机
姓名 : 学号 :
同组人 :
指导老师 :
2015年 7 月 9 日
乐曲自动演奏机
一、设计要求:
(1)可以在电路上自动演奏至少两首乐曲,在这里我们选
用的是 《茉莉花》、 《欢乐颂》和 《小苹果》。
(2)有相应的LED灯指示高低音。
二、其他要求:
(在EDA实验箱上完成)
1.晶振为48 MHz。
2. 采用FPGA器件为ALTERA 的EP1C6Q240C8。
3.采用数码管显示。
一、设计方案规划
1、整体规划
输入一个:clk (系统时钟48MHz)
输出四个:beep (蜂鸣器输出端)、led (LED指示灯)、dig (数码管
选择输出引脚)、seg (数码管段输出引脚)
2、功能模块与模块划分
总共分为三部分,①蜂鸣器发声部分,②LED灯显示部分,③数码管显
示部分。
3、各功能或各模块的功能细分
①蜂鸣器自动演奏乐曲,②LED灯显示高低音,③数码管显示音调。
二、各模块的实现方法、技术、要点
1、乐曲演奏的原理是:由于组成乐曲的每个音符的频率值 (音调)及其
持续 (时间音长)是乐曲演奏的2个基本数据,因此需控制输出到扬声器的
激励信号的频率高低和该频率信号持续的时间。频率的高低决定了音调的高
低,而乐曲的简谱与各音名的频率对应关系在后面将给出。所有不同频率的
信号都是从一基准频率分频而得来的,由于音阶频率多为非整数,而分频系
数有不能为小数,故必须将计算得到的分频数进行四舍五入取整,基准频率
和分频系数应综合考虑加以选择,从而保证音乐不会走调。如在48MHz 时
钟下,中音 1 (对应的频率值是 523.3Hz )的分频系数应该为:
(2*523.3) 45863,这样只需对系统时钟进行45863次分频可得到
所要的中音M1 (分频系数计算公式为D F/2K,由于F/2K之后,会使分频系
数 D 变小,所以功能模块中语句:beep_r !beep_r,使得输出取反,
K F/2count_end,消除了前面除以2K 的影响)。至于其他音符,同样可有
一式求出对应的分频系数。在程序中设置一个状态机,每250ms改变一个状
态 (即一个节拍),组成乐曲的每个音符的频率值 (音调)相对应于状态机
的每一个状态。只要让状态机的状态按顺序转换,就可以自动演奏播放音乐
了。 (注:N一拍;N两拍;N ·四拍;N ·八拍;N为音谱)。
2、LED灯接低电平显示灯亮,用always模块定义前两个灯亮表示低音,
中间四个灯亮表示中音,最后两个灯亮表示高音。
3、数码管选用共阴极,只要公共端为低电平 “0”,某个段输出高电平
“1”,则相应的段就亮。
四、设计步骤
(1)在QuartusⅡ中建立一个工程项目文件song.qpf,并在该项目下新建
VerilogHDL源程序文件song.v输入程序代码保存。
(2)然后在该工程选择一目标器件并对相应的引脚进行锁定,在这里所选
择器件为Alter公司的Cyclone系列的EP1C6Q240C8芯片,引脚锁定方
式如下所示。
引脚锁定方法
引脚 引脚
信号 信号
1C6 1C12 EDA 1C6 1C12 EDA
dig[0] 160 160 160 seg[5] 166 16
文档评论(0)