跳到主要内容

3.3 设计框图

根据前面的实验解析我们可以得知,该设计总体可以拆分成两个功能模块实现。

  • Array_KeyBoard:通过驱动矩阵键盘工作获取键盘的操作信息数据。
  • Beeper:根据键盘按键信息驱动无源蜂鸣器发出不同的音节。

顶层模块Electric_Piano通过实例化两个子模块并将对应的信号连接,最终实现简易电子琴的总体设计。我们知道无源蜂鸣器是通过交流信号驱动的,FPGA可以通过输出不同频率的PWM脉冲信号控制蜂鸣器产生不同的音节输出,所以上面Beeper模块又可以拆分成两个功能模块实现其功能

  • tone:通过编码方式将键盘的操作信息译码成对应的PWM周期信息。
  • PWM:根据PWM周期信息产生对应的PWM脉冲信号。
alt text
Top-Down层次设计
alt text
模块结构设计