1、 1 EDAEDA 课程设计课程设计 乐曲硬件演奏电路设计乐曲硬件演奏电路设计 学 院:电子信息工程学院 专业班级:通信工程 091501 姓 名: 学 号: 指导教师: 2011 年 12 月 2 目录目录 一:设计任务要求一:设计任务要求3 二:总体框图二:总体框图3 三三:选择器件:选择器件4 四四:功能模块:功能模块:5 1:Songer 模块6 1)NoteTabs 模块(程序 仿真图)6 2)ToneTaba 模块(程序 仿真图)7 3)Speakera 模块(程序 仿真图)9 2:div 模块(程序 仿真图)12 3:七段译码器模块(程序)14 4. 顶层设计 VHDL描述 so
2、nger 模块16 五五:总体电路设计图总体电路设计图18 六六:管脚分配管脚分配19 七七:结束语和心得体会结束语和心得体会19 八:八:参考资料参考资料21 3 一、课题要一、课题要求:求: 设计一个硬件乐曲演奏电路: (1)利用数控分频器设计硬件乐曲演奏电路。 (2)利用给定的音符数据定制 ROM“music”。 (3)设计乘法器逻辑框图,并在 QuartusII 上完成全部设计。 (4)与演奏发音相对应的简谱码输出在数码管上显示。 二二、总体框图、总体框图 该主系统由三个模块:Songer.vhd、div.vhd、SEG7.Vhd(7 段译码器)组成。 首先定制 Songer.Vhd,
3、此模块包括 3 个小模块,分别是 NoteTabs 模块,ToneTaba 模块,Speakera 模块,此外,我们还需建立一个名为“music”的 LPM_ROM 模块与 NoteTabs 模块连接。 根据给出的乘法器逻辑原理图及其模块的 VHDL 描述在 QUARTUS2 上完成设计。 完 成编译,综合,仿真,管脚分配,编程下载。 1 对于模块 NoteTabs 的功能描述: 该模块的功能就是定义音符数据 ROM “music” 随着该模块中的计数器控制时钟频率速率作加法计数时,即地址值递增时,音符数据 ROM 中的音符数据。将从 ROM 中通过 ToneIndex40端口输向 ToneT
4、aba 模块,演奏 分频器 NOTETABS SPEAKERA 译码器 扬声器 TONETABA 4 挥着翅膀的女孩儿 菊花台 。在该模块中设置了一个 8 位二进制计数器(计数最 大值为 197) ,作为音符数据 ROM 的地址发生器。这个计数器的计数频率为 4Hz,即每 一计数值的停留时间为 0.25 秒,恰为当全音符设为 1 秒时,四四拍的 4 分音符持续 时间。 2对于模块 ToneTaba,是乐曲简谱码对应的分频预置数查找表电路,其中 设置了乐曲的全部音符所对应的分频置数,每一音符的停留时间由音乐节拍和音 调发生器模块 NoteTabs 的 CLK 的输入频率决定,这些值由对应于 To
5、neTaba 的 4 位输入值 Index40确定, 最多有 16 种可选值。 输向 ToneTaba 中 Index40 的值 ToneIndex40的输出值与持续的时间由模块 NoteTabs 决定。 3模块 Speakera 是一个数控分频器,音符的频率可由此模块获得。由 CLK 端输 入一具有较高频率的信号,通过 Speakera 分频后由 SPKOUT 输出。由于直接从数控分 频器中出来的输出信号是脉宽极窄的脉冲式信号。为了利用驱动扬声器,需加一个 D 触发器以均衡其占空比,频率将是原来的 1/2。Speakera 对 CLK 输入信号的分频比由 预置数 Tone 决定。SPKOUT 的输出频率将决定每一音符的音调。 4. SEG7 模块是一个七段译码器,作用是在硬件上显示音频的高低,用 0 到 7 分 别对应空节拍、do、ri、mi、fa、suo、la、xi,高音时,LED 亮,数码管显示对应数 字。 三三、选择器件、选择器件 1.EP1C12Q240C8 芯片及相应的连接设备 2.外置扬声器 3.7 段数码管 4.计算机 5 5.LED 灯一个 四、功能模块四、功能模块 1对于模块 Songer。 挥着翅膀的女孩儿