
ACG525-ProHifi FPGA大赛高云杯音频题PCB
简介
2024FPGA竞赛高云杯音频题作品PCB主板开源,非常报看
简介:2024FPGA竞赛高云杯音频题作品PCB主板开源,非常报看开源协议
:GPL 3.0
描述
特性介绍
- 适用于小梅哥ACG525核心板; 六层PCB设计(打样需要自己调整一下沉金面积)
- 2个板载话放 可直接连接基础的电容麦克风输入
- 3个板载PCM1808ADC 支持96k 24bit; 其中1个ADC连接两个话筒通道
- 板载ES9038Q2M及配套耳放, 支持PCM 32bit 768k 输出, 有2个引出插座;
- 板载PCM5102 DAC 支持PCM 32bit 384k 输出,可应用于辅助输出通道
- 板载两个CT7601 USB音频芯片,支持1个高达768k USB转I2S; 1个192kUSB转I2S; 1个192k录制通道; 有引出额外I2S接针 可外接I2S输入输出模块; 话筒通道2个板载话放
- 与物理控制界面的专用串行接口;
- 一个RS485
- 与ACG525相同的3个按钮和4个LED指示灯;
- 2个有源晶振, 可提供45m和49m时钟信号用于生成常用音频时钟;
- 一排IO引出接针
- 板载12V和3.3v开关电源; 模拟电路3.3VLDO电源;电源网络磁珠隔离;数字模拟地切割;
- CP2102USB转串口芯片;
- 板载1转4 USB集线器, 1个直连FPGA的USB通道, 可开发FPGA USB功能;
- 适用于示波器接地鳄鱼夹的接地夹焊盘; 5V和3.3V电源引出
- 控制台板子后续整理好了再开源, 完整的作品介绍视频将在未来发布在b站
- 本来想直接焊裸片板的, 但是时间不够,就没有琢磨一堆104怎么摆放了
三个月从零基础学习FPGA到拿下高云杯 感觉还是非常的梦幻的。 本着开源精神根据惯例进行PCB赛后开原!处理。 可以看到我们的作品简介也写的非常保守。 刚开始想说如果能混个国三也是赚到了,直接冲到高云杯更是想都不敢想。 本人承担整个项目几乎所有工作,甚至包括文档和视频制作。三个月自己扛压力还是非常不容易的。 希望什么时候能找到陪伴我一生的队友把。
作品完整实拍
花絮
被群指导原! @FPGA低手 反复控诉 PCB过于 报看 所以特此制作新版PCB(bushi)
我: 只要我说“报看”的速度比你的更快 这样你就没法说我的板子报看 \滑稽
这个是上一版本的报看的PCB(对比之下确实报看),虽然有一些设计错误 但是挺好用的, 比直接用小梅哥ACG525扩展板,我们有更多通道和更好的精度,更专用的IO引出。 之前想说板子打出来能用几个百分点就不错了。
买到的 GW5A 盒装散片(误)
感谢某经销商帮我们申请的价格,给我们比较低价买到的几片GW5A-25, 很新, 可惜没用上, 之后自己用的话就可以直接焊裸片板子了。
作品参数介绍
- 输入: 2话筒(板载话放) 2立体声ADC 1个I2S输入
- (更改代码配置为数字界面输入还是外部输入, 当时决赛的时候软件驱动出问题,配置为外部输入, 后面拍视频的时候驱动没问题,就直接用板载输入了)
- 输出: 1个I2S输出(同时输出到板载主DAC) 1个DAC输出(辅助通道)
- I2S输出输出通道支持PCM 32bit 768k; 辅助输出最高支持32bit 384k ;
- 支持任意输入输出通道 立体声平衡和16bit音量调节( 0-400% 好像)
- 音量和立体声平衡控制 基于 乘法器时分复用实现;
- 支持输入采样率自适应并自动匹配抗混叠滤波器;
- 输出采样率支持基于768k的任意抽取分频输出 (还没用上第二个晶振, 其实应该要用上, 这样可以输出更多种常用采样率,奈何时间窘迫);
- 两个话筒通道分别配备可配置滤波器(ufil)模块 支持在线重载滤波器参数 可配置为并联或串联,实现带通、带阻、混叠模式;旁路(关闭)模式;混叠(作为特殊效果)模式;
- 话筒通道和ADC1通道支持自定义失真, 基于幂函数实现动态范围调节(模拟压缩),可正负半周分别配置软件配置迭代次数(可软件配置指数); 可分正负半周分别配置增益和限幅, 以模拟各种失真效果; (上位机暂不支持控制迭代次数)
- 音乐通道(I2S输入通道) 支持基于立体声的简易人声去除, 配备专用12段均衡器 均衡器支持15bit增益控制 (0-200%) 音乐通道均衡器工作在36bit 768k,并配备全精度累加器, 防溢出设计;主均衡器支持物理控制界面
- 其他输入通道接入辅助均衡器( 8段, 支持15bit增益控制,没有超高音频段)
- 主均衡器每个频段直接引出到WS2812B频谱显示, 支持频谱显示和增益显示;
- 延时器:
- 单声道模式支持1s左右, 立体声模式支持0.5s左右;
- 基础模式可配置为回声和简易混响, 可调节扩散系数和反馈系数;
- 自动化模块支持对于延迟的包络控制, 可配置调节深度和速度, 支持类正弦、三角波两种波形,类正弦使用二次函数模拟;可实现类似于 镶边 合唱 颤音 音调偏移(特殊效果) 效果
- 延时器支持分别控制每个输入通道发送到延时器的强度,支持控制延时器输出强度
- 变调器: 支持非整数倍变调,但是会引入很多冲击导致音质炸裂(主要因为代码不够完善); 支持物理界面控制和串口控制,上位机暂不支持(和校验老是出错, 懒得改了,反正自己用不上);变调器可接入音乐通道或话筒1通道 (专治see you again, egg lay eggs 等听不懂的问题);
- 物理控制界面: 基于74HC165采集多通道数据, 已验证可读取编码器; 9个音量滑块通过ADS1015 IIC ADC采集, 代码没写;
- 多个按钮下面有WS2812B幻彩灯, 可用于显示按钮状态;目前只写了一个;
- 比赛比较不推荐使用MCU, 不然其实自己用的话, 感觉用单片机当ADC用, 更便宜更好用, 自己用的话顺便就用MCU采集编码器了, 省得那么多线, 所以自己用的话就给留了一个RS485, 想说可以把音频盒放桌子下面,控制台放桌子上面,这样方便使用。
- 补充说明: 板载ES9038Q2M DAC需要I2C软件初始化, 但是代码还没写, 不过可以使用第三方模块的I2C引出给他初始化一下再用, 这样可以展示, 但是自用的话最好还是把I2C初始化挪过来, 只是时间和优先顺序问题而已,自己用的话完全可以在主板上搞一些便宜MCU。
设计图

BOM


评论