软件环境:keil 5.23
硬件环境:ac7811 demo板,双路PWM转16bit DAC电路
最近帮客户评估一个通过双路PWM实现16bit PCM音频播放的功能,在网上找到了一个双路PWM转1bit DAC的电路。测试的时候发现这个电路确实可以将两路PWM(PWM1为高8bit,PWM0为低8bit)转为模拟电压输出,但问题是电压变化的斜率太慢,测试时两个不同PWM值产生的电压变化时间达到了2ms以上,明显无法用于音频播放。
在和硬件调整了部分电容电阻参数后,该电路可以完好的实现双路PWM到16bit DAC的转换。下面是1KHZ正弦波以及三角波的输出(采样率22.050KHZ):
波形都比较平滑,语音播放的效果也还不错。这里分享给大家。
修改后的参数(其中R1,R6,R7最终修改为100K):
有兴趣的小伙伴可以自己搭建个平台试一试。
当然,这个电路主要是为了解决AC7811没有DAC的问题,带DAC的芯片自然就不需要多此一举啦
最后再附上个测试的例程吧(里面还有16bitADPCM的压缩和解压播放的操作,也可以供大家参考一下)。
|
不错 支持一下