1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA实验四

西南科技大学 实验报告 课程名称: FPGA上机实验 实验名称: 硬件电子琴电路设计 姓 名: 杨传坤 学 号: 班 级: 通信1101 指导教师: 侯宝林 西南科技大学信息工程学院制   实验四 硬件电子琴电路设计 一:实验目的: 习利用数控分频器设计硬件电子琴实验。 二:实验原理: 主系统由3个模块组成,例1是顶层设计文件,其内部有三个功能模块(如图1所示):Speakera.v和ToneTaba.v ,NoteTabs.v 。 模块ToneTaba是音阶发生器,当8位发声控制输入Index中某一位为高电平时,则对应某一音阶的数值将从端口Tone输出,作为获得该音阶的分频预置值;同时由Code输出对应该音阶简谱的显示数码,如‘5’,并由High输出指示音阶高8度显示。 模块Speakera中的主要电路是一个数控分频器,它由一个初值可预置的加法计数器构成,当模块Speakera由端口Tone获得一个2进制数后,将以此值为计数器的预置数,对端口Clk12MHZ输入的频率进行分频,之后由Spkout向扬声器输出发声。 增加一个NoteTabs模块用于产生节拍控制(Index数据存留时间)和音阶选择信号,即在NoteTabs模块放置一个乐曲曲谱真值表,由一个计数器的计数值来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。 三:实验步骤(流程图): 四:对模块功能的分析: 1):将50Mclk分频为12.5M电路:div_50_12M(clk_50,clk,reset) 1:说明和分析:由52M转化为12.5M电路的基本方法在于:50M为12.5M的4倍,即当50M完成4个周期时,12.5M完成一个周期,所以在50M完成2个周期时12.5M的信号上升为高电平,50M完成4个周期时12.5M的信号从高电平变化为低电平。由50M两个周期开始12.5M信号翻转一次就可完成50M到12.5M的分频电路。 2:div_50_12M的综合图形: 2):将50Mclk分频为4hz电路: div_50_4HZ(clk_50,clk,reset) 1:说明和分析:有50M转化为4Hz的方法同上50M转化为12.5M的方法相同。只是如果直接由50M转化为4HZ的话计数的数值太大,可由50M转化为12.5M,12.5M转化为1M,再由1M转化为4Hz。 2:div_50_4HZ的综合图形 3):将音符从rom里面读取出来:NoteTabs(clk_4hz,ToneIndex) 1:说明和分析:此电路的功能在于以4Hz的速度将存在于ROM里面的音符按顺序读出来,赋值给ToneIndex输出。 2:NoteTabs的综合图形: 4):将音符转化为相应的频率计数值:ToneTaba(Index,Code,High,Tone) 1:说明和分析:此电路功能在于将读到的音符转化为相应的计数初值,输出给下一个电路分频作为分频初值,Code和High表示音阶和高低音。 Index为相应的音符; Code为表示音阶; High表示高低音; Tone表示音阶频率计数值。 2:ToneTaba的综合图形: 5):根据计数值将12.5M分频计数为音符频率Speakera(clk_12M,Tone,speak_clk) 1:说明和分析:根据上一电路的计数初值,分频得到相应的音符频率。 clk_12M为12.5M的频率; Tone为ToneTaba产生的计数值; Speak_clk为音符的频率。 2:Speakera的综合图形: 6):顶层文件:top_speaker(clk_50M,reset,code,high,speak_out) 1:top_speaker综合图形: 五:实验结果分析: 1):实验结果的说明:本次实验结果相对较满意,顺利生成.bit 说明:由于是在实验室调用Modelsim仿真的,在我自己的笔记本上没有Modelsim软件,故用的是ISE自带的仿真软件。 六:实验思考题解答 1:电路上应该满足哪些条件,才能用数字器件直接输出的方波驱动扬声器发声? 答:1):输出的频率要在扬声器的工作频率范围; :输出的

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档