es8323codec调节录播音量大小

描述:根据客户的需要,设备的录播音量有点小,需要调大一点。查看8323的规格书,发现有些寄存器是可以控制音量大小的。

1.播放:

规格书描述:

 

可见,数字音量控制衰减信号在0.5分贝,增量从0到-96分贝,写入寄存器的值越大,衰减信号越强声音也就越小。

驱动代码:sound/soc/codecs/es8323.c

复制代码
diff --git a/sound/soc/codecs/es8323.c b/sound/soc/codecs/es8323.c
index 4323a17..d81b718 100755
--- a/sound/soc/codecs/es8323.c
+++ b/sound/soc/codecs/es8323.c
@@ -851,8 +851,8 @@ static int es8323_probe(struct snd_soc_codec *codec)
        snd_soc_write(codec, 0x16, 0x53);
        snd_soc_write(codec, 0x17, 0x18);       /* I2S-16BIT */
        snd_soc_write(codec, 0x18, 0x02);
-       snd_soc_write(codec, 0x1A, 0x0A);       /* DAC VOLUME=0DB */
-       snd_soc_write(codec, 0x1B, 0x0A);
+       snd_soc_write(codec, 0x1A, 0x03);       /* DAC VOLUME=0DB */
+       snd_soc_write(codec, 0x1B, 0x03);
        snd_soc_write(codec, 0x26, 0x12);       /* Left DAC TO Left IXER */
        snd_soc_write(codec, 0x27, 0xb8);       /* Left DAC TO Left MIXER */
        snd_soc_write(codec, 0x28, 0x38);
复制代码

1A、1B转换为十进制就是26、27这两个寄存器,这里由0X0A改为0X03,播放声音明显有所增强。

 

2.录音:

规格书描述:

 

 这里我选的值是:ALC stereo,MAXGAIN: 29.5dB,  MINGAIN: +12dB,即11110000,18寄存器初始化时候写值0xf0.

 

posted @   M-kobe  阅读(1043)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示