武汉理工大学FPGA应用课程设计
Abstract
With the expansion and further FPGA-based EDA technology development and applications, the importance of EDA technology in the field of electronic information, communication, computer and other automatic control have become increasingly prominent. EDA technology is to the computer as a tool designer in the EDA software platform, hardware description language HDL complete the design file and then automatically done by computer logic compilation, simplification, segmentation, integration, optimization, placement, routing and simulation, until for specific target chip adapter compilation, mapping and logic programming download work.
Use of EDA tools, electronic designers from concept, algorithms, protocols, and so began the design of electronic systems, a lot of work can be done by computer and electronic products can be from the circuit design, performance analysis to the entire process of IC layout design or layout of the PCB automatic processing is completed on the computer.
The design is mainly based on VHDL text input music performance circuit design, each module using VHDL language of simple flower design, and the use of EDA tools for
simulation of each module. The system is based on the principle of the computer clock divider, using top-down design approach to achieve, through the key input to control the sound or song to automatically play has been deposited. System from automatically playing music module, tone generator module and NC divider module three parts. When you select the manual mode after the play button, it will note is pressed the corresponding frequency strobe output; Select Auto Play mode button, the reservoir will be removed in order to write good music information, each corresponding to the frequency of the strobe output, automatic playing. System implementation is hardware description language VHDL by a modular approach to design, and then programming, timing simulation, circuit functional verification, play wonderful music (of course, due to constraints, they will not perform functional verification, and timing simulation program only) .
Key words: EDA, VHDL, electronic organ, automatic play
2
武汉理工大学FPGA应用课程设计
1设计意义和要求
1.1设计意义
电子琴作为音乐与科技的产物,在电子化和信息化的时代,为音乐的大众化做出了很大的贡献,歌曲的制作大多数都要由电子琴来完成,然后通过媒介流传开来,电视剧和电影的插曲、电视节目音效、甚至手机铃声,都很可能包含电子琴的身影。
电子琴是数字电路中的一个典型应用。然而在实际的硬件设计中用到的器件非常多,连线比较复杂,同时会产生比较大的延时,从而造成测量误差较大,可靠性不好。以EDA工具作为开发手段,运用VHDL硬件描述语言可以使使整个系统大大简化,提高了电子琴整体的性能和可靠性。
1.2功能要求
1)设计一个八音电子琴;
2)由键盘输入控制音响,同时可自动演奏乐曲;
3)用户可以将自己编制的乐曲存入电子琴,演奏时可选择键盘输入乐曲或者已存入的乐曲。
3
武汉理工大学FPGA应用课程设计
2方案论证及原理分析
2.1实现方案比较
方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。其特点是直接用现成的IC组合而成,简单方便,但本系统需用到许多分频器,这就使得需要用到相当多的IC,从而造成了体积过于庞大,而且连线也会比较复杂。
方案二:由单片机来完成设计。可用单片机控制键盘的输入,以及产生相应的频率信号作为输出。目前,单片机的功能已比较强大,集成度日益增高且其设计和控制比较容易。但是由于在传统的单片机设计系统中必须使用许多分立元件组成单片机的外围电路,如锁存器,译码器等都需要单独的电路,因此整个系统显得十分复杂,抗干扰性差,在运行过程中容易死机或进入死循环,可靠性降低,而功耗费用增高。
方案三:采用可编程逻辑器件(FPGA)来完成该设计,将所有器件集成在一块芯片上,大大减小了电子琴的体积,可靠性和精度都比较好。用VHDL编程实现时更加方便,而且易于进行功能扩展,并可调试仿真,制作时间大大缩短。
综合分析后我认为,方案三采用FPGA的方法来实现,不仅可以实现按键播放音乐和自动播放音乐的要求,有较高的灵敏度和可靠性。并且原理方法和模块结构清晰,制作方案比较容易实现,所以我采用方案三作为具体实现方案。
2.2乐曲实现原理
乐曲都是由一连串的音符组成,按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。为了准确地演奏出一首乐曲,仅仅让扬声器能够发出声音是远远不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。由此可见,乐曲中每个音符的发音频率以及音符持续的时间是乐曲能够连续演奏的两个关键因素。
乐曲的12平均率规定:每2个八度音之间的频率要相差1倍,比如简谱中的中音2与高音2。在2个八度音之间,又可分为12个半音。另外,音符A(简谱中的低音5)的频率为392Hz,音符E到F之间、B到C之间为半音,其余为全音。由此可以计算出简谱中从低音l至高音1之间每个音符的频率。简谱音名与频率对应关系如表2-1所示:
4
武汉理工大学FPGA应用课程设计
音名 低音1 低音2 低音3 低音4 低音5 低音6 低音7 频率/Hz 262 296 330 350 392 440 494 音名 中音1 中音2 中音3 中音4 中音5 中音6 中音7 频率/Hz 523 587 659 698 784 880 988 音名 高音1 高音2 高音3 高音4 高音5 高音6 高音7 频率/Hz 1047 1175 1319 1397 1568 1760 1976
表2-1 简谱音名与频率的对应关系
使用一分频器来产生各音符所需的频率,但由于各音符对应的频率多为非整数,而
分频系数又不能为小数,所以必须将计算得到的分频数四舍五入取整数。若分频器时钟频率过低,则由于分频系数过小,四舍五入取整数后的误差较大;若时钟频率过高,虽然误差变小,但分频数将会变大。在实际的设计中应综合考虑这两方面的因素,在尽量减小频率误差的前提下取合适的时钟频率。实际上,只要各个音符间的相对频率关系不变,演奏出的乐曲听起来都不会走调。
设计的音乐电子琴选取32MHZ的系统时钟频率。在数控分频器模块,首先对时钟频率进行4分频,得到8MHZ的输入频率,然后再次分频得到各音符的频率。由于数控分频器输出的波形是脉宽极窄的脉冲波,为了更好的驱动扬声器发声,在到达扬声器之前需要均衡占空比,从而生成各音符对应频率的对称方波输出。这个过程实际上进行了一次二分频,将脉冲展宽。
因此,分频系数的计算可以按照下面的方法进行。以中音1为例,对应的频率值为523Hz,它的分频系数应该为:
4MHZ4?106
??7648523523 至于其他音符,可由上式求出对应的分频系数,这样利用程序可以很轻松地得到相应的乐声。各音名对应的分频系数如表2-2所示:
5
相关推荐: