ES9018软控新玩具

[复制链接] 查看: 22076|回复: 38

4

主题

0

好友

250

积分

业余侠客 当前离线

Rank: 4

UID
576118
帖子
302
精华
0
经验
250 点
金钱
245 ¥
注册时间
2013-3-21
发表于 2013-6-24 18:34 | 显示全部楼层
本帖最后由 上海烧不起 于 2013-6-24 21:44 编辑

ES9018,知道的人都知道,顶级解码,如果一个好的PCB设计,那基本是可以把他DAC解码发挥到最大的性能的,有兴趣的同志可以把全文读完!!
硬控我就不多说了,DAC解码当然是没损失,只不过ES9018的一些功能没办法实现!
   ES9018软控板已经做出来了,看图:暂定制设计的用的是LCD1602(可以换屏TFT,LCD都可以)。
             01.jpg       

            ]F5KI)OHY@}VQ2_57@_8`_E.jpg }3$%0@5{TC272VP1W9PNGQ8.jpg                  
   
     
   现在说说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计算采样,不需要技术文档里的那个计算公式 111111.jpg ,因为那个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

















不知道以上问题各位高手是否发现 特发帖共同探讨


01.jpg

48

主题

0

好友

1671

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
248009
帖子
1704
精华
0
经验
1671 点
金钱
1687 ¥
注册时间
2010-10-8
发表于 2013-6-24 18:42 | 显示全部楼层
不错,支持软控板子。早点出来造福大家吧
头像被屏蔽

34

主题

0

好友

1937

积分

禁止发言 当前离线

UID
30130
帖子
2754
精华
0
经验
1937 点
金钱
1866 ¥
注册时间
2007-11-8
发表于 2013-6-24 18:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

48

主题

0

好友

1671

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
248009
帖子
1704
精华
0
经验
1671 点
金钱
1687 ¥
注册时间
2010-10-8
发表于 2013-6-24 18:42 | 显示全部楼层
不过好像有些硬控的问题应该是归咎于设计,而不是硬控的原因。但是还是软控可以打开更多的功能这个倒是真的

15

主题

1

好友

88

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
576138
帖子
337
精华
0
经验
88 点
金钱
191 ¥
注册时间
2013-3-21
发表于 2013-6-24 19:49 | 显示全部楼层
必须顶。。。。。。。。。

15

主题

1

好友

88

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
576138
帖子
337
精华
0
经验
88 点
金钱
191 ¥
注册时间
2013-3-21
发表于 2013-6-24 19:58 | 显示全部楼层
有几个按键?用什么方式设置参数?发多些图吧

4

主题

0

好友

250

积分

业余侠客 当前离线

Rank: 4

UID
576118
帖子
302
精华
0
经验
250 点
金钱
245 ¥
注册时间
2013-3-21
 楼主| 发表于 2013-6-24 20:00 | 显示全部楼层
coolwyc 发表于 2013-6-24 19:58
有几个按键?用什么方式设置参数?发多些图吧

想有多少按键都可以,现在做的只有4个,音量加减,和通道切换左右,还有遥控,遥控功能很全,过一会在给你发图

48

主题

0

好友

1671

积分

侠之大者 当前离线

Rank: 6Rank: 6

UID
248009
帖子
1704
精华
0
经验
1671 点
金钱
1687 ¥
注册时间
2010-10-8
发表于 2013-6-24 20:21 | 显示全部楼层
搞啥飞机呢?还坐着可见???

112

主题

2

好友

2021

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
53113
帖子
4861
精华
0
经验
2021 点
金钱
1966 ¥
注册时间
2008-9-4
发表于 2013-6-24 20:31 | 显示全部楼层
不错呀

7

主题

0

好友

935

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
184953
帖子
1129
精华
0
经验
935 点
金钱
960 ¥
注册时间
2010-3-25
发表于 2013-6-24 21:25 | 显示全部楼层
什么鸟“此帖仅作者可见”。
发个帖子80%语句都不通,你真对得起你的小学语文老师。

206

主题

16

好友

5573

积分
     

罗宾汉 当前离线

Rank: 7Rank: 7Rank: 7

UID
8945
帖子
6416
精华
0
经验
5573 点
金钱
5235 ¥
注册时间
2006-4-27
发表于 2013-6-24 21:57 | 显示全部楼层
这个一定要顶!

7

主题

0

好友

666

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
104182
帖子
1762
精华
0
经验
666 点
金钱
663 ¥
注册时间
2009-5-14
发表于 2013-6-25 08:21 | 显示全部楼层
哇,很详细很开放,喜欢这样的帖子,

4

主题

0

好友

250

积分

业余侠客 当前离线

Rank: 4

UID
576118
帖子
302
精华
0
经验
250 点
金钱
245 ¥
注册时间
2013-3-21
 楼主| 发表于 2013-6-25 10:19 | 显示全部楼层
请高手出来一起交流一下  

37

主题

0

好友

3516

积分

罗宾汉 当前离线

Silenton Shutupov Speechlesski

Rank: 7Rank: 7Rank: 7

UID
238600
帖子
3631
精华
0
经验
3516 点
金钱
3434 ¥
注册时间
2010-9-9
发表于 2013-6-25 10:23 | 显示全部楼层
TB上有块名为‘ES9018软控专用MCU控制板’的,楼主可与他探讨一下。

11

主题

1

好友

497

积分

业余侠客 当前离线

终极电流

Rank: 4

UID
6329
帖子
830
精华
0
经验
497 点
金钱
426 ¥
注册时间
2005-11-14
发表于 2013-6-25 11:09 | 显示全部楼层
这些所谓的"BUG"都是不存在的,建议LZ花多点时间看看ES9018手册

9

主题

4

好友

559

积分

职业侠客 当前离线

伪烧

Rank: 5Rank: 5

UID
98461
帖子
1647
精华
0
经验
559 点
金钱
529 ¥
注册时间
2009-4-21
发表于 2013-6-25 12:58 | 显示全部楼层
我在用的9018软控,没有采样率错误,不过我用的不是CM6631,而是TE8802L

27

主题

2

好友

1221

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
10473
帖子
1442
精华
0
经验
1221 点
金钱
1158 ¥
注册时间
2006-7-4
发表于 2013-6-25 17:01 来自手机端 | 显示全部楼层
好贴,支持

43

主题

2

好友

829

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
9077
帖子
776
精华
0
经验
829 点
金钱
742 ¥
注册时间
2006-5-2
发表于 2013-6-25 17:52 | 显示全部楼层
帖子够长,随便看了看。

除非你需要显示精确频率值,比如44.112,你才需要计算,否则,直接读出一个寄存器或者两个寄存器值加上正负1的偏移量,足以正确判断32,44.1,48.88.2,96,176.4,192,352.8,384频率。
FIR数字滤波不可以随便关闭,176.4K以下关闭你应该知道结果。

4

主题

0

好友

250

积分

业余侠客 当前离线

Rank: 4

UID
576118
帖子
302
精华
0
经验
250 点
金钱
245 ¥
注册时间
2013-3-21
 楼主| 发表于 2013-6-25 20:48 | 显示全部楼层
定音鼓 发表于 2013-6-25 17:52
帖子够长,随便看了看。

除非你需要显示精确频率值,比如44.112,你才需要计算,否则,直接读出一个寄存 ...

不知道是真的还是假的开发过ES9018,I2S的FIR滤波,完全是可以关了,而且没有任何问题,无论在什么采样下,SPDIF是必须经过FIR滤波器,所以我建议你,实验好了在发言

4

主题

0

好友

250

积分

业余侠客 当前离线

Rank: 4

UID
576118
帖子
302
精华
0
经验
250 点
金钱
245 ¥
注册时间
2013-3-21
 楼主| 发表于 2013-6-25 20:50 | 显示全部楼层
navysong 发表于 2013-6-25 12:58
我在用的9018软控,没有采样率错误,不过我用的不是CM6631,而是TE8802L

不知道你用的是什么输入,SPDIF是完成没有问题,难道是I2S
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部