谢谢楼主的分享
楼主是全能实践型玩家
看看,来学习了。
占位学习,感谢楼主分享
:):)
楼主是全能实践型玩家
这完全是厂机啊,太厉害了!!!
学习一下
【2025年11月30日,有一些小的问题和改进共享】
输出缓冲也装上,机箱内满满登登的看着舒服多了:lol
1. 添加了输出缓冲,尝试了LME49990和金嗓子前级电路,RMAA测试结果自制金嗓子分立电路比运放指标高
LME49990缓冲
金嗓子前级电路缓冲
**** Hidden Message *****
2. 继电器音量噪音问题,有两个解决方法
1)简单直接的方法就是把控制电路数字地线,与模拟电路地线短接,最好大电解下面。 但是这样做指标会降低不少,但是基本可以去掉噪音。
2)音量调节后面增加缓冲,这样可以基本没噪音,测试指标也没问题。
3. 继电器音量调节后面,必须加RC滤波,因为继电器音量调节电路还是很容易引入数字电路的高频噪声。 后级功放输出嬬贝尔电路对地电阻烧了才想起来,前面没加RC滤波,功放输入端也没加RC滤波~ 最好都加上。
4. PCM1794静音功能忘了设计,切换同轴和光纤无信号时有白噪音。应该用DIR9001的ERROR端口高低电平控制PCM1794静音端口,这个比较麻烦后期重做板子再改吧。
5. 软件没发现bug,丝滑流畅。 唯一后期改的是音量从0~127改成0~100了,因为前面0~60基本没声音~~下面是改善后的代码
修改relay_control.c文件中的下面函数:
void SetVolumeRelays(uint16_t volume) {
uint16_t relay_value;
// 将 0~100 的输入映射到继电器控制值
if(volume == 0) {
relay_value = 0;
} else if(volume >= 1 && volume <= 27) {
relay_value = volume * 2;
} else { // volume >= 28 && volume <= 100
relay_value = volume + 27;
}
// 确保值在有效范围内 (0~127)
if(relay_value > 127) {
relay_value = 127;
}
// 清除所有继电器状态
GPIO_ResetBits(VOL_PORT, VOL1_PIN | VOL2_PIN | VOL3_PIN | VOL4_PIN);
GPIO_ResetBits(VOL_HIGH_PORT, VOL5_PIN | VOL6_PIN | VOL7_PIN);
delay_ms(5);
// 设置低4位 (PB12-PB15)
if(relay_value & 0x01) GPIO_SetBits(VOL_PORT, VOL1_PIN);
else GPIO_ResetBits(VOL_PORT, VOL1_PIN);
if(relay_value & 0x02) GPIO_SetBits(VOL_PORT, VOL2_PIN);
else GPIO_ResetBits(VOL_PORT, VOL2_PIN);
if(relay_value & 0x04) GPIO_SetBits(VOL_PORT, VOL3_PIN);
else GPIO_ResetBits(VOL_PORT, VOL3_PIN);
if(relay_value & 0x08) GPIO_SetBits(VOL_PORT, VOL4_PIN);
else GPIO_ResetBits(VOL_PORT, VOL4_PIN);
// 设置高3位 (PA8-PA10)
if(relay_value & 0x10) GPIO_SetBits(VOL_HIGH_PORT, VOL5_PIN);
else GPIO_ResetBits(VOL_HIGH_PORT, VOL5_PIN);
if(relay_value & 0x20) GPIO_SetBits(VOL_HIGH_PORT, VOL6_PIN);
else GPIO_ResetBits(VOL_HIGH_PORT, VOL6_PIN);
if(relay_value & 0x40) GPIO_SetBits(VOL_HIGH_PORT, VOL7_PIN);
else GPIO_ResetBits(VOL_HIGH_PORT, VOL7_PIN);
}
别忘了修改system_config.h中最大音量配置:
#define MIN_VOLUME 0
#define MAX_VOLUME 100
学习了
mchoi518 发表于 2025-11-30 12:02
【2025年11月30日,有一些小的问题和改进共享】
输出缓冲也装上,机箱内满满登登的看着舒服多了
...
LME49990缓冲还能增加失真?49990的全功率带宽只有不到300Khz,电路要加低通。
本帖最后由 mchoi518 于 2025-12-1 08:03 编辑
zxhdoop 发表于 2025-11-30 17:54
LME49990缓冲还能增加失真?49990的全功率带宽只有不到300Khz,电路要加低通。
多一个东西多一个失真正常啊,
49990带宽110M啊,哪来的300khz啊? 单位增益110M呗,,300多倍增益时300khz
学习学习
学习、仰慕下
难得看到既有制作又有指标测试结果的分享。非常好的指标,厉害!
测试结果新的thd比老的thd高呀
赞 漂亮
楼主的学习能力真强。
机箱变压器和水塘是老演员了{:2_60:}
Virtue 发表于 2025-12-5 00:17
机箱变压器和水塘是老演员了
:lol 确实这些大件都没换过~