基于FPGA电子琴设计.doc

上传人:h**** 文档编号:129853 上传时间:2018-07-09 格式:DOC 页数:20 大小:813KB
下载 相关 举报
基于FPGA电子琴设计.doc_第1页
第1页 / 共20页
基于FPGA电子琴设计.doc_第2页
第2页 / 共20页
基于FPGA电子琴设计.doc_第3页
第3页 / 共20页
基于FPGA电子琴设计.doc_第4页
第4页 / 共20页
基于FPGA电子琴设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、 1 南京师范大学物理科学与技术学院 草鱼 草鱼 科 草鱼研 草鱼基 草鱼金 草鱼论 草鱼文 草鱼 草鱼 姓 草鱼 草鱼 草鱼 草鱼名 : pork xxxxxx 草鱼 草鱼 班 草鱼 草鱼 草鱼 草鱼级 : pork 08 级通信工程 草 鱼草鱼 草鱼 设计题目 : 基于 FPGA 的 PS/2 键盘 控制电子琴 草鱼 草鱼 草鱼 草鱼 指导教师 : pork 草鱼宁晨 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 二一 一 年 六 月 草鱼 摘要 草鱼 文中介绍了电子琴系统的整体设计 ,并基于超高速硬件描述语言 VHDL在 Altera公司的 Cyclone 系列的 EP2C8Q208CN 芯片上编

2、程实现 .草鱼 电子琴系统的设计包含四个模块 ,分别是控制输入电路 、 porkFPGA、 pork显示电路和扬声器电路 。 草鱼 其中 FPGA 模块的设计是整个电子琴系统设计的核心内容 。 草鱼 四个模块的有机组合完成了电子琴自动演奏的功能 。 草鱼 文中还详细介绍了 FPGA 功能模块的原理及其工作时序仿真图 。 草鱼 本产品的2 特点是成本较低 , 鲤鱼 性能稳定 , 鲤鱼 精度高 , 鲤鱼 有一定的开发价值 。 草鱼 草鱼 Design 草鱼 of 草鱼 Electronics_orgon 草鱼 system 草鱼 based 草鱼 on 草鱼 FPGA草鱼 草鱼 Abstract:

3、 草鱼 It 草鱼 will 草鱼 introduce 草鱼 the 草鱼 integrate 草鱼 design electronics_orgon 草鱼system 草鱼 based 草鱼 on 草鱼 FPGA. 草鱼 The 草鱼 design 草鱼 will 草鱼 be 草鱼 achieved 草鱼 in 草鱼 the 草鱼2sc200 5pq208 草鱼 chipof 草鱼 Xilinx 草鱼 corporation 草鱼 with 草鱼 the 草鱼 VHDL(Very 草鱼High-speed 草鱼 Description-Language)草鱼 草鱼 草鱼 草鱼 The 草鱼

4、design 草鱼 of 草鱼 Electronics_orgon 草鱼 System 草鱼 consist 草鱼 of 草鱼 4 草鱼 parts, 草鱼 they 草鱼are 草鱼 control 草鱼 input 草鱼 circuit、 porkFPGA、 porkdisplay 草鱼 circuit 草鱼 and 草鱼 speaker 草鱼 circuit. 草鱼 The 草鱼 program 草鱼 design 草鱼 of 草鱼 FPGA 草鱼 is 草鱼 the 草鱼 core 草鱼 of 草鱼 the 草鱼 system 草鱼 design. 草鱼 Four 草鱼parts 草鱼

5、 combined 草鱼 to 草鱼 achieve 草鱼 the 草鱼 automatic 草鱼 play 草鱼 electronics_orgon 草鱼 system. 草鱼 the 草鱼 article 草鱼 illuminates 草鱼 the 草鱼 detail 草鱼 of 草鱼 the 草鱼 basic 草鱼 law 草鱼 of 草鱼 FPGA 草鱼 module 草鱼and 草鱼 its 草鱼 working 草鱼 timing 草鱼 characteristics. 草鱼 Since 草鱼 the 草鱼 most 草鱼 specialty 草鱼 of 草鱼 the 草鱼 pro

6、duct 草鱼 is 草鱼 its 草鱼 low 草鱼 cost、 porkhigh 草鱼 precision, 草鱼 its 草鱼 worth 草鱼 developing.草鱼 草鱼 Keyword: 草鱼 草鱼 草鱼FPGA 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 VHDL 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 Electronics_orgon 草鱼 system草鱼 草鱼 草鱼 草鱼 草 鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 Automatic 草鱼 play草鱼 草鱼 草鱼 草鱼 草鱼 目 草鱼 草鱼 草鱼录 草鱼 草鱼 摘要 2 草鱼 目录 3草鱼 第一章 系统设计

7、草鱼 草鱼 4草鱼 第一节 设计要求 草鱼 草鱼 草鱼 4草鱼 1.1 基本部分 草鱼 1.2 发挥部分 草鱼 第二节 设计思路 草鱼 4草鱼 第三节 整体设计 方案 草鱼 4草鱼 3.1 方案一 草鱼 3.2 方案二 草鱼 3.3 方案三 草鱼 第四节 草鱼 草鱼 比较方案 5草鱼 第二章 FPGA 简介 6 草鱼 第一节 FPGA 背景 草鱼 6草鱼 3 第二节 FPGA 的基本原 草鱼 6草鱼 2.1 MHZ_generator 模块的原理 草鱼 2.2 NoteTabs 模块的原理 草鱼 2.3 ToneTaba 模块的原理 草鱼 2.4 Speakera 模块的原理 草鱼 第三节 草

8、鱼 草鱼 FPGA 的基本特点 草鱼 7草鱼 第四节 草鱼 草鱼 FPGA 基本结构 草鱼 8草鱼 第三章 草鱼 草鱼单元电路设计 草鱼 草鱼 9草鱼 第一节 草鱼 草鱼 顶层模块 (top)的设计 草鱼 9草鱼 草鱼 草鱼 第二节 草鱼 草鱼 自动演奏模块( automusic)的设计 草鱼 9草鱼 第三节 草鱼 草鱼 音调发生模块( tone)的设计 9 草鱼 第四节 草鱼 草鱼 数控分频模块( speaker)的设计 草鱼 9草鱼 第四章 草鱼 草鱼PS2 键盘控制电子琴 程序 草鱼 10草鱼 第一节 草鱼 VHDL 语言简介 草鱼 草鱼 草鱼 11草鱼 第二节 草鱼 软件设计 草鱼 1

9、1草鱼 第五章 草鱼 草鱼 草鱼参考文献 草鱼 12草鱼 第 六 章 草鱼 草鱼 草鱼附录 草鱼 草鱼 13草鱼 第一章 草鱼 草鱼系统设计 草鱼 草鱼 第一节 草鱼 设计要求 草鱼 草鱼 1.1 草鱼基本部分 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 设计一 二十一 音电子琴 , 鲤鱼 由键盘输入来控制其对应的音响 。 草鱼草鱼 1.2 草鱼发挥部分 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 设计一乐曲自动演奏器 , 鲤鱼 由用户自己编制乐 曲存入电子琴 , 鲤鱼 电子琴可以完成自动演奏的功能 。 草鱼草鱼 草鱼 第二节 草鱼 设计思路 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 通过可编程逻辑器件

10、( PLD)和 VHDL 硬件描述引言来实现电子琴的基本部分和发挥部分的设计 。 草鱼 对于基本部分 , 鲤鱼 设计的主体是数控分频器 , 鲤鱼 对输入的频率进行分频 , 鲤鱼 得到各个音阶对应的频率最为输出 。 草鱼 对于发挥部分 , 鲤鱼 则在原设计的基础上 , 鲤鱼 增加一个乐曲存储模块 ,鲤鱼 代替了键盘输入 , 鲤鱼 产生节拍控制( index 数据存留时间)和音阶选择信号 , 鲤鱼 即在此模块中可存放一个乐曲曲谱真值表 , 鲤鱼 由一个计数器来控制此真值表的输出 , 鲤鱼 而由此计数器的计数时钟信号作为乐曲节拍控制信号 , 鲤鱼 从而可以设计出一个纯硬件的乐曲自动演奏电路 。 草鱼

11、草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 通过可编程逻辑器件( PLD)和 VHDL 硬件描述引言来实现电子琴的基本部分和发挥部分的设计 。 草鱼 对于基本部分 , 鲤鱼 设计的主体是数控分频器 , 鲤鱼 对输入的频率进行分频 , 鲤鱼 得到各个音阶对应的频率最为输出 。 草鱼 对于发挥部分 , 鲤鱼 则在原设计的基础上 , 鲤鱼 增加一个乐曲存储模块 ,4 鲤鱼 代替了键盘输入 , 鲤鱼 产生节拍控制( index 数据存留时间) 和音阶选择信号 , 鲤鱼 即在此模块中可存放一个乐曲曲谱真值表 , 鲤鱼 由一个计数器来控制此真值表的输出 , 鲤鱼 而由此计数器的计数时钟信号作为乐曲节拍控制信

12、号 , 鲤鱼 从而可以设计出一个纯硬件的乐曲自动演奏电路 。 草鱼草鱼 草鱼 第三节 草鱼 整体设计 方案 草鱼 草鱼 3.1 草鱼 草鱼 方案一 :草鱼 草鱼 采用数字逻辑电路制作 , 鲤鱼 用 IC 草鱼 拼凑焊接实现 , 鲤鱼 这种电路很直观 , 鲤鱼 简单方便 。 草鱼 但应用数字逻辑电路制作的话 , 鲤鱼 使用的器件较多 , 鲤鱼 连接复杂 , 鲤鱼 体积大 , 鲤鱼 功耗大 。 草鱼 电路中焊点和线路较多会 ,使成品的稳定度和精度大 大降低 。 草鱼草鱼 草鱼 3.2 草鱼 方案二 :草鱼 草鱼 采用现场可编程逻辑器件( FPGA)制作 , 鲤鱼 利用 EDA 软件中的 VHDL

13、硬件描述语言编程进行控制 , 鲤鱼 然后烧制实现 .采用 FPGA 来设计的原理图如图 1.1 所示 .它由控制输入电路 、 porkFPGA、 pork显示电路和扬声器电路组成 。 草鱼草鱼 草鱼 草鱼 图 1.1 草鱼 草鱼 采用 FPGA 设计的电子琴原理方框图 草鱼 草鱼 草鱼 草鱼 草鱼 控制输入电路主要是为用户设计的 ,起到一个输入控制的作用 .FPGA 是现 场可编程逻辑器件 ,也是本设计方案的核心内容 ,它是实现电子琴运作的主要控制模块 .由设计者把编好的VHDL 程序烧制到现场可编程逻辑器件 FPGA 中 ,然后通过控制输入电路把乐谱输入到 FPGA,产生不同的频率驱动扬声器

14、 ,发出不同的乐谱 .同时也把发出的乐谱符号通过显示器输出 .草鱼 草鱼 3.3 草鱼 草鱼 方案三 :草鱼 草鱼 草鱼 草鱼 草鱼 单片机现在已经达到很成熟的阶段了 ,它的应用也十分广泛 . 草鱼 采用单片机来实现电子琴 ,它的原理方框图与用 FPGA 来实现的原理方框图类似 ,如图 1.2 所示 .草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 琴键( 21 个) FPGA 芯片 音乐控制键 MUSIC 预 存储歌曲 扬声器 发光二极管 音阶显示 控制输入电路 MCU(单片机 ) 显示电路 扬声器电路 5 图 1.2 草鱼 草鱼 采用单片机实现电子琴的原理方框图 草鱼 草鱼 草鱼 草鱼 草鱼 图 1.

15、1 和图 1.2 的基本原理都相同 ,唯一不同的是一个是用 FPGA 来制作一个是用单片机来实现 .采用单片机来实现电子琴 ,主要的核心是单片机的设计 .草鱼 草鱼 第四节 草鱼 草鱼 草鱼 比较方案 草鱼 草鱼 草鱼 对于电子琴的设计 ,三个方案均可以实现 ,但是第一个方案中采用的是数字逻辑电路来制作 ,该电路硬件所需的器材多 ,体积庞大 ,比较复杂 ,而且精度和稳定度都不是很高 .第二个方案采用的是现场可编程逻辑器件来实现 , 草 鱼 它的优点是所有电路集成在一块芯片上 , 鲤鱼 此方案所需的外围电路简单 ,这样它的体积就减少了 , 鲤鱼 同时还提高了系统的稳定度 。 草鱼 还可以用Mod

16、elsim 软件进行仿真和调试等 。 草鱼 设计人员可以充分利用 VHDL 硬件描述语言方便的编程 ,鲤鱼 提高开发效率 , 鲤鱼 缩短研发周期 , 鲤鱼 降低研发成本 ; pork而且易于进行功能的扩展 , 鲤鱼 实现方法灵活 ,鲤鱼 调试方便 , 鲤鱼 修改容易 .方案三也有它的优点 ,但同时也存在缺点 .它对设计者的要求比较高 ,设计者对软硬件必须十分熟悉 .和方案二来比它的实验仿真没有方案二简单直观 ,调试也有一定的难度 .在外界环境相同的条件下 ,方案三设计出来的产品精度和稳定度要比方案二稍微差一些 .因此 ,电子琴的设计我们选择方案二来实现 。 草鱼草鱼 第二章 草鱼 草鱼 草鱼F

17、PGA 简介 草鱼 第一节 草鱼 FPGA 背景 草鱼 目前以硬件描述语言( Verilog 草鱼 或 草鱼 VHDL)所完成的电路设计 , 鲤鱼 可以经过简单的综合与布局 , 鲤鱼 快速的烧录至 草鱼 FPGA 草鱼 上进行测试 , 鲤鱼 是现代 草鱼 IC 草鱼 设计验证的技术主流 。草鱼 这些可编辑元件可以被用来实现一些基本的逻辑门 电路 (比如 AND、 porkOR、 porkXOR、 porkNOT)或者更复杂一些的组合功能比如解码器或数学方程式 。 草鱼 在大多数的 FPGA 里面 , 鲤鱼 这些可编辑的元件里也包含记忆元件例如 触发器 ( Flip flop)或者其他更加完整的

18、记忆块 。 草鱼 草 鱼草鱼 系统设计师 可以根据需要通过可编辑的连接把 FPGA 内部的逻辑块连接起来 , 鲤鱼 就好像一个电路试验板被放在了一个 芯片 里 。 草鱼 一个出厂后的成品 FPGA 的逻辑块和连接可以按照设计者而改变 , 鲤鱼 所以 FPGA 可以完成所需要的逻辑功能 。 草鱼 草 鱼草鱼 FPGA 一般来说比 ASIC(专用 集成芯片 )的速度要慢 , 鲤鱼 无法完成复杂的设计 , 鲤鱼 而且消耗更多的电能 。 草鱼 但是他们也有很多的优点比如可以快速成品 , 鲤鱼 可以被修改来改正程序中的错误和更便宜的造价 。 草鱼 厂商也可能会提供便宜的但是编辑能力差的 FPGA。 草鱼

19、 因为这些芯片有比较差的可编辑能力 , 鲤鱼 所以这些设计的开发是在普通的 FPGA 上完成的 ,鲤鱼 然后将设计转移到一个类似于 ASIC 的芯片上 。 草鱼 另外一种方法是用 CPLD(复杂 可编程逻辑器件 备) 。 草鱼 草鱼 草鱼 草鱼 第二节 草鱼 草鱼 草鱼 FPGA 的基本原理 草鱼 2.1 草鱼 草鱼MHZ_generator 模块的原理 草鱼 草鱼 草鱼 草鱼 分频器钟频率 , 鲤鱼 输出是每秒 12MHZ 的频率和 8HZ 的频率 。 草鱼 其内部实际是一个计数器 , 鲤鱼根据所需要的要求 的输入是一个标准时 进行不同的分频设计 。 草鱼 本程序中已知标准频率为32MHZ,

20、 鲤鱼 要得到 12MHZ和 8HZ 的频率 , 鲤鱼 通过 计算我们可以确定它的分频系数 . 草鱼 MHZ_generator模块的工作时序仿真图 (略 ),它的程序见附录 草鱼 草鱼 2.2 草鱼NoteTabs 模块的原理 草鱼 6 草鱼 草鱼 NoteTabs 模块其实就是一个乐谱预置器 ,可设置电子琴演奏的乐谱 .原理很简单即来一个脉冲输出一个已设置好的乐谱 .假定预先设计的乐谱为 3 草鱼 3 草鱼 3 草鱼 5 草鱼 5 草鱼 5 草鱼 6 草鱼 2 草鱼 1 草鱼 1 草鱼 3 草鱼 3 草鱼 3 草鱼 3 草鱼 3 草鱼 3 它的输出工作时序仿真图如图 2.2 所示 ,程序见

21、附录 .草鱼 草鱼 图 2.2 草鱼 草 鱼NoteTabs模块的工作原理仿真图 草鱼 草鱼 2.3 草鱼 草鱼ToneTaba 模块的原理 草鱼 ToneTaba 模块是一个音阶发生器 ,实质是译码电路 , 鲤鱼 控制音调的预置数 .乐谱信号是该模块的敏感信号 , 草鱼 输入的每一个乐谱都将被译成与之相对映的频率从 Tone 端口输出去控制Speakera模块 ,让 Speakera模块发出不同的音调 .ToneTaba模块在将乐谱译成相映的频率的同时会将乐谱的符号从 codel输出到显示部分 ,并判断乐谱是高音还是低音 ,再从 highl端口输出去显示 .在 ToneTaba 模块的设计中

22、 tone 的计算很重要 ,tone 是根据产生该音阶频率所对应的分频比获得的 .此值是通过查表和计算所到 ,查表我们可以知道每个乐谱符号的频率 ,然后计算出要得到该乐谱的频率所需的分频系数 .例如音符 1 的发音 ,通过查表得它的频率是 785HZ 左右 ,我们要计算 tone 的值可由公式 :草鱼 音符频率 =振荡频率 /(16#7FF#-tone 的值 )草鱼 振荡频率是经过分频之后得到的 ,在此是 1MHZ,由公式可计算出 tone 的值为 :773.草鱼 草鱼 2.4 草鱼Speakera 模块的原理 草鱼 草鱼 草鱼 草鱼 模块 Speakera 中的主要电路是一个数控分频器 ,它

23、由一个初值可预置的加法计数器和两个分频器构成 .数控分频器的功能就是当输入端给定不同的输入时 ,将对输入的时钟信号有不同的分频比 , 草鱼 Speakera 模块中的数控分频器就是用计数值可并行预置的加法计数器设计完成的 ,方法是将计数溢出位与预置数加载输入信号相接即可 .当模块 Speakera 由端口tone获得一个十进制数后 ,将以此值为计数器的预置数 ,对端口 CLK12MHZ输入的频率进行分频 ,之后将输出再进行 2 分频 , 鲤鱼 将脉冲展宽 , 鲤鱼 以使扬声器有足够功率发音 ,最后由 SPKOUT 向扬声器 输出发声 . 草鱼 Speakera模块的工作时序仿真图如图 2.4所

24、示 ,程序见附录 .注 :为了能清晰的看到输入与输出的关系 ,第一次分频系数设的是 2,第二次分频系数设的是 5,第三次是2.草鱼 7 草鱼 图 2.4 草鱼 草鱼 Speakera模块的工作时序仿真图 草鱼 草鱼 第 三 节 草鱼 草鱼 FPGA 的基本特点 草鱼 1)采用 FPGA 设计 ASIC 电路 (专用集成电路 ), 鲤鱼 用户不需要投片生 产 , 鲤鱼 就能得到合用的芯片 。 草鱼 草 鱼草鱼 2) FPGA 可做其它全定制或半定制 ASIC 电路的中试样片 。 草鱼 草 鱼草鱼 3) FPGA 内部有丰富的触发器和 I O 引脚 。 草鱼 草 鱼草鱼 4) FPGA 是 ASI

25、C 电路中设计周期最短 、 pork开发费用最低 、 pork风险最小的器件之一 。 草鱼 草鱼 草鱼 5) 草鱼 FPGA 采用高速 CHMOS 工艺 , 鲤鱼 功耗低 , 鲤鱼 可以与 CMOS、 porkTTL 电平兼容 。 草鱼 草 鱼草鱼 可以说 , 鲤鱼 FPGA 芯片是小批量系统提高系统集成度 、 pork可靠性的最佳选择之一 。 草鱼 草鱼 草鱼 FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的 , 鲤鱼 因此 , 鲤鱼 工作时需要对片内的 RAM 进行编程 。 草鱼 用户可以根据不同的配置模式 , 鲤鱼 采用不同的编程方式 。 草鱼 草鱼 草鱼 加电时 , 鲤鱼

26、FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中 , 鲤鱼 配置完成后 , 鲤鱼 FPGA 进入工作状态 。 草鱼 掉电后 , 鲤鱼 FPGA 恢复成白片 , 鲤鱼 内部逻辑关系消失 , 鲤鱼 因此 , 鲤鱼 FPGA 能够反 复使用 。草鱼 FPGA 的编程无须专用的 FPGA 编程器 , 鲤鱼 只须用通用的 EPROM、 porkPROM 编程器即可 。 草鱼 当需要修改 FPGA 功能时 , 鲤鱼 只需换一片 EPROM 即可 。 草鱼 这样 , 鲤鱼 同一片 FPGA, 鲤鱼 不同的编程数据 , 鲤鱼 可以产生不同的电路功能 。 草鱼 因此 , 鲤鱼 FPGA 的使用非常灵

27、活 草鱼 草鱼 第四节 FPGA 基本结构 草鱼 FPGA 具有掩膜可编程门阵列的通用结构 , 鲤鱼 它由逻 辑功能块排成阵列组成 , 鲤鱼 并由可编程的互连资源连接这些逻辑功能块来实现不同的设计 。 草鱼 草鱼草鱼 下面以 Xilinx 公司的 FPGA 为例 , 鲤鱼 分析其结构特点 。 草鱼草鱼 FPGA 一般由三种可编程电路和一个用于存放编程数据的静态存储器 SRAM 组成 。 草鱼 这三种可编程电路是 : pork可编程逻辑块 (Configurable 草鱼 Logic 草鱼 Block, 鲤鱼 CLB)、 pork输入 /输出模块 (I/O 草鱼 Block,鲤鱼 IOB)和互连

28、资源 (Interconnect 草鱼 Resource, 鲤鱼 IR)。 草鱼 FPGA 的基本结 构如图 1.19 所示 , 鲤鱼 可编程逻辑块 (CLB)是实现逻辑功能的基本单元 , 鲤鱼 它们通常规则地排列成一个阵列 , 鲤鱼 散布于整个芯片 ;pork可编程输入 /输出模块 (IOB)主要完成芯片上的逻辑与外部封装脚的接口 , 鲤鱼 它通常排列在芯片的四周 ; pork可编程互连资源 (IR)包括各种长度的连线线段和一些可编程连接开关 , 鲤鱼 它们将各个CLB 之间或 CLB、 por kIOB 之间以及 IOB 之间连接起来 , 鲤鱼 构成特定功能的电路 。 草鱼草鱼 8 草鱼

29、FPGA 的功能由逻辑结构的配置数据决定 。 草鱼 工作时 , 鲤鱼 这些配置数据存放在片内的 SRAM 或熔丝图上 。 草鱼 基于 SRAM 的 FPGA 器件 , 鲤鱼 在工作前需要从芯片外部加载配置数据 , 鲤鱼 配置数据可以存储在片外的 EPROM 或其他存储体上 。 草鱼 用户可以控制加载过程 , 鲤鱼 在现场修改器件的逻辑功能 , 鲤鱼 即所谓的现场编程 。 草鱼草鱼 草鱼 草鱼 草鱼 9 草鱼 草鱼 第三章 草鱼单元电路设计 草鱼 第一节 草鱼 草鱼 草鱼 草鱼 顶层模 块 (top)的设计 草鱼草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 VHDL 采用的是自顶向下的设计方式 , 鲤鱼

30、顶层模块由乐曲自动演奏( automusic) , 鲤鱼 音调发生器( tone)和数控分频器( speaker)三个模块组成 。 草鱼 图 2-1-1 即是顶层设计原理图 。 草鱼 其中乐曲演奏部分又包括了键盘编码 。 草鱼 设置一个自动演奏 /键盘输入切换 auto, 鲤鱼 即当 auto=0时 , 鲤鱼 选择自动演奏音乐存储器里面的乐曲 , 鲤鱼 auto=1时 , 鲤鱼 选择由键盘输入的信号 , 鲤鱼 再对其进行编码 , 鲤鱼 输出的都是八位二进制数 , 鲤鱼 对应音调 发生器的输入 。 草鱼 草鱼 图 2-1-1 草鱼 顶层设计原理图 草鱼 第二节 草鱼 草鱼 草鱼 自动演奏模块 (

31、doremi)的设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 为了实现扩展部分的设计 , 鲤鱼 便需要多加上一个音乐存储模块 , 鲤鱼 该模块的作用是产生 8位发声控制输入 index, 鲤鱼 auto 为 0 或 1 时可以选择自动演奏或者键盘输入 , 鲤鱼 如果 auto 为 0, 鲤鱼则而由存储在此模块中的 8 位二进制数来作为发声控制输入 , 鲤鱼 由此便可自动演奏乐曲 。 草鱼 此模块的 VHDL 语言中包括两个进程 , 鲤鱼 首先是对基准脉冲进行分频得到 4Hz 的脉冲 , 鲤鱼 作为第二个进程的时钟信号 , 鲤鱼 它的目的是控制每个音阶之间的停顿时间 , 鲤鱼 此处便是 1/4=0.

32、25s, 鲤鱼 第二个进程是音乐的存储 , 鲤鱼 可根据需要编写不同的乐曲 。 草鱼草鱼 草鱼 第三节 草鱼 草鱼 草鱼 音调发生器 (note_tabs)模块的设计 草鱼 草鱼 音调发生器的作用是产生获得音阶的分频预置值 。 草鱼 当 8 位发声控制输入 index 中的某一位为高电平时 , 鲤鱼 则对应某一音阶的数值将以端口 tone 输出 , 鲤鱼 作为获得该音阶的分频预置值 , 鲤鱼 该值作为数控分频器的输入 , 鲤鱼 来对 4MHz 的脉冲进行分频 , 鲤鱼 由此得到每个音阶相 应的频率 , 鲤鱼例如输入 index=“00000010“, 鲤鱼 即对应的按键是 2, 鲤鱼 产生的分

33、频系数便是 6809; pork由 code 输出对应该音阶简谱的显示数码 ; por k由 high 输出指示音阶高 8 度的显示 , 鲤鱼 低电平有效 。 草鱼草鱼 草鱼 第四节 草鱼 草鱼 草鱼 数控分频模块( speaker)的设计 草鱼 草鱼 数控分频模块的目的是对基准脉冲分频 , 鲤鱼 得到 1,2,3,4,5,6,7 七个音符对应频率 。 草鱼 该模块的VHDL 描述中包含了三个进程 。 草鱼 首先对 32MHz 的基准脉冲进行分频得到 8MHz 的脉冲 , 鲤鱼10 然后按照 tone1 输入的分频系数对 4MHz 的脉冲再次分频 , 鲤鱼 得到的便是所需要的频率 。 草鱼 而

34、第三个进程的作用是在音调输出时再进行二分频 , 鲤鱼 将脉冲展宽 , 鲤鱼 以使扬声器有足够功率发音 。草鱼草鱼 第四章 草鱼 草鱼PS2 键盘控制电子琴程序 草鱼 草鱼 第一节 草鱼 草鱼 草鱼 草鱼 VHDL 硬件描述语言简介 草鱼 草鱼 PLD 的软件已发展得相当完善 , 鲤鱼 利用 VHDL 硬件描述语言来实现程序的编制 , 鲤鱼 这样硬件的功能描述可以完全在软件上实现 。 草鱼 VHDL 是用于逻辑设计的硬件描述语言 , 鲤鱼 成为 IEEE 标准 。草鱼 它作为描述硬件电路的语言 , 鲤鱼 有以下特点 : pork草鱼 ( 1) 草鱼 VHDL 的宽范围描述能力使它成为高层次设计的

35、核心 , 鲤鱼 将设计人员的工作重心提高到了系统功能的实现与调试 , 鲤鱼 而花较少的精力于物理实现 。 草鱼 ( 2) 草鱼 VHDL 可以用简洁明确的代码描述来进行复杂控制逻辑 的设计 , 鲤鱼 灵活且方便 , 鲤鱼 而且也便于设计结果的交流 、 pork保存和重用 。草鱼草鱼 ( 3) VHDL 的设计不依赖于特定的器件 , 鲤鱼 同一个 HDL 原码可以综合 成 FPGA 或 ASIC,方便了工艺的转换 。 草鱼草鱼 ( 4) VHDL 是一个标准语言 , 鲤鱼 为众多的 EDA 厂商支持 , 鲤鱼 而且设计出来的电路大多数并行运行 ,因此移植性好且速度快 。 草鱼 采用 VHDL 语

36、言设计复杂数字电路的方法具有很多优点 , 鲤鱼 其语言的设计技术齐全 、 por k方法灵活 、 pork支持广泛 。 草鱼 它可以支持自顶向下( Top 草鱼 Down)和基于库( Library_Based)的设计方法 , 鲤鱼 而且还支持同步电路 、 pork异步电路 、 porkFPGA 以及其他随机电路的设计 , 鲤鱼 其范围很广 , 鲤鱼 语言的语法比较严格 , 鲤鱼 给阅读和使用都带来了极大的好处 。 草鱼草鱼 草鱼 第二节 草鱼 草鱼 草鱼 草鱼 软件设计 草鱼 草鱼 本设计采用 Xilinx 公司的 EDA 软件系统 Foundation 草鱼 Series 草鱼 ISE 草鱼 4.2i 来完成 。 草鱼 采用自顶向下的设计方法 。 草鱼 图 3.2.1 为其软件流程图 。 草鱼草鱼 草鱼

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。