|
39楼
发表于 2014-11-26 22:44
|
只看该作者
来自 江苏省苏州市
引用第36楼2b青年爱发烧于2014-11-26 19:00发表的 :
外行搭车问一下,据说单片机做播放器音质很好?因为CPU不用处理其它中断什么的所以jitter什么的更低?
果真如此的话,为何不在数字信号输出给DAC之前做个buffer?
我悄悄的告诉你,那些说什么cpu处理不过来,会带来更高的jitter的,都是不懂cpu是干啥的;
因为,如果是cpu处理不过来,或者中断没有及时响应,那么,不会是jitter变大,而是数据断流,直接就能听出来;
操作系统处理各个任务的时间片段,应该是在毫秒级别,而不是jitter那种皮秒级别;
另外,就目前的cpu,比如i3i5i7神马的,两三个G的主频,一般应用时绰绰有余的,你可以试试,如果开太多任务,播放音乐,当系统负荷太高时,表现出来的是音乐播放卡顿,而不是什么没有根据的jitter;
而且,mcu的话,i2s数据一般也都是用dma在跑,和cpu在干啥,关系不大,sd卡读数据也可以用dma跑,所以cpu的负荷可能很轻,特别是wav这样的,mcu的i2s外设本身就带有fifo,就是你说的那个buf,只不过比较小,几十个字节,但是算一下,以16bit44.1k,假设fifo32字节,立体声一次用4个字节,也就是8次采样的时间,大约0.18ms,dma每间隔这个时间搬运一次数据补充到fifo,对于上百兆的总线速度,绰绰有余的。 |
|