蓝牙耳机通话问题调试

经常会遇到蓝牙通话相关的问题,比如我们用蓝牙耳机拨打电话的时候,可能会遇到蓝牙耳机侧或远程电话侧的一个或两个方向没有声音的问题,或者音频质量不够好。

为了清除发生的事情,可以按照下面的方法来判断这个问题是否是由BT部分引起的。

数据流

上行

BT headset -> WCNSS(BT) -> AUDIO(AFE) -> AUDIO->MODEM->Remote phone

下行

BT headset<- WCNSS(BT)<- AUDIO(AFE) <-AUDIO<-MODEM<-Remote phone

调试方法

我们需要获取QXDM日志来检查WCNSS或音频侧的语音PCM数据,以确定音频质量在这些点上是否是好的

对于上行数据,如果PCM的音频数据在WCNSS侧是好的,远程电话处的音频质量不好,那么这个就应该不是BT的问题.

相反的,如果PCM的音频数据在WCNSS测的音频质量不好,在远程电话处的音频质量也不好,那么这个就应该是BT的问题

对于下行数据,如果PCM的音频数据在“蓝牙耳机”测得音频质量不好,而远程电话处的音频质量也不好,那么这个问题就应该不是BT的问题

相反的情况,如果PCM的音频数据在“蓝牙耳机”侧的音频质量不好,而在WCNSS侧的音频质量是好的,那么这个问题就是BT的问题。

我们同事可能还需要获取BT耳机和DUT之间的OTA日志,一检查发送到蓝牙芯片或者从蓝牙芯片发送过来的语音PCM数据,已确认是由蓝牙耳机还是由我们的控制器或者是固件段引起的问题。

抓获兵提起音频数据的QXDM日志

这个需要专门抓取蓝牙的logmask,这个logmask会将PCM口0x1558和0x1586配置,用高通QCAT工具导出0x1558和0x1586口的音频数据。导出数据的说明如下:

BTSpkr.rx.wav

WCN从audio接收到的从远端手机发过来的PCM数据

BTMic.tx.wav

WCN发送给蓝牙耳机的PCM数据

INTERNAL_BT_SCO.0x1.tx.wav

audio发出的PCM数据

INTERNAL_BT_SCO.0x1.rx.wav

audio接收的PCM数据

抓取蓝牙OTA log

如果上述过程中发现的音频声音是正常的,但是蓝牙耳机中听到的声音还是由问题的,这个就需要进一步抓取蓝牙耳机的空口log进行验证是由于蓝牙耳机的问题还是蓝牙固件的问题。

 

你可能感兴趣的:(蓝牙耳机通话问题调试)