HDL电子琴设计报告(3)

2019-03-22 21:33

其中,输入控制模块主要是为用户设计的,起到一个输入控制的作用。通过该模块以通过按键输入音符或乐曲。乐曲存储及循环播放模块主要是储存事先编写好的乐谱,并通过循环播放部分产生不同的频率驱动扬声器输出。顶层模块主要实现调用功能,通过调用输入控制模块和乐曲存储及循环播放模块选择手动播放,或者自动播放曲目1、曲目2或曲目3。三大模块相互联系实现电子琴的基本功能和发挥功能。

第二章 单元模块设计

第一节 电子琴输入控制模块

一、基本原理

电子输入控制模块是这个电子琴的核心部分。程序控制一个分频模块的分频系数,它内部集成了1个分频器,一个输出端口至外部扩音器。接受、处理外部输入命令(来自使能端、功能控制键、乐曲存入、写出控制键的命令)的部分。其中分频器可以根据分频系数分出七个不同的频率从而发出相应七个音符的声音,并可通过数码管观察是哪个音符输出。这里定义了一秒为一个节拍。

二、原理框图及分频系数的产生

其基本的原理图如下图2.1.1。

50MHz基准脉冲 6MHz分频 控制分频系数的分频模块 状态预置 选择音符输出

图2.1.1输入控制模块的基本原理

输入控制模块的目的是对基准脉冲分频,得到1,2,3,4,5,6,7七个音符对应频率。该模块的Verilog HDL描述中包含了三个进程。首先对50MHz的基准脉冲进行分频得到6MHz的脉冲,然后按照tone1输入的分频系数对6MHz的脉冲再次分频,得到的便是所需要的频率,最终根据状态预置情况选择音符输出。其中,每个音符相应的分频系数可根据每个音符的频率计算得到。

第二节 乐曲存储及循环播放模块

该模块主要实现音调存储、发生及循环播放的功能。音调发生器的作用是产生获得音阶的分频预置值。当12位(高音、中音、低音分别4位)发声输入控制中的某一位或某两位或某三位为高电平时,则对应某一音阶的数值将以端口{high,mid,low}输出,作为获得该音阶的分频预置值,该值作为数控分频器的输入,来对4Hz的脉冲进行分频,由此得到每个音阶相应的频率,例如输入{ high,mid,low }= 12'b000000100000,即对应的音符是中音RE,产生的分频系数便是10216;根据已知的乐谱,利用此分频系数产生方法可实现乐谱存储;在存储乐谱时,使用一计数器state,当蜂鸣器输出最后一个音调即计数达到最大值时,将计数器清零(state<=0),计数器将从0开始重新计数,从而实现循环播放。其中,具体原理框图如图2.2.1所示。

10

50MHz基准脉冲 6MHz分频 音调发生器 4Hz分频 乐谱存储 循环播放

图2.2.1乐曲存储及循环播放模块原理图

第三节 顶层模块

该模块是电子琴系统设计的核心模块。通过该模块实现对上两节子模块的调用模块主要包括两个进程:进程一是对50MHz基准脉冲分频产生6MHz。进程二是对曲目方式进行控制选择,在该部分采用了一个两位状态标识寄存器mm,即对应实验箱上的开关key8和key9,当只key8拨至低电平“0”时,调用循环演奏曲目1模块,输出曲目1;当只dip9拨至低电平“0”时,调用循环演奏曲目2模块,输出曲目2;当key8和key8同时拨至低电平“0”时,调用循环演奏曲目3模块,输出曲目3;当key8和key9同时处于高电平“1”时,调用手动演奏模块,可通过按键key1~key7实现手动演奏曲目。

其中,顶层模块原理图如图2.3.1所示。

11

50MHz基准脉冲 6MHz分频 控制选择曲目演奏方式 手动演奏 自动演奏曲目1 自动演奏曲目2 自动演奏曲目1 调用手动演奏模块 调用循环演奏曲目1模块 调用循环演奏曲目2模块 调用循环演奏曲目3模块

图2.3.1 顶层模块原理图

第三章 软件设计

本设计由EDA软件系统Quartus Ⅱ来完成。采用自顶向下[2]的设计方法。图3.1.1为其软件流程图。

12

开始曲目1存储mm=01?Mm==10?曲目2存储曲目3存储mm=11?手动演奏数码管显示分频音调发生结束 图3.1.1 系统软件流程图

软件设计采用结构化程序设计方法,功能模块各自独立,实际上在设计中将按键输入和乐曲存储分别放在了四个模块中(其中自动循环播放的三个曲目原理相同),软件设计的核心部分是数控分频器,按键输入和乐曲储存都是提供给它相应的分频比。对输入的基准时钟进行多次分频,最终输出的就是想得到的音阶的频率。Verilog HDL描述语言见附录。

13


HDL电子琴设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高考物理复习之各知识点汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: