
CH32V305核心板 384khz USB声卡验证板
简介
为这颗小单片机做的一个核心板,用来验证USB声卡功能的。参考自https://oshwhub.com/lovelonelytime/usbtoi2s
简介:为这颗小单片机做的一个核心板,用来验证USB声卡功能的。参考自https://oshwhub.com/lovelonelytime/usbtoi2s开源协议
:CC BY-NC-SA 4.0
描述
之前看到有人用CH32做了个HIFI异步时钟的声卡。(https://oshwhub.com/lovelonelytime/usbtoi2s)但是他用的CH32V307封装太大了,我看V305的外设基本一致,但是有QFN32封装,很方便小型化,于是就做了个核心板来做功能验证。
实际测试,USB声卡枚举成功,I2S有波形,不过原项目使用了软件SPI与CPLD通讯,同时使用了定时器脉冲计数实现了检测CPLD的接受速度,并决定发送数据的快慢。这一块代码我还没有改好,因为原项目中MCU是从机,需要在PA8接受MCLK,实际我测试虽然有声音,但完全失真了。后面如果改好之后我会将固件也开源出来。
如果你打算在CH32声卡后面接一级DSP,比如ADAU1452的话那就不需要考虑时钟同步问题了。ADAU自己就能重采样,调理时钟。
至于原项目为什么使用CPLD,这是因为异步时钟的建立必然面临时钟的滑差积累的问题,两者晶振是必然有差距的,可能十几ppm,I2S要求MCLK与BCLK,LRCLK是严格的倍数关系,MCU无法产生精确的I2S时钟,即使能产生,其PLL导致的相位抖动也会导致信噪比大幅下降,因此需要用CPLD的24.576时钟精确的做时钟整形。
即使I2S是同步信号线,DAC只需要接受一帧一帧信号存入缓冲区,但是DAC没有缓冲区,所以必须要高精度的时钟。而CPLD却可以做为主机,向MCU反馈接受速度,MCU根据反馈,实时调整缓冲区的发送速度,并通过UAC声卡协议向电脑协商数据发送速度。
只能说数字音频这块水真的太深了,只会做硬件的话那只能算是入门了数字音频,看到的只是数字音频的冰山一角。



设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论