A: AW37501是一款为LCD屏模组的Driver提供偏电压的芯片,它集成了升压式DC-DC变换器用于前置电源,经过LDO和电荷泵可产生+5.4V和-5.4V的双输出电源,内部框图如图所示:
当后级系统出现Latchup现象时,由于AW37501的LDO输出能力太强,会导致后级芯片烧坏。在满足后端带载能力的情况下,可通过配置LDO限流值,将限流减小,以小电流限流,来确保不烧坏芯片。
LDO的输出电流限制可通过寄存器04H的Bits [4]进行配置(默认值370mA),如下图:
A:首先确保PC与手机处于同一个无线网络中
方法一:
1、 查看手机的IP地址
2、 使用<ping>命令确保通讯正常,PC 进入cmd命令窗口,使用 ping 10.7.61.50,通讯成功如下:
PC通过USB线连接手机,执行如下命令: adb tcpip 5555(PS:5555是端口号,可以随意地指定)
3、使用 adb connect 10.7.61.50:5555 连接手机
方法二:
1、 点击“设置”中的“关于手机”界面的“版本号”5次,让手机处于开发着模式
2、 进入“设置”中的“系统”中的“开发者选项”,打开无线调试
3、 点击“使用配对码配对设备”
4、 PC使用adb pair 10.7.61.50:42303:294611匹配设备
5、 查找手机的IP地址和端口号
6、 使用 adb connect 10.7.61.50:42749 连接手机
问题1:出现<由于目标计算机积极拒绝,无法连接>,
原因是:需要借助usb数据线在手机上开启连接adb无线模式服务,通过上述步骤2可解决;
问题2:找不到HOSH
原因是:后台进程占用了5037
解决方法:
(1) 找到占用5037的PID——例如3032
(2) 在“任务管理器”中关闭PID为3032的进程,并结束该进程
(3) PC重新使用adb pair 10.7.61.50:42303:294611匹配设备
1.确认aw算法是否bypass
MTK nodsp平台bypass aw算法的方式(选其中一种即可):
AP_HAL算法:
1) 删除awinic_params.bin(路径在vendor/firmware下)
2) 与aw联系出一个bypass参数push到/vendor/firmware/awinic_params.bin
AP_Aurisys算法:
需与AW_DSP.BIN中设置的bypass场景的id匹配,可自行查看logcat log或者与AW确认
例如上图中Bypass场景id为3,因此对应的命令就是
adb shell "AudioSetParam AURISYS_SET_PARAM,HAL,ALL,AWINIC,ADDR_VALUE,0x10013d30, 3=SET " |
2.确认平台音效及第三方音效是否关闭
平台音效分为:MTK hal层音效算法,MTK平台BesLoudness算法等
第三方算法分为:杜比音效,misound等
确认方法:
抓取音频节点确认
streamout.pcm.0.AudioALSAStreamOut.flag6.pid682.tid3693.48000.32bit.2ch
AudioALSAStreamOut节点为framework输入给HAL层的数据流,此节点在算法处理前,播放1k0db的音源时因确保该节点无异常(例如频谱不应有凹陷)。
如果此节点有问题需排查framework中的算法,一般为平台BesLoudness算法(DRC算法),杜比音效。
排查BesLoudness是否关闭以及关闭方法请参考[FAQ0101044]如何关闭MTK平台BesLoudness音效
streamout.pcm.0.AudioALSAPlaybackHandlerNormal.flag6.pid682.tid3693.48000.8_24bit.2ch
AudioALSAPlaybackHandlerNormal节点为HAL算法处理后的音频节点,播放1k0db的音源时因确保该节点无异常(例如频谱不应有凹陷)
如果此节点有问题需排查HAL层中的算法,一般为MTK平台EQ算法,MISOUND,AW算法等。
3.确认pa参数是否bypass(带DSP的芯片),AGC是否关闭
带DSP的芯片查看是否bypass方法:
查看04寄存器bit2是否为1
模拟pa查看AGC是否关闭方法:
查看06寄存器是否为0F//AGC3 OFF
查看08寄存器是否为09//AGC2 OFF
查看0A寄存器bit0是否为1//AGC1 OFF
A: 客户选用sensor专用I2C接口会导致无法在kernel中控制pa。
如下图所示,高通该平台参考设计I2C4接sensor(sensor专用I2C),这路I2C在slpi中可控,但是在kernel里无法控制,如果需要使用这种I2C,需要找平台修改释放这路I2C(可能存在无法释放给PA用的情况),因此建议客户不要选用这种sensor 专用I2C接口。
A:打开摄像头,往OIS芯片(AW86006) 0x0009、0x000A地址写入不同值,如果观察到相机可以前后移动,则说明OIS可以控制相机前后移动完成对焦工作,如下命令:
第一步:/sys/class/aw86006_ois # echo 0x00 0x02 0x0009 0x01 0x3f > awrw //300行程
第二步:/sys/class/aw86006_ois # echo 0x00 0x02 0x0009 0x03 0x00 > awrw //700行程
A:重复打开摄像头,cat reg 检查0x0009与0x000a寄存器值是否存在变化,如果存在变化,则可以确认AF往OIS中成功写入对焦值,操作步骤如下:
第一步:打开摄像头,cat reg:
xxx_64:/sys/class/aw86006_ois # cat reg
reg[0x0000]:0x88
…
reg[0x0008]:0x04
reg[0x0009]:0x00
reg[0x000A]:0x00
reg[0x000B]:0x0D
…
第二步:移动摄像头,重复第一步操作;
A:使用I2C传递IV信号会面临以下问题:
1. 带宽不够,通常IV信号格式通常为频率48Khz位宽32bit,总带宽1.536Mbps。而常规的I2C接口带宽最高带宽400Kbps。
2. 上行的IV信号对实时性要求很高,需要根据实时的IV信号来对喇叭进行保护,有时还会使用IV信号进行通话回声消除,由于I2C是分段传输数据,实时性较差,不能满足要求。
3. I2C的特点是多对多即多个主机可以与多个从机进行通信,如果使用I2C进行IV信号传输,将会长时间占用I2C总线,只要喇叭处于工作状态,I2C只能用于IV信号传输,其他设备均不能通信,极大占用资源。
Awinic推荐:
方案一:采用I2S传递IV信号,目前业界大部分的smart PA都采样这种方式。
方案二:采用内置DSP的PA,喇叭保护相关的算法运行于功放内部DSP,无需上传IV信号。
另外,监测喇叭功耗,直接在主控芯片内部检测主控送给功放的音频信号即可,无需I2C或者I2S。
A:(1)手动关闭方法:
设置->声音->音效改善->将开关置灰
此方法只为临时方案,永久关闭需从代码上修改关闭合入正式版本
(2)代码修改方式(此方法仅供参考,详情可咨询MTK平台端)
MTK_BESLOUDNESS_RUN_WITH_HAL = no
MTK_BESLOUDNESS_SUPPORT = no
在ProjectConfig.mk文件中,把上面两个宏设定成no。
代码关闭修改后,响度一般会有明显变化,同时设置里的BesLoudness开关会消失
A:
1.进入MTK工模UI
进入工模方式:
adb shell "am start -n com.mediatek.engineermode/.EngineerMode"
或者拨号盘输入*#*#3646633#*#*
2.打开ATCI
3.连接MTK tunning tool,检查配置
选到Write模式,Speaker &Music点击DRC+ACF
然后鼠标放在右上角的曲线上后按CTRL+D弹出框中选择MBDRC
确认这里面不能加增益并且曲线要是直的,设置完以后,下载到机器里。
A:
1. 确认是否是两台手机近距离测试造成
如过在解析的audio dump中有些连续声音仅在上行存在而在下行是不存在的 或 UL比REF早到很多且对齐不稳定可能是距离过近导致。
对策:
测试回音问题注意事项如下:
1)测试时,通话双方尽量间隔10米以上,或者最好在2个独立的房间进行测试
2)测试时,尽量一方不说话,让对方数数(不要太快,两个数字之间间隔一小段时间方便分析),看是否有回声,然后交换过来
2. 是否有ref 信号 以及ref信号来源配置是否正确
若是从PMIC输出则默认从平台AFE拉ref信号。
一般是外接smartPA在I2S这种可能存在没有ref信号,需确认smartPA是否有回送ref信号(抓VMlog)。
如果smartpa没有ref信号,以AW883XX为例,还请排查以下两点:
1) 通话的时候检查kenerl log里是否有aw883xx_startup:capture enter
行 10302: 3,7949,16982468,-;.(0)[586:audio.service.m][Awinic][6-0034]aw883xx_startup: capture enter |
如果通话时没有以上log请检查
•检查machine驱动中回传那一路I2S是否配置dai_link。
以MT6833使用I2S0(TX)和I2S3(RX)这组为例
•SmartPa_AudioParam.xml中是否按照驱动移植文档配置
2) 确认平台回声信号取左声道还是右声道,pa参数默认配置是配置在左声道,如果不匹配VMlog中ref也会没有信号
VM log中 ref信号有信号而回声效果仍旧不好请找平台处理,VM log中没有ref信号可联系艾为处理分析
A:PA的DNR的测试方法如下:
① 整机bypass平台、SKT、MEC、AGC及其它第三方保护、效果算法;
② 播放1KHz_-60dB信号,AP测试THD+N_Ratio,得到V1(dB);
③ DNR = V1 +(-60dB),如下图,PA的DNR = -51.7dB +(-60dB)= -111.7dB
A:使用adb命令进入PA对应的I2C节点,播放音乐,抓取PA工作时的寄存器值,将对应的寄存器值换算成2进制,再根据手册查看0X01寄存器值所代表的含义,就可判断当前PA的工作状态是否正常,如下表,是每一个bit位代表的PA状态;
当PA 0X01寄存器值为0311、1311、2311、3311时,PA的工作状态均为正常;·
要求:
1. Onewire每次指令下发结束后,IO处于高电平确保芯片进去IDLE状态
其他:如果下发指令结合后,芯片还处于Onewire mode. 会一直解析协议内容,芯片处于唤醒状态。影响ram&rtp&cont模式播放
A:1)产线F0校准方案的优缺点如下:
优点:产线上穿戴设备摆放位置及环境可控,环境稳定,校准的F0比较准确;
缺点:穿戴设备长时间使用后,F0随着老化会产生偏移,该方案无法随着设备老化调整F0校准值。
2)开机F0校准方案的优缺点如下:
优点:每次开机进行F0校准,可以随着设备老化在每次开机后重新调整F0校准值。
存在两个风险点:
一是由于穿戴设备一般重量轻,放桌面上时,如果表带支撑力比较大,穿戴设备容易悬空,振动时不稳定,会导致F0检测异常;
二是穿戴设备放在充电座上充电开机时,容易产生干扰,也会导致F0检测异常。
3)鉴于这两个方案各有优劣,因此,推荐将两个方案组合使用。产线F0校准并保存校准值,后续可以在充电时更新F0校准值。穿戴设备放在充电座上准备充电时,先关闭充电设备进行F0校准并更新F0校准值(若F0校准值没有超出范围),然后再进行充电。
A:该测试项为起始播放时间到起始录音之间的时间差。MTK平台默认该测试80ms内合格,添加第三方音效处理算法后,由于算法需要对每帧数据做处理,会导致起始播放时间延后,起始播放时间到起始录音之间的时间差会增大。可通过以下方式来扩大测试阈值:
设置android.hardware.audio.low_latency.xml不参与编译,删除该xml里以下内容:
<permissions>
<feature name="android.hardware.audio.low_latency" />
</permissions>
注:此项测试是根据 /vendor/etc/permissions/ 是否有android.hardware.audio.low_latency.xml 文件来决定测试阈值。如果android.hardware.audio.low_latency.xml 文件参与编译,阈值设置为80ms, 如果不参与编译,阈值则设置为500ms。此修改不影响正常播放流程,在保证整机音效的情况下可使用此方法扩大阈值。