基于FPGA的电子琴设计
使用小脚丫FPGA + 电子琴扩展板,调试并通过FPGA编程实现电子琴的功能
标签
FPGA
数字逻辑
焊接
电子琴
暑期一起练
硬禾发布
更新2023-04-25
9877

疫情给同学们的学习带来很大的冲击,为增加同学们的动手机会,本次暑期在家一起练的活动除了在家徒手编程之外,还增加了一个自己动手组装套件的环节 - 这应该是每个理工同学比较感兴趣,而且必须要掌握的技能。

为增加同学们使用小脚丫FPGA的趣味性和成就感,我们特设计了这款简易的电子琴套件,特点如下:

  1. 需要自己组装套件 - 有别于使用普通的轻触按键或触摸按键这两种没有任何弹琴手感的方式,我们的电子琴巧妙地利用了两层电路板结构,实现了电子琴的触感,同学们也可以通过组装这个电子琴的过程体会一下PCB板的使用及要注意的一些问题;
  2. 有别于其它电子琴只用单调发音的蜂鸣器,这个电子琴在保留了蜂鸣器的基础上(用于对比),直接采用了iPhone上使用的扬声器,英文叫Speaker,土话叫喇叭,它的音质洪亮、圆润,只要你能给它足够好的信号,它都能完美地播放出来,别说可以播放电子琴、钢琴的声音,即便小提琴、摇滚乐的声音它也能绘声绘色地给你播放出来,当然前提是你要给它提供相应的模拟信号,硬件条件具备了,就看你如何编程使用它了。

FrBX3bXRotPo4-GoqFFUYUZkTGfA

平台包含:

  • 1x Piano Kit扩展板,包含了带电路的底板和一块琴键盖板

  • 1x 小脚丫FPGA核心板(Lattice MXO2-C),能够通过Web IDE编程或Lattice官方提供的Diamond软件进行编程

  • 1x Micro USB数据线,前期的活动中,不少同学使用的USB线只能供电,没有数据传输功能,建议在调试的过程中使用我们提供的USB数据线

注:如果已有小脚丫核心板(任何版本都可以),可仅购买其它扩展模块

 

fpga_piano.png

电子琴功能示意图

涉及到的数字电路/逻辑的技能及参考设计资源:

  1. 按键输入响应、按键消抖:
    1. 矩阵键盘键入系统设计
    2. 消抖
  2. PWM信号生成:
    1. PWM的应用及相应的Verilog代码
    2. 简易电子琴设计
    3. STEP FPGA驱动无源蜂鸣器模块
    4. PWM和1位DAC
    5. 音乐盒
    6. 基于树莓派RP2040制作的任意波形发生器
  3. DDS信号生成 - 频率的调节、幅度的调节:
    1. DDS生成任意波形的方法及Verilog代码实例
    2. 基于DDS的任意波形、信号发生器设计

 

小脚丫FPGA核心板介绍

STEP-MXO2-C专用板是专为FPGA大赛推出的,可以使用网页版FPGA开发系统Web IDE来编程,无需下载、安装FPGA的编程软件,当然熟悉Lattice Diamond编程工具的同学仍然可以使用Diamond对其进行编程。

STEP-MXO2-C专用版功能和配置与STEP-MXO2小脚丫:基于Lattice XO2-4000HC的FPGA学习模块,板载编程器几乎完全一致,唯一的差别在于FPGA程序下载方式不同。STEP-MXO2-C没有采用USB-JTAG的模式下载,而是通过MCU虚拟U盘,拷贝FPGA配置文件到U盘的方式下载程序,使用更便捷。

Fj26nw63OwR4FM8XTchQCFgsAza7Fkf98cKJDafEABxpT3_V0nC7i3p5

小脚丫STEP-MXO2-C

硬件规范

FgBykzA6o-AXyfMt7LLf5qAzOuFF

小脚丫STEP-MXO2第二代硬件结构

  • 核心器件:Lattice LCMXO2-4000HC-4MG132
    • 132脚BGA封装,引脚间距0.5mm,芯片尺寸8mm x 8mm;
    • 上电瞬时启动,启动时间<1ms;
    • 4320个LUT资源, 96Kbit 用户闪存,92Kbit RAM;
    • 2+2路PLL+DLL;
    • 嵌入式功能块(硬核):一路SPI、一路定时器、2路I2C
    • 支持DDR/DDR2/LPDDR存储器;
    • 104个可热插拔I/O;
    • 内核电压2.5-3.3V;
  • 板载资源:
    • 两位7段数码管;
    • 两个RGB三色LED;
    • 8路用户LED;
    • 4路拨码开关;
    • 4路按键;
  • 36个用户可扩展I/O(其中包括一路SPI硬核接口和一路I2C硬核接口)
  • 支持Lattice的开发工具Diamond
  • 支持MICO32/8软核处理器
  • 板上集成FPGA编程器
  • 一路Micro USB接口
  • 板卡尺寸52mm x 18mm

原理图

引脚定义

STEP-MXO2-C外设管脚分配

文档资料

免费课程观看:

交流群:

Fl0teex2JZf20jLzXqeHK7ObEUoM

注:本次活动将搭配多个模块完成任务。平台需完成的任务、项目提交内容、邮件发送内容和电子森林使用方式请查看“规则”,已详细介绍。

Ftr5r0synrnd75SSfnRFFQarlhO5

物料清单
附件下载
step-mxo2-c-sch.pdf
U盘模式的小脚丫FPGA核心模块的原理图:https://www.eetree.cn/project/detail/412
piano.pdf
电子琴扩展板原理图
top_impl2.jed
电子琴测试程序
团队介绍
硬禾学堂
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号