27

主题

1

好友

486

积分

业余侠客 当前离线

Rank: 4

UID
787724
帖子
424
精华
0
经验
486 点
金钱
396 ¥
注册时间
2015-3-20
发表于 2022-2-9 18:32 | 显示全部楼层
很多朋友不知道该怎么设置,我就给点寄存器设置的清单列表,你们可以自己回去用单片机慢慢弄。

上回有朋友说STM8已经很贵了,想想也是,华强北一年前ES9028就被整盘整盘的囤走,品牌商家都怕断货,何况用量非常巨大的8位单片机呢。不过STM8有个台湾产的兼容片,我没用过,价格才1块不到,据说用法和STM8完全一致,就是某些寄存器和中断不一样,但对于我们这么简单的用法应该什么都不影响。

旭化成家,旭化成家的DAC有个特点,向下兼容,这一代Velvet标的DAC从最早的AK4490到AK4499都可以兼容,越新的越有新选项(多数没有卵用)。停产了之后我再想想,AKM反而不如ESS家的比较好用,所以做了一个DF1706加ES9038的板子,声音很好!比PCM1704好多了,也没有原装ES9038的那股子玻璃碴子味道了。

ES9038的多路信号输入自动切换与识别格式,这个功能到AK4499才做出来,给爱好者和厂家一个足够抛弃AKM的理由了。那我就放一篇儿ES9038的寄存器设置说明,大家一起探讨一下。另外预先声明一下,SPDIF/AESEBU这种老掉牙的端口,我是一向不怎么用的,本身传输损耗非常大,码率也不高,如果您不是专业用户搞录音的,还是不要再用这种东西了,它唯一的优势是可以用光纤实现隔离。

下面的格式是16进制寄存器号、2进制默认设置,16进制默认设置,第二行是丰某人自己的设置和说明。

0x01; 00001100; 0x0C
不用变,这个寄存器前3位是设置SPDIF信号添加用户自定义位、是否响应SPDIF静音什么的,不管他。中间一个保留位,后4位是自动选择信号源的,初始状态是自动选择开启,所以不管他。

0x02; 00111100; 0x3C
我用11111100; 0xFC 这个寄存器前两位是当静音条件达成时自动静音并把所有输出脚接地,又能静音又能省电,干!后边的几位都是默认的32bit IIS格式输入,不用动。

0x03;保留位不用动

0x04; 00000000; 0x00
我用11000000; 0xC0 这个寄存器是自动静音的蓄力时间,默认是0就是自动静音失效。鉴于放大招主要搓手速,我就胡JB写了一个0xC0,你可以按照说明书里的那个算式自己算一下

0x05; 01101000; 0x68
我用01011111;0x5F 这个寄存器是自动静音触发开关,只要信号低于一定的分贝值,就触发静音,原有初始值1101000其实是一个十进制数104,意思就是低于104dB的信号就触发静音。现在哪里有什么低于104dB的信号啊,我直接设置成了95dB,我自己的设备正弦波低于-68dB就屁也听不见了,95dB足够了,给我静音!

0x06; 01001010; 0x4A 这个寄存器主要是自动去加重,老掉牙的玩意了,没人用,默认关闭,不管他。

0x07; 01000000; 0x40
我用00000000,0x00 这个寄存器开始有用了,前两位是设置它9038的7个滤波器,就是那些什么快慢缓降、前后回波的,但我默认就设置成000,快速线性相位,指标最高,不用别的虚招子。后4位分别是IIR的带宽范围,和软静音,对于我们玩音响的来说,静音也用继电器,所以不用管它。我自己的机器倒是IIR设置成70Khz,因为自己做的新型无源衰减式LPF性能很好,用来测试带内带外快速傅里叶图形,平时没啥用。

0x08-0x09 全是10001000; 0x88
9038的单侧四组模拟输出脚之间,夹了两个GPIO通用输入输出接口,这四个接口可以在这个寄存器里定义点乱七八糟的功能(大多数没用)。定义的方式是每个寄存器不是8位么?每4位对照一个GPIO口,默认都设置成了0b1000就是8,为标准输入功能。其他功能分别为Master mode下(打开本地ASRC)的MCLK输出(比较有用),静音状态输出(静音指示灯,有点用),失锁指示,静音键输入……丰俭由人,自己搞定即可。我是用了一个脚来输出MCLK,一般使用都不用它。

0x0A 全0
我用11000000; 0xC0
这个寄存器也很重要,但一般使用时不需要开启。这个寄存器主要设置9038\9028这几个产品的master mode开启,即本地ASRC的开启,在这个模式下,9038用本地PLL来根据外部输入的IIS信号中的Data,来合成其他两路LRCK、SCLK,还有产生一个主MCLK输出……。你猜对了,这个模式和所有的ASRC芯片的主模式都一样,这个时候如果9038自己可以产生一个非常好的时钟源,将可以用来同步所有的外围芯片硬件,比如SPDIF接收器、ADC、USB界面芯片等等。问题就是你得自己设定一下最后想要什么频率。我开启的这个模式是主时钟除频8倍,所以当收入44.1K时可以在一个GPIO脚收到一个22.5792M的频率,在做播放时我用这个时钟去强制USB界面芯片做Slave从模式,测试用。
一般用户使用都是接收DATA、SCLK、LRCK三路的SLAVE模式,所以一般不需要。

0x0B 全0
没用,关于SPDIF接收用哪个端口的

0x0C 01011010;  0x5A
我用10101010;0xAA。这个寄存器是设置PLL锁相环的带宽的,越高越精确,也越容易失锁,就像是锁X圈,把小弟弟勒得过紧,确实硬度高了,持久了,但时间长了会坏死……。高4位是PCM,低4位是DSD的。我全设置成12、12级。

0X0D 00100000;0x20
不用动,默认就行。这个寄存器默认打开了THD补偿开关、抖动、去Jitter开关。

吃饭去了,明天再更。

1

主题

0

好友

37

积分
     

注册会员 当前离线

Rank: 2

UID
757267
帖子
37
精华
0
经验
37 点
金钱
35 ¥
注册时间
2014-9-25
发表于 2022-2-9 20:49 | 显示全部楼层
点赞楼主做经验分享

2

主题

0

好友

247

积分

业余侠客 当前离线

Rank: 4

UID
618788
帖子
256
精华
0
经验
247 点
金钱
243 ¥
注册时间
2013-9-19
发表于 2022-2-11 22:54 | 显示全部楼层
感谢分享

0

主题

0

好友

150

积分
     

论坛游民 当前在线

Rank: 3Rank: 3

UID
137146
帖子
166
精华
0
经验
150 点
金钱
150 ¥
注册时间
2009-10-5
发表于 2022-2-19 15:14 | 显示全部楼层
好贴子,楼主辛苦了

141

主题

2

好友

3649

积分
     

贵宾 当前离线

Rank: 3Rank: 3

UID
4694
帖子
3627
精华
6
经验
3649 点
金钱
2757 ¥
注册时间
2005-6-22

社区贡献 论坛贵宾

发表于 2022-11-5 18:27 | 显示全部楼层
通俗易懂,支持!

1

主题

0

好友

40

积分

注册会员 当前离线

Rank: 2

UID
997910
帖子
43
精华
0
经验
40 点
金钱
38 ¥
注册时间
2022-11-4
发表于 2022-11-5 22:00 | 显示全部楼层
这个确实有用

55

主题

5

好友

1621

积分
     

侠之大者 当前离线

Rank: 6Rank: 6

UID
162187
帖子
1467
精华
1
经验
1621 点
金钱
1312 ¥
注册时间
2010-1-7
发表于 2022-11-5 23:41 | 显示全部楼层
继续等讲课

7

主题

3

好友

554

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
793062
帖子
549
精华
0
经验
554 点
金钱
529 ¥
注册时间
2015-5-23
发表于 2024-1-27 02:00 | 显示全部楼层
本帖最后由 xdming 于 2024-1-27 02:08 编辑

楼主,一年过去了,你的下文呢?另外,对于寄存6我有异议,它可是全自动的,干嘛要禁用人家呢?碍事了?老掉牙的东西不代表没用吖,TDA1541 也一样是老掉牙,还卖的贼贵呢。
1706292137403.png

27

主题

1

好友

486

积分

业余侠客 当前离线

Rank: 4

UID
787724
帖子
424
精华
0
经验
486 点
金钱
396 ¥
注册时间
2015-3-20
 楼主| 发表于 2024-1-27 14:00 | 显示全部楼层
xdming 发表于 2024-1-27 02:00
楼主,一年过去了,你的下文呢?另外,对于寄存6我有异议,它可是全自动的,干嘛要禁用人家呢?碍事了?:lo ...

你要搞清楚它是干什么用的,去加重只有一些很老的碟才有,而且这个寄存器只对spdif有意义,没用的,就关掉。

关于ess的设置,我在另外一个帖子里写过,所以另外开帖了。

7

主题

3

好友

554

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
793062
帖子
549
精华
0
经验
554 点
金钱
529 ¥
注册时间
2015-5-23
发表于 2024-1-27 14:12 | 显示全部楼层
The de-emphasis filter can automatically be applied when an SPDIF stream sets the de-emphasis flag.It will auto detect the sample rate (32k, 44.1k, 48k) in either consumer or professional formats and then apply the correct de-emphasis filter.
再老的碟,曾经有过,那么它就存在。而且,这里说的很清楚,这个功能它会自己检测数据流中的标志,自动设置去加重。也就是说,在SPDIF模式下,打开它,并不会有任何影响。而且它还能在有去加重的情况下自动更正设置,你这样草率的认为它没用,直接关掉,是不是太不严谨了?

2

主题

0

好友

52

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
1087252
帖子
55
精华
0
经验
52 点
金钱
48 ¥
注册时间
2024-1-1
发表于 2024-2-15 15:50 | 显示全部楼层
有用

27

主题

1

好友

486

积分

业余侠客 当前离线

Rank: 4

UID
787724
帖子
424
精华
0
经验
486 点
金钱
396 ¥
注册时间
2015-3-20
 楼主| 发表于 2024-3-1 15:51 | 显示全部楼层
xdming 发表于 2024-1-27 14:12
The de-emphasis filter can automatically be applied when an SPDIF stream sets the de-emphasis flag.I ...


Then bite me baby!!

220

主题

17

好友

1208

积分
     

侠之大者 当前在线

Rank: 6Rank: 6

UID
200374
帖子
6716
精华
0
经验
1208 点
金钱
1030 ¥
注册时间
2010-5-12
发表于 2024-5-3 23:55 | 显示全部楼层
这个芯片必须要用软件控制吗,我想设计一款单独只用蓝牙输入的要不要软件控制呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部