已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
草鱼基于FPGA的MP3音乐播放器设计草鱼预置乐曲播放器设计草鱼摘要PORK本次课程设计的主题是基于FPGA的MP3播放器,鲤鱼这是一个发展空间很大的课题,鲤鱼研究者可以根据自己的能力水平和兴趣爱好自由发展。草鱼我们组实现的功能是预置乐曲的播放。草鱼本次设计是在BASYS2实验开发板上实现,鲤鱼使用XINLINX131软件,鲤鱼利用VHDL硬件描述言语设计数控分频器电路,鲤鱼利用数控分频原理设计音乐硬件播放数字电路,鲤鱼将音乐数据存放在程序中,鲤鱼利用时钟驱动音符输出,鲤鱼通过集成运放调节音量,鲤鱼达到了乐曲播放的效果。草鱼程序中存放的音符数据易修改,鲤鱼只要修改程序中所放的的音符数据,鲤鱼将其转换为其他乐曲的音符数据,鲤鱼就可以实现不同乐曲的播放。草鱼草鱼关键字PORKFPGA;PORKXILINX;PORKVHDL;PORK预置音符;PORK音乐播放草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼1草鱼草鱼草鱼目录草鱼摘要草鱼1草鱼草鱼一、PORK绪论草鱼3草鱼草鱼11研究背景草鱼3草鱼草鱼12基本技术简介草鱼3草鱼草鱼121可编程逻辑器件FPGA草鱼3草鱼草鱼122硬件描述语言VHDL草鱼3草鱼草鱼123开发软件XILINX草鱼4草鱼草鱼二、PORK需求分析和研究思路草鱼4草鱼草鱼21需求分析草鱼4草鱼草鱼22研究思路草鱼5草鱼草鱼三、PORK系统设计草鱼5草鱼草鱼31系统原理草鱼5草鱼草鱼311音调控制草鱼6草鱼草鱼312音长控制草鱼6草鱼草鱼313乐谱发生器草鱼7草鱼草鱼314音量控制草鱼7草鱼草鱼32系统结构草鱼8草鱼草鱼321各功能模块概述草鱼8草鱼草鱼322系统整体原理框图草鱼9草鱼草鱼四、PORK详细的程序实现和仿真分析草鱼9草鱼草鱼41时钟分频模块草鱼9草鱼草鱼42乐谱码发生模块草鱼10草鱼草鱼43乐谱码查表模块草鱼11草鱼草鱼44数控分频模块草鱼11草鱼草鱼45音量放大模块草鱼12草鱼草鱼46顶层模块草鱼12草鱼草鱼五、PORK结论草鱼12草鱼草鱼六、PORK个人感想草鱼13草鱼草鱼草鱼草鱼2草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼草鱼一、PORK绪论草鱼11研究背景草鱼在电子技术的飞速发展的今天,鲤鱼电子产品的种类越来越多,鲤鱼功能越来越强大,鲤鱼体积越来越小,鲤鱼功耗越来越低。草鱼随着经济的快速发展,鲤鱼人们对生活质量的要求也越来越高,鲤鱼在越来越高效率的生活条件下,鲤鱼人们需要来音乐来释放压力,鲤鱼而体型庞大的随身听已经满足不了人们的需求。草鱼在此背景下,鲤鱼MP3应运而生。草鱼MP3播放器,鲤鱼顾名思义也就是可播放MP3格式的音乐播放工具。草鱼MP3发展到今天,鲤鱼其功能越来越多,鲤鱼外观越来越精致,鲤鱼受到了广大消费者的喜爱。草鱼但是传统的FLASH存储器的成本居高不下,鲤鱼设计者创意受限,鲤鱼造成MP3播放器卖价不菲但功能单一,鲤鱼而利用FPGA实现的MP3播放器可以用尽可能低的成本提供尽可能多的附加性能。草鱼草鱼可编程逻辑器件和EDA技术的发展也为本次课程设计提供了一定的研究背景。草鱼EDA技术,鲤鱼即电子设计自动化,鲤鱼是以计算机为工具,鲤鱼设计者在EDA软件平台上,鲤鱼用硬件描述语言HDL完成设计文件,鲤鱼然后由计算机自动地完成逻辑编译、PORK化简、PORK分割、PORK综合、PORK优化、PORK布局、PORK布线和仿真,鲤鱼直至对于特定目标芯片的适配编译、PORK逻辑映射和编程下载等工作。草鱼这样,鲤鱼将原来的“电路设计硬件搭试调试焊接”转化为“功能设计软件模拟仿真下载”,鲤鱼在芯片的设计中完成对电路板的设计,鲤鱼减少了电路板连线,鲤鱼提高了系统集成度,鲤鱼降低了可能的干扰,鲤鱼增加了系统的可靠性和稳定性,鲤鱼提高了设计的灵活性和效率,鲤鱼大大提升了技术指标。草鱼草鱼12基本技术简介草鱼121可编程逻辑器件FPGA草鱼FPGA(FIELDPROGRAMMABLE草鱼GATE草鱼ARRAY),鲤鱼即现场可编程门阵列,鲤鱼它是在PAL、PORKGAL、PORKCPLD等可编程器件的基础上进一步发展的产物。草鱼它是作为专用集成电路3(ASIC)领域中的一种半定制电路而出现的,鲤鱼既解决了定制电路的不足,鲤鱼又克服了原有可编程器件门电路数有限的缺点。草鱼草鱼FPGA草鱼在结构上主要分为三个部分,鲤鱼即可编程逻辑单元,鲤鱼可编程输入/输出单元和可编程连线三个部分。草鱼它采用专用的集成电路,鲤鱼用户不需要投片生产就可以得到合用的芯片。草鱼FPGA是ASIC电路中设计周期最短、PORK开发费用最低、PORK风险最小的器件之一,鲤鱼功耗低,鲤鱼是小批量系统提高系统集成度、PORK可靠性的最佳选择之一。草鱼草鱼本次课程设计使用的是BASYS2开发板,鲤鱼是一个基于XINLINX草鱼SPARTAN3E草鱼可编程逻辑器件和ATMEL草鱼AT90USB2草鱼USB草鱼控制器的电路设计和实现的平台,鲤鱼USB电缆提供电源和编程接口,鲤鱼所以他没有其他的电源供应器和编程电缆。草鱼BASYS2开发板向用户提供完整的,鲤鱼准备使用的,鲤鱼硬件适合托管范围的,鲤鱼基本的逻辑器件复杂控制器的电路,鲤鱼开发板上包括I/O设备和所必须的FPGA支持电路,鲤鱼不需要任何其他组件就可以实现无数的电路设计。草鱼草鱼122硬件描述语言VHDL草鱼VHDL语言是一种超高速集成电路硬件描述语言,鲤鱼是用于电路设计的高级语言,鲤鱼事实上已成为通用的硬件描述语言。草鱼VHDL主要用于描述数字系统的结构、PORK行为、PORK功能和接口,鲤鱼他的语言形式十分类似于一般的计算机高级语言。草鱼他的程序特点是将一个设计实体分成外部和内部,鲤鱼外部又称可视部分,鲤鱼或者端口,鲤鱼同理,鲤鱼内部又称不可视部分,鲤鱼涉及实体的内部功能和算法完成部分。草鱼在对一个设计实体定义了外部界面后,鲤鱼一旦其内部开发完成后,鲤鱼其他的设计就可以直接调用这个实体。草鱼这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。草鱼草鱼与其他硬件描述语言相比,鲤鱼VHDL语言具有很多优势。草鱼VHDL具有功能强大的语言结构,鲤鱼可以用简洁明确的源代码来描述复杂的逻辑控制。草鱼他支持同步电路、PORK异步电路和随机电路的设计,鲤鱼这是其他硬件描述语言所不能比拟的。草鱼由于VHDL已经成为IEEE标准所规范的硬件描述语言,鲤鱼目前大多数EDA工具几乎都支持VHDL,鲤鱼这为VHDL的进一步推广和广泛应用奠定了基础。草鱼由于VHDL语言易读和结构化,鲤鱼所以易于修改设计,鲤鱼在硬件电路的设计过程中主要的设计文件使用VHDL来编写源代码。草鱼VHDL丰富的仿真语句和库函数,鲤鱼使得在任何大系统的设计早期就能查验设计系统的功能可行性,鲤鱼随时可对设计进行仿真模拟。草鱼VHDL具有多层次的设计描述功能,鲤鱼既可以描述系统级电路,鲤鱼又可以描述门级电路。草鱼另外,鲤鱼VHDL支持惯性延迟和传输延迟,鲤鱼还可以准确地建立硬件电路模型。草鱼VHDL支持预定义的和自定义的数据类型,鲤鱼给硬件描述带来较大的自由度,鲤鱼使设计人员能够方便地创建高层次的系统模型。草鱼VHDL对设计的描述具有相对独立性,鲤鱼设计者可以不懂硬件的结构,鲤鱼也不必管理最终设计实现的目标器件是什么,鲤鱼而进行独立的设计。草鱼草鱼本次课程设计用的就是VHDL语言编写程序,鲤鱼实现整体模块中的各种功能。草鱼草鱼123开发软件XILINX草鱼XILINX赛灵思公司是全球领先的可编程逻辑完整解决方案的供应商。草鱼XILINX研发、PORK制4造并销售范围广泛的高级集成电路、PORK软件设计工具以及作为预定义系统级功能的IP(INTELLECTUAL草鱼PROPERTY)核。草鱼客户使用XILINX及其合作伙伴的自动化软件工具和IP核对器件进行编程,鲤鱼从而完成特定的逻辑操作。草鱼目前XILINX满足了全世界对草鱼FPGA产品一半以上的需求。草鱼XILINX产品线还包括复杂可编程逻辑器件(CPLD)。草鱼XILINX产品已经被广泛应用于从无线电话基站到DVD播放机的数字电子应用技术中。草鱼传统的半导体公司只有几百个客户,鲤鱼而XILINX在全世界有7,鲤鱼500多家客户及50,鲤鱼000多个设计开端。草鱼草鱼本次课程设计中使用的SPARTAN3E开发板就是由XILINX公司最新推出的低成本FPGA,鲤鱼是基于SPARTAN3/3L的,鲤鱼对其性能和成本进一步优化。草鱼这款产品成本低廉,鲤鱼总体性能指标不是很优秀,鲤鱼适合低成本应用场合,鲤鱼是XILINX未来几年在低端FPGA市场上的主要产品。草鱼草鱼本次课程设计使用XILINX草鱼ISE是XILINX公司集成开发的工具,鲤鱼我们使用的版本是XILINX草鱼ISE草鱼DESIGN草鱼SUITE草鱼131,鲤鱼利用它编写VHDL程序,鲤鱼仿真,鲤鱼综合编译并生成后缀为BIT的数据文件。草鱼草鱼二、PORK需求分析和研究思路草鱼21需求分析草鱼MP3播放器的功能可以有很多,鲤鱼基本功能就有从SD卡读取文件,鲤鱼通过扬声器播放音乐,鲤鱼通过调节按钮调节音量等。草鱼还可以有多个扩展功能,鲤鱼如通过LED显示歌曲的歌曲名、PORK演唱者、PORK播放时间等相关信息,鲤鱼快进后退,鲤鱼暂停等。草鱼甚至可以实现一些较高级别的创新功能,鲤鱼如通过语音识别实现MP3的密码保护功能。草鱼这是一个发展空间很大的课题,鲤鱼研究者可以根据自己的能力水平和兴趣爱好自由发展。草鱼草鱼本次课程设计中,鲤鱼我完成了预置音乐的播放,鲤鱼暂停,鲤鱼音符显示和音量调节功能。草鱼草鱼预置音乐的播放PORK把音乐的曲谱写在程序里面,鲤鱼通过对不同音符的发音频率进行分析,鲤鱼把不同的音符以不同频率的脉冲形式输出,鲤鱼接到扬声器发出声音。草鱼草鱼暂停PORK音乐是通过不断输送的时钟脉冲一个一个连续不断的实现输出的,鲤鱼使时钟脉冲停止就达到了是音乐播放暂停的功能。草鱼草鱼音符显示PORK把音符的简谱代码存放在程序中,鲤鱼在音符频率输出的同时也通过LDE灯把音符的简谱代码显示出来。草鱼草鱼音量调节PORK把输出的声音经过一个集成运算放大电路,鲤鱼通过可调电阻对音量进行调节。草鱼草鱼22研究思路草鱼按照EDA开发流程,鲤鱼采用VHDL硬件描述语言开发,鲤鱼从系统的整体出发对硬件演奏电路的功能进行分析并划分为多个功能模块,鲤鱼完成各个功能模块的设计以及实现,鲤鱼最后通过系统结构的整体设计实现预先设置乐曲的播放功能。草鱼再把播放功能模块的输出经过一个集成运算放大电路实现音量调节功能。草鱼草鱼需要完成的设计如下PORK草鱼5找出不同音符的发音频率,鲤鱼寻找最佳待分频频率,鲤鱼计算分频数和分频预置数,鲤鱼制作乐谱查找表。草鱼乐谱查找表里应当有PORK不同音符的发音频率,鲤鱼该发音频率相对于基准频率的分频系数和分频预置数。草鱼草鱼预置曲谱。草鱼定义一个转换规则,鲤鱼将音乐音符转换为代码预置在程序里。草鱼草鱼对预置的曲谱码在乐谱查表码里进行查找,鲤鱼找出相应音符对应频率的分频预置数。草鱼草鱼根据查找到的分频预置数对待分频频率进行分频并输出。草鱼草鱼通过集成运放电路实现音量调节。草鱼草鱼将输出连接到扬声器,鲤鱼播放音乐。草鱼草鱼使用XILINX草鱼ISE草鱼DESIGN草鱼SUITE草鱼131编写程序和仿真,鲤鱼使用XILINX草鱼PLANAHEAD草鱼131综合布线,鲤鱼综合编译并生成BIT下载文件,鲤鱼使用DIGILENT草鱼ADEPT下载到BASYS2实验开发板上进行功能验证。草鱼草鱼三、PORK系统设计草鱼31系统原理草鱼如果单纯以纯硬件的电路来实现乐曲演奏电路会复杂很多,鲤鱼比较难以实现。草鱼本次课程设计采用强大的EDA工具和硬件描述语言来实现乐曲演奏。草鱼我们知道,鲤鱼一首乐曲是由很多个音符组成的,鲤鱼而每个音符又包括音符的发音频率和发音持续时间两个基本因素。草鱼如何把音符一个一个播放出来,鲤鱼就要看怎么获得音符的发音频率和发音持续时间,鲤鱼并利用这些数值以硬件软件相结合的方式实现乐曲的演奏。草鱼草鱼如果我们现在知道每个音符的发音频率,鲤鱼利用程序使FPGA开发板上的某个引脚输出一定频率的脉冲,鲤鱼再连接到扬声器,鲤鱼就可以发出相应音符对应的声音了。草鱼然后再控制每个音符的发音持续时间,鲤鱼这样就输出了一个完整的音符。草鱼乐曲是由一个又一个的音符组成的,鲤鱼利用时钟信号使音符一个接着一个输出,鲤鱼就完成了一首乐曲的播放。草鱼因此,鲤鱼我们需要编写程序来控制FPGA引脚输出不同音符对应的不同的音调和音长。草鱼草鱼从FPGA引脚输出的不同频率的信号具有一定的峰值,鲤鱼改变这些峰值的大小可以控制音量的大小。草鱼因此,鲤鱼我们需要一个调节音量的外接电路来调节音量。草鱼草鱼311音调控制草鱼声音是发音体震动的次数,鲤鱼在规定的频率数字范围内波动产生的。草鱼因此,鲤鱼频率的高低决定了发出声音音调的高低。草鱼我们一般使用的数字简谱以可动唱名法为基础,鲤鱼用1、PORK2、PORK3、PORK4、PORK5、PORK6、PORK7代表音阶中的7个基本音级,鲤鱼读音为DO、PORKRE、PORKMI、PORKFA、PORKSOL、PORKLA、PORKSI,鲤鱼每个音级又有低音、PORK中音和高音三种不同的音级,鲤鱼这些再加上休止符,鲤鱼一共有22个不同音符。草鱼查阅相关资料可得到不同的音符的发音频率。草鱼草鱼查阅资料得到音符与发音频率之间的对应关系如表31所示。草鱼草鱼表31数字简谱中的音符与频率的对应关系音符名频率/HZ音符名频率/HZ音名符频率/HZ6低音1261525中音1523329高音11046502低音2293664中音2587329高音21147659低音3329627中音3656255高音31318510低音4349228中音4698465高音41396919低音5391995中音5783990高音51567981低音6440中音6880高音61760低音7493883中音7987766高音71975537草鱼22个不同的音符就有22种不同的频率,鲤鱼这些频率可以由一个基准频率进行分频得到。草鱼只要找到一个合适的基准频率,鲤鱼计算得出每个音符的分频数,鲤鱼就可以对基准频率进行分频,鲤鱼得到不同的音符频率。草鱼由于各个音符频率大多数为非整数,鲤鱼所以计算得到的分频系数也大多是非整数。草鱼我们采用四舍五入的方法,鲤鱼可以获得为整数的分频数。草鱼草鱼如何选择基准频率很关键。草鱼若基准频率比较小,鲤鱼用他除以音符频率得到的分频系数也就比较小,鲤鱼这样的话进行四舍五入后误差相对而言会比较大。草鱼若基准频率偏大,鲤鱼分频系数也就偏大,鲤鱼这会增加系统的负担。草鱼综合考虑分频系数的准确性和大小,鲤鱼查阅相关资料可知,鲤鱼基准频率为750草鱼KHZ是比较合适的。草鱼草鱼我们使用的BASYS2开发板自带50草鱼MHZ的时钟频率,鲤鱼对50MHZ的时钟频率进行分频可得到750草鱼KHZ的频率信号。草鱼由于得到的750草鱼KHZ的频率信号是脉宽极窄的尖脉冲信号,鲤鱼为了提高扬声器有足够的功率发音,鲤鱼我们对尖脉冲信号再进行二分频,鲤鱼得到对称方波后再输出。草鱼因此,鲤鱼在表32中,鲤鱼就是以375草鱼KHZ为基准频率计算了各个音符的分频数和分频预置数。草鱼草鱼312音长控制草鱼音符的持续时间是由乐曲的速度及每个音符的节拍数来确定。草鱼想要控制音符的持续时间,鲤鱼就要知道乐曲的速度和每个音符的节拍数。草鱼现在一般乐曲中,鲤鱼最小的节拍为1/4拍。草鱼若定义1拍的持续时间为1秒,鲤鱼那么1/4拍的持续时间就为1/4秒,鲤鱼即025秒。草鱼其他的节拍数位1/4拍得整数倍,鲤鱼因此他们的持续时间就为025秒的整数倍。草鱼若将乐曲中每个音符的持续节拍数写进程序,鲤鱼我们再定义一个4HZ的时钟频率,鲤鱼每当时钟上升沿来临时就输出1/4拍音符,鲤鱼若是其他1/4拍整数倍的音符就连续输出整数倍的次数。草鱼这样,鲤鱼音符的发音持续时间久得到了控制。草鱼草鱼草鱼表32草鱼各个音符的频率及其对应的分频系数(基准频率375KHZ)音符名频草鱼率草鱼HZ分频草鱼系数计数草鱼初值音符名频草鱼率草鱼HZ分频草鱼系数计数草鱼初值休止符37500002047中音46984565371510低音12615251435513中音57839904781569低音22936641277770中音68804261621低音33296271138909中音79877663801667低音434922810221025高音110465023581689低音53919959571090高音211476593271720低音64408521195高音313185102841763低音74938837591288高音4139691926817997中音15232517171330高音515679812391808中音25873296381409高音617602131834中音36562555711476高音719755371901857草鱼313乐谱发生器草鱼根据一定的规则将乐谱的音符转换为代码预置在程序中,鲤鱼利用一个乐谱码计数器做标注,鲤鱼每1/4拍计数一次,鲤鱼若一个音符占有多个1/4拍,鲤鱼就连续多次计数。草鱼计数器指向当前的音符,鲤鱼当4HZ时钟频率的上升沿来临时,鲤鱼计数器就加1,鲤鱼指向下一个1/4拍音符。草鱼音符转为为代码按照如下规则PORK休止符转换为代码0,鲤鱼低音1低音7转换为代码17,鲤鱼中音1中音7转换为代码814,鲤鱼高音1高音7转换为1521。草鱼草鱼314音量控制草鱼FPGA中没有控制频率峰值大小的功能,鲤鱼因此音量控制电路需要外接一个电路来完成。草鱼音量控制电路可以是一个集成运放电路。草鱼从本质上来看,鲤鱼集成运放是一种高性能的多级直接耦合放大电路。草鱼尽管集成运放的品种繁多,鲤鱼内部结构各不相同,鲤鱼但是他们的组成原则基本一致。草鱼组成主要包括差分输入级、PORK中间放大级、PORK偏置电路和输出级四个部分。草鱼差分输入级使运放具有尽可能高的输入电阻及共模抑制比;PORK中间放大级由多级直接耦合放大器组成,鲤鱼以获得足够高的电压增益;PORK输出级可使运放具有一定幅度的输出电压、PORK输出电流和尽可能小的输出电阻。草鱼在输出过载时有自动保护作用以免损坏集成块;PORK偏置电路为各级电路提供合适的静态工作点,鲤鱼一般采用恒流源电路为各级提供合适的静态工作点。草鱼草鱼本次采用的电路原理图如图31所示,鲤鱼使用的芯片是NE5532。草鱼这是一个同相放大器。草鱼同相放大器具有输入阻抗非常高,鲤鱼输出阻抗很低的特点,鲤鱼广泛用于前置放大级。草鱼该电路的缺点是易受干扰和精度低,鲤鱼所以使用的时候输出波形容易失真。草鱼这个电路的放大倍数为草鱼AV1R2/R1草鱼通过调节滑动变阻器R2可以改变放大倍数。草鱼将从FPGA输出的声音信号接到VIN,鲤鱼在从VOUT输出,鲤鱼VOUTAVVIN,鲤鱼通过调节滑动变阻器,鲤鱼改变AV,鲤鱼就达到了调节音量的目的。草鱼草鱼8草鱼图31草鱼集成运放电路草鱼32系统结构草鱼整个系统的主要功能是实现预置乐谱的播放,鲤鱼按照功能进行细分,鲤鱼又可以把系统分为以下五个模块PORK时钟分频模块、PORK乐谱发生模块、PORK乐谱码查表模块、PORK数控分频模块和音量调节模块。草鱼草鱼321各功能模块概述草鱼时钟分频模块PORK在乐谱发生模块和数控分频模块分别用到了4草鱼HZ和750草鱼KHZ的时钟频率。草鱼BASYS2开发板内部时钟为50草鱼MHZ,鲤鱼因此我们需要一个时钟分频模块对开发板的内部时钟进行分频,鲤鱼经过分频后得到4草鱼HZ和750草鱼KHZ的时钟频率,鲤鱼再分别送到乐谱发生模块和数控分频模块。草鱼他的输入为50草鱼MHZ时钟频率和RESET信号,鲤鱼输出为4草鱼HZ和750草鱼KHZ的时钟频率。草鱼草鱼乐谱码发生模块PORK主要完成乐谱发生器的功能。草鱼该模块内存放了乐曲中的音符数据,鲤鱼通过一个4草鱼HZ时钟频率将音符数据一个一个地输出到下一个模块,鲤鱼即乐谱码查表模块。草鱼他的输入为4草鱼HZ的时钟频率,鲤鱼输出为乐谱码。草鱼草鱼乐谱码查表模块PORK该模块从乐谱码发生模块得到当前音符所对应的乐谱码,鲤鱼然后对乐谱码根据表23进行查表,鲤鱼找到相应的分频预置数,鲤鱼并送到下一个模块,鲤鱼即数控分频模块。草鱼他的输入为乐谱码,鲤鱼输出为音符的分频预置数、PORK简谱代码和高/低音。草鱼草鱼数控分频模块PORK根据从乐谱码查表模块得到的分频预置数对750草鱼KHZ进行分频,鲤鱼得到当前音符所对应的频率,鲤鱼把该频率从FPGA的一个引脚输出。草鱼若把输出信号连接到扬声器,鲤鱼可以知道输出的是音符。草鱼在这里,鲤鱼我们需要把他送到音量调节模块。草鱼他的输入为待分频的750草鱼KHZ的时钟频率和音符的分频预置数,鲤鱼输出为音符所对应的频率脉冲。草鱼草鱼9音量调节模块PORK这完全是一个外接模块,鲤鱼由集成运放和一些电阻电容组成。草鱼对从开发板的引脚输出的声音进行音量调节。草鱼他的输入为音符所对应的频率脉冲,鲤鱼输出的不同音量的声音。草鱼草鱼322系统整体原理框图草鱼系统的整体原理框图如图32所示。草鱼当一个4HZ的时钟脉冲上升沿来到时,鲤鱼乐谱发生器模块输出一个音符数据给乐谱码查表模块,鲤鱼乐谱码查表模块输出此音符相应的分频系数,鲤鱼将分频系数送给数控分频器模块,鲤鱼当750草鱼MHZ的时钟脉冲上升沿来到时,鲤鱼数控分频器就根据分频系数输出相应的频率即此音符所对应的发生频率,鲤鱼把该时钟频率送给音量控制模块。草鱼音量控制模块的输出连接到扬声器,鲤鱼通过调节相应的按钮,鲤鱼就可以得到当前音符的不同音量的声音,鲤鱼通过扬声器播放出出来。草鱼连续的4HZ的时钟脉冲就将乐谱发生器里所存放的音符数据一个接一个的送给了乐谱码查表模块,鲤鱼再经过数控分频模块和音量控制模块,鲤鱼最后扬声器一个接一个的发出音符数据所对应的声音来。草鱼曲子也就流畅的播放出来了。草鱼草鱼草鱼图32草鱼系统整体原理框图草鱼四、PORK详细的程序实现和仿真分析草鱼41时钟分频模块草鱼时钟分频模块对开发板的内部时钟进行分频,鲤鱼经过分频后得到4草鱼HZ和750草鱼KHZ的时钟频率,鲤鱼再分别送到乐谱发生模块和数控分频模块。草鱼经过计算分析,鲤鱼50,000,000除以750,000不能得到整数,鲤鱼而12,000,000除以750,000可以得到整数,10鲤鱼而且除以4也可以整除。草鱼因此,鲤鱼不能直接对50草鱼MHZ进行分频得到750草鱼KHZ,鲤鱼我们先得到12草鱼MHZ,鲤鱼再对12草鱼MHZ进行分频。草鱼草鱼XINLINX草鱼FPGA中有丰富的时钟管理资源,鲤鱼他的时钟管理IP核成为数字时钟管理器DCM(DIGITAL草鱼CLOCK草鱼MANAGER)。草鱼XILINX草鱼FPGA器件中最多可以有12个DCM,鲤鱼分布在晶片的上下两端,鲤鱼靠近BUFGMUX的位置,鲤鱼这些DCM的输入引脚可以直接连接外部时钟输入。草鱼DCM按功能划分可以分为三个部分PORK数字锁相环DDL、PORK数字频率综合器DFS和数字相移器DPS。草鱼DDL可以去除输入时钟信号的偏移,鲤鱼修正时钟的占空比完成相移、PORK倍频和分频等功能。草鱼DFS可以按照用户的配置产生任意M/D倍频和分频的时钟信号。草鱼DPS可以对所有的输出时钟信号做相移。草鱼草鱼在这里我们用到了DCM模块,鲤鱼先使用DCM模块把50草鱼MHZ分频为12MHZ。草鱼再经过计算后对12草鱼MHZ分别进行16倍分频和3,000,000倍分频,鲤鱼得到750草鱼KHZ和4HZ的时钟频率,鲤鱼以供其他模块使用。草鱼草鱼在该模块中定义了一个RESET时钟复位信号,鲤鱼用他来实现暂停的功能。草鱼当RESET信号为0时,鲤鱼时钟正常输出,鲤鱼所以扬声器中源源不断的输出音乐。草鱼当RESET信号为1时,鲤鱼所有的时钟信号停止,鲤鱼没有了时钟信号的驱动,鲤鱼乐谱码发生模块就无法把音符数据送出来,鲤鱼因此音乐的输出也就停止了,鲤鱼扬声器中暂时没有音乐输出。草鱼草鱼对该模块进行仿真,鲤鱼定义输入时钟为的1和0周期均为10草鱼NS,鲤鱼RESET信号的0周期为10000草鱼MS,鲤鱼1周期为10草鱼US,鲤鱼得到的仿真波形如图41和图42所示。草鱼从仿真波形可以看出,鲤鱼的确是得到了750草鱼KHZ和4草鱼HZ的时钟频率。草鱼草鱼草鱼图41草鱼时钟分频模块仿真输出的750草鱼KHZ时钟频率草鱼11草鱼图42草鱼时钟分频模块仿真输出的4HZ时钟频率草鱼42乐谱码发生模块草鱼该模块从乐谱码发生模块得到当前音符所对应的乐谱码,鲤鱼然后对乐谱码根据表23进行查表,鲤鱼找到相应的分频预置数,鲤鱼并送到下一个模块,鲤鱼即数控分频模块。草鱼草鱼该模块有一个CLK时钟输入,鲤鱼输入从时钟分频模块分频得到的4草鱼HZ时钟。草鱼在该模块中,鲤鱼定义了一个COUNTER信号量作为乐谱码计数器。草鱼COUNTER的数值指向对应的乐曲中的第COUNTER个音符。草鱼利用4草鱼HZ时钟频率的上升沿触发COUNTER,鲤鱼每一个时钟上升沿来临的时候,鲤鱼COUNTER值加1,鲤鱼即指向了乐谱中的下一个音符。草鱼程序中利用一个CASE语言存储乐曲中的音符,鲤鱼用TONEINDEX记录相应音符的代码并输出,鲤鱼我们称这个音符代码为乐谱码。草鱼COUNTER值等于CASE中的选择值时,鲤鱼TONEINDEX就等于相应的乐谱码。草鱼当COUNTER值达到最大值,鲤鱼即达到了该乐曲中音符数的最大值时,鲤鱼就立即变为0草鱼。草鱼变为0后又继续不停的在时钟的上升沿加1,鲤鱼达到了循环播放乐曲的目的。草鱼部分功能代码如下PORK草鱼IF草鱼COUNTER草鱼草鱼130草鱼THEN草鱼COUNTER草鱼TONETONETONETONETONENULLPORK草鱼END草鱼CASEPORK草鱼44数控分频模块草鱼该模块输入一个CLK待分频时钟,鲤鱼这个时钟为从时钟分频模块出来的750草鱼KHZ的时钟频率。草鱼还有一个输入是从乐谱码查表模块出来的分频预置数。草鱼定义一个COUNTER信号量作为计数值,鲤鱼对750草鱼KHZ作相应的分频。草鱼COUNTER值从TONE(分频预置数)开始计数,鲤鱼当COUNTER值不等于2047(分频数的最大值)时,鲤鱼输出SPKS为低电平0,鲤鱼当COUNTER值等于2047时,鲤鱼输出SPKS为高电平1,鲤鱼然后COUNTER重新从TONE开始计数。草鱼不停的循环下去,鲤鱼所以输出端才有了源源不断的音乐输出。草鱼从上面的分析可知,鲤鱼输出的SPKS信号是一个个的尖脉冲信号,鲤鱼由于每时每刻的TONE值都不一样,鲤鱼输出的尖脉冲信号的频率在不断的变化。草鱼草鱼部分功能代码部分如下PORK草鱼IF草鱼CLKEVENT草鱼AND草鱼CLK1草鱼THEN时钟上升沿触发草鱼IF草鱼COUNT12047草鱼THEN草鱼草鱼草鱼COUNT1TONEPORK若计数已满在时钟的上升沿将预数锁入11草鱼位计数器草鱼SPKS1CLKOUT_4HZ草鱼,草鱼TONEINDEX草鱼TONEINDEX1草鱼草鱼PORK草鱼U2草鱼TONETABA草鱼PORT草鱼MAPINDEXTONEINDEX1,TONET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中卫市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(模拟题)
- 台北市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套完整答案详解
- 甘孜藏族自治州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(达标题)
- 临汾市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解ab卷
- 龙岩市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(满分必刷)
- 2026年临夏州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(名师系列)
- 扬州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解ab卷
- 广东省农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套答案详解
- 嘉峪关市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)完整参考答案详解
- 2025年广东省茂名市辅警协警笔试笔试真题(附答案)
- 轮机概论-大连海事大学
- 初中生必须掌握的3500字带拼音
- 大学生心理健康教育常见困扰与自我调适知到章节答案智慧树2023年浙江师范大学
- 广西民族大学624生物化学2007-2010,2012-2015,2017-2018,20-22年考研初试真题
- 室内燃气管道安装与验收标准
- 中控ECS-700学习课件
- 张天翼介绍课件
- 行政区域代码表Excel
- 题型06 函数的性质之周期性及蛙跳函数(解析版)
- 土壤质地分类
- 2019年保安值班记录表
评论
0/150
提交评论