基于FPGA的硬件电子琴电路模块方案设计.docVIP

基于FPGA的硬件电子琴电路模块方案设计.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的硬件电子琴电路模块方案设计

Southwest university of science and technology FPGA现代数字系统设计 实验报告 实验名称 硬件电子琴电路模块设计 专业班级 电子1002班 学生姓名 学号 指导教师 实验要求 用FPGA实现乐曲的播放 实验原理 实现乐曲的播放原理: 1、将待播放的《梁祝》音乐音符存入ROM; 2、以4HZ频率读取ROM; 3、根据1MHZ的内部时钟要求,将读出的音符换算成应计数的数值; 4、以1MHZ为内部时钟,实现符合要求的方波信号。 图2.1 原理框图 本设计包括5个模块:一个是Speakera模块,一个是TONE模块,一个Notetabs模块,两个分频模块50M~12.5M、50M~4HZ。 1、 Speaker模块 主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。 TONE模块 Tone是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。 Notetabs模块 用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在Notetabs模块放置一个乐曲曲谱真值表,乐曲曲谱真值表放置于名为Music的ROM模块中。 由一个计数器来生成读取ROM所需的地址数据,对ROM以4HZ的频率进行读取,实现控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。 4、50MHZ到12.5MHZ的分频模块 由于实验板上,只有50MHZ有源晶振,故将用50MHZ进行分频实现12.5MHZ的时钟。 5、50MHZ到12.5MHZ的分频模块 系统需要4HZ频率读ROM,于是用50MHZ,分频得到4HZ频率。 实验步骤 ToneTaba模块和Speakera模块的设计 建立工程:file-New Project,并注意器件、EDA工具的正确选择。 图3.1 工程建立及工具选择 建立新Verilog HDL模块编辑窗口,选择资源类型为Verilog Module,并输入合法文件名,在文本编辑窗口输入代码。 图3.2 文本编辑 执行综合得到综合后的电路。 图3.3 综合逻辑结构 进行功能仿真。 图3.4 ToneTaba模块的仿真 图3.5 Speakera模块的仿真 NoteTabs模块的设计 、IP CORE模块 在工程中新建资源,选择IP (CORE Generate Architecture Wizard) 弹出的界面,选择Memory Element single Port Block Memory 选择Read Only,存储器位宽:Width 为4,深度:Depth为256,按Next继续设定;钩选Load Init File,点击Load File…按键,装载初始文件Music.coe,点击Generate按键生成ROM的IP CORE。 、按照ToneTaba模块的步骤建立NoteTabs模块,并进行综合仿真。 图3.7 NoteTabs模块的综合逻辑 图3.7 NoteTabs模块的仿真 div_50_12M模块和iv_50_4HZ模块的设计 (1)、与以上步骤相同,设计代码如下: () 、进行综合仿真。 (2)、进行综合仿真。 图3.8 div_50_12M模块仿真 4、顶层模块songer设计 用Verilog HDL将div_50_12M.v、div_50_4HZ.v 、 Notetabs.v、 Tone.v、 Speakera.v组合为顶层模块songer.v,并进行综合。 图3.9 综合电路逻辑结构 顶层模块处理 (1)锁定引脚。 (2)下载。 双击Generate Programming File生成下载文件,双击Configure Target Device点击OK。加入.bit文件,下载成功后会有提示。 四、实验结果 用发光管LD3~LD0显示Code[3]~Code[0]表示琴音简谱码,发光管LD5显示高8度,Spkout接J4的D7端口),当程序下载到DE2板上去后,通过外接扬声器可以听到“梁祝”的乐曲。 五、思考题 1、电路上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发声? 当电路输出的频率在扬声器的工作范围之内(扬声器的工作频率范围一般是能听见的声波);驱动电流能够驱动扬声器;才能用数字器件直接输出的方波驱动扬声器发声

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档