基于FPGA芯片的音乐存储与回放系统实现_第1页
基于FPGA芯片的音乐存储与回放系统实现_第2页
基于FPGA芯片的音乐存储与回放系统实现_第3页
基于FPGA芯片的音乐存储与回放系统实现_第4页
基于FPGA芯片的音乐存储与回放系统实现_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、区域: 项目负责人: 产品名称询问内容答复内容待处理问题备注区域: 项目负责人: 产品分析项目本品牌市场主要竞争者功能(%)品质稳定度(%)外观时尚美观度(%)耐用程度(%)故障率(%)使用难易(%)营销力度(%)广告投入(万元)促销投入(万元)原料成本(万元)辅助材料成本(万元)人力成本(万元)制造费用(万元)利润率(%)备注项目负责人: 时间区域供应商单价(元)付款方式进货量预计售价(元)备注区域: 项目负责人: 项目内容推出日期销售年数利润率(%)市场占有率(%)价格(元)品质外观竞争优势竞争劣势技术发展行业现状综合分析备注区域: 日期: 项目负责人: 项目1分(最差)2分3分4分5分(

2、最好)品质颜色味道香味外形包装个性价格陈列性能时尚总体形象总体改进方案5.2 市场营销推广管理表格月份广告费(元)公关费(元)通信费(元)差旅费(元)招待费(元)合计(元)销售额(元)比例(%)12345678910合计备注第22卷第6期2004年11月北京工商大学学报(自然科学版Journal of Beijing Techno logy and Business U niversity (N atural Science Editi on V o l 122N o 16N ov . 2004文章编号:167121513(2004 0620018205基于FPGA 芯片的音乐存储与回放系统实

3、现郭培源, 乔美华(北京工商大学信息工程学院, 北京100037摘要:采用现场可编程门阵列FPGA 芯片和V HDL 硬件描述语言, 以及层次化的自顶向下工程设计方法, 实现了一个由数控分频器和四位拨码开关控制的可进行乐谱存储及演奏存储与回放的系统, 研究表明, 采用FPGA 实现音乐存储与回放演奏系统是可行的, 为各类多媒体大容量语音芯片系统设计开辟了一条新的技术方法 关键词:高速集成硬件描述语言; 现场可编程门阵列; 音符; 乐谱中图分类号:TN 40文献标识码:A 收稿日期:20040225作者简介:郭培源(1958- , 男, 山西太原人, 教授, 主要从事现代微电子和光电子控制技术的

4、研究进入20世纪90年代以后, EDA 技术得到了飞速的发展, , 2GA 随受到广大音乐爱好者们的青睐, 存储容量已经成为评价一个音乐播放器的主要指标之一一张CD 唱片大约可存储十余首乐曲, 一张M P 3大约可存储上百首乐曲要想存储更多的乐曲以及提高其控制功能, 就得换一种储存控制方式随着V lS I (very large scale I C , 超大规模集成电路 工艺的不断提高, 单片逻辑门数已达到上百万门, FPGA 芯片的规模越来越大, 其存储容量也越来越大, 并且实现的功能也越来越强, 用FPGA 技术设计乐曲演奏芯片及控制系统为实现音乐存储与播放展示了良好的应用前景1研究方法1

5、11FPGA 概述FPGA (现场可编程门阵列 是在PAL , GAL 等逻辑器件的基础之上发展起来的比较典型的是X ilinx 公司和A ltera 公司的FPGA 器件系列1设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能设计; 可以使设计, 快速将产品推向12关于VHDL 语言硬件描述语言, 就是利用该语言描述硬件电路的功能、信号连接关系及定时关系V HDL (very h igh sp eed in tegrated circu it hardw are descri p ti on language 语言采用自顶向下(top to dow n 的方法来设计系

6、统硬件, 过程如图1所示第一层次是行为图1V HDL 自顶向下的设计过程描述, 即对整个系统的数学模型的描述通过对系统行为描述的仿真来发现设计中存在的问题第二层次是R TL 方式描述, 即寄存器传输经过R TL 方式改写后, 再用仿真工具进行仿真第三层次是逻辑综合利用逻辑综合工具, 将R TL 方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表 ,81在门级电路级进行仿真, 并检查定时关系113M AX +PL US 2研究开发平台M ax +p lu s 2是A ltera 公司推出的第三代FP 2GA 开发系统2, 主要用于设计6万100万门的大规模FPGA , 其设计速度非常快从设

7、计输入到器件编程完毕, 大约只需几小时设计处理一般在数分钟内完成特别是在原理图输入等方面, M axp lu s 2被公认为是最易使用, 人机界面最友善的FPGA 开发平台2音乐存储与回放演奏控制系统211音乐与频率的关系组成乐曲的每个音符的发生频率及其持续时间是乐曲演奏所需的两个基本要素, 那么如何来获取这两个要素所对应的数值以及如何通过纯硬件的手, 音乐的12(如简谱中的中音1与高音在2个八度音之间, 又可分为十二个半音, 每两个半音的频率比为21 12另外, 音名A (简谱中的低音6 的频率为440H z , 音名B 2C 之间, E 2F 之间为半音, 其余为全音由此可计算出简谱从低音

8、1到高音1之间每个音名的频率, 如表1所示表1音符对应频率音名频率 H z音名频率 H z音名频率 H z低音1261163中音1523125高音11046150低音2293167中音2587133高音21174166低音3329163中音3659125高音31318151低音4349123中音4698146高音41396192低音5391199中音5783199高音51567198低音6440中音6880高音61760100低音7493188中音7987176高音771975152由于音节频率多为非整数, 而分频系数又不能为小数, 故必须将计算得到得分频数四舍五入若基准频率过低, 则由于分频

9、系数较小, 需四舍五入取整后再进行一些调整, 以保证音乐不会走调由表1可知, 两个相邻八度音符之间是简单的倍数关系研究的关键是要准确地产生音乐中各音符所对应的频率关系, 并根据乐曲要求按节拍输出, 为了减少系统的复杂性, 设计采用具有预制功能的可变模值计数器实现不同的频率信号输出根据可变模值计数器原理, 按照乐曲要求定时改变计数器的预制数, 即可产生乐曲所需要的频率信号212电路模块组成音乐存储与回放演奏系统由五部分电路模块组成, 即音符产生电路; 乐谱存储电路; 声音输出控制电路; 点阵显示电路以及键盘扫描电路通过按键选择播放曲目播放, 并显示乐曲名称音符产生电路模块:主要功能是提供每一个音

10、符所对应的分频系数, 而这又是通过分频器(计数器 预置不同的初值来实现的表2列出了各音符所对应的分频系数以及初始值表2音符所对应分频系数以及初始值音名分频系数初值音名分频初值音名分频系数0331014中音65171530高音62591788低音79201127中音74651582高音72321815为了使乐曲的整体效果不至于过高或过低, 选用表中的低音4作为基准音(即我们的1 , 只要保证声部之间的对应关系, 即每两个八度音(如简谱中的中音1与高音1 之间的频率相差一倍, 演奏的音乐就不会走调程序中的115与表中的低音4到高音4一一对应此外, 对于乐曲中的休止符, 只有将分频系数设为0, 即初

11、始值设为最大, 即2的11次方减1即2047即可, 此时, 扬声器将不会发声音符产生电路模块程序如下:lib rary ieee ;u se ieee . std _logic _1164. all ;en tity tonetaba ispo rt (index :in in teger range 0to 15;tone :ou t in teger range 0to 16#7ff # ;end ; (略乐谱存储电路模块:主要用来记录所选乐曲的乐谱, 音调的产生和节拍的控制是由每个音符发声的持续时间来决定的所选用的音乐片断中最小的节拍为1 4拍, 若将1拍的时间定义为1s , 则只需提供

12、一个4H z 的时钟频率即可产生1 4时间长每个音符发声的持续时间控制通过记谱的方式来完91第22卷第6期郭培源等:基于FPGA 芯片的音乐存储与回放系统实现成, 对于占用时间较长的节拍(一定是1 4拍的整数倍 , 如2 4拍, 只需将该音符连续记录两次即可要求乐曲能够循环播放, 则需定义一个时长计数器, 当乐曲演奏完成时, 保证能自动从头开始演奏本研究中放置了三段乐曲, 要求可选择播放曲目, 则需定义一个可预置初值的计数器, 当可预置端为有效时, 将初值预置到所选曲目的开始状态, 便可以演奏所选曲目了另外, 点阵显示电路的选择信号也要从此模块中产生, 根据乐谱产生相应的选择信号, 以显示相应

13、乐曲的名称乐谱存储电路模块程序如下:lib rary ieee ;u se ieee . std _logic _1164. all ; en tity no te 2ispo rt (clk :in std _logic ;c :in std _logic ; (略声音输出控制电路模块:主要通过一个数控分频器将预分频时钟经各种分频后, 节拍所需要的声音频率, , 乐曲的演奏功能宽极窄的脉冲波, , 最后到达扬声器的波形应为对称方波, 因此需在到达扬声器之前加一个二分频计数器, 因此计算表2的分频系数和初值时, 要将此计算在内需要注意的是, 在此模块中首先使用一个计数器将系统时钟进行预分频,

14、然后再将预分频时钟脉冲接人数控分频器中, 得到所需音符频率因此, 在tonetaba (音符产生电路 中的各音符对应的分频系数(表2 应这样计算:分频系数=系统时钟(10M H z ÷11(预分频系数 ÷音符对应频率÷2(输出口二分频声音输出电路模块程序如下:lib rary ieee ;u se ieee . std _logic _1164. all ;sp eakera (声音输出电路 , do t 1(点阵显示电路 主程序如下:lib rary ieee ;u se ieee . std _logic _1164. all ; en tity songer

15、 1ispo rt (clk 10m hz :in std _logic ;clk 8hz , clr :in std _logic ; (略213音乐存储与回放演奏控制系统的仿真下面将对各模块程序进行编译、仿真及调试由于使用的是文本输入法3, 则需在T ex tedito r 下写入程序, 并利用F ile 2P ro ject 2N am e 为新文件命名, 存为(. V HD 的形式设定所用芯片型号为A ltera 公司的FL EX 10K 系列中的EPF 10K 10L C 84.在文件编译完成无误后, 就可以进行仿真(M axp lu s 22si m u lato r , 以测试其

16、逻辑功能, 查找逻辑错误并改正在研究中, 可以对每个模块分别进行仿真测试, 图2图4为几个模块和主程序的仿真图, 可以看出每个模块电路的逻辑时序关系功能通过对主程序的仿真图进行分析, 可以看出, 本设计的输入输出逻辑关系已符合预期要求, 说明软件部分设计基本完成图5 为存储与回放演奏控制图2no te 2(乐谱存储电路 仿真波形图3tonetaba (音符产生电路 仿真波形图4主程序仿真12第22卷第6期郭培源等:基于FPGA 芯片的音乐存储与回放系统实现系统的逻辑状态图, 可以比较清晰地看出整个设计的逻辑状态及功能 图5存储与回放演奏控制系统逻辑示意3音乐存储与回放演奏控制系统的实现M ax

17、p lu s 2编译器针对FL EX 10K 目标器件, 自动产生. sof 文件, FL EX 10K 在结构上包括下面几部分4:嵌入式阵列块(EAB , 逻辑阵列块(LAB , 快速通道(fast track 互联, I O 单元(I O E 根据设定的管脚接到对应的外部部件上, 打开M axp lu s 2编程器, 在O p ti on s 菜单中选择H ardw are Setup 命令, 指定B yteB laster 电缆和相应的L PT 端口M axp lu s 2会自动地从当前项目中装载可编程文件(. pof 或. sof , 表4为研究的管脚定义, 可以根据下表及EPF 10

18、K 10的管脚图来连接线路表4数字化语音存储与回放系统的管脚定义端口名端口性质对应管脚端口名端口性质对应管脚C lk 10M H z input 1Selout 1O 37O utput 65C lk 8H z input 432Do tout 8O utput 64cc utput 35Do tout 9O utput 62C lr 2Do tout 0O utput 73Do tout 10O utput 61Cont 030Do tout 1O utput 72Do tout 11O utput 60Cont 1input 29Do tout 2O utput 71Do tout 12O

19、 utput 59Cont 2input 28Do tout 3O utput 70Do tout 13O utput 58Cont3input 27Do tout4O utput 69Do tout14O utput 54speakout output 16Do tout 5O utput 67Do tout 15O utput53Selout 0output38Do tout 6O utput66在相应的实验装置上将定义的管脚接到相应的实验器件上, 如显示数码管, 点阵, 扬声器等, 可以进行功能下载, 下载完成后就可以播放, 在播放过程中, 可以通过选择控制开关cc 的状态选择播放曲目:0000乐曲A , 0001乐曲B , 0010黄昏, 当cc =1时有效可以听到乐曲的演奏了, 同时在点阵区会动态显示相应乐曲名称(A , B , 黄昏 4结论随着V lS I 工艺的不断提高, 单片逻辑门数已达到上百万门, FPGA 芯片的规模也越来越大, 它所能存储容量也越来越大, 并且实现的功能也越来越M . 北京:清华大学出版社, 2002.2赵曙光, 杨晖, 张风言. 可编程逻辑器件原理, 开发及应用M . 西安:西安电子科技大学出版社, 2002.3刘

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论