收藏 分享(赏)

基于fpga的电子琴设计fpga实训.docx

上传人:无敌 文档编号:631959 上传时间:2018-04-15 格式:DOCX 页数:31 大小:244.98KB
下载 相关 举报
基于fpga的电子琴设计fpga实训.docx_第1页
第1页 / 共31页
基于fpga的电子琴设计fpga实训.docx_第2页
第2页 / 共31页
基于fpga的电子琴设计fpga实训.docx_第3页
第3页 / 共31页
基于fpga的电子琴设计fpga实训.docx_第4页
第4页 / 共31页
基于fpga的电子琴设计fpga实训.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、1第一章 绪论1.1引言随着电子技术的飞速发展,微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体的工艺水平的线宽已经达到了 60nm,并在不断地缩小,面在硅片单位面积上,集成了更多的晶体管。集成电路设计正在不断地向超大规模,极低功耗和超高速的方向发展,电子产品的功能越来越强大,体积越来越小,功耗越来越低。同时,利用可编程逻辑器件和 EDA 技术使设计方法发生了质的变化。把以前“电路设计+硬件搭试+调试焊接”转化为“功能设计+软件模拟+仿真下载” 。利用 EDA 开发平台,采用可编程逻辑器件 CPLDFPGA 使硬件的功能可通过编程来实现,这种新的基于芯片

2、的设计方法能够使设计者有更多机会充分发挥创造性思维,实现多种复杂数字逻辑系统的功能,将原来由电路板设计完成的工作放到芯片的设计中进行,减少了连线和体积,提高了集成度,降低了干扰,大大减轻了电路设计和 PCB 设计的工作量和难度,增强了设计的灵活性,有效地提高了工作效率,增加了系统的可靠性和稳定性,提高了技术指标。这些技术使得各种电子产品迅速的进入了我们的生活,我们处在一个被电子产品深度包围的时代,在一个普通老百姓的家里,衣食住行,每一个产品的诞生都离不开 EDA 技术,从彩色电视机,到智能冰箱,到全自动洗衣机,电饭煲,到微波炉,电磁炉,电子琴,再到个人随身用的手机,MP3 音乐播放器都需要 E

3、DA 技术提供支持。本文应用 VHDL 硬件描述语言,设计一个乐曲硬件演奏电路,它能将一首预先设置存储好的乐曲自动播放出来,除此之外,也能够通过按键的方式输入音符,使其具备简易电子琴的功能。通过此项研究,能够深切的体会利用 EDA 工具开发的优越性,在此基础上,对乐曲硬件演奏电路功能进行丰富,具体一定的社会实用性。下面对乐曲演奏电路的设计与实现中涉及的 EDA 技术,以及 EDA 技术中常用的开发器件 CPLDFPGA 可编程逻辑器件,开发语言 VHDL 以及开发软件Quartus作简单介绍。21.2 EDA简介EDA 是电子设计自动化(ElectrONic Design AUTOMATION

4、)的缩写,在 20世纪 90 年代初从计算机辅助设计(CAD) 、计算机辅助制造(CAM) 、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。1.3 FPGA简介FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵列,

5、它是在 PAL、GAL、EPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块 CLB(Configurable Logic Block) 、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有1)采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯片。2)FPG

6、A 可做其它全定制或半定制 ASIC 电路的中试样片。3)FPGA 内部有丰富的触发器和 IO 引脚。4)FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。可以说,FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、ALTERA 公3司的 FIEX 系列等。FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的,因此,工作时需要对片内的 RAM 进行编程。用户可以根据不同的配

7、置模式,采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中,配置完成后,FPGA 进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM、PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM即可。这样,同一片 FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA 的使用非常灵活。FPGA 有多种配置模式:并行主模式为一片 FPGA 加一片 EPROM 的方式;主从模式可以支持一片 PROM 编程多片 FPGA;串行模

8、式可以采用串行 PROM 编程FPGA;外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编程。1.4 VHDL语言简介VHDL 的英文全名是 VHSIC Hardware Description Language(VHSIC 硬件描述语言)。VHSIC 是 Very High Speed Integrated Circuit 的缩写,是 20 世纪80 年代在美国国防部的资助下始创的,并最终导致了 VHDL 语言的出现。1987 年底,VHDL 被 IEEE 和美国国防部确认为标准硬件描述语言。VHDL 主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外

9、,VHDL 的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL 的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分) ,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点1.5 Quartus II简介Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有

10、运行速度快,界4面统一,功能集中,易学易用等特点。Quartus II 支持 Altera 的 IP 核,包含了 LPM/MegaFunction 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方 EDA 工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 EDA 工具。此外,Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

11、QuartusII 图标 Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。目前 Altera 已经停止了对 Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera 在 Quartus II 中包含了许多诸如 SignalTap II、Chip Editor 和RTL Viewer 的设计辅助工具,集成了 SOPC 和 HardCopy 设计流程,并且继承了Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环

12、境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。5第二章 总体设计2.1方案设计与比较2.1.1设计内容用 FPGA 器件驱动蜂鸣器演奏“送别”片段,一首乐曲包含三个要素:乐曲声音的频率,发音时间的长短,停顿的时间。按照图 1 乐谱,设计相应电路控制 speaker 信号的方波频率,某一频率持续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。2.1.2 设计方案比较方案一: 由单片机 AT89S52 来设计实现乐曲演奏电路。外围电源使用+5V电源供电,时钟由 12MHz 的晶振产生,通过按键的状态来检测乐曲演奏的状态,中央处理器由 AT89S52 单片机来完成

13、,乐曲演奏状态由七段数码管来模拟。这种方案结构简单,比较易掌握,各部分电路实现起来野非常容易,在传统的乐曲演奏设计中应用也较为广泛。其原理框图如图 2。图 1 单片机乐曲演奏原理图方案二:基于现场可编程逻辑门阵列 FPGA,通过 EDA 技术,采用VerilogHDL 硬件描述语言实现乐曲演奏电路设计。程序设计思想为:1、用频电路产生不同频率方波;2、利用计数器实现 speaker 信号频率选择,某一频率持续时间长短,各频率间间隔大小。其框图如图 2。6图 2 乐曲演奏电路原理框图2.1.3方案论证与选择 通过方案一、二的比较,可以看出方案一的设计使用的分立元件电路较多,因此会使电路调试困难度

14、增加,且电路的不稳定性也会随之增加;而采用 FPGA芯片实现该电路,在整体性上较方案一好,在信号的处理和整个系统的控制中,方案二也能大大缩减电路的体积,提高电路的稳定性并且系统的调试周期也能大大缩短。由于它们完全不同的工作原理,一般来讲,同样的逻辑,基于 FPGA 设计比基于单片机设计快很多。单片机是基于指令工作的,单片机的时钟驱动着程序一步步的执行。而基于 FPGA 则是把相应的逻辑“暂时”固化为硬件电路,而后的不响应速度就是电信号从一个管脚到另一个管脚的传播速度,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的。从目前的 EDA 技术来看,其特点是应用广泛、使用

15、普及、软件功能强大。在 ASIC 和 PLD 器件方面,向高密度、超高速、低电压、低功耗方向发展。当今社会人们对低故障、高实时、高可靠、高稳定性能更加青睐,综合本设计的要求以及以上比较的情况,我们选择基于 FPGA 的乐曲演奏电路的设计方案。2.2 硬件设计2.2.1稳压电源电路该稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出直流7电压稳定。该电路可为晶振电路以及扬声器提供+3.3V 的稳定电压,驱动器件工作。其原理图如图 3 所示。图 3 系统的稳压电源电路2.2.2有源晶振电路采用有源晶振作为时钟信号源,它是一个完整的振荡器,其内部除了石英晶体外还有阻容软件和晶体管,有源晶振信

16、号质量好,比较稳定,而且连接方式比较简单。主要是作为电源滤波,通常使用的为一个电容和电感组成的 PI 型滤波网络,输出端使用一个小阻值电阻过滤信号。串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰及导致的信号过冲。其原理图如图 4 所示。图 4 有源晶振电路82.2.3蜂鸣器电路 根据蜂鸣器输入信号频率的不同决定了其发声不同的原理,来设计一个由数控分频器控制 BUZZER 发声的简单实验。数控分频器的预置值由乐曲的音调的值来决定,从而间接地控制 BUZZER 得发声频率。其原理图如图 5 所示。图 5 蜂鸣器电路2.3.4七段数码显示电路七段数码管和普通发光二极管

17、的发光原理一样,为了进行直观显示而将普通发光二极管封装在一起,能够进行 16 进制数字显示;有共阳极和共阴极之分,该设计采用共阴极的连接方式,在控制端输入高点平的时候发光,在输入低电平的时候就不发光。其原理电路图如图 6 所示。9图 6 七段数码管显示电路2.3 软件设计通过至顶向下(TOP-DOWN)的设计方法,我们对电路的设计要求作了分析,从电路要实现的功能着手,逐层分析电路设计的步骤,再具体到各个模块的设计实现以及各模块实现方案的选择。2.3.1音乐节拍和音调发生器模块NoteTabsinstclkSELRSTToneIndex3.0图 7 音乐节拍和音调发生器模块(1) 音乐节拍和音调

18、发生器模块 RTL 电路图10clockadress7.0 q3.0A7.0B7.0 OUT7.0ADDERD QPREENACLRSELDATADATABOUT0MUX21SELDATADATABOUT0MUX21music:u1Add08 h01 -clkSELRSTToneIndex3.0comb7.0comb15.8Counter7.0图 8 音乐节拍和音调发生器模块 RTL 电路图(2) 地址发生器模块地址发生器模块设置了一个 8 位二进制计数器(计数最大值为 256),作为音符数据 ROM 的地址发生器。每来一个时钟脉冲信号(Clk),8 位二进制计数器就计数一次,ROM 文件中的

19、地址也就随着递增,音符数据 ROM 中的音符也就一个接一个连续的取出来了。在地址发生器的 VHDL 设计中,这个计数器的计数频率选为 4Hz,即每一计数值的停留时间为 0.25 秒,恰为当全音符设为 1 秒,四四拍的 4 分音符持续时间。例如,地址发生器在以下的 VHDL 逻辑描述中, “梁祝”乐曲的第一个音符为“3” ,此音在逻辑中停留了 4 个时钟节拍,即 1 秒时间。那么相应随着程序4中的计数器按 4Hz 的时钟频率作加法计数时,即随地址递增时,将从音符数据 ROM 中将连续取出 4 个音符“3”通过 toneindex3.0端口输向分频预置数模块。这样梁祝乐曲中的音符就一个接一个的通过 toneindex3.0端口输向分频预置数模块。2.3.2音乐谱对应分频预置数查表电路模块(1) 音乐谱分频预置数模块ToneTabainstIndex3.0 CODE3.0HIGHTone10.0图 9 音乐谱分频预置数模块

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报