0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >计算机及配件 > 基于FPGA的音乐硬件演奏电路设计与实现(一)

基于FPGA的音乐硬件演奏电路设计与实现(一)

来源: 维库电子网
2021-05-24
类别:计算机及配件
eye 4
文章创建人 拍明

原标题:基于FPGA的音乐硬件演奏电路设计与实现(一)

  摘要:该文在EDA 开发平台上,利用VHDL 语言设计数控分频器电路,采用可编程逻辑器件CPLD/FPGA,经过整体分析、模块化分析、整体与模块的仿真分析三个步骤,以乐曲《梁祝》为例,使硬件实现了整体复位、按键选择演奏方式、循环演奏以及数码管显示乐谱的功能。系统能自动从头开始循环播放,也可随时起停、、按键选择播放、循环播放播放中切换歌曲以及发光二极管动态显示播放的音符。经过实际电路测试验证,达到了设计要求。

  1 系统的设计要求

  应用VHDL硬件描述语言,设计一个乐曲硬件演奏电路,它能将一首预先设置存储好的乐曲自动播放出来,除此之外,也能够通过按键的方式输入音符,使其具备简易电子琴的功能。通过此项研究,能够深切的体会利用EDA工具开发的优越性,在此基础上,对乐曲硬件演奏电路功能进行丰富,具有一定的社会实用性。

  根据硬件演奏电路的功能进行全局分析,采用自上至下的设计方法,从系统总体要求出发,逐步将设计内容细化,完成系统结构的整体设计。将功能分为以下几个部分,1)实现预先设置乐曲的播放功能;2)实现预置乐曲的暂停和继续播放实时控制功能;3)实现预置多首乐曲间的切换功能。

  预置乐曲,本文选取了《梁祝》的一段作预置,作预置时,需要将乐曲音符转换成相应的代码,通过计算逐一将音符转换成代码,通过EDA开发平台quartusii6.0进行乐曲定制。

  为了提供乐曲发音所需要的发音频率,编写数控分频器程序,对单一输入高频,进行预置数分频,生成每个音符发音的相应频率。

  为了给分频提供预置数,需要计算分频预置数。

  对每部分结构单元逐一进行编译,生成相应的元器件符号,并对独立结构单元功能进行仿真。

  2 系统的详细设计方案

  2.1 顶层实体描述

  按照EDA开发流程,采用VHDL硬件描述语言开发,将乐曲硬件演奏电路设计进行模块化分解,层次化设计,分成几个单独的结构体,每个结构体实现部分功能,,经顶层文件将各单独结构体进行综合,实现乐曲硬件演奏。

  有四个输入,三个输出端口。

  四输入端口分别是:clk8hz端口,作为节拍脉冲信号输入端口;clk12mhzZ端口,作为发音频率初始信号输入端口;P输入端口,作为控制歌曲暂停和继续播放的输入端口。ch输入端口,作为控制歌曲之间切换播放的输入端口。

  三输出端口分别是:code1输出端口,作为音符简码输出LED显示端口;high1输出端口,作为音符高8度指示端口;spkout输出端口,作为乐曲的声音输出端口。

  2.2 模块划分

  本系统主要由三个功能模块组成:notetabsvhd,tonetaba.vhd和speakera.vhd.部分notetabs,地址发生器,实现按节拍读乐谱的功能;第二部分tonetaba,查表电路,为speakera提供分频预置数,实现乐曲译码输出CODE[3:0];第三部分speakera,产生发音频率,实现乐曲播放。系统结构图如图2.

    为了实现乐曲的播放,首先需要将曲谱定制到音符数据ROM里面,然后才能按照一定的节拍从ROM中读出曲谱。由于所选曲子中不含低音,转换关系如表1所示。

2.3 模块描述

  sperkera是一个数控分频器,由其clk端输入一个12mhz信号,通过speakera分频后,由spkout,通过一d触发器,pinlv变为原来的二分之一,sperakera对clk的输入信号的分频比由11位tone[100]决定,spkout的输出频率为音符的音调。

  tonebata的功能首先是为speakera提供分频预置数,此数的停留时间即为音符的节拍值,此模块为歌曲简谱码提供对应的分频预置查表电路,音符停留时间由clk的输入频率决定,再次为4hz.


责任编辑:

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: 数控分频器

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案