音乐演奏电路设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三次课:进一步完善音乐演奏电路,增加查表文件 ,自动连续地发出预置的声音音调;
第四次课:进一步完善,将简谱(曲谱可自定)转换 成音符查表数据,加载节拍发生器,实现完整的音乐 演奏电路设计。
课程设计要求
1. 设计一个乐曲硬件演奏电路,通过数字逻辑电路控 制蜂鸣器演奏指定的乐曲(梁祝);
2. 使用数字电路实验板上的FPGA器件( EP1C3T144C8)作为硬件电路平台,使用板载的交流 蜂鸣器作为发声元件;
设计课题:音乐演奏电路设计
行课节点安排
第一次课:以流水灯设计为例,学习并掌握 QuartusII软件的实用,要求能够熟练建立工程(一 律按“姓名首字拼音+学号”的格式命名),建立设计文 件,进行波形仿真,引脚锁定及器件下载的步骤;
第二次课:进行音乐演奏的原理性设计,能够建立数 控分频器,并用逻辑开关控制发音音调;
Q
K CLRN
inst1
OUTPUT
PIN_112
speek
按如下步骤完成发声单元设计
建立设计工程后
1、设计10分频器,并生成逻辑符号块; 2、设计数控分频器,并生成逻辑符号块; 3、添加一个LPM常数单元,为数控分频器提供分频预置数; 4、用JK触发器实现一个2分频器(即一个T’触发器); 5、添加输入及输出端口,并完成电路连接; 6、编译; 7、锁定引脚,时钟输入为Pin16(10MHz信号),蜂鸣器(喇
因此,组成乐曲的每个音符的发音频率值及其持续的 时间是乐曲能够连续演奏所需要的两个基本要素,不 同的发音频率值决定了所发出的音符。
音符与频率关系对照表
音名
低音1 低音2 低音3 低音4 低音5 低音6 低音7
频率( Hz) 261.1 293.7 329.6 349.2 392 440 493.9
3. 在QuartusII环境下,将各单元电路按各自对应关系 相互连接,构成乐曲硬件演奏电路,进行编译及仿真 ;
4. 将设计下载到实验板上验证乐曲演奏的效果。
设计原理(1) ---数控分频器部分
硬件电路的发声原理:
声音的频谱范围约在几十到几kHz,若能利用程序来控 制FPGA芯片某个引脚输出一定频率的矩形波,接上喇 叭就能发出相应频率的声音。
音名
中音1 中音2 中音3 中音4 中音5 中音6 中音7
频率( Hz) 523.3 587.3 659.3 698.5 784 880 987
音名
高音1 高音2 高音3 高音4 高音5 高音6 高音7
频率( Hz) 1049.5 1174.7 1318.5 1396.9 1568 1760 1975.5
试(先哪个是顶层文件?)。
设计原理(2)
---查表演奏部分
设计原理(3) ---节拍发生器,简谱码部分
一个基本的发声单元
PIN_16
clk_in
INPUT VCC
lpm_constant0
inst4
135 11
Freq_1MHz Clk_10M clk_1MHz
inst5
VCC
DigFreq
Clk_1MHz Tone[10..0]
Spks
inst
spk_pulse
spk_pulse
JKFF
PRN
J
音符频率请查阅实验书上的分频预置数表格;
实质上就是描述一个具有5个输入端,11个输出端的查 表译码器(分频数预置器)。
键控音调发生电路逻辑结构图
学习目标Baidu Nhomakorabea
LPM参数化常数单元的使用; 将自己的VHDL描述生成为逻辑单元模块; 调用自己设计的逻辑单元模块; 通过顶层原理图方式组织多个模块为一个设计整体; 一个工程下管理多个文件时,如何进行整体编译与调
叭)输出为Pin112; 8、再次编译; 9、器件下载。 10、按分频预置数表格修改LPM常数单元的数值,重复编译、
下载的步骤,体会不同的发音音符。
十分频器VHDL代码示例
数控分频器VHDL代码示例
本次课任务
在上述基本发生单元实现的基础上,用VHDL描述一 个键控音调选择模块,能够通过5个逻辑开关控制, 选择产生不同的音符声音(低、中、高音共21个)。
乐曲发声原理:
乐曲中的每一音符对应着一个特定的频率,要想FPGA 发出不同音符的音调,实际上只要控制它输出相应音符 的频率即可。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依 次输出这些音符所对应的频率,就可以在喇叭上连续地 发出各个音符的音调。
设计原理(1)
要准确地演奏出一首乐曲,仅仅让喇叭能够发声是不 够的,还必须准确地控制乐曲的节奏(即乐曲中每个 音符的发生频率及其持续时间)。
第四次课:进一步完善,将简谱(曲谱可自定)转换 成音符查表数据,加载节拍发生器,实现完整的音乐 演奏电路设计。
课程设计要求
1. 设计一个乐曲硬件演奏电路,通过数字逻辑电路控 制蜂鸣器演奏指定的乐曲(梁祝);
2. 使用数字电路实验板上的FPGA器件( EP1C3T144C8)作为硬件电路平台,使用板载的交流 蜂鸣器作为发声元件;
设计课题:音乐演奏电路设计
行课节点安排
第一次课:以流水灯设计为例,学习并掌握 QuartusII软件的实用,要求能够熟练建立工程(一 律按“姓名首字拼音+学号”的格式命名),建立设计文 件,进行波形仿真,引脚锁定及器件下载的步骤;
第二次课:进行音乐演奏的原理性设计,能够建立数 控分频器,并用逻辑开关控制发音音调;
Q
K CLRN
inst1
OUTPUT
PIN_112
speek
按如下步骤完成发声单元设计
建立设计工程后
1、设计10分频器,并生成逻辑符号块; 2、设计数控分频器,并生成逻辑符号块; 3、添加一个LPM常数单元,为数控分频器提供分频预置数; 4、用JK触发器实现一个2分频器(即一个T’触发器); 5、添加输入及输出端口,并完成电路连接; 6、编译; 7、锁定引脚,时钟输入为Pin16(10MHz信号),蜂鸣器(喇
因此,组成乐曲的每个音符的发音频率值及其持续的 时间是乐曲能够连续演奏所需要的两个基本要素,不 同的发音频率值决定了所发出的音符。
音符与频率关系对照表
音名
低音1 低音2 低音3 低音4 低音5 低音6 低音7
频率( Hz) 261.1 293.7 329.6 349.2 392 440 493.9
3. 在QuartusII环境下,将各单元电路按各自对应关系 相互连接,构成乐曲硬件演奏电路,进行编译及仿真 ;
4. 将设计下载到实验板上验证乐曲演奏的效果。
设计原理(1) ---数控分频器部分
硬件电路的发声原理:
声音的频谱范围约在几十到几kHz,若能利用程序来控 制FPGA芯片某个引脚输出一定频率的矩形波,接上喇 叭就能发出相应频率的声音。
音名
中音1 中音2 中音3 中音4 中音5 中音6 中音7
频率( Hz) 523.3 587.3 659.3 698.5 784 880 987
音名
高音1 高音2 高音3 高音4 高音5 高音6 高音7
频率( Hz) 1049.5 1174.7 1318.5 1396.9 1568 1760 1975.5
试(先哪个是顶层文件?)。
设计原理(2)
---查表演奏部分
设计原理(3) ---节拍发生器,简谱码部分
一个基本的发声单元
PIN_16
clk_in
INPUT VCC
lpm_constant0
inst4
135 11
Freq_1MHz Clk_10M clk_1MHz
inst5
VCC
DigFreq
Clk_1MHz Tone[10..0]
Spks
inst
spk_pulse
spk_pulse
JKFF
PRN
J
音符频率请查阅实验书上的分频预置数表格;
实质上就是描述一个具有5个输入端,11个输出端的查 表译码器(分频数预置器)。
键控音调发生电路逻辑结构图
学习目标Baidu Nhomakorabea
LPM参数化常数单元的使用; 将自己的VHDL描述生成为逻辑单元模块; 调用自己设计的逻辑单元模块; 通过顶层原理图方式组织多个模块为一个设计整体; 一个工程下管理多个文件时,如何进行整体编译与调
叭)输出为Pin112; 8、再次编译; 9、器件下载。 10、按分频预置数表格修改LPM常数单元的数值,重复编译、
下载的步骤,体会不同的发音音符。
十分频器VHDL代码示例
数控分频器VHDL代码示例
本次课任务
在上述基本发生单元实现的基础上,用VHDL描述一 个键控音调选择模块,能够通过5个逻辑开关控制, 选择产生不同的音符声音(低、中、高音共21个)。
乐曲发声原理:
乐曲中的每一音符对应着一个特定的频率,要想FPGA 发出不同音符的音调,实际上只要控制它输出相应音符 的频率即可。
乐曲都是由一连串的音符组成,因此按照乐曲的乐谱依 次输出这些音符所对应的频率,就可以在喇叭上连续地 发出各个音符的音调。
设计原理(1)
要准确地演奏出一首乐曲,仅仅让喇叭能够发声是不 够的,还必须准确地控制乐曲的节奏(即乐曲中每个 音符的发生频率及其持续时间)。