- 积分
- 250
- 在线时间
- 204 小时
- 最后登录
- 2016-7-11
- 阅读权限
- 50
- 精华
- 0

- UID
- 576118
- 帖子
- 302
- 精华
- 0
- 经验
- 250 点
- 金钱
- 245 ¥
- 注册时间
- 2013-3-21
|
本帖最后由 上海烧不起 于 2013-6-24 21:44 编辑
ES9018,知道的人都知道,顶级解码,如果一个好的PCB设计,那基本是可以把他DAC解码发挥到最大的性能的,有兴趣的同志可以把全文读完!!
硬控我就不多说了,DAC解码当然是没损失,只不过ES9018的一些功能没办法实现!
ES9018软控板已经做出来了,看图:暂定制设计的用的是LCD1602(可以换屏TFT,LCD都可以)。
现在说说ES9018发开体验
我不知道是不是BUG,反正出现的问题,并很严重
第一个问题:
这个BUG如果一不注意,那么ES软控就失败的.ES9018有I2S软入和8个SPDIF输入,如果同时把I2S接上那么SPDIF 只有6个,DATA3,DATA4,DATA5,DATA6,DATA7,DATA8,这6个!!
回到上面的话题,如果你把I2S,和SPDIF(同轴什么的),同时接上,并在I2S和SPDFI同时播放音乐(当然ES9018只能在两个音源中播放一个,但要保证I2S和SPDIF,在电脑里选择时或在别的数字解码机里要同时播放音乐),这种情况下,当你把ES9018输出切换到I2S的情况后,就会出爆音,只要把SPDIF断开,或都不播放音乐就不会有爆音,DATA3,DTAT4,DATA5都会有,DTAT6-8我没有试过,有兴趣的朋友可以去试试!!
上面问题我现在已经解决了,现在完全没有干扰,还有174K以上的SPDIF必须接上下拉电阻,不然ES9018无法锁定除非你的线用金来做的,软控和硬不一样,软控受的干扰正容易一些;
我设计的软控板里SPDIF源可以 在DATA1,DATA2,DATA3,DATA5,DATA6,DATA7,DATA8,和I2S自由切换(如果设计了I2S,DATA1,2就不要接SPDIF输入)如果不接I2S,SPDIF8个都可能 用(有点罗索)!!
第二个问题;
就是采样读取问题,SPDIF通道下不多说,这个完全没有问题! I2S模式下就有问题了! 在开发过,I2S模式下获取的采样数值:
下面贴出来的是不正常的数值:88.2K以上都为正常都是SPDIF的64倍(提示一下,ES9018采样寄存器数据是由四个8位组一个32位数据,这个数据和采样有关,是成倍增加的,(比如说44.1是2,那个88.2就是4),ES9018计算采样,不需要技术文档里的那个计算公式
,因为那个Fcy什么的不知道是什么,我把ES9018的晶振代入,一点也不对。
44.1K:{302080000,303360000}之间(这里我取整,这个数据是在这之间变化的),和ES9018文档上说的是SPDIF的64倍,在下面贴出了SPDIF的数据了,大家可以去实验;
88.2K:{302080000,303360000}也是这个数值!
按照正常来说88.2K应该是44.1K的两倍,但是得到的结果就和88.2的一样,48K的也是和96K的一样,所以现在的问题是,当然采为48K或44.K时就会,显示为96K,当然如果把96和88去了,就可以显示44.1和48K!
因为我手上没有示波器,没办法去测试数字解码版的输出采样是多少,我用的是CM6631和XMOS都是一样出现以上的问题,我的系统是Win7!
所以,现在我怀疑是有两个原因:第一个就是ES9018自身对采样计数的44.1K和48K采样的计算有问题,也就是说是个BUG! 第二个原因是,可能是win7系统下,把音频的数据都转成96K或88.2K,win7系统有上采样转换器,或者是数字解码驱动把采样转换成88.2K和96K了,如果我能找到示波器,就能测试出来,当然没有,有兴趣 的朋友可以去试试!
( 在这里声明,以上都是我用实验得出来的结果,没有半的假话,如果有朋友能把I2S下的44.1K和48K采样获取出正确数据,你可以在这里点评或纠正,或指点指点,当然这个问题我也会一直去想办法去解决)
下面把SPDIF相关采样数值贴出来给大家当参考(十进制数):
44.1K {2360000,2370000};
88.2K {2570000,2580000};
48K {4720000,4740000};
96K {5150000,5160000};
176K {9440000,9480000};
192K {10300000,10320000};
352K {18880000,18960000};
384K {20600000,20640000};
注:算出I2S的数值,只要把上面相关采样的数乘上64就可以了
我用的开发语言,开发工具和芯片是:C语言,C51(STC的),ARM和Keil uVision4 ,ES9018的I2C速度不能太快了,不然容易出问题!
下面说一下我的产品的基本功能,
Es9018软控板:
1:基本的I2S,SPDIF通道切换(接上I2S就是的话SPDIF 就是6个,除去DATA4就是5个,不接I2S就是8个)
2:基本的音量控制,这个是一个总控制,可以定制多少级都可以,我默认为30最大值,0为静音,,如果你的把ES9018的DAC设计不是并联的,那可以单独设置每一个DAC输出通道音量和静音;
3: 一键静音控制,静音总开关
4:SPDIF 32K,48K 和44.1K加重处理,I2S下无效,SPDIF48K以上无效并自动取消(不过个没有什么效果,听不出来,加和没加一个叼样,反正我是听不出来)
5:I2S是否要通过FIR数字滤波,听起来没什么效果,作用并不是很大,为了减少数据在传输中的数据掉失,我默认是关闭的!
6:数据格式显示,当前ES9018能解码的数据格式为PCM和DSD,DSD是在I2S模式下启用的,如果你切换到I2S并且,数字解码器(比如XMOS)能输出DSD,就可以显示DSD格式,正常SPDIF都是PCM
7:采样显示SPDFI都能正常,I2S现在88K以下不正常(上面说过),只要ES9018能解码并且你的音源能输出相关采样,你想什么样的采样都可以(当前I2S模式44.1K和48K除外);
8:显示定制,LOGO呀,还有显示模式呀,什么的,显示屏都可以是LCD,TFT什么的,看情况而论
9:单声道模式,可以和双声道自由切换,单声道下,可以切换左右声道(单声道下,声音会大一点点,不过音质,没有明显的提升)
10:I2S 格式设置,16位,20,24位32位 ,(串行,默认为I2S,可以定制为左对齐,右对齐)
11:自动抖动消除,意义不大
12:各种带宽设置,意义不大,保留默认就可以
注1:ES9018多声道设置,是在SPDFI模式下的(I2S没多声道设置),是要对SPDIF FIR滤波器进行编程,这个现在还不去实现,我手上的板都是DAC并联的,多声道没办法实验。
注2:我设计的板都是会,在开机的时候对ES9018进行检测,是不是连接正常,是否有ES9018芯片,没有芯片什么也没有用
注3:我设计的显示板都是比较个性化的,我这个人比较有个性的人,做什么都想与众不同吧,性格问题,能显示中文的显示板一定做成中文的,因为手上还只有1602这个,所以做出来的是用1602
、
不知道以上问题各位高手是否发现 特发帖共同探讨
|
-
|