1、辽 宁 工 业 大 学电子综合设计与制作 课程设计(论文)题目:乐曲播放电路CPLD实现 院(系): 电子与信息工程学院 专业班级: 电子082班 学 号: 080404056 学生姓名: 张雪 指导教师: (签字)起止时间:2011.12.262012.01.06辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文)辽 宁 工 业 大 学 课 程 设 计 说 明 书 (论文)课程设计(论文)报告的内容及其文本格式1、课程设计(论文)报告要求用 A4 纸排版,单面打印,并装订成册,内容包括:封面(包括题目、院系、专业班级、学生学号、学生姓名、指导教师姓名、起止时间等)设计(论文)任务及评
2、语中文摘要 (黑体小二,居中,不少于 200 字)目录正文(设计计算说明书、研究报告、研究论文等)参考文献2、课程设计(论文)正文参考字数:2000 字 周数。3、封面格式4、设计(论文)任务及评语格式5、目录格式标题“目录”(小二号、黑体、居中)6、正文格式页边距:上 2.5cm,下 2.5cm,左 3cm,右 2.5cm,页眉 1.5cm,页脚 1.75cm,左侧装订;字体:一级标题,小二号字、黑体、居中;二级,黑体小三、居左;三级标题,黑体四号;正文文字,小四号字、宋体;行距:20 磅行距;页码:底部居中,五号、黑体;7、参考文献格式标题:“参考文献”,小二,黑体,居中。示例:(五号宋体
3、)期刊类:序号作者 1,作者 2,作者 n.文章名.期刊名(版本).出版年,卷次(期次):页次.图书类:序号作者 1,作者 2,作者 n.书名本科生课程设计(论文)V课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:电子信息教研室学 号 080404056 学生姓名 张雪 专业班级 电子082课程设计题目乐曲播放电路CPLD 实现课程设计(论文)任务任务和要求:基本要求:采用 EDA 开发系统进行乐曲播放电路的设计、仿真调试和实现。要求能进行流畅的乐曲播放。提高要求:在达到基本要求的基础上,实现播放的同时用简谱的形式同步显示播放的乐曲。进度计划1、布置任务,查阅资料,理解掌握系统
4、的控制要求。 (1 天)2、确定励磁方式,设计励磁自动控制系统接线图。 (2 天)3、建立励磁自动控制系统各个环节的传递函数及框图。 (2 天)4、绘制传递函数框图,并在空载点对传递函数进行线性化。 (2 天)5、对系统进行仿真,确定 PID 控制参数,分析系统性能。 (2 天)6、撰写、打印设计说明书(1天)指导教师评语及成绩平时: 论文质量: 答辩: 总成绩: 指导教师签字: 学生签字: 年 月 日本科生课程设计(论文)VI摘 要进入二十一世纪后,随着基于 CPLD 的 EDA 技术的发展,应用领域的扩大与深入,EDA 技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。可编程逻
5、辑器件 CPLD 被广泛应用。本篇论文介绍了音乐播放器 CPLD 实现的设计,采用可编程逻辑器件(CPLD)EPM240T100C5 作为设计的核心,主要利用 VHDL 语言进行编程,在 CPLD内部设计音调发生器、音乐编码器模块,彩灯闪烁控制器三个模块,再配上时钟、彩灯、开关、扬声器等必要的外围电路,并配有随音乐节奏而闪烁变化的彩灯等功能的 EDA 应用系统。从而实现音乐播放的功能。通过本次设计,可体现可编程逻辑器件 CPLD 在电子设计领域的广泛应用,设计者可以方便的设计出符合要求的芯片或应用系统。关键词:音乐播放器;可编程逻辑器件; VHDL 语言;本科生课程设计(论文)VII目 录第
6、1 章 绪论 11.1 选题背景及意义 .11.2 本文研究内容 .1第 2 章 乐曲播放器的总体设计 22.1 MAX系列 CPLD22.2 总体设计框图 3第 3 章 外围电路设计 43.1 音频功率放大器 43.2 音乐节奏时钟电路 43.3 选择开关电路 53.4 彩灯闪烁控制电路 6第 4 章 仿真及调试 74.1 仿真 .74.2 调试 .7第 5 章 课程设计总结 8参考文献 11附录 A 总电路图 12附录 B VHDL 源程序 .13器件清单 17本科生课程设计(论文)1第 1 章 绪论1.1 选题背景及意义随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自
7、动化、仪器仪表等领域的电子系统设计工作中,EDA 技术的含量正以惊人的速度上升,它己成为当今电子技术发展的前沿之一。EDA 即电子设计自动化技术,是指以计算机为基本工作平台,融合应用电子技术、计算机技术、智能化技术的最新成果而研制成的一整套软件工具,主要能辅助进行三方面的设计工作:IC 设计,电子电路设计,PCB 设计。没有 EDA 技术的支持,想要完成一些超大规模集成电路的设计制造是不可想象的。大规模可编程逻辑器件 CPLD(复杂可编程逻辑器件)和 FPGA(现场可编辑门阵列)是当今应用最广泛的两类可编程逻辑器件,电子设计工程师利用它可以在办公室或实验室设计出所自己所需要的专用芯片和专用产品
8、,从而大大缩短了产品上市时间,降低了开发成本。此外,可编程逻辑器件还具有静态可重复编程和动态在系统重构的特性1,使得硬件的功能可以像软件一样通过编程来修改,这样就极大的提高了电子系统设计的灵活性和通用性。1.2 本文研究内容本设计的关键还是在于内部芯片的设计。由于 EDA 软件的功能日益强大,原来功能比较单一的软件,现在增加了很多新用途。本次设计采用的是 Altera 公司的CPLD 芯片,利用 Quartus II 进行设计,其中采用软件中的集成文本编辑器,来进行 VHDL 语言的设计。另外,CPLD 器件的选择也是一个关键。我们拟采用 CPLD 通用板来设计,这样的话,包括基准时钟在内的所
9、有芯片外的东西,都需要外部接入来完成,外围电路最常见的模拟电路,要注意的是在一些电阻和电容的取值上,要比较细心,比如说在放大器的发生模块上,要求驱动扬声器的电阻值就比较小,而且非常精确,因此可以尽量采用滑动变阻器,通过计算与调试后,得出比较精准的数据。外围电路的调试工作要配合芯片设计一起进行,这样可以调试出音乐输出的最佳状态。本科生课程设计(论文)2第 2 章 乐曲播放器的总体设计2.1 MAX系列 CPLDCPLD 是 Complex Programmable Logic Device 的缩写,它是有最早的 PLD 器件发展形成的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短
10、、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点。CPLD 是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。许多公司都开发出了 CPLD 可编程逻辑器件。如 Altera 公司的 MAXII 器件,就是其极具代表性的一类 CPLD 器件,是有史以来功耗最低、成本最低的 CPLD。MAX II 器件系列是一种非易失性、即用性可编程逻辑系列,它采用了一种突破性的新型 CPLD 架构。这种新型架构的成本是原先 MAX 器件的一半,功耗是其十分之一,密度是其四倍,性能却是其两倍。MAX II CPLD 是所有CPLD 系列产品中
11、成本最低、功耗最小和密度最高的器件。本次设计核心模块 CPLD采用 ALTERA 公司 MAX II 系列的 EPM240T100C 芯片。如图 2.1 所示,该芯片共有 100个管脚,内部 240 个逻辑单元,图 2.1 EPM240T100C 引脚图本科生课程设计(论文)32.2 总体设计框图图 2.2 是本文设计的音乐播放器的原理框图。其核心模块为 CPLD 芯片,内部有音调发生器、音乐编码器和彩灯闪烁控制器三个模块。该音乐编码器内储存着预先设定的歌曲的编码,通过改变音乐选择开关的状态可以决定当前要播放哪首音乐。音乐编码器控制着音调发生器和彩灯闪烁控制器,每当音乐节奏时钟送给音乐编码器一
12、个时钟脉冲时,音乐编码器就将当前要播放的音符的编码送给音调发生器和彩灯闪烁控制器。音调发生器根据编码对应的分频系数将基准时钟分频,得到当前要播放的音符所对应频率的脉冲,再用这个脉冲去激励扬声器,就可以得到这个音符的声音。彩灯闪烁控制器根据编码将当前要播放的音符对应的彩灯亮灭状态送给彩灯。音调发生器音乐编码器彩灯闪烁控制器音频放大器选择开关彩灯扬声器基准时钟音乐节奏时钟彩灯闪烁节奏时钟图 2.2 乐曲播放器的工作原理图本科生课程设计(论文)4第 3 章 外围电路设计3.1 音频功率放大器由 CPLD 芯片输出的音频信号很微弱,不能直接去驱动扬声器,因此需要一个音频放大电路对输出的音频信号进行放大
13、,然后再去驱动扬声器。我们采用由集成功率放大器 LM386 组成的音频功率放大器,如图 3.1 所示。其中 C5 是交流耦合电容,将功率放大器的交流输出送到负载上,输出信号通过 Rw 接到 LM386 的同相端。C4是退耦电容,R1-C3 网络起到消除高频自激振荡作用。3.2 音乐节奏时钟电路音乐节奏时钟对整个音乐播放器的作用至关重要,要求音乐节奏时钟脉冲非常稳定,这样才能保证音乐的流畅播放,否则播放出来的将是一段杂乱无章的声音,就不是音乐而是噪声了。为了使输出的脉冲比较稳定、减少外界干扰,将输出的脉冲再经过 D 触发器(7474)后送给 CPLD 芯片,因此 555 定时器件脚输出的脉冲频率
14、应提高一倍。图 3.1 音频功率放大器电路图本科生课程设计(论文)53.3 选择开关电路如图 3.3 所示。音乐选择开关采用直接的 4 门开关,拨动开关时,电源导通,信号输入到 CPLD 内部,通过程序选择歌曲。图 3.2 音乐节奏时钟电路图图 3.3 选择开关电路图本科生课程设计(论文)63.4 彩灯闪烁控制电路 彩灯闪烁节奏时钟电路与音乐节奏适中产生电路原理相同,也是用 555 定时器构成的多谐振荡器来实现,只是彩灯控制时钟产生电路的频率要比音乐节奏时钟产生电路的频率高,在十几到几十赫兹之间,它的阻值不定,可根据自己的要求来定,如果想要彩灯闪烁的快点则频率就高一些,想慢就低一些。彩灯电路由
15、 9 个发光二极管构成,红、绿、黄每色各三个。高低电平控制着八个发光二极管的亮灭。图 3.4 彩灯电路图本科生课程设计(论文)7第 4 章 仿真及调试4.1 仿真通过 QuartusII 软件,得到乐曲演奏电路仿真波形如图4.2 调试 在 QuartusII 软件中,通过对所设计的硬件描述语言代码进行波形仿真后,达到了预期效果,于是,我们在该软件上进行下载配置设置。在 Assignments 菜单下选中 Devices,在 Family 栏选择 ACEX1K,选中 EPM240T100C5 器件。再在Assignments 菜单下选中 Pins 按照相应要求对管脚进行锁定。调试过程为在线调试。
16、在通过调试中,我们发现了很多问题,现归纳如下:(1) 在软件上能实现仿真的程序不一定在硬件电路上就能运行,原因有很多,这里是由于电路中的时钟频率太快,需要增加一个分频电路。(2) 由于分频的运算很大,故增加分频电路后,在 QuartusII 软件中则不能进行正确的仿真,可以直接将程序下载到电路板上去调试。图 3.4 乐曲播放器仿真图本科生课程设计(论文)8第 5 章 课程设计总结本次设计通过对芯片内部的编程设计以及必要的外围电路设计,构成了整体音乐播放器系统,基本完成了设计要求,整体工作量适中。选择播放,彩灯闪烁,不同音乐的调试,设计更人性化,合理化,同时也多了几分创新。在此次设计中,设计要求
17、基本实现,然而在音乐的播放质量上仍有一些瑕疵,可能是由于扬声器的质量问题或者芯片内部产生信号不稳定等关系,这都有待更多的时间对整个系统进行更多的测试,从而使播放出来的音乐更加悦耳。通过此次设计,对可编程逻辑器件 CPLD 有了更深一步的了解,真正的达到了将课本中学习到的知识应用于实践,更深化了对这个领域的认知度。在设计的过程中,还掌握了许多有关电子领域必要软件的使用,对今后的工作都有一定得帮助。本科生课程设计(论文)11参考文献1 陈赜 主编 CPLD/FPGA 与 ASIC 设计实践教程科学出版社 2008.8 2 张丽萍,楼勇,朱尧富.利用 VHDL 语言设计数字电路J. 机械与电气.20
18、08.5.3 张洪润等. 电子线路及应用. 北京.科学出版社,2010.34 金红莉,周国娟. EDA 技术及其应用J.科学之友.2008.4.5 侯佰亨,顾新编著.VHDL 硬件描述语言与实际应用M.西安.西安电子科社.20006 王金明 主编数字系统设计与 Verilog HDL M电子工业出版社 2009.6本科生课程设计(论文)12附录 A 总电路图本科生课程设计(论文)13附录 B VHDL 源程序-顶层设计模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Songer ISPORT(CLK4MHZ:IN STD_LOGIC;CLK4
19、HZ: IN STD_LOGIC;CLK16HZ: in std_logic;switch:in std_logic_vector(3 downto 0);SPKOUT: OUT STD_LOGIC;lights:out std_logic_vector(8 downto 0);END;ARCHITECTURE one OF Songer ISCOMPONENT NoteTabsPORT(clk: IN STD_LOGIC;dig: in integer range 0 to 4;ToneIndex: OUT INTEGER RANGE 0 TO 15);END COMPONENT;COMPO
20、NENT ToneTabaPORT(index: IN INTEGER RANGE 0 TO 15;Tone: OUT INTEGER RANGE 0 TO 16#1FFF#);END COMPONENT;component chooseport(switch:in std_logic_vector(3 downto 0);dig:out integer range 0 to 4);end component;COMPONENT Speakera本科生课程设计(论文)14PORT(clk: IN STD_LOGIC;Tone: IN INTEGER RANGE 0 TO 16#1FFF#;Sp
21、kS: OUT STD_LOGIC);END COMPONENT; component lightport(clk: in std_logic;Tone :in INTEGER RANGE 0 TO 15;lights:out std_logic_vector(8 downto 0);end component;SIGNAL Tone: INTEGER RANGE 0 TO 16#1FFF#;SIGNAL ToneIndex: INTEGER RANGE 0 TO 15;SIGNAL dig1: integer range 0 to 4;BEGINu1: NoteTabs PORT MAP(c
22、lk=CLK4HZ,dig=dig1,ToneIndex=ToneIndex);u2: ToneTaba PORT MAP(Index=ToneIndex, Tone=Tone);u3: Speakera PORT MAP(clk=CLK4MHZ, Tone=Tone, SpkS=SPKOUT);u4: light port map(clk=clk16HZ,Tone=ToneIndex, lights=lights);u5: choose port map(switch=switch,dig=dig1);END;-开关选择模块library ieee;use ieee.std_logic_11
23、64.all;entity choose isport(switch:in std_logic_vector(3 downto 0);dig:out integer range 0 to 4);end;architecture one of choose isbegin本科生课程设计(论文)15process(switch)begincase switch iswhen “0111“=digdigdigdigdig lights lights lights lights lights lights lights lights lights lights lights lights lights lights lights lightsNULL;end case;end if;end process;end;本科生课程设计(论文)17器件清单名称 型号 备注 总数量电阻 470,1K,10K 17电容 47uf,0.1uf,100nf,200uf C1,C2,C3,C4,C5 5LED 灯 9开关 S1,S2,S3,S4 4滑动变阻器 10K R1 1定时器 555 U2 1放大器 1扬声器 1可编程逻辑器件 EPM240T100C5 1