基于FPGA的电子琴设计
摘要:系统应用FPGA技术,通过VHDL编程,在CPLD上实现。电子琴的基本原理是产生各
个音符对应的频率,将频率放大后驱动喇叭发出音响。该电子琴包括手动弹奏与自动演奏两种功能,其中手动弹奏时还可录音回放。文中叙述了电子琴的设计原理和分块实现的方法,详细介绍各模块的设计及模块之间的连接组合方法,还包括电子琴的使用说明。
关键字:音符 频率 自动演奏 录音回放
Abstract
The system is an application of FPGA using VHDL on a CPLD chip. The basic principle of a vibraphone is to generate the frequencies of the tones. Then the frequencies are amplified to drive the speaker to make sounds. The two functions of this vibraphone are hand playing and automatic playing. While hand playing, what was played can be recorded and then repeated. The designing will be discussed in the following paper, design on each module and combination of the modules are given in details. An operation guide of this vibraphone is also included.
Keywords: Tone Frequency Automatic playing record & repeat
1
目录
第一章 系统设计………………………………………………3 第二章 单元电路设计…………………………………………3
第三章 第四章 第五章 第六章
2.1音频发生器的设计 …………………………………3 2.2存储器模块的设计 …………………………………4 2.3采样速率发生器的设计………………………………4 2.4键盘模块的设计 ……………………………………4 2.5各模块的连接方法 ………………………………5
软件设计………………………………………………5 系统测试………………………………………………6 结论及参考文献………………………………………6 附录……………………………………………………6
2
一、 系统设计
根据系统的两大功能:手动弹奏与自动演奏,可将其分成音频发生模块,键盘控制模块和存储器模块三部分。系统框图如图1.1所示。音频发生模块由分频器组成,产生8个频率(还可扩展),对应8个音符(中央C,D,E,F,G,A,B和高音C),这些频率经放大后驱动喇叭,即可发出声音。键盘选择手动弹奏模式时,按下音符键后就选通相应的频率输出,可同时多个频率叠加输出,产生和弦效果,若同时打开录音开关,还可将所奏音乐记录下来,然后回放;选择自动演奏模式时,存储器里事先编写好的音符信息被依次取出,去选通各个频率输出,实现自动奏乐。
音频发生模块 键 盘 总 控 制 线 线 存储器
图1.1 系统结构框图
1.1方案比较:
方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。其特点是直接用现成的IC组合而成,简单方便,但本系统需用到许多分频器,使得使用的IC将相当多,因而体积庞大,连线复杂。
方案二:采用单片机实现,通过软件编程,仿真后将程序用编程器写入到单片机芯片上,该方案成本低,稳定度较好,但外围电路较多,可别是录音时需要用到大容量的外部存储器,增加了编程难度,调试不够直观方便灵活。
方案三:采用可编程逻辑器件(CPLD)制作,将所有器件集成在一块芯片上,体积大大减小,用VHDL编程实现时更加方便,易于进行功能扩展,并可调试仿真,制作时间大大缩短。因此选用方案三。
二、 单元电路设计
2.1音频发生器的设计
基本原理:音频发生器用于产生8个音符对应当频率,因此需使用8个不同分频数的分频器。表2.1给出了音符,频率,及分频数的对应关系。也可设计一个分频系数可预置的分频器,按键时送出分频系数来得到音频,但局限于每次只发出一个声音;若要同时发出几个声音,产生和弦效果,则必须使用多个分频器。分频器直接对32MHz晶振分频,可减少计算误差,得到较好的音质。例如:中央C的频率是161.63Hz,如果先将32MHz频率降到1MHz,再进行1000000/261.63=3822(只取整数)次分频,得到的将是261.643Hz,而直接进行32000000/261.63=122310次分频,则得到的是261.6302Hz,可见,频率更加准确,音响效果更好。通过实际测试,也证明了这一现象。
3
基于FPGA的电子琴设计
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)