FPGA实验:电子琴设计与音符频率解析

需积分: 20 6 下载量 196 浏览量 更新于2024-07-13 收藏 1.39MB PPT 举报
"锁定引脚方法-FPGA实验电子琴" 在FPGA设计中,锁定引脚是确保设计正确实现和稳定性的关键步骤。在DE2 FPGA开发板上进行电子琴实验时,需要按照特定的配置锁定各个功能引脚。以下是关于FPGA引脚锁定的方法和实验电子琴的相关知识点: 一、引脚锁定方法 1. 打开 Quartus II 或者其他FPGA集成开发环境。 2. 进入 "Assignment" 菜单,选择 "Pins" 选项。 3. 在弹出的 "Pin Planner" 界面中,根据给定的表格信息分配引脚。 - 将Clk1分配给50MHz时钟信号,位置为PIN_N2。 - Clk2分配给27MHz时钟信号,位置为PIN_D13。 - Code1[3]连接到LEDR[3],位置为PIN_AC22。 - Code1[2]连接到LEDR[2],位置为PIN_AB21。 - Code1[1]连接到LEDR[1],位置为PIN_AF23。 - Code1[0]连接到LEDR[0],位置为PIN_AE23。 - High1连接到LEDR[6],位置为PIN_AD21。 - Spkout连接到GPIO_1[9],位置为PIN_M25。 4. 完成分配后,保存并编译工程,确保引脚锁定设置无误。 二、实验电子琴电路模块设计 1. 节拍理解 - 音乐中的节拍是时间的均匀划分,每个单位称为一拍。 - 拍子的时值可以用不同音符的时值表示,如2/4, 3/4等,取决于以哪个音符为一拍。 - 实验中最小的节拍是1/4拍,速度设定为每拍1秒,这意味着以4HZ频率读取音符存储器,可以实现音乐的节拍。 三、音符与频率的关系 1. 不同音符代表不同频率的声波,通过产生不同频率的脉冲并通过扬声器播放。 2. 方波脉冲易于由定时器生成,因此常用于电子琴的设计。 3. 生成音频脉冲的步骤: - 计算所需频率的脉冲周期(1/频率)。 - 将周期除以2,得到半周期时间。 - 使用定时器,当计时达到半周期时,反转输出脉冲的极性。 - 重复此过程,即可在输出端获得指定频率的脉冲。 四、频率计算 - 假设频率为523Hz,周期为1912微秒,那么需要在计数器达到956次时翻转I/O,以生成523Hz的方波。 - 一般公式为:2N = Tr/Ti = Fi/Fr,其中Fi是内部时钟频率,Fr是对应音符频率,Ti是内部时钟周期,Tr是音符周期。 五、乐曲播放原理 1. 将音乐《梁祝》的音符数据存储到ROM中。 2. 以4HZ的频率读取ROM中的音符数据。 3. 根据1MHz的内部时钟,将读出的音符转换成相应的频率脉冲。 4. 持续播放这些频率脉冲以重现音乐节奏。 在本实验中,如果要播放低7SI音(494Hz)一拍,需要在1秒钟内发送494Hz的方波。若以1/4拍为单位存储到ROM,ROM读取时钟为4HZ,那么低7SI音符应占据4个存储单元。这样,当4HZ的时钟读取4个单元时,恰好完成1秒的播放。