1、第 1 页 共 20 页 电子课程设计 乐曲硬件演奏电路设计 学院 太原科技大学华科学院 专业、班级 电子信息工程 姓名 学号 指导教师 2011 年 12 月 第 2 页 共 20 页 目录 一、 设计任务与要求 3 3 二、 总框体图 3 三、选择器件 4 4 四、功能模块 4 4 1 1、音乐数据模块、音乐数据模块 4 4 2 2、音符控制输出、音符控制输出模块模块 7 7 3 3、音符译码、音符译码模块模块 8 8 4 4、数控分频器模块、数控分频器模块 1111 5 5、分频器模块、分频器模块 1212 6 6、译码模块、译码模块 1313 五、总体设计电路图 15 1 1、总体电路
2、原理图、总体电路原理图 1515 2、 管脚分配图、 管脚分配图 15 15 3、电路仿真结果、电路仿真结果 1515 4、硬件验证、硬件验证 16 六、设计心得 17 七、附录 19 第 3 页 共 20 页 乐曲硬件演奏电路设计 一、一、 设计任务与要求:设计任务与要求: 1、实验内容 利用可编程逻辑器件 FPGA,设计乐曲硬件演奏电路,可自动演奏乐曲。 2、实验要求 (1)利用数控分频器设计硬件乐曲演奏电路。 (2)利用给定的音符数据定制 ROM“music”。 (3)设计乘法器逻辑框图,并在 QuartusII 上完成全部设计。 (4)将音乐通过实验箱上的喇叭播放出来。 (5)与演奏发
3、音相对应的简谱码输出在数码管上显示。 二、二、 总体框图总体框图 设计思路: C 调音阶频率表: 在EDA 技术实用教程课程中,已经学习过数控分频器设计,即输入不 同的预置数即可发出不同频率的声音。由此,可以以此为设计基础。设计一功能 模块,能够将乐曲中的音符逐一以对应的频率以预置数的形式置入数控分频计 中,即可利用该数控分频计产生不同的声音,演奏出设定好的音乐。 ROM 中的音乐数据文件刚可由编辑好的音符填入 MIF 文件中再定制 LPM_ROM 将音符数据加载入 ROM 中,并设计程序在运行时自动读取 ROM 中 的文件并置入数控分频器中。 当采用四四拍曲子时,每节拍持续时间为 0.5 秒
4、。置入数控分频器的速度也 应与此同步或一致,避免音乐过快或过快慢而失真。 音阶 频率 Hz 音阶 频率 Hz 音阶 频率 Hz . 7 1661.22 7 830.61 7 415.31 . 6 1479.98 6 739.99 6 370 . 5 1318.52 5 659.33 5 329.63 . 4 1174.66 4 587.33 4 293.67 . 3 1108.73 3 554.37 3 277.19 . 2 987.76 2 493.88 2 246.94 . 1 880 1 440 1 220 第 4 页 共 20 页 由已知的 C 调音阶频率表,各频率对应的预置数就与数控
5、分频推动蜂鸣器 发出声音的频率对应。在编写数控分频器时,不仅要考虑预置数的输入方式,还 要考虑输入的速度,以及驱动蜂鸣器发声的频率。 为了显示高音音调,可在音符预置数的译码过程中,同时译出高音音阶的信 号,并利用 LED 灯输出信号。同时,也可利用该译码模块,将当前演奏的音符 简谱表达出来。 总体框图 三、三、 选择器件选择器件 1.EP1C12Q240C8芯片及相应的连接设备 2.外置扬声器 3.7段数码管 4.LED灯一个 5.计算机 四、四、 功能模块功能模块 1、音乐数据 ROM 模块: 该模块为音乐曲谱的存放文件。其利用 LPM_ROM 宏模块将共设定 512 个 音符,每个音符宽度为 5 位,可存放高、中、低三阶 21