基于CPLD的MIDI音乐播放器设计毕业设计论文.doc_第1页
基于CPLD的MIDI音乐播放器设计毕业设计论文.doc_第2页
基于CPLD的MIDI音乐播放器设计毕业设计论文.doc_第3页
基于CPLD的MIDI音乐播放器设计毕业设计论文.doc_第4页
基于CPLD的MIDI音乐播放器设计毕业设计论文.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宜宾职业技术学院宜宾职业技术学院 毕业设计 基于基于 CPLD 的的 MIDI 音乐播放器设计音乐播放器设计 系系 部部 电子信电子信息息与控制工程与控制工程系系 专专 业业 名名 称称 电电子子信信息息工工程程技技 术术 班班 级级 电电子子 11101 班班 姓姓 名名 万万 芬芬 学学 号号 2 0 1 1 1 5 7 2 4 指指 导导 教教 师师 唐唐 军 张军 张 艳艳 2012 年年 09 月月 20 日日 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 基于基于CPLD的的MIDI音乐播放器设计音乐播放器设计 摘摘 要要 本文设计一个具有播放音乐 显示时间及彩灯闪烁功能的MIDI音乐播放器 根据 音乐播放器的基本原理 以Verilog HDL作为编程语言 选用Altera公司MAX II系列可 编程逻辑器件 CPLD EPM570T144C5作为控制核心 实现音乐播放器的功能 此外电 路还设计了光控功能 彩灯选用LED发光二极管 时间显示采用数码管 产品制作完 成后 经过测试 实现了所有功能 具有电路简单 工作稳定 耗电小的优点 可适 用于生活中 关键词关键词 CPLD Verilog HDL 蜂鸣器 光控 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 I Design of MIDI Music Player Based on CPLD Abstract A 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 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 II 目目 录录 1 引引 言言 1 2 方案论证与选择方案论证与选择 2 2 1 主控模块的论证与选择主控模块的论证与选择 2 2 2 显示模块的论证与选择显示模块的论证与选择 2 2 3 总体系统总体系统方案方案 2 3 硬件设计硬件设计 4 3 1 MAX II 系列系列 CPLD 4 3 2 EPM570T144C5 芯片芯片 5 3 3 蜂鸣器电路蜂鸣器电路 6 3 4 光电传感器电路光电传感器电路 7 3 5 数码管显示及彩灯闪烁电路数码管显示及彩灯闪烁电路 7 4 软件设计软件设计 8 4 1 工作原理及设计思路工作原理及设计思路 8 4 2 有限状态机有限状态机 9 4 3 中央处理器中央处理器设计设计 10 4 4 音调发生音调发生器器设计设计 10 4 5 光电传感光电传感器器设计设计 11 4 6 彩灯闪烁设计彩灯闪烁设计 12 4 7 数码管显示设计数码管显示设计 12 5 产品制作产品制作 13 5 1 PCB 制作制作 13 5 2 元器件装配元器件装配 13 5 2 1元器件检测 13 5 2 2元器件安装 13 5 2 3 元器件焊接 14 6 系统调试系统调试 15 6 1 CPLD 程序编译程序编译 15 6 2 CPLD 引脚配置引脚配置 15 6 3 CPLD 程序下载程序下载 16 6 4 系统联调系统联调 18 6 4 1 蜂鸣器的调试 18 6 4 2 光电传感器的调试 18 6 4 3 数码管的调试 18 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 III 6 4 4 彩灯的调试 18 6 4 5 分频的调试 18 结束语结束语 20 致致 谢谢 21 参考文献参考文献 22 附附 录录 附录附录 1 电路电路原理图原理图 附录附录 2 系统板系统板 PCB 图图 附录附录 3 部分部分 RTL 电路图电路图 附录附录 4 产品实物图产品实物图 附录附录 5 曲谱曲谱 附录附录 6 程序源代码程序源代码 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 0 基于基于 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 的深层次运用 因本次毕业设计能够更加的体现所学专业的知识 故选定该题目 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 1 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 所示 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 2 CPLD EPM570T144C5 光电传感器 串口 彩灯闪烁 数码管显示 蜂鸣器 图 2 1 系统框图 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 3 3 硬件设计硬件设计 本设计的主控芯片选用 CPLD 硬件电路由光电传感器 蜂鸣器 数码管显示 彩灯闪烁及串口电路 由于串口电路选用 CPLD 的专用下载器 USB Blaster 所以 在此不多做介绍 3 1 MAX II 系列系列 CPLD MAX 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 系列参数 特性EPM240EPM570EPM1270EPM2210 LE24057012702210 典型的等效宏单 元数 1924409801700 最大用户 I O80160212272 用户可用 Flash 比特数 8192819281928192 速度等级3 4 53 4 53 4 53 4 5 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 4 封装 100 pin TQFP 144 pin TQFP 144 pin TQFP 256 pin FBGA 由 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 用于信号的 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 5 复位 故选定该芯片 如图 3 3 引脚说明图 图 3 3 引脚说明图 3 3 蜂鸣器电路蜂鸣器电路 蜂鸣器采用杜邦线接在 CPLD 上 一端接 IO29 脚 另一端接地 达到播放音乐的 功能 如图 3 4 所示 1 2 F1 IO29 GND IO01 IO03 IO11 IO05 IO22 IO07 IO24 IO28 IO30 IO32 IO38 IO40 IO42 IO43 IO44 IO48 IO50 IO52 IO55 IO58 IO02 IO04 IO06 IO08 IO21 IO23 IO27 IO29 IO31 IO37 IO39 IO41 IO45 IO49 IO51 IO53 IO57 IO59R8 K1 3 3V IO02 IO03 IO04 IO05 IO06 IO07 IO08 CLK0 CLK1 IO15 IO16 IO17 IO18 IO19 IO20 IO21 IO26 IO27 IO28 IO29 IO30 IO33 IO34 IO35 IO36 IO37 IO38 IO39 IO40 IO41 IO42 IO43 IO44 IO47 IO48 IO49 IO50 IO51 IO60IO61 IO62IO63 IO66IO67 IO68IO69 IO70IO71 TMS TDO TCK TDI BANK 1 IO 2 IO 3 IO 4 IO 5 IO 6 IO 7 IO 8 IO GCLK0 12 IO GCLK1 14 IO 15 IO 16 IO 17 IO 18 IO 19 IO 20 IO 21 IO 26 IO 27 IO 28 IO 29 IO 30 IO 33 IO 34 IO 35 IO 36 IO 37 IO 38 IO 39 IO 40 IO 41 IO 42 IO DEV OE 43 IO DEV CLRn 44 IO 47 IO 48 IO 49 IO 50 IO 51 U7A EPM570T144C5 TMS 22 TDI 23 TCK 24 TDO 25 U7C EPM570T144C5 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 3334 3536 3738 3940 4142 4344 4546 4748 4950 J1 HEADER 25X2 IO36 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 6 图 3 4 蜂鸣器连接电路 3 4 光电传感器电路光电传感器电路 光电传感器电路 如图 3 5 所示 对环境光线较敏感 一般用来检测周围环境的光 线的亮度 触发控制器或继电器模块等 模块在环境光线亮度达不到设定阀值时 D0 端输出高电平 当外界环境光线亮度超过设定阀值时 D0 端输出低电平 DO 输出端 可以与控制器的 I O 口直接相连 通过控制器来检测高低电平 由此来检测环境的光 线亮度改变 电源极性不能接反 否则有可能将芯片烧坏 开关信号指示灯亮时输出 低电平 不亮输出高电平 输出的电平接近于电源电压 R2 10K R4 1K C1 104 传传传传 R1 10K R3 10K R5 1K 传传传传 104 LM393 传传传 VCC D0 图 3 5 光电传感器电路 3 5 数码管显示及彩灯闪烁电路数码管显示及彩灯闪烁电路 数码管显示电路由 3 个共阳数码管显示 彩灯闪烁电路由 6 个发光二极管构成 高低电平控制着 6 个发光二极管的亮灭 当光电传感器检测到有光时 音乐会暂停 数码管显示的时间也会定格在暂停的瞬间 彩灯也会暂停 当光电传感器检测到无光 时 音乐会继续 数码管显示的时间也会依次加一 彩灯循环闪烁 如图 3 6 所示 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 7 R24 470 R23 470 R22 470 R21 470 R13 470 R20 470 R19 470 R18 470 R16 470 R15 470 R14 470 R17 470 R1 470 R2 470 R3 470 R4 470 R5 470 R6 470 R7 470 R8 470 R9 470 R10 470 R11 470 R12 470 a bf c g d e DPY a 1 b 2 c 3 d 4 e 5 f 6 g 7 dp 8 dp 1011 DS3 a bf c g d e DPY a 1 b 2 c 3 d 4 e 5 f 6 g 7 dp 8 dp 1011 DS2 a bf c g d e DPY a 1 b 2 c 3 d 4 e 5 f 6 g 7 dp 8 dp 1011 DS1 1 2 3 4 5 6 7 8 9 10 11 12 J2 1 2 3 4 5 6 7 8 9 10 11 12 J1 5 D1 D2 D3 D4 D5 D6 PIN 37 PIN 38 PIN 39 PIN 40 PIN 41 PIN 42 图 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 分频系数计算公式为 由于之后 会使分频系 2DFK 2FK 数 D 变小 所以功能模块中语句 beep r beep r 使得输出取反 消除了前面除以 2K 的影响 至于其他音符 可以同样求出对 2 KFcountend 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 8 应的分频系数 在程序中设置一个状态机 每 250ms 改变一个状态 即一个节拍 组 成乐曲的每个音符的频率值 音调 相对应于状态机的每一个状态 只要让状态机的 状态按顺序转换 就可以自动演奏播放音乐了 友谊地久天长 乐曲的简谱见附录 5 所示 注 N 一拍 N 两拍 N 四拍 N 八拍 N 为音谱 音乐节奏时 钟 彩灯闪烁节 奏时钟 音调发生器 中央控制器 彩灯闪烁控 制器 彩灯 蜂鸣器 光电传感器 基准时钟 CPLD 数码管 数码管 显示控 制器 图 4 1 CPLD 内部芯片设计原理 4 2 有限状态机有限状态机 有限状态机 FSM 思想广泛应用于硬件控制电路设计 也是软件上常用的一种处理 方法 软件上称为 FMM 有限消息机 它把复杂的控制逻辑分解成有限个稳定状态 在每个状态上判断事件 变连续处理为离散数字处理 符合计算机的工作特点 同时 因为有限状态机具有有限个状态 所以可以在实际的工程上实现 但这并不意味着其 只能进行有限次的处理 相反 有限状态机是闭环系统 有限无穷 可以用有限的状 态 处理无穷的事务 有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路 一般 来说 除了输入部分和输出部分外 有限状态机还含有一组具有 记忆 功能的寄存器 这些寄存器的功能是记忆有限状态机的内部状态 它们常被称为状态寄存器 在有限 状态机中 状态寄存器的的下一个状态不仅与输入信号有关 而且还与该寄存器的当 前状态有关 因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合 其中 寄存器逻辑的功能是存储有限状态机的内部状态 而组合逻辑又可以分为次态逻辑和 输出逻辑两部分 次态逻辑的功能是确定有限状态机的下一个状态 输出逻辑的功能 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 9 是确定有限状态机的输出 有限状态机的工作原理如图 4 2 所示 发生事件 event 后 根据当前状态 cur state 决定执行的动作 action 并设置下一个状态 nxt state 发生事件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 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 10 中音 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 begin count count 1 b1 计数器加 1 if count count end begin count 16 h0 计数器清零 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 11 if ke 1 b0 如果有光 beep r 0 蜂鸣器不叫 else beep r25 clkout 1 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 19 else clkout 0 end endmodule 用分频得到仿真图如图 6 7 及图 6 8 所示 图 6 7 仿真图 1 图 6 8 仿真图 2 通过蜂鸣器 光电传感器 数码管 彩灯及分频的调试 产品能正常实现功能 产品实物图见附录 4 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 20 结结束语束语 通过对整体的学习和编程设计 完成了音乐播放器的设计 音乐播放器的设计经 过了整体分析 模块化分析 整体与模块的仿真分析这样三个步骤 硬件实现了循环 演奏以及数码管显示时间等功能 描述了其工作原理 设计思路及实现方法 并在 Quartus II 上选用目标芯片仿真实现了音乐硬件演奏电路的功能 实践证明 采用 CPLD 设计实现音乐硬件演奏电路的可行性和可靠性 而且更改乐曲容易 可根据需 要修改程序中的音符数据文件 从而使电路实现任一曲子的播放 在此次设计中 所有设计要求全部实现 然而在音乐的播放质量上仍有一些瑕疵 可能是由于蜂鸣器的质量问题或者芯片内部产生信号不稳定等关系 这都有待更多的 时间对整个系统进行更多的测试 从而使播放出来的音乐更加悦耳 通过此次设计 对可编程逻辑器件 CPLD FPGA 有了更深一步的了解 真正的达 到了将课本中学习到的知识应用于实践 更深化了对这个领域的认知度 在设计的过 程中 还掌握了许多有关电子领域必要软件的使用 对今后的工作都有一定得帮助 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 21 致致 谢谢 为期半年的准备 我的毕业论文终于完成了 这意味着大学生活即将结束 在大 学阶段 我在学习和思想上都受益非浅 这除了自身的努力外 与各位老师 同学和 朋友的关心 支持和鼓励是分不开的 在此 我特别要感谢我的导师 唐军老师和张 艳老师 从论文的选题 文献的采集 框架的设计 结构的布局到最终的论文定稿 从内容到格式 从标题到标点 他们都费尽心血 没有老师们的辛勤栽培 孜孜教诲 就没有我论文的顺利完成 同时 感谢所有任课老师和所有同学在这三年来给自己的 指导和帮助 是他们教会了我专业知识 教会了我如何学习 教会了我如何做人 正 是由于他们 我才能在各方面取得显著的进步 在此向他们表示我由衷的谢意 并祝 所有的老师培养出越来越多的优秀人才 最后要感谢我的家人以及我的朋友们对我的 理解 支持 鼓励和帮助 正是因为有了他们 我所做的一切才更有意义 也正是因 为有了他们 我才有了追求进步的勇气和信心 时间的仓促及自身专业水平的不足 整篇论文肯定存在尚未发现的缺点和错误 恳请阅读此篇论文的老师 同学 多予指正 不胜感激 宜宾职业技术学院电子信息与控制工程系 基于 CPLD 的 MIDI 音乐播放器设 计 22 参考文献参考文献 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 电路原理图电路原理图 C12 104 C11 104 C9 104 C8 104 C7 104 C6 104 C5 104 C4 104 3 3V VCC 4 GND 2 1 OUT 3 G1 50MHZ C3 104 3 3V CLK0 12 34 56 78 910 JTAG CPLD JTAG 3 3V IO01 IO03 IO11 IO05 IO22 IO07 IO24 IO28 IO30 IO32 IO38 IO40 IO42 IO43 IO44 IO48 IO50 IO52 IO55 IO58 IO02 IO04 IO06 IO08 IO21 IO23 IO27 IO29 IO31 IO37 IO39 IO41 IO45 IO49 IO51 IO53 IO57 IO59R8 K1 3 3V IO02 IO03 IO04 IO05 IO06 IO07 IO08 CLK0 CLK1 IO15 IO16 IO17 IO18 IO19 IO20 IO21 IO26 IO27 IO28 IO29 IO30 IO33 IO34 IO35 IO36 IO37 IO38 IO39 IO40 IO41 IO42 IO43 IO44 IO47 IO48 IO49 IO50 IO51 3 3V DC 1 传传传 DC5V C1 22uF 25V C10 10uF 16V Vin 1 GND 2 Vout 3 U2 7805 C2 104 R1 470 power1 D5 D4 D3 D2 D1 D0 R5 102 R4 102 R3 102 R2 102 R7 102 R6 102 IO97 IO84 IO93 IO94 IO95 IO96 3 3V IO52 IO53 IO54 IO55 IO56 IO57 IO58 IO61 IO62 IO64 IO66 IO67 IO68 IO69 IO70 IO71 IO72 IO73 IO74 IO75 IO76 IO77 IO78 IO81 IO82 IO83 IO84 IO85 IO86 IO87 IO88 IO89 IO90 IO91 IO92 IO95 IO96 IO97 IO98 IO99 IO100 IO60IO61 IO62IO63 IO66IO67 IO68IO69 IO70IO71 IO72IO73 IO74IO75 IO76IO77 IO78IO79 IO80IO98 IO101IO102 IO103IO104 IO105IO106 IO107 IO109 IO111 IO110 IO137IO138 IO139IO140 IO141IO142 IO143IO144 TCK TDO TMS TDI TMS TDO TCK TDI GND 1 IN 3 OUT 2 OUT 4 U4 REG1117 3 3 3VR10 103 R11 103 CLK0 IO01 IO101 IO102 IO103 IO104 IO105 IO106 IO107 IO108 IO109 IO110 IO111 IO112 IO113 IO114 IO115 IO116 IO117 IO118 IO119 IO120 IO121 IO122 IO123 IO124 IO125 IO126 IO127 IO128 IO129 IO130 IO131 IO132 IO133 IO134 IO135 IO136 IO137 IO138 IO139 IO140 IO141 IO142 IO143 IO144 K2 BANK 1 IO 2 IO 3 IO 4 IO 5 IO 6 IO 7 IO 8 IO GCLK0 12 IO GCLK1 14 IO 15 IO 16 IO 17 IO 18 IO 19 IO 20 IO 21 IO 26 IO 27 IO 28 IO 29 IO 30 IO 33 IO 34 IO 35 IO 36 IO 37 IO 38 IO 39 IO 40 IO 41 IO 42 IO DEV OE 43 IO DEV CLRn 44 IO 47 IO 48 IO 49 IO 50 IO 51 U7A EPM570T144C5 BANK 2 IO 52 IO 53 IO 54 IO 55 IO 56 IO 57 IO 58 IO 61 IO GCLK2 62 IO GCLK3 64 IO 66 IO 67 IO 68 IO 69 IO 70 IO 71 IO 72 IO 73 IO 74 IO 75 IO 76 IO 77 IO 78 IO 81 IO 82 IO 83 IO 84 IO 85 IO 86 IO 87 IO 88 IO 89 IO 90 IO 91 IO 92 IO 95 IO 96 IO 97 IO 98 IO 99 IO 100 IO 1 U7B EPM570T144C5 BANK 3 IO 101 IO 102 IO 103 IO 104 IO 105 IO 106 IO 107 IO 108 IO 109 IO 110 IO 111 IO 112 IO 113 IO 114 IO 115 IO 116 IO 117 IO 118 IO 119 IO 120 IO 121 IO 122 IO 123 IO 124 IO 125 IO 126 IO 127 IO 128 IO 129 IO 130 IO 131 IO 132 IO 133 IO 134 IO 135 IO 136 IO 137 IO 138 IO 139 IO 140 IO 141 IO 142 IO 143 IO 144 U7F EPM570T144C5 TMS 22 TDI 23 TCK 24 TDO 25 U7C EPM570T144C5 VCCIO1 9 VCCINT 13 VCCIO1 31 VCCIO1 45 VCCIO2 59 VCCINT 63 VCCIO2 80 VCCIO2 94 U7D EPM570T144C5 GNDIO 10 GNDINT 11 GNDIO 32 GNDIO 46 GNDIO 60 GNDINT 65 GNDIO 79 GNDIO 93 U7E EPM570T144C5 IO108 IO112 IO113IO114 IO117IO118 IO119IO120 IO121IO122 IO123IO124 IO125IO127 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 3334 3536 3738 3940 4142 4344 4546 4748 4950 J1 HEADER 25X2 IO129IO130 IO131IO132 IO133IO134 5V 12 34 56 78 910 1112 1314 1516 1718 1920 2122 2324 2526 2728 2930 3132 3334 3536 3738 3940 4142 4344 4546 4748 4950 J2 HEADER 25X2 EPM570T144C5 核 心 板 系 统 板 开 发 板 图 1 2 3 4 J5 CON4 R24 470 R23 470 R22 470 R21 470 R13 470 R20 470 R19 470 R18 470 R16 470 R15 470 R14 470 R17 470 R1 470 R2 470 R3 470 R4 470 R5 470 R6 470 R7 470 R8 470 R9 470 R10 470 R11 470 R12 470 a bf c g d e DPY a 1 b 2 c 3 d 4 e 5 f 6 g 7 dp 8 dp 1011 DS3 a bf c g d e DPY a 1 b 2 c 3 d 4 e 5 f 6 g 7 dp 8 dp 1011 DS2 a bf c g d e DPY a 1 b 2 c 3 d 4 e 5 f 6 g 7 dp 8 dp 1011 DS1 1 2 3 4 5 6 7 8 9 10 11 12 J2 1 2 3 4 5 6 7 8 9 10 11 12 J1 5 D1 D2 D3 D4 D5 D6 R2 10K R4 1K C1 104 传传传传 R1 10K R3 10K 彩灯闪烁 数码管显示电路 光电传感器电子11101 万芬 1 2 F1 IO29 GND 蜂鸣器 R5 1K 传传传传 104 LM393 传传传 VCC D0 IO36 IO135IO136 PIN 37 PIN 38 PIN 39 PIN 40 PIN 41 PIN 42 附录附录 2 系统板系统板 PCB 图图 附录附录 3 部分部分 RTL 电路图电路图 附录附录 4 产品实物图产品实物图 附录附录 5 曲谱曲谱 附录附录 6 程序源代码程序源代码 module wf sys clk beep led ke fa input sys clk 系统时钟 48MHz input ke 光电传感器 output beep 蜂鸣器输出端 output 23 0 led 数码管输出端 output 5 0 fa 彩灯输出端 reg beep r 寄存器 reg 7 0 state 乐谱状态机 reg 15 0 count reg 15 0 count end reg 23 0 count1 reg 31 0 counter2 reg 23 0 led 数码管 reg 5 0 fa r 彩灯 reg clk s reg 11 0 min 乐谱参数 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 begin count count 1 b1 计数器加 1 if count count end begin count 16 h0 计数器清零 if ke 1 b0 如果有光 beep r 0 蜂鸣器不叫 else beep r beep r 输出取反 蜂鸣器叫 end end 模块名称 曲谱 功能描述 产生分频的系数并描述出曲谱 always posedge sys clk begin if count1 TIME 一个节拍 250ms count1 count1 1 b1 else begin count1 24 d0 if state 8 d147 state 8 d0 else state state 1 b1 case state 8 d0 8 d1 count end L 5 低音 5 持续 2 个节拍 8 d2 8 d3 8 d4 8 d5 8 d6 8 d7 8 d8 count end M 1 中音 1 持续 7 个节拍 8 d9 8 d10 count end M 3 中音 3 持续 2 个节拍 8 d11 8 d12 8 d13 8 d14 count end M 2 中音 2 持续 4 个节拍 8 d15 count end M 1 8 d16 8 d17 count end M 2 8 d18 8 d19 count end M 3 8 d20 8 d21 8 d22 8 d23 8 d24 count end M 1 8 d25 8 d26 count end M 3 8 d27 8 d28 count end M 5 8 d29 8 d30 8 d31 8 d32 8 d33 count end M 6 8 d34 8 d35 8 d36 8 d37 8 d38 count end M 6 8 d39 8 d40 8 d41 8 d42 count end M 5 8 d43 8 d44 8 d45 count end M 3 8 d46 8 d47 count end M 1 8 d48 8 d49 8 d50 8 d51 count end M 2 8 d52 count end M 1 8 d53 8 d54 count

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论