基于FPGA电子琴设计.docx
- 文档编号:662081
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:18
- 大小:44.92KB
基于FPGA电子琴设计.docx
《基于FPGA电子琴设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA电子琴设计.docx(18页珍藏版)》请在冰豆网上搜索。
基于FPGA电子琴设计
CompanyDocumentnumber:
WUUT-WUUY-WBBGB-BWYTT-1982GT
基于FPGA电子琴设计
南京师范大学物理科学与技术学院
科研基金论文
姓名:
xxxxxx
班级:
08级通信工程
设计题目:
基于FPGA的PS/2键盘控制电子琴
指导教师:
宁晨
二〇一一年六月
摘要
文中介绍了电子琴系统的整体设计,并基于超高速硬件描述语言VHDL在Altera公司的CycloneⅡ系列的EP2C8Q208CN芯片上编程实现.
电子琴系统的设计包含四个模块,分别是控制输入电路、FPGA、显示电路和扬声器电路。
其中FPGA模块的设计是整个电子琴系统设计的核心内容。
四个模块的有机组合完成了电子琴自动演奏的功能。
文中还详细介绍了FPGA功能模块的原理及其工作时序仿真图。
本产品的特点是成本较低,性能稳定,精度高,有一定的开发价值。
DesignofElectronics_orgonsystembasedonFPGA
Abstract:
Itwillintroducetheintegratedesign—electronics_orgonsystembasedonFPGA.Thedesignwillbeachievedinthe2sc200—5pq208chipofXilinxcorporationwiththeVHDL(VeryHigh-speedDescription-Language)
ThedesignofElectronics_orgonSystemconsistof4parts,theyarecontrolinputcircuit、FPGA、displaycircuitandspeakercircuit.TheprogramdesignofFPGAisthecoreofthesystemdesign.Fourpartscombinedtoachievetheautomaticplayelectronics_orgonsystem.thearticleilluminatesthedetailofthebasiclawofFPGAmoduleandit’sworkingtimingcharacteristics.Sincethemostspecialtyoftheproductisit’slowcost、highprecision,it’sworthdeveloping.
Keyword:
FPGAVHDLElectronics_orgonsystem
Automaticplay
摘要………………………………………………………………………………2
目录………………………………………………………………………………3
第一章系统设计………………………………………………………4
第一节设计要求……………………………………………………4
基本部分
发挥部分
第二节设计思路………………………………………………………4
第三节整体设计方案…………………………………………………4
方案一
方案二
方案三
第四节比较方案………………………………………………………5
第二章FPGA简介………………………………………………………6
第一节FPGA背景……………………………………………………6
第二节FPGA的基本原………………………………………………6
MHZ_generator模块的原理
NoteTabs模块的原理
ToneTaba模块的原理
Speakera模块的原理
第三节FPGA的基本特点……………………………………………7
第四节FPGA基本结构………………………………………………8
第三章单元电路设计…………………………………………………9
第一节顶层模块(top)的设计…………………………………………9
第二节自动演奏模块(automusic)的设计…………………………9
第三节音调发生模块(tone)的设计…………………………………9
第四节数控分频模块(speaker)的设计……………………………9
第四章PS2键盘控制电子琴程序…………………………………10
第一节VHDL语言简介……………………………………………11
第二节软件设计………………………………………………………11
第五章参考文献………………………………………………………12
第六章附录……………………………………………………………13
第一章系统设计
第一节设计要求
基本部分
设计一二十一音电子琴,由键盘输入来控制其对应的音响。
发挥部分
设计一乐曲自动演奏器,由用户自己编制乐曲存入电子琴,电子琴可以完成自动演奏的功能。
第二节设计思路
通过可编程逻辑器件(PLD)和VHDL硬件描述引言来实现电子琴的基本部分和发挥部分的设计。
对于基本部分,设计的主体是数控分频器,对输入的频率进行分频,得到各个音阶对应的频率最为输出。
对于发挥部分,则在原设计的基础上,增加一个乐曲存储模块,代替了键盘输入,产生节拍控制(index数据存留时间)和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
通过可编程逻辑器件(PLD)和VHDL硬件描述引言来实现电子琴的基本部分和发挥部分的设计。
对于基本部分,设计的主体是数控分频器,对输入的频率进行分频,得到各个音阶对应的频率最为输出。
对于发挥部分,则在原设计的基础上,增加一个乐曲存储模块,代替了键盘输入,产生节拍控制(index数据存留时间)和音阶选择信号,即在此模块中可存放一个乐曲曲谱真值表,由一个计数器来控制此真值表的输出,而由此计数器的计数时钟信号作为乐曲节拍控制信号,从而可以设计出一个纯硬件的乐曲自动演奏电路。
第三节整体设计方案
方案一:
采用数字逻辑电路制作,用IC拼凑焊接实现,这种电路很直观,简单方便。
但应用数字逻辑电路制作的话,使用的器件较多,连接复杂,体积大,功耗大。
电路中焊点和线路较多会,使成品的稳定度和精度大大降低。
方案二:
采用现场可编程逻辑器件(FPGA)制作,利用EDA软件中的VHDL硬件描述语言编程进行控制,然后烧制实现.采用FPGA来设计的原理图如图所示.它由控制输入电路、FPGA、显示电路和扬声器电路组成。
图采用FPGA设计的电子琴原理方框图
控制输入电路主要是为用户设计的,起到一个输入控制的作用.FPGA是现场可编程逻辑器件,也是本设计方案的核心内容,它是实现电子琴运作的主要控制模块.由设计者把编好的VHDL程序烧制到现场可编程逻辑器件FPGA中,然后通过控制输入电路把乐谱输入到FPGA,产生不同的频率驱动扬声器,发出不同的乐谱.同时也把发出的乐谱符号通过显示器输出.
方案三:
单片机现在已经达到很成熟的阶段了,它的应用也十分广泛.采用单片机来实现电子琴,它的原理方框图与用FPGA来实现的原理方框图类似,如图所示.
图采用单片机实现电子琴的原理方框图
图和图的基本原理都相同,唯一不同的是一个是用FPGA来制作一个是用单片机来实现.采用单片机来实现电子琴,主要的核心是单片机的设计.
第四节比较方案
对于电子琴的设计,三个方案均可以实现,但是第一个方案中采用的是数字逻辑电路来制作,该电路硬件所需的器材多,体积庞大,比较复杂,而且精度和稳定度都不是很高.第二个方案采用的是现场可编程逻辑器件来实现,它的优点是所有电路集成在一块芯片上,此方案所需的外围电路简单,这样它的体积就减少了,同时还提高了系统的稳定度。
还可以用Modelsim软件进行仿真和调试等。
设计人员可以充分利用VHDL硬件描述语言方便的编程,提高开发效率,缩短研发周期,降低研发成本;而且易于进行功能的扩展,实现方法灵活,调试方便,修改容易.方案三也有它的优点,但同时也存在缺点.它对设计者的要求比较高,设计者对软硬件必须十分熟悉.和方案二来比它的实验仿真没有方案二简单直观,调试也有一定的难度.在外界环境相同的条件下,方案三设计出来的产品精度和稳定度要比方案二稍微差一些.因此,电子琴的设计我们选择方案二来实现。
第二章FPGA简介
第一节FPGA背景
目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如(Flip-flop)或者其他更加完整的记忆块。
可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个里。
一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。
但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。
厂商也可能会提供便宜的但是编辑能力差的FPGA。
因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。
另外一种方法是用CPLD(复杂备)。
第二节FPGA的基本原理
MHZ_generator模块的原理
分频器钟频率,输出是每秒12MHZ的频率和8HZ的频率。
其内部实际是一个计数器,根据所需要的要求的输入是一个标准时进行不同的分频设计。
本程序中已知标准频率为32MHZ,要得到12MHZ和8HZ的频率,通过计算我们可以确定它的分频系数.MHZ_generator模块的工作时序仿真图(略),它的程序见附录
NoteTabs模块的原理
NoteTabs模块其实就是一个乐谱预置器,可设置电子琴演奏的乐谱.原理很简单即来一个脉冲输出一个已设置好的乐谱.假定预先设计的乐谱为3335556211333333它的输出工作时序仿真图如图所示,程序见附录.
图NoteTabs模块的工作原理仿真图
ToneTaba模块的原理
ToneTaba模块是一个音阶发生器,实质是译码电路,控制音调的预置数.乐谱信号是该模块的敏感信号,输入的每一个乐谱都将被译成与之相对映的频率从Tone端口输出去控制Speakera模块,让Speakera模块发出不同的音调.ToneTaba模块在将乐谱译成相映的频率的同时会将乐谱的符号从codel输出到显示部分,并判断乐谱是高音还是低音,再从highl端口输出去显示.在ToneTaba模块的设计中tone的计算很重要,tone是根据产生该音阶频率所对应的分频比获得的.此值是通过查表和计算所到,查表我们可以知道每个乐谱符号的频率,然后计算出要得到该乐谱的频率所需的分频系数.例如音符’1’的发音,通过查表得它的频率是785HZ左右,我们要计算tone的值可由公式:
音符频率=振荡频率/(16#7FF#-tone的值)
振荡频率是经过分频之后得到的,在此是1MHZ,由公式可计算出tone的值为:
77
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 电子琴 设计