高通音频调试 以及系统属性介绍

备注:来源于高通文档

1、 用户空间调试日志
执行命令之后,会在路径 C:\Users\Administrator 下面找到 logcat.log。
2、内核空间调试日志
执行以下命令,则打开相应内核 c 文件 debug 功能。
adb shell
echo -n "file msm-pcm-q6-v2.c +p" > /sys/kernel/debug/dynamic_debug/control
echo -n "file msm-dai-q6-v2.c +p" > /sys/kernel/debug/dynamic_debug/control
echo -n "file soc-dapm.c +p" > /sys/kernel/debug/dynamic_debug/control
echo -n "file soc-pcm.c +p" > /sys/kernel/debug/dynamic_debug/control
echo -n "file soc-core.c +p" > /sys/kernel/debug/dynamic_debug/control
echo -n "file msm8952.c +p" > /sys/kernel/debug/dynamic_debug/control
echo -n "file msm8x16-wcd.c +p" > /sys/kernel/debug/dynamic_debug/control
adb shell cat /proc/kmsg > kernel.log
执行 adb shell cat /proc/kmsg > kernel.log 之后,会在路径 C:\Users\Administrator
下面找到 kernel.log。

3、ro.qc.sdk.audio.ssr If true, the surround sound recording feature is supported; used in the function audio_extn_ssr_update_enabled() in the file hardware/qcom/audio/hal/audio_extn/ssr.c

ro.qc.sdk.audio.fluencetype=n one None: Qualcomm® Fluence™ noise cancellation technology is not supported

Fluence Pro: Qualcomm® Fluence™ Pro noise cancellation technology, Fluence Quad-Mic, and Dual-Mic are supported

Fluence: Fluence Dual-Mic is supported

persist.audio.fluence.voicecall =true If true, use Fluence in voice call

persist.audio.fluence.voicerec =false If true, use Fluence during voice recording

persist.audio.fluence.speaker =true If true, use Fluence in Speaker mode

tunnel.audio.encode=true If true, enables Tunnel mode encoding; currently only AMR_WB format is supported; used in the function audio_extn_compr_cap_enabled() in the file /hardware/qcom/audio/hal/audio_extn/compress_capture.c

4、读写codec寄存器

使用 adb 命令读写 codec 寄存器:

adb root

adb remount

adb shell mount -t debugfs debugfs /sys/kernel/debug

adb shell cd /sys/kernel/debug/asoc/msm####-xxxx-snd-card/xxxx_codec

Read: cat codec_reg

Write: echo " < value >" > codec_reg

Ex : Register Address : 0x121

Value to written : 0xA0

echo "0x121 0xA0" > codec_reg

用 ADIE 设置寄存器

使用 adb 命令配置 ADIE 寄存器

adb root

adb remount

adb shell “mount -t debugfs debugfs /sys/kernel/debug”

adb shell “chmod 777 /sys/kernel/debug/asoc/*-sndcard/*_codec/codec_reg“

然后连接 QACT ADIE,进行设置

5、WCD codec 数字增益设置

“RXn Digital Volume” (CDC_RXn_VOL_CTL_B2_CTL n= [1 -4])

“DECn Volume” (CDC_TXn_VOL_CTL_GAIN n= [1 -4])

“IIRn INPx Volume” (CDC_IIRn_GAIN_Bx_CTL n= [1 -2] x=[1-4]) 以上增益按最小 0 阶到最大 124 阶设置,步长 1 分贝。 最小 0 阶代表-84 分贝,第 84 阶为 0 分贝,最大 124 阶为+40 分贝。

实例如下, mixer_paths.xml 增益设置 “value”字段可能的值范围最小:0 (-84dB) 最大:124(0dB) 步长:1(1dB) Tinymix 音量控制命令: tinymix "DEC1 Volume" value 若 value 设为 84 代表 0 分贝 若 value 设为 0 代表-84 分贝 若 value 设为 124 代表+40 分贝

6、WCD codec 模拟增益设置

“ADCn Volume” (TX_n_EN n=[1,2])

“LINEOUTn Volum” (RX_LINE_n_GAIN n= [1-2])

“HPHL Volume” (RX_HPH_L_GAIN)

“HPHR Volume” (RX_HPH_R_GAIN)

“EAR PA Gain” (RX_EAR_GAIN)

“SPK DRV Volume” (SPKR_DRV_GAIN)

   a. ADC Volume

    “ADCn Volume” (TX_n_EN,其中 n=[1,2])

      最小增益:0 分贝,最大增益:+28.5 分贝,步长:1.5 分贝

      实例如下, mixer_paths.xml 增益控制 “value”字段可能值范围最小:0(0 分贝)最大:19(+28.5 分贝)步长:1(1.5 分贝) Tinymix 音量控制命令: tinymix "ADC1 Volume" value 若 value 设为 0 代表 0 分贝 若 value 设为 19 代表+28.5 分贝

b. LINEOUT Volume

“LINEOUTn Volum” (RX_LINE_n_GAIN,其中 n= [1-2]) 最小增益:-30 分贝,最大增益:+0 分贝,步长:1.5 分贝

实例如下, mixer_paths.xml 增益设置 “value”字段可能的值范围最小:0(-30 分贝)最大:20(0 分贝)步长:1(1.5 分贝) Tinymix 音量控制命令: tinymix "LINEOUT1 Volume" value 若 value 设为 0 代表-30 分贝 若 value 设为 20 代表+0 分贝

c. HeadPhone Volume “HPHL Volume” (RX_HPH_L_GAIN)及 “HPHR Volume” (RX_HPH_R_GAIN) 最小值:-30 分贝,最大值:+0 分贝,步长:1.5 分贝 实例如下, mixer_paths.xml 增益设置 “value”字段可能的值范围最小:0(-30 分贝)最大:20(0 分贝)步长:1(1.5 分贝)

Tinymix 音量控制命令: tinymix "HPHL Volume"

value 若 value 设为 0 代表-30 分贝

若 value 设为 20 代表+0 分贝

d. EAR PA Volume “EAR PA Gain” (RX_EAR_GAIN) 最小值:0 分贝,最大值:+6 分贝,步长:1.5 分贝

实例如下, mixer_paths.xml 增益设置 “value”字段可能的值范围:POS_6_DB(6.0 分贝),POS_4P5_DB(4.5 分贝), POS_3_DB(3.0 分贝),POS_1P5_DB(1.5 分贝), POS_0_DB(0 分贝)

Tinymix 音量控制命令: tinymix "EAR PA Gain" value 若 value 设为 POS_6_DB 代表 6dB 若 value 设为 POS_0_DB 代表 0dB e. Speaker Drive Volume “SPK DRV Volume” (SPKR_DRV_GAIN) 最小值:0 分贝,最大值:+28.5 分贝,步长:1.5 分贝

实例如下,

mixer_paths.xml 增益设置 “value”字段可能的值范围:POS_12_DB(12.0 分贝), POS_10P5_DB(10.5 分 贝), POS_9_DB(9.0 分贝), POS_7P5_DB(7.5 分贝), POS_6_DB(6.0 分 贝), POS_4P5_DB(4.5 分贝), POS_3_DB(3.0 分贝), POS_1P5_DB(1.5 分 贝), POS_0_DB(0 分贝)

Tinymix 音量控制命令: tinymix "SPK DRV Volume" value 若 value 设为 POS_6_DB 代表 6 分贝 若 value 设为 POS_0_DB 代表 0 分贝

7、音频回环

比较常用的有三种回环: 编解码器回环, DSP 音频前端回环以及 ALSA 回环。

通路配置参照: vendor/qcom/proprietary/mm-audio/audio_ftm/config/89xx/ftm_test_config

KK 以前版本用 amix/aplay/arec 命令

KK 及以后版本用 tinymix/tinyplay/tinycap 命令 如下以 MSM8996 为例:

编解码器回环

音频信号回环通路: 音频信号输入-> WCD93xx (AMIC/DMIC) -> WCD93xx ( IIR) -> 回环 -> WCD93xx (RX Mixer Chain/DAC) ->音频信号输出

四种模式 – 从数字 MIC1 回环到听筒 – 从模拟麦克 MIC1 回环到听筒 – 从 DMIC1 回环到扬声器 – 从 AMIC1 回环到扬声器

例如:编解码器回环从耳机麦克到受话器(亦即侧音)控制命令如下

#tinymix 'ADC MUX6' 'AMIC'

#tinymix 'AMIC MUX6' 'ADC2'

#tinymix 'IIR0 INP0 MUX' 'DEC6'

#tinymix 'IIR0 INP0 Volume' 75

#tinymix 'ADC2 Volume' 18

#tinymix 'RX INT1 DEM MUX' 'CLSH_DSM_OUT'

#tinymix 'RX INT2 DEM MUX' 'CLSH_DSM_OUT'

#tinymix 'RX INT1 MIX2 INP' 'SRC0'

#tinymix 'RX INT2 MIX2 INP' 'SRC0'

//侧音增益能通过修改 IIR 滤波器增益改变

tinymix 'IIR0 INP0 Volume' X “X”值范围从 0 到 124,0 代表-84 分贝,124 代表+40 分贝

音频前端回环

音频信号回环通路: 音频信号输入 -> WCD93xx (AMIC/DMIC) -> Slimbus TX -> DSP AFE TX -> 回环 - > DSP AFE RX -> Slimbus RX-> WCD93xx (RX Mixer Chain/DAC) ->音频信号输出

步骤: i 通过 amixer 命令使能 TX 和 RX 设备 (a) 使能 TX 设备 (b) 使能 RX 设备 (c) 连接音频前端和后端 #tinymix ‘SLIMBUS_DL_HL Switch’ 1

ii 使能数字处理器在 SLIMBUS_0_TX 和 SLIMBUS_0_RX 之间回环

#tinymix 'SLIMBUS_0_RX Port Mixer SLIM_0_TX' 1

iii 结束播放和录音 #tinyhostless -D 0 -P 5 -C 5 -p 8 -n 2 -c 1 -r 48000

TinyALSA 回环

音频信号回环通路: 音频信号输入 -> WCD93xx (AMIC/DMIC) -> Slimbus TX -> DSP AFE TX -> ALSA Recording -> 回环 -> ALSA Playback -> DSP AFE RX -> Slimbus RX-> WCD93xx (RX Mixer Chain/DAC) ->音频信号输出 使能 TX 和 RX 设备,通过执行以下 ALSA 回环命令测试 ALSA 回环: adb shell tinyhostless -P 0 -C 0 -p 640 -n 2 -c 2 -r 48000 -L 1

8. 播放测试:一般播放 1khz 0db 正弦波,然后使用示波器确认输出是否有削顶失真,相 位失真,杂音等。

9. 录音测试:可使用信号发生器产生 1khz 的波形从 codec 模拟端导入,然后录制波形, 可以通过回放来确认波形是否正常,无失真,或者使用电脑上的软件工具 adobe audition 来分析底噪等等基本指标。
 

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值