Syn-MK_YNQ

Python on Everything 创意硬件项目挑战赛作品 | 仪器设计

neoalien   项目发起人  09-12

为一16键频率合成减法式数字合成器。输入部分为一配置文件、一PS/2键盘(有效按键可设置)及16个旋钮(若提供均衡器则更多);振荡器部分每键具有独立的振荡器组(每组四个振荡器),一组中每个振荡器可单独设置波形(方波、锯齿波、三角波、正弦波)、振幅、初相,共12个参数由所有振荡器组共享,各振荡器组的振荡频率由配置文件以频率控制字形式作设定;包络生成器部分为线性的ADSR包络,每个键具有独立的EG,A, D, S, R四个参数由所有EG共享;提供主音量控制和BPF,可能提供均衡器(EQ);输出部分具有一个3.5mm接口模拟信号输出。

项目详情

项目创意灵感
Roland Juno-DS61W较贵,于是想到利用PYNQ按照其原理自己制作一台
设计特色创新
16个按键可以任意分配键位(允许多个逻辑按键映射到同一物理按键),每键对应频率允许配置范围极大,频率分辨率达到0.005Hz,允许任意数量复音,每键有独立四振荡器组,每振荡器可选四种波形(幅度,相位可调),各振荡器并行二分完全流水加法树经截断,25Hz主时钟频率下以ram-based shift register 作为循环计数器实现的200Hz时钟驱动非对称13位PWM形式差分输出到模拟电路经低通解调轨到轨双极刑放大再滤波双声道输出至3.5毫米接口;易于扩展键数,易于扩展振荡器规格,易于追加EQ,易于替换EG,易于扩展出GUI
系统原理功能
(PS部分)读入并解析配置文件,经AXI或MMIO将参数传递给PL;(PL部分)以ADC0809补足模拟输入通道;正弦波形查表获得,其余波形化为简单逻辑运算及位串连接表达式计算获得;EQ以FIR提取各频带分量分别补偿再带权加和获得;输出以400M时钟驱动的PWM分别调制波形正相和负相部分,输出一对非平衡差分信号到模拟部分;(模拟部分)并联五个ICL7760提供负电源将两路PWM分别经一阶RC滤波后接入以一倍增益减法接法接入NE5532的A通道,再和B通道接成RC形式的BPF(电阻由旋钮电位器提供),串联一旋钮电位器后和地线一起输出到3.5mm插座。
完成情况概述
模拟电路部分以面包板形式制作完毕,各种接口已引出并接到示例设备,FPGA部分程序未能正确灌入
项目采用平台:

我要评价