EDA技术实验 乐曲硬件演奏电路设计.pdfVIP

  • 60
  • 0
  • 约9.5千字
  • 约 16页
  • 2019-03-06 发布于湖北
  • 举报
编号: EDA 综合设计实验报告 课 题: 硬件乐曲演奏电路设计 专 业: 学生姓名: 学 号: 年 月 日 一、概述: 硬件乐曲演奏电路顶层模块图如图 1- 1 所示,电路图由 11 个子模块组成,能够实现: (1) 梁祝乐曲的自动演奏;(2 )键盘弹奏歌曲;(3 )ROM 中能存两首歌曲,并能手动选歌。 二、实验原理: ① 音符的频率可以由图 1-1 中的SPKER 获得。 这是一个数控分频器。由其CLK 端输入一具有较高 频率(1MHz)的时钟,通过SPKER 分频后,经由D 触发器构成的分频电路,由 SPK_KX 口输出。由于 直接从分频器中出来的输出信号是脉宽极窄的信号,为了有利于驱动扬声器,需另加一个D 触发器分频以 均衡其占空比,但这时的频率将是原来的 1/2。SPKER 对 CLK 输入信号的分频比由输入的 11 位预置数 TN[10..0]决定。SPK_KX 的输出频率将决定每一音符的音调;这样,分频计数器的预置值 TN[10..0] 与输 出频率就有了对应关系,而输出的频率又与音乐音符的发声有对应关系,例如在 F_CODE 模块中若取 TN[10..0]=11H40C,将由SPK_KX 发出音符为“3 ”音的信号频率。 ② 音符的持续时间需根据乐曲的速度及每个音符的节拍数来确定,图1-1 中模块F_CODE 的功能首先 是为模块SPKER (11 位分频器)提供决定所发音符的分频预置数,而此数在SPKER 输入口停留的时间即 为此音符的节拍周期。模块F_CODE 是乐曲简谱码对应的分频预置数查表电路,每一音符的停留时间则由 音乐节拍和音调发生查表模块MUSIC 中简谱码和工作时钟inclock 的频率决定,在此为4Hz 。这4Hz 频率 来自分频模块FDIV ,模块MUSIC 是一个LPM_ROM 。它的输入频率来自锁相环PLL20 的2kHz 输出频率。 而模块 F_CODE 的 14 个值的输出由对应于 MUSIC 模块输出的 q[3..0]及 4 位输入值 INX[3..0]确定,而 INX [3..0]最多有16 种可选值。输向模块F_CODE 中INX [3..0] 的值在SPKER 中对应的输出频率值与持续的 时间由模块MUSIC 决定。 ③ 模块CNT138T 是一个8 位二进制计数器,内部设置计数最大值为256 ,作为音符数据ROM 的地址 发生器。这个计数器的计数频率即为4Hz 。即每一计数值的停留时间为0.25 秒,恰为当全音符设为 1 秒时, 四四拍的4 分音符持续时间。例如,“梁祝”乐曲的第一个音符为“3 ”,此音在逻辑中停留了4 个时钟节拍, 即1 秒时间,相应地,所对应的“3 ”音符分频预置值为11H40C,在SPKER 的输入端停留了1 秒。随着 计数器CNT138T 按4Hz 的时钟速率作加法计数时,即随地址值递增时,音符数据ROM 模块MUSIC 中的 音符数据将从 ROM 中通过q[3..0]端口输向F_CODE 模块,“梁祝”乐曲就开始连续自然地演奏起来了。 4 模块DIR 是一个二选一选择器,可以根据输入端dir 的值决定输出端dirout 的选择,实现键盘弹 ○ 奏和自动播放之间的切换dir 等于1 时,dirout 选择keyboard 作为输出,即键盘弹奏,dir 等于0 时,dirout 选择music 作为输出,即自动播放。 5 KEYBOARD 模块是4x4 键盘,如下图所示:假设其两个4 位口,A[3:0]和B[3:0]都有上拉电阻。 ○ 在应用中,当按下某键后,为了辨别和读取键信息,一种比较常用的方法是,向A 口扫描输入一组分 别只含一个0 的4 位数据,如 1110,1101,1011 等。若有键按下,则B 口一定会输出对应的数据, 这时,只要结合A ,B 口的数据,就能判断出键的位置。如当键S0 按下,对于输入的A=1110 时,那 么输出的B=0111 。于是{B,A}=0111_1110 就成了S0 的代码。 6 key模块是板子

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档