欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于CPLD的MIDI音乐播放器设计毕业设计论文(32页).doc

    • 资源ID:37154596       资源大小:220.50KB        全文页数:32页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于CPLD的MIDI音乐播放器设计毕业设计论文(32页).doc

    -基于CPLD的MIDI音乐播放器设计毕业设计论文-第 26 页宜宾职业技术学院 毕业设计基于CPLD的MIDI音乐播放器设计系 部 电子信息与控制工程系 专 业 名 称 电子信息工程技术 班 级 电子11101班 姓 名 万 芬 学 号 201115724 指 导 教 师 唐 军、张 艳 2012 年 09 月 20 日基于CPLD的MIDI音乐播放器设计摘 要本文设计一个具有播放音乐、显示时间及彩灯闪烁功能的MIDI音乐播放器。根据音乐播放器的基本原理,以Verilog HDL作为编程语言,选用Altera公司MAX II系列可编程逻辑器件 (CPLD)EPM570T144C5作为控制核心,实现音乐播放器的功能。此外电路还设计了光控功能,彩灯选用LED发光二极管,时间显示采用数码管。产品制作完成后,经过测试,实现了所有功能,具有电路简单、工作稳定、耗电小的优点,可适用于生活中。关键词:CPLD;Verilog HDL;蜂鸣器;光控Design of MIDI Music Player Based on CPLDAbstractA music player, time display and flashing lights and function of the MIDI music player is designed in this paper. According to the basic principle of the music player, with Verilog HDL as the programming language, the Altera MAX II series programmable logic device (CPLD) EPM570T144C5 as control core, realize the function of music player. In addition circuit also designed the control function, lights use LED light-emitting diode, digital tube display the time. Product production is completed, after testing, realize all the functions, has the advantages of simple circuit, stable operation, small power consumption, suitable for life.Keywords: CPLD; Verilog HDL; Buzzer; Light目 录1 引 言12 方案论证与选择22.1 主控模块的论证与选择22.2 显示模块的论证与选择22.3总体系统方案23硬件设计43.1 MAX II系列CPLD43.2 EPM570T144C5芯片53.3 蜂鸣器电路63.4 光电传感器电路73.5 数码管显示及彩灯闪烁电路74 软件设计84.1 工作原理及设计思路84.2 有限状态机94.3 中央处理器设计104.4 音调发生器设计104.5 光电传感器设计114.6 彩灯闪烁设计124.7 数码管显示设计125 产品制作135.1 PCB制作135.2 元器件装配135.2.1元器件检测135.2.2元器件安装135.2.3 元器件焊接146 系统调试156.1 CPLD程序编译156.2 CPLD引脚配置156.3 CPLD程序下载166.4 系统联调186.4.1 蜂鸣器的调试186.4.2 光电传感器的调试186.4.3 数码管的调试186.4.4 彩灯的调试186.4.5 分频的调试18结束语20致 谢21参考文献22附 录附录1 电路原理图附录2 系统板PCB图附录3 部分RTL电路图附录4 产品实物图附录5 曲谱附录6 程序源代码基于CPLD的MIDI音乐播放器设计1 引 言随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域的电子系统设计工作中,EDA技术的市场正以惊人的速度上升,它已成为当今电子技术发展的前沿之一。EDA(Electronics Design Automation)即电子设计自动化技术,是指以计算机为基本工作平台,融合应用电子技术、计算机技术、智能化技术的最新成果而研制成的一整套软件工具,主要能辅助进行三方面的设计工作:IC设计,电子电路设计,PCB设计。没有EDA技术的支持,想要完成一些超大规模集成电路的设计制造是不可想象的。大规模可编程逻辑器件CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)和FPGA(Field Programmable Gates Array,现场可编辑门阵列)是当今应用最广泛的两类可编程逻辑器件,电子设计工程师利用它可以在办公室或实验室设计出所自己所需要的专用芯片和专用产品,从而大大缩短了产品上市时间,降低了开发成本。此外,可编程逻辑器件还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性。选择做音乐播放器的意义:因上学期开设了HDL程序设计和FPGA系统设计两门课程,通过这两门课程,系统掌握了Verilg HDL,并且利用了HDL做一些设计。音乐播放器是常用的电子产品,为了更好的掌握FPGA/CPLD器件使用,加深对HDL的深层次运用。因本次毕业设计能够更加的体现所学专业的知识,故选定该题目。2 方案论证与选择2.1 主控模块的论证与选择方案一:采用MCU设计做核心的控制,MCU的频率较低(以AT89S52为例,它只有20MHz),其缺点是功耗太大,并且是复杂指令集,用的麻烦,运行速度低,因此本设计中不采用。方案二:采用FPGA设计做核心的控制,其典型工作频率为50MHz,其缺点是编程数据信息在系统断电时丢失,每次上电时,需从器件的外部存储器或计算机中将编程数据写入SRAM中。其优点是可进行任意次数的编程,并可在工作中快速编程,实现板级和系统级的动态配置,因此可称为在线重配置的PLD或可重配置硬件,但FPGA的价格较高,不适宜本设计。方案三:采用CPLD设计做核心的控制,其典型工作频率为50MHz,规模小,使用简单,保密性好,集成度高,其优点是在系统断电后,编程信息不丢失,时序延时是均匀的和可预测的,改变引脚输出很灵活,I/O数目多。适合于触发器有限而积项丰富的结构,不需设计人员了解很深的IC知识,而且CPLD的价格合理。综上所述,采用方案三的CPLD作为主控模块。2.2 显示模块的论证与选择 方案一:采用数码管显示,数码管不仅价格便宜、数据稳定、无闪烁、占用CPU时间少,外围电路较为简单,而且编写程序也很简单。方案二:采用LCD1602液晶显示,虽然显示效果好,其外围电路也很简单,但是价格较高,对于本设计不需显示过多的东西来说,过于浪费。综上所述,采用方案一的数码管作为显示模块。2.3总体系统方案 通过方案论证与比较,以CPLD作为主控芯片,采用数码管作为显示器件,CPLD负责接收光电传感器的检测结果,根据检测结果确定蜂鸣器鸣叫、数码管显示以及彩灯闪烁,系统框图如图2.1所示。图2.1 系统框图3硬件设计本设计的主控芯片选用CPLD,硬件电路由光电传感器、蜂鸣器、数码管显示、彩灯闪烁及串口电路,由于串口电路选用CPLD的专用下载器(USB -Blaster),所以在此不多做介绍。3.1 MAX II系列CPLDMAX II器件系列是一种非易失性、即用性可编程逻辑系列,它采用了一种突破性的新型CPLD架构。这种新型架构的成本是原先MAX器件的一半,功耗是其十分之一,密度是其四倍,性能却是其两倍。这些超级性能是在提供了所有MAX系列CPLD先进特性的架构的基础上,根据Altera专家们的意见而重新采用基于查找表的架构而得到的。这种基于查找表的架构在最小的I/O焊盘约束的空间内提供了最多的逻辑容量。因此,MAX II CPLD是所有CPLD系列产品中成本最低、功耗最小和密度最高的器件。基于成本优化的0.18微米6层金属Flash工艺,MAX II器件系列具有CPLD所有的优点,例如非易失性、即用性、易用性和快速传输延时性。以满足通用性,低密度逻辑应用为目标,MAX II器件成为接口桥接、I/O扩展、器件配置和上电顺序等应用最理想的解决方案。除这些典型的CPLD应用之外,MAX II器件还能满足大量从前在FPGA、ASSP和标准逻辑器件中实现的低密度可编程逻辑需求。MAX II器件提供的密度范围从240到2210个逻辑单元(LE),最多达272个用户I/O管脚如下表3.1所示。表3.1 EPM系列参数 特性EPM240EPM570EPM1270EPM2210LE24057012702210典型的等效宏单元数1924409801700最大用户I/O80160212272用户可用Flash比特数8192819281928192速度等级3,4,53,4,53,4,53,4,5封装100-pinTQFP144-pinTQFP144-pinTQFP256-pinFBGA由Quartus II综合出来的电路信号可知,本设计占用512个逻辑单元,其硬件EPM240T100C5不符合设计的需求,仿真结果如下图3.1,故选用容量为570个逻辑单元的器件EPM570T144C5来实现,仿真结果如下图3.2。图3.1 EPM240T100C5综合报告图3.2 EPM570T144C5综合报告 3.2 EPM570T144C5芯片 采用Altera公司生产的EPM570T144C5芯片,该芯片有570个逻辑单元,资源比较丰富,内有8Kbit Flash的存储空间。该芯片采用TQFP封装,共144只管脚,可用I/O是116个,如表3.1所示。所有的VCCINT管脚必需接3.3V或2.5V的电压,VCCIO管脚可以接入四种不同的电压,分别为3.3V、2.5V、1.8V和1.5V。该芯片有四个全局时钟,它们具有兼用功能,可以用做普通的I/O口,DEV_CLRn用于信号的复位,故选定该芯片,如图3.3引脚说明图。 图3.3 引脚说明图3.3 蜂鸣器电路蜂鸣器采用杜邦线接在CPLD上,一端接IO29脚,另一端接地,达到播放音乐的功能,如图3.4所示。图3.4 蜂鸣器连接电路3.4 光电传感器电路光电传感器电路(如图3.5所示)对环境光线较敏感,一般用来检测周围环境的光线的亮度,触发控制器或继电器模块等,模块在环境光线亮度达不到设定阀值时,D0端输出高电平,当外界环境光线亮度超过设定阀值时,D0端输出低电平,DO输出端可以与控制器的I/O口直接相连,通过控制器来检测高低电平,由此来检测环境的光线亮度改变。电源极性不能接反,否则有可能将芯片烧坏,开关信号指示灯亮时输出低电平,不亮输出高电平,输出的电平接近于电源电压。图3.5 光电传感器电路3.5 数码管显示及彩灯闪烁电路数码管显示电路由3个共阳数码管显示,彩灯闪烁电路由6个发光二极管构成,高低电平控制着6个发光二极管的亮灭。当光电传感器检测到有光时,音乐会暂停,数码管显示的时间也会定格在暂停的瞬间,彩灯也会暂停,当光电传感器检测到无光时,音乐会继续,数码管显示的时间也会依次加一,彩灯循环闪烁,如图3.6所示。图3.6 数码管显示及彩灯闪烁电路4 软件设计设计从成本考虑出发和功能实现等,采用Altera的Quartus II来软件来处理。选用Verilog HDL来编写程序,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而选择Verilog HDL作为编程语言。4.1 工作过程及设计思路(1)工作过程:MIDI音乐是Windows下的一种合成音乐,由于它通过记谱的方式来记录一段音乐,因此与wave音乐相比,它可以极大地减少存储容量。MIDI音乐的工作过程为:组成乐曲的每一个音符的频率值及其持续的时间是乐曲能连续演奏的两个基本数据,因此只要控制输出到扬声器的激励信号频率的高低和每一个频率信号的持续时间,就可以使蜂鸣器发生连续的乐曲,如图4.1所示。(2)设计思路:本设计将歌曲设计成一个状态机,每个音节做成一个状态机的状态,音节持续的时间由计数器变量TIME控制。频率的高低决定了音调的高低,而乐曲的简谱与各音名的频率对应关系在后面将给出。所有不同频率的信号都是从基准频率分频而得来的,由于音阶频率多为非整数,而分频系数有不能为小数,故必须将计算得到的分频数进行四舍五入取整,基准频率和分频系数应综合考虑加以选择,从而保证音乐不会走调。如在48MHz时钟下,中音1(对应的频率值是523.25Hz)的分频系数应该为:48000000/(2*523.25)=45867,这样只需对系统时钟进行45867次分频即可得到所要的中音M1(分频系数计算公式为,由于之后,会使分频系数D变小,所以功能模块中语句:beep_r<=!beep_r,使得输出取反,消除了前面除以2K的影响)。至于其他音符,可以同样求出对应的分频系数。在程序中设置一个状态机,每250ms改变一个状态(即一个节拍),组成乐曲的每个音符的频率值(音调)相对应于状态机的每一个状态。只要让状态机的状态按顺序转换,就可以自动演奏播放音乐了。友谊地久天长乐曲的简谱见附录5所示,(注: N一拍;N两拍;N·四拍;N·八拍;N为音谱)。图4.1 CPLD内部芯片设计原理4.2 有限状态机有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软件上称为FMM-有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。同时,因为有限状态机具有有限个状态,所以可以在实际的工程上实现。但这并不意味着其只能进行有限次的处理,相反,有限状态机是闭环系统,有限无穷,可以用有限的状态,处理无穷的事务。有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,它们常被称为状态寄存器。在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合逻辑又可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻辑的功能是确定有限状态机的输出。有限状态机的工作原理如图4.2所示,发生事件(event)后,根据当前状态(cur_state),决定执行的动作(action),并设置下一个状态(nxt_state)。图4.2 有限状态机工作原理状态机的现态(当前状态)和次态(下一状态),分别表示现在演奏的音调和将要演奏的音调,而每个音调持续的时间都是TIME变量的整数倍。在程序中,TIME的值在时钟50MHz频率下,设定为250ms。4.3 中央控制器设计中央控制器包括节拍控制电路和音符产生电路。节拍控制电路以乐曲中最短音符的节拍为基准,产生乐曲所需要的全部节拍。在大部分音乐中,多以1/4为一拍,一拍则为一秒,同时在乐谱中,一般最短的音符多为1/16音符,因此为了达到四首歌曲的统一,我们将1/16音符设置为计数器的一个计数,对应的1/4音符则是四个计数。为了节省内部资源,我们只演奏一首歌曲。另外,在设计中为了让歌曲循环播放,计数器设定计满自动清零计数的功能,这样,只要不断电,不关开关,歌曲就可以自动循环播放了。4.4 音调发生器设计控制好每一个音符的频率和维持的频率时间,就可以组成两个连续的音符,从而发出连续的乐曲,如表4.1音符与频率对照表所示。表4.1 音符与频率对照表音名频率/Hz分频系数低音5391.9961225低音644054545中音1523.2545867中音2587.3340863中音3659.336402中音5783.9930612中音688027273高音11045.522956休止符081910由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频数四舍五入取整。根据系统最大的分频系数为61225,故采用16位二进制计数器已能满足分频要求。在表3.1中,可以看到不同音阶对应的不同初始值。对于不同的分频系数,只要加载不同的初始值即可。采用加载初始值而不将分频输出译码反馈,可以有效地减少设计占用可编程逻辑器件的资源。“0”表示休止符,在很多音乐中,休止符也是一个重要的音符。对于休止符,只要将分频系数设为0,蜂鸣器就不会发声了,程序代码如下所示。parameter L_5 = 16'd61224, /低音5 L_6 = 16'd54545, /低音6 M_1 = 16'd45863, /中音1 M_2 = 16'd40865, /中音2 M_3 = 16'd36402, /中音3 M_5 = 16'd30612, /中音5 M_6 = 16'd27273, /中音6 H_1 = 16'd22956; /高音1 parameter TIME=12000000; /控制音的长短(250ms) assign beep=beep_r; /输出音乐4.5 光电传感器设计光电传感器根据电路设计,当它检测到有光时,它内部为低电平,蜂鸣器不会叫,没有检测到光时,它内部为高电平,蜂鸣器会叫,程序代码如下所示。always(posedge sys_clk)begincount<=count + 1'b1; /计数器加1if(count=count_end)begincount<=16'h0; /计数器清零if(ke=1'b0) /如果有光beep_r<=0; /蜂鸣器不叫elsebeep_r<=!beep_r; /输出取反(蜂鸣器叫)endend4.6 彩灯闪烁设计彩灯闪烁主要是控制灯的亮和灭,输出高低电平信号,就可以直接驱动发光二极管。在彩灯闪烁程序中,如果设计为不同音名,对应不同的亮灭,那么,闪烁出来的效果很单调,因此,设计为每次音符一变对应的闪烁也就改变,这样闪烁出来的效果也有很多种。当音乐演奏时,随着歌曲的变化,彩灯也因为不同的音符闪动起来,本次程序设计中共设计了6个发光二极管,彩灯逻辑电路如图4.3所示。图4.3 彩灯闪烁逻辑图4.7 数码管显示设计数码管显示采用case语句,芯片内部处理好程序后,送给数码管显示电路模块。当音乐演奏时,随着乐曲声起,数码管也会开始显示时间,本次程序设计中设计了3个八段共阳数码管的代码,数码管部分逻辑电路如图4.4所示。图4.4 数码管部分逻辑图所有程序代码见附录6,综合出的部分RTL电路图见附录3。5 产品制作5.1 PCB设计使用Protel 99 SE软件进行PCB设计,绘制原理图的过程为图纸设置、添加元件库、放置元件、元件布局、开始连线、布线调整、电气规则检查,检查无误后就可以保存并打印。绘制PCB图的过程为更新PCB、规划印制电路板的大小、元件布局、设置布线规则、开始布线、检查布线,检查无误后就可以保存并打印。采用万用板制作电路板,为了焊接美观选用材质好点的万用板,按照原理图装配元器件,电路原理图见附录1,系统板PCB图见附录2。5.2 元器件装配5.2.1元器件检测主要元器件的检测如下:数码管:用万用表检测数码管,先判定数码管DS1是共阴还是共阳,用万用表的正极接数码管10脚(即数码管中间的引脚),负极接剩下的引脚,如果亮了则是共阳数码管,没亮则把表笔对调,亮了则是共阴,没亮就有可能数码管已坏,判断出共阴和共阳后就检测每段的亮度是否正常,其余数码管测试方法一样。发光二极管:用万用表检测LED发光二极管D1(大头为正,小头为负),万用表的正极接D1的正极,负极接D1的负极,看D1是否发光,发光就正常,没发光就说明D1已损坏。 电阻:用万用表检测电阻的阻值看是不是所需的470,也可以通过读取色环来判断电阻的大小,虽然一般电阻都无损坏,但是安全起见还是全部检测。CPLD:先看CPLD的引脚是否有损坏,在通过写入相应程序看能不能实现功能,依此来判断CPLD的好坏。光电传感器:用万用表正极接VCC,负极接光电传感器D0端,这时开关那颗发光二极管发光证明此时为低电平(有光),反之则为高电平(无光)。5.2.2元器件安装先安装数码管,要注意数码管的高度,接着安装电阻,注意引脚要直,安装位置可参照电路原理图,最后安装发光二极管。同时元器件安装时应按照以下原则:(1)安装的顺序 :先低后高,先小后大,先轻后重。(2)元器件的标识 :电子元器件的标记和色码部位应朝上,以便于辩认;横向插件的数值读法应从左至右,而竖向插件的数值读法则应从下至上。(3)元器件的间距:在印制板上的元器件之间的距离不能小于1mm;引线间距要大于2mm(必要时,引线要套上绝缘套管)。一般元器件应紧密安装,使元器件贴在印制板上,紧贴的容限在0.5mm左右。安装时要注意元件的位置及走线,防止出现跳线。5.2.3 元器件焊接在焊接时,先把数码管的一端固定在万用板上,再把电阻的两端固定在板子上,发光二极管焊接时要再次确认极性,当极性确认无误后就可以固定在板子上,元器件固定好后要仔细检查元器件位置有没有固定错,没有就可以根据原理图连接各个器件之间的印制线,为了保证元器件的好坏焊接时间不能过长。焊接完成后,需要仔细的检查电路,看看是否有漏焊、虚焊、短路等现象。同时焊接时应按以下步骤:(1)准备工作。首先把被焊件、锡丝和烙铁准备好,处于随时可焊的状态。(2)加热被焊件。把烙铁头放在焊盘和元器件引脚处进行加热。(3)放上焊锡丝。被焊件进加热达到一定温度后,立即将手中的锡丝触到被焊件上使之融化。(4)移开焊锡丝。当锡丝融化一定量后(焊料不能太多),迅速移开锡丝。(5)移开电烙铁。当焊料的扩散范围到达要求后移开电烙铁。当硬件电路焊接完成后,就可以把硬件电路跟CPLD相连,在连接数码管电路时,因为用的是共阳数码管,所以需要准确的判断出数码管的每段,在连接其它电路时注意不要把电源与地接反即可。6 系统调试本次设计采用的是Aletra公司的MAX II系列,因此,必须用Quartus II软件系列才能对该芯片进行编译、仿真、下载等功能。下载模式我们进行USB -Blaster线的下载方式。6.1 CPLD程序编译当程序编写完成后即可进行编译,警告不影响结果,程序编译结果如图6.1所示。图6.1 程序编译结果6.2 CPLD引脚配置选择PIN_20为系统时钟(sys_clk)引脚,选择PIN_1为蜂鸣器输出引脚,选择PIN_29为光敏电阻传感器输入引脚,选择PIN_37至PIN_42为发光二极管输出引脚,选择PIN_101至PIN_108、PIN_118至PIN_125、PIN_137至PIN_144为三个数码管输出引脚,引脚配置如图6.2所示。图6.2 引脚配置6.3 CPLD程序下载在Quartus II中添加USB-Blaster下载串口:(1)打开Quartus II编程软件在菜单栏中,点击Tools,执行Programmer命令。(2)单击Hardware Setup,单击Currently select hardware,选择USB-BlasterUSB-0,如图6.3所示。图6.3下载串口设置图(3) 打开programmer界面,单击Start开始下载,进度条会从零开始,当到100%时,则表明程序下载成功,如图6.4、6.5、6.6所示。图6.4 程序下载界面图图6.5 程序下载进度图图6.6 程序下载完成图6.4 系统联调把程序下载到CPLD后,即可对各部分进行调试,调试过程如下。 6.4.1 蜂鸣器的调试通过将外围器件连接到CPLD运用程序,蜂鸣器发出声音,说明硬件蜂鸣器正常,但所发出声音不是该设定音乐,而是发出刺耳的声音,蜂鸣器调试过程如表6.1。表6.1 蜂鸣器调试记录器件现象CPLD(晶振50MHz)接上蜂鸣器发出刺耳的声音,硬件正常CPLD(晶振20MHz)接上蜂鸣器发出预先设定音乐,但声音有沙哑,频率不对,有偏差通过以上的调试得到结果,结合本音乐程序和硬件搭配,最终判别出问题出出在晶振频率上,本程序需要的频率为48MHz,硬件满足要求,但锁相环PLL所要的频率为整数,需将50MHz降为1MHz然后在倍频到48MHz,得到我们所需要的声音。6.4.2 光电传感器的调试将光电传感器与CPLD连接并运行程序,程序中写的是当光电传感器接收到光时,音乐暂停,没有接收到时则继续播放音乐。其次为了保证在白天也能播放,故把接收光的强度增大了,通过测试硬件满足要求。6.4.3 数码管的调试将数码管与CPLD连接并运行程序,数码管显示从0开始依次加1,说明硬件数码管正常,但所显示的数字有误,不是从0开始依次加1,而是显示的数字乱码,通过分析数码管各引脚再把各引脚重新连接,最终显示正常。6.4.4 彩灯的调试将彩灯与CPLD连接并运行程序,发光二极管循环闪烁,并且每颗发光二极管都能正常工作,通过测试证明硬件满足要求。6.4.5 分频的调试使用分频实现CPLD的调试,代码如下:module qw(clkin,clkout);input clkin;output clkout;reg 8:0num;reg clkout;always (posedge clkin)begin if(num=50) num=0; /只需要修改这里的num和下面的num就行了 else num=num+1; / 比如50M分1MHz,clkin=50M,/50000000/1000000=50,就把上面num改为50,下面num改为50/2=25. if(num>25) clkout=1; else clkout=0;endendmodule用分频得到仿真图如图6.7及图6.8所示。图6.7 仿真图1图6.8 仿真图2通过蜂鸣器、光电传感器、数码管、彩灯及分频的调试,产品能正常实现功能,产品实物图见附录4。结束语通过对整体的学习和编程设计,完成了音乐播放器的设计,音乐播放器的设计经过了整体分析、模块化分析、整体与模块的仿真分析这样三个步骤,硬件实现了循环演奏以及数码管显示时间等功能,描述了其工作原理、设计思路及实现方法,并在Quartus II上选用目标芯片仿真实现了音乐硬件演奏电路的功能。实践证明,采用CPLD设计实现音乐硬件演奏电路的可行性和可靠性,而且更改乐曲容易,可根据需要修改程序中的音符数据文件,从而使电路实现任一曲子的播放。在此次设计中,所有设计要求全部实现,然而在音乐的播放质量上仍有一些瑕疵,可能是由于蜂鸣器的质量问题或者芯片内部产生信号不稳定等关系,这都有待更多的时间对整个系统进行更多的测试,从而使播放出来的音乐更加悦耳。通过此次设计,对可编程逻辑器件CPLD/FPGA有了更深一步的了解,真正的达到了将课本中学习到的知识应用于实践,更深化了对这个领域的认知度。在设计的过程中,还掌握了许多有关电子领域必要软件的使用,对今后的工作都有一定得帮助。致 谢为期半年的准备,我的毕业论文终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。在此,我特别要感谢我的导师唐军老师和张艳老师。从论文的选题、文献的采集、框架的设计、结构的布局到最终的论文定稿,从内容到格式,从标题到标点,他们都费尽心血。没有老师们的辛勤栽培、孜孜教诲,就没有我论文的顺利完成。同时,感谢所有任课老师和所有同学在这三年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才!最后要感谢我的家人以及我的朋友们对我的理解、支持、鼓励和帮助,正是因为有了他们,我所做的一切才更有意义,也正是因为有了他们,我才有了追求进步的勇气和信心。时间的仓促及自身专业水平的不足,整篇论文肯定存在尚未发现的缺点和错误。恳请阅读此篇论文的老师、同学,多予指正,不胜感激!参考文献1 袁慧梅,宋宇.基于CPLD的MIDI音乐播放器的设计J.微计算机信息.2006.11.2 宋万杰,罗丰,吴顺君.CPLD技术及其应用M .西安:西安电子科技大学出版社,1999.3 朱正伟.EDA技术及应用M .北京:清华大学出版社,2005.4 吴继华,王诚,薛宁.Altera FPGA/CPLD设计M .北京:人民邮电出版社,2005.5 夏宇闻.Verilog数字系统设计教程M .北京:北京航空航天大学出版社,2003.6 樊昌信,曹丽娜等.通信原理M .北京:国防工业出版社,2007.7 蒋青,吕翊,李强.现代通信技术基础M .北京:高等教育出版社,2008.8 罗文超,徐钊,盛祥佐.一种基于DDS的QPSK调制器及其FPGA实现J .电视技术,2007.9 赖昭胜,管立新,曾祥华.QPSK高性能数字调制器的FPGA实现J .微计算机信息,2006.10 潘松,黄继业.EDA技术实用教程M .北京:科学出版社,2006.11 李红伟,袁世华.基于Quartus的FPGA/CPLD设计M .北京:电子工业出版社,2006.12 赵红梅, 王召东.可编程逻辑器件FPGA与CPLD的发展与应用一例J.平顶山工学院学报.2005.7.13 童世华,付蔚.谈ASIC、FPGA/CPLD 的区别与发展J.重庆职业技术学院学报.2007.11.14 赵鑫,蒋亮,齐兆群,李晓凯.VHDL与数字电路设计M. 北京:机械工业出版社,2005.4.15 王晓丽.可编程逻辑器件CPLD/FPGA的发展J. 科技信息.2007.28.16 杨宝强,何伟,赵东晔. CPLD仿真存在的问题及解决方法J. 2002.8.17 Altera公司. 华禹公司选用Altera零功耗CPLD服务2008夏季奥运会J.电子技术应用.2008.7.附 录附录1 电路原理图附录2 系统板PCB图附录3 部分RTL电路图附录4 产品实物图附录5 曲谱附录6 程序源代码module wf(sys_clk,beep,led,ke,fa);input sys_clk; /系统时钟48MHz input ke; /光电传感器 output beep; /蜂鸣器输出端 output23:0led; /数码管输出端 output 5:0fa; /彩灯输出端 regbeep_r; /寄存器 reg7:0 state; /乐谱状态机 reg15:0 count; reg15:0 count_end; reg23:0 count1; reg 31:0counter2;reg23:0led; /数码管reg 5:0fa_r; /彩灯reg clk_s;reg 11:0min; /乐谱参数:D=F/2K parameter L_5 = 16'd61224, /低音5 L_6 = 16'd54545, /低音6 M_1 = 16'd45863, /中音1 M_2 = 16'd40865, /中音2 M_3 = 16'd36402, /中音3 M_5 = 16'd30612, /中音5 M_6 = 16'd27273, /中音6 H_1 = 16'd22956; /高音1 parameter TIME=12000000; /控制音的长短(250ms) assign beep=beep_r; /输出音乐/* *模块名称:分频器* 功能描述:计数分频*/always(posedge sys_clk)

    注意事项

    本文(基于CPLD的MIDI音乐播放器设计毕业设计论文(32页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开