A40i 修改MIC输入增益和BIAS寄存器:
sys_config.fex中codec相关配置:
[sndcodec]
sndcodec_used = 0x1
[codec]
codec_used = 0x1
headphonevol =0x3b //HP默认音量设置,最大值为0x3f
spkervol = 0x1b //SPK默认音量设置,最大值为0x1f
maingain = 0x4 //MIC1前端增益,最大值为0x7(实测:修改后mic录音无改变,驱动中未写入codec)
hp_dirused = 0x1 //HP开关,0x1:开启 0x0:不开启
adcagc_cfg = 0x0 //ADC自动增益控制,0x1:开启 0x0:不开启
adcdrc_cfg = 0x0 //Drc动态范围控制,0x1:开启 0x0:不开启
adchpf_cfg = 0x0 //ADC端高通滤波,0x1:开启 0x0:不开启
dacdrc_cfg = 0x0 //播放动态音效调节,0x1:开启 0x0:不开启
dachpf_cfg = 0x0 //播放通路高通滤波,0x1:开启 0x0:不开启
;gpio-spk = port:PB05<1><1><default><default> //外部功放使能脚
-
Audio相关缩写解释:
-
DAI - Digital Audio Interface 其实就是I2S/PCM/AC97/PDM/TDM等,实现音频数据在CPU和Codec间的通信。
-
DAPM - Dynamic Audio Power Management 动态音频电源管理。
-
-
Line in端口:该端口主要用于连接电吉他、电子琴、合成器等外界设备的音频信号输出的录音,由于这些设备本身输出功率就比较大,因此需要连接到Line in端口录音,当然使用它们录音从某种程度上也可以被称为外部设备的“内录”。一般您使用的声卡越好,Line in里的噪音就会越低,录制效果也会比较好。
-
Mic in端口:这要是连接麦克风录音使用的。但是这个端口和Line in的区别在于它有前置放大器,换言之麦克风本身输出功率小,因此必须要有一个外部的放大设备来放大音频信号。这个端口就是起到这个作用。
-
A40i codec寄存器直接调试(2020/9/3 17:53):
-
cd /sys/devices/soc.0/1c22c00.codec/audio_reg_debug
-
cat audio_reg //查看源码“reg_labels”数组中所有寄存器值
-
echo 1,2,0x306,0x0 > audio_reg //修改“SUNXI_MICIN_GCTR”MIC1/2IN GAIN寄存器的值,实测录音大小变化不明显。
-
echo 1,2,0x30b,0x53 > audio_reg //修改“SUNXI_MIC1G_MICBIAS_CTR”MIC bias寄存器的值,实测电压有所变化但是录音大小变化不明显。
-