5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
发表于 2025-8-1 22:20 | 显示全部楼层
本帖最后由 hotsoil 于 2025-8-1 22:23 编辑

     上半年根据 jacksl528 大神的9039q2m设计,做成了软控的解码器。感觉搞懂了9039的软件参数,于是进一步做了一个双9039pro的解码器。硬件没有问题,拆下朋友的品牌解码器的软控模块,接上可以完美出声。但是自己编程控制芯片时不出声。请教各位大神哪里出问题了啊。
     我现在具体的设置如下:(两个9039芯片除了地址,其余设置一样,为了表述简洁,只写其中一个)
1、配置0寄存器,9039pro有8个输入信号通道和8个DAC输出通道,把8个通道的输出对应成立体声的两个通道(ch1/2 interpolation path)信号输入:
        ES9039_WriteByte(ES9039_ADDR1,0,46); //46=00101110

2、配置1寄存器,1寄存器的功能个9039q2m一样,同样配置成进入异步模式,同时启用S/PDIF、DoP和DSD解码功能,0xBf=1011 1111
        ES9039_WriteByte(ES9039_ADDR1,0x01,0xBf);  

3、配置42寄存器,把用于同轴和光纤输入的引脚GPIO8(同轴)和GPIO7(光纤)设置为输入模式
        ES9039_WriteByte(ES9039_ADDR1,42, 192);   //192=11000000

4、配置59寄存器, 限定TDM帧结构为2时隙,适用于立体声。9039pro的模式选择里没有I2S输入。得把将8通道的TDM输入改为I2S输入。
        ES9039_WriteByte(ES9039_ADDR1,59,1);  

5、配置64-71寄存器。这些寄存器对应的是TDM输入的8个通道,需要把它们对应成立体声的2个通道。
        ES9039_WriteByte(ES9039_ADDR1,64,0);       //  //数据线1,时隙1
        ES9039_WriteByte(ES9039_ADDR1,65,1);        //数据线1,时隙2
        ES9039_WriteByte(ES9039_ADDR1,66,0x20);       //数据线2,时隙1
        ES9039_WriteByte(ES9039_ADDR1,67,0x21);        //数据线2,时隙2
        ES9039_WriteByte(ES9039_ADDR1,68,0x40);       //数据线3,时隙1
        ES9039_WriteByte(ES9039_ADDR1,69,0x41);      //数据线3,时隙2
        ES9039_WriteByte(ES9039_ADDR1,70,0x80);      //数据线4,时隙1
         ES9039_WriteByte(ES9039_ADDR1,71,0x81);       //数据线4,时隙2
6、配置89寄存器,根据输入信号源的选择,把  S/PDIF输入源设为GPIO7(光纤)或GPIO8(同轴),目前设为了同轴。
     ES9039_WriteByte(ES9039_ADDR1,89, 0xF4);        //配置S/PDIF输入源为GPIO8,二进制为11110100,并设置IIR滤波器带宽为默认值

7、设置57号寄存器,选择输入信号源。
    ES9039_WriteByte(ES9039_ADDR1,57,ES9039.input_selection);
       就做了以上设置,其余为9039默认。在9039q2m里这些足够出声了,可以9039pro不出声,示波器显示dac的各个通道都没有模拟信号输出。请教高手上面设置是否正确,还缺哪些设置啊?谢谢



补充内容 (2025-8-2 20:53):
还有音量设置,调试期把音量设置成了最大,向74到81号寄存器里都写入了0

46

主题

2

好友

969

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
787724
帖子
869
精华
0
经验
969 点
金钱
822 ¥
注册时间
2015-3-20
发表于 2025-8-2 18:06 | 显示全部楼层
57号写入C1试试

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-2 20:26 | 显示全部楼层

谢谢!换成c1的自动选择输入信号也不行。

6

主题

0

好友

113

积分
     

论坛游民 当前离线

Rank: 3Rank: 3

UID
85950
帖子
115
精华
0
经验
113 点
金钱
101 ¥
注册时间
2009-3-6
发表于 2025-8-2 20:57 | 显示全部楼层
从基础代码找找原因,主要是I2C通讯包括时序等代码有没有问题,做法是向某些寄存器写入数据,然后把它读出来显示在屏幕上,看看正确否?

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-2 21:04 | 显示全部楼层
本帖最后由 hotsoil 于 2025-8-2 21:59 编辑
ouco 发表于 2025-8-2 20:57
从基础代码找找原因,主要是I2C通讯包括时序等代码有没有问题,做法是向某些寄存器写入数据,然后把它读出 ...


谢谢!都测试了,大多寄存器都在屏幕上都读了一遍。这个控制模块和程序是在已经正常使用的9039q2m解码器上移植的。mcu(stm32f030c8)和周边(液晶、EC11、红外)都和9039q2m接的一样,每个引脚的0和1控制都在屏幕上显示过,基本功能都没问题,就是怀疑9039pro设置的问题。相比9039q2m,ES9039PRO默认工作在 TDM模式(而非标准I2S),通过 FSCLK(帧同步时钟)相位偏移 实现声道分离,设置复杂了很多。差一点设置也出不来声。品牌机的液晶控制模块接上就能用,证明还是芯片的设置问题。

46

主题

2

好友

969

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
787724
帖子
869
精华
0
经验
969 点
金钱
822 ¥
注册时间
2015-3-20
发表于 2025-8-2 23:49 | 显示全部楼层
没图没二者寄存器代码对比,不敢跟着你瞎猜,折腾一通发现reset脚没上拉,纯浪费感情了。

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-3 08:32 | 显示全部楼层
丰年好大雪 发表于 2025-8-2 23:49
没图没二者寄存器代码对比,不敢跟着你瞎猜,折腾一通发现reset脚没上拉,纯浪费感情了。

相关文件在附件里。9039pro没有reset脚,只有一个RT1引脚,还要求接地。初始化程序如下:
相关程序和原理图.rar (67.36 KB, 下载次数: 391)

mcu

mcu

9039

9039

46

主题

2

好友

969

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
787724
帖子
869
精华
0
经验
969 点
金钱
822 ¥
注册时间
2015-3-20
发表于 2025-8-4 11:14 | 显示全部楼层
本帖最后由 丰年好大雪 于 2025-8-4 11:28 编辑

我研究研究的。

另外8脚Chip En就是传说中的Reset脚。

你有简易示波器,或者信号分析仪么?9039有没有发ACK?

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-4 11:47 | 显示全部楼层
丰年好大雪 发表于 2025-8-4 11:14
我研究研究的。

另外8脚Chip En就是传说中的Reset脚。

有示波器,发了ack

46

主题

2

好友

969

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
787724
帖子
869
精华
0
经验
969 点
金钱
822 ¥
注册时间
2015-3-20
发表于 2025-8-4 13:09 | 显示全部楼层
本帖最后由 丰年好大雪 于 2025-8-4 13:11 编辑
hotsoil 发表于 2025-8-4 11:47
有示波器,发了ack


89号寄存器配置成了F4,高位1111?如果是GPIO7、8,应该是1011或者1010。

改完看看有没有声,如果没有声,GPIO1、2是失锁指示,看看电平高低,高就是锁住了,低就是没收到信号。

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-5 17:18 | 显示全部楼层
丰年好大雪 发表于 2025-8-4 13:09
89号寄存器配置成了F4,高位1111?如果是GPIO7、8,应该是1011或者1010。

改完看看有没有声,如果没 ...

谢谢!谢谢大神帮忙找出了程序错误。改正后还是不出声。用万用表测试gpio1,2是高电平3.3V。

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-5 17:36 | 显示全部楼层
本帖最后由 hotsoil 于 2025-8-5 17:40 编辑

谢谢各位大神帮忙,我也继续找问题

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-5 17:54 | 显示全部楼层
丰年好大雪 发表于 2025-8-4 13:09
89号寄存器配置成了F4,高位1111?如果是GPIO7、8,应该是1011或者1010。

改完看看有没有声,如果没 ...

谢谢大神,果然是这个问题!已经正常出声了!最初修改后不正常是因为,下单定购了硬控的控制板pcb,想试试硬控看能不能出声,顺便把程序改成硬控了。改回软控,就正常出声了!

46

主题

2

好友

969

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
787724
帖子
869
精华
0
经验
969 点
金钱
822 ¥
注册时间
2015-3-20
发表于 2025-8-5 22:07 | 显示全部楼层
hotsoil 发表于 2025-8-5 17:54
谢谢大神,果然是这个问题!已经正常出声了!最初修改后不正常是因为,下单定购了硬控的控制板pcb,想试 ...

玩机愉快,一般来说DIY出现了问题人会很沮丧,不过根据经验,90%的错误都是低级失误,所以细细的查即可。

17

主题

4

好友

954

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
880770
帖子
970
精华
0
经验
954 点
金钱
922 ¥
注册时间
2020-7-14
发表于 2025-8-5 22:20 | 显示全部楼层
丰年好大雪 发表于 2025-8-5 22:07
玩机愉快,一般来说DIY出现了问题人会很沮丧,不过根据经验,90%的错误都是低级失误,所以细细的查即可。

兄台的AK4499搞到哪一步了

46

主题

2

好友

969

积分

职业侠客 当前离线

Rank: 5Rank: 5

UID
787724
帖子
869
精华
0
经验
969 点
金钱
822 ¥
注册时间
2015-3-20
发表于 2025-8-6 00:19 | 显示全部楼层
zhaojunsong9986 发表于 2025-8-5 22:20
兄台的AK4499搞到哪一步了

验证分系统,打了一块实验板,红外和显示、数控这一块需要好好设计,估计得至少两个礼拜,主要是控制逻辑。

5

主题

0

好友

80

积分

论坛游民 当前离线

Rank: 3Rank: 3

UID
73896
帖子
83
精华
0
经验
80 点
金钱
70 ¥
注册时间
2009-1-9
 楼主| 发表于 2025-8-6 14:04 | 显示全部楼层
丰年好大雪 发表于 2025-8-5 22:07
玩机愉快,一般来说DIY出现了问题人会很沮丧,不过根据经验,90%的错误都是低级失误,所以细细的查即可。


是啊,年初才学的Atum Deslgner和单片机。碰到问题就感觉无从下手了,好在有论坛能求助大神。

3

主题

0

好友

23

积分

注册会员 当前离线

Rank: 2

UID
1152783
帖子
21
精华
0
经验
23 点
金钱
17 ¥
注册时间
2026-2-21
发表于 2026-3-2 03:13 来自手机端 | 显示全部楼层
9039q2m默认i2s输入?那不是代表没有硬控没有软控也能直接从i2s出声?

3

主题

0

好友

23

积分

注册会员 当前离线

Rank: 2

UID
1152783
帖子
21
精华
0
经验
23 点
金钱
17 ¥
注册时间
2026-2-21
发表于 2026-3-2 03:14 来自手机端 | 显示全部楼层
丰年好大雪 发表于 2025-8-6 00:19
验证分系统,打了一块实验板,红外和显示、数控这一块需要好好设计,估计得至少两个礼拜,主要是控制逻辑 ...

那9039呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版| HIFIDIY论坛 ( 鄂ICP备2025138941号-3 ICP证:鄂B2-20130019 公安局网监备:420100007348 邮箱:1343292467@qq.com )

GMT+8, 2026-8-8 08:34 , Processed in 0.216173 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc.

返回顶部