器。而基于FPGA的音乐播放器,采用altera公司Cyclone系列型号为EP2C5T144I8的芯片作为FPGA的核心控制芯片,在EDA开发工具QuartusII平台上采用VHDL语言进行编写的,这种基于芯片的设计方法相比其他音乐播放器在缩减产品开发周期方面卓有成效,由于设计芯片数量少,系统体积小,可以到达我们预期的效果。
3。2设计操作步骤
3。2。1登录软件界面来自优I尔Y论S文C网WWw.YoueRw.com 加QQ7520~18766
首先双击QuratusII软件,然后进入操作界面,如图3-1所示。
图3-1QuartsⅡ操作界面图
3。2。2输入设计代码
单击File,选择VHDLFile,创建一个新的工程,再把所有的设计好的的文件输入到该工程中去。如图3-2所示。
图3-2工程文件
3。2。3 程序编译和仿真
对设计好的程序分别进行Processing StartCompilation和Processing StartSimulation,检查程序是否有错误。
3。3 设计原理
FPGA芯片是一种特殊的芯片,会发出一定的电流波形,将蜂鸣器接到上面就会发出声音。利用编程软件quartusⅡ编写特定的代码,就会使芯片输出不同的、有规律的电流,不同的电流频率会导致蜂鸣器按照某些特定的频率振动,从而产生不同的音调。但是如果仅仅是输出特定的音调还是不够的,因为歌曲都会有着自己独特的节拍、旋律,如果只有音调没有节拍,那只能是噪音,并不是音乐。所以,在输出特定频率的同时,还要普及一些乐理知识。本次实验之所以能够达到播放简易音乐的目的
是因为震动频率的不同,所以蜂鸣器发出的音调也不尽相同,这也是音乐播放器的原理。因此,为了控制蜂鸣器的振动频率发出我们想要的声音,我们需要设计一些特定的代码[8]。只有了解音调与频率之间的关系,节拍与频率之间的关系音乐播放器才可以进行正常的,优美动听的演奏。论文网
下面有一段音符节选自《HappyBirthday》的片段:
55|651|7—55|652|1—55|531|76—|0044|312|1—
乐曲想要连续流畅的播放,必须满足的两个必不可少的基本要素:乐曲各音符对应的发音频率和它持续的时间[9]。通过上网搜集资料我们便可以轻松的找到了这两个要素所对应的数值,达到我们想要的乐曲达到的播放效果。对应关系如下图表3-1所示。
表3-1音名与频率的关系
音名 频率(Hz) 音名 频率(Hz)
中音1 523 高音1 1047
中音2 587 高音2 1175
中音3 659 高音3 1382
中音4 698 高音4 1397
中音5 784 高音5 1568
中音6 880 高音6 1760
中音7 988 高音7 1976
本设计中各个音名所对应的频率会由一个12MHz的基准频率通过整数分频后得到。实际上音名频率并不是一个整数,由于分频系数不能为小数,这种情况下我们只有把得到的分频系数四舍五入取整。取整后的情况有两种:第一种是选取太小的基准频率,那么分频后系数就会更小,再经过四舍五入后取整数误差就会变得比较大[10];第二种情况是选取过高的基准频率,尽管基准频率过高是会一定程度上减小误码差,但是这样一来又增大了分频结构。因此通过综合考虑,我们把12MHz作为本设计的基准频率,既适合本设计又能尽量减小误差。文献综述