AW88261和AW88265相比之前Smart PA多了VLDO管腳,VLDO電源來自DVDD,無需外部供電,此電壓給內部數字電路供電,不可給其它外部電源模塊使用;
VLDO電壓輸出1.5V,范圍±0.1V,使用時需要外接1uf電容。
接法如下:
1、二極管D1可以隔離反向過來的浪涌或者高電壓,需要注意二極管的過流能力大于工作時的最大電流并且預留至少20%余量,且PCB需要注意散熱,IC下方多打地孔到主地且盡量保持地的完整便于散熱。
2、R1/R2用來設定二極管后端電壓,這樣可以彌補二極管帶來的壓降損失。
可以將LED1和LED2并一起。內部電流源架構,由于1個通道的電流能力是有限的,只有一個LED燈時,為了加強驅動能力,LED1/LED2是可以并一起的。
需要注意的是,對應的電流配置時需要配置成ILED1=ILED2,且對應的電流值要配成目標電流的一半。比如你要達到1A時,只需要將ILED配成500mA。
負載開關內部功率管為PMOS管,通過EN腳的邏輯來控制MOS管的通斷;
導通時,PMOS管的VDS電壓差很小,漏電小,所以IQ小;
關斷時,OUT端電壓被拉低到GND,VDS電壓差很大,導致漏電加大,所以ISD要大一些。
進入OTG的方式有兩種
1.純軟件進入OTG模式
軟件配置OPA_MODE(REG01H[bit0])=1、HZ_MODE(REG01H[bit1])=0
2.通過OTG引腳拉高或拉低進入OTG模式
該方式需要先軟件配置兩個bit
a. 配置OTG_PL(REG02H[bit1])=1or0選擇OTG模式為OTG引腳高電平使能或低電平使能
b. 配置OTG_EN(REG02H[bit0])=1打開OTG功能
最后通過OTG引腳拉高或拉低即可進入OTG模式
適用androidLinux + 高通 + 艾為數字PA
1.在開機啟動內kernel日志中查找是否有 “codec_probe”,如果有說明艾為數字功放是否注冊成功,若無參考FAQ0100159;
2.查看工程對應的mixer_paths_xxx.xml(xxx對應項目名),相應場景audio route是否配置
以第四個I2S端口,舉例如下(具體場景根據實際使用決定):
1) ULL場景:
2) Offload場景:
3) Deepbuffer 場景:
4) Lowlatency 場景:
其中:不同工程 ULL,Offload, Deepbuffer,Lowlatency Voice等場景對應audio route的path name可能會有區別,查看方法如下:
$ logcat –s enable_audio_route
3.如果問題依然存在, 請提供以上2點修改相關patch、復現過程中的kernel 和 logcat日志, 日志抓取方法如下:
$adb logcat > logcat_audio.txt
$adb shell cat /dev/kmsg.txt
通過adb查看整機中AW881XX_SmartPA當前喇叭校準值的步驟如下:
方法1:
1.adb root
2.adb remount
3.adb shell
4.cd /sys/bus/i2c/drivers/ ——進入艾為smartpa節點文件目錄
5.cd aw881xx_smartpa ——進入到對應的驅動位置
6.ls ——查看PA寄存器的地址
7.cd 4-0034 ——找到PA當前的地址,例:地址為4-0034,進入到當前地址
8.整機播放靜音音源
9.echo 0x8677 > dsp_rw
10.cat dsp_re ——讀取dsp中Re的值
11.讀到的值即為當前整機中喇叭的阻抗值,示例如下圖,讀到的喇叭阻抗值即為Re=3.949 ohm
方法2:
1.重復方法1中①到⑨步驟
2.cat dsp_rw ——讀取dsp中Re的寄存器值,得到的8677寄存器值為通路阻抗,8678寄存器值為線損
3.讀到的值轉換成10進制,再除以4096得到阻抗值,通路阻抗減去線損即為dsp中寫入的喇叭阻抗,示例如下圖:
0x8677=0x4733,通路阻抗R=Re+Ra=4.449 ohm
0x8678=0x0800,得Ra=0.5 ohm
當前喇叭阻抗值Re=R-Ra=3.949 ohm
AW9364支持四路背光輸出,當應用時實際的LED路數少于4路時,LED1引腳不可以懸空必須使用,其他3個LEDX引腳可根據實際燈的數量進行連接,不用的引腳可以懸空。
圖1給出3路LED的應用。
兩者同優先級。
0x03寄存器的bit 4:3為軟件使能,芯片的A1,B1為硬件使能引腳,兩者有其一使能則OUTN和OUTP處于輸出使能狀態;
單獨硬件拉低或軟件disable都不能關閉原有的輸出使能狀態,需要都為0才會關閉輸出使能狀態。
AW8697支持3種復位模式,分別是上電復位、軟件復位以及硬件復位。
1. 上電復位
復位由VREG 上的 OK 信號控制,當 VBAT 上電, VREG 電壓升高,產生 OK 指示,復位完成 。
2. 軟件復位
通過I2C 總線向 CHIPID(0x00 )寄存器寫入 0xAA, 將復位內部電路和全部的寄存器配置。
注意:在向寄存器寫入復位命令后,至少需要 1ms 才能寫入其他命令。
3. 硬件復位
設備的RSTN 管腳為復位管腳,默認為高電平,將此管腳拉低,芯片復位。
根據公式Imax =K x 選擇合適的REXT電阻。
K=200,VREXT=0.4V,當REXT電阻的最小值為1KΩ時,Imax = 80mA。
這個電流是每路的最大電流限制。
0x79寄存器的bit5是OCP位,可以修改限流值,55mA /85mA。
CX端口的電容用于配置AW93001的靈敏度,對電容的穩定性要求很高。
如下圖所示,C0G的電容穩定性最高,容值幾乎不受溫度的影響。如果使用其他類的電容,在溫度變化時容值不能保持穩定,會導致AW93001的靈敏度產生波動。
AW32101的OVP閾值只有兩個,分別是13V和17V,通過芯片的VP引腳來調節。
1.當VP=low時,VOVP=17V;
2.當VP=high或者懸空時,VOVP=13V。
1.測量芯片的供電和reset電平(若有reset pin),參考芯片手冊
1)確定VDD電壓是否正常
2)確定DVDD電壓是否正常
3)確定reset pin電平是否正確
2. 檢查I2C總線和地址的配置(設備樹配置和PA的硬件配置保持一致):
設備樹配置中確定I2C總線號及I2C設備地址(注意:I2C地址配置避免重復)
I2C總線號根據硬件原理圖設計確認,芯片I2C設備地址(7位)根據硬件原理圖設計中AD引腳的高低電平狀態確認,詳細查看對應芯片手冊,以AW88264為例:
3.以上確認均無誤,I2C通信還是失敗,需抓取I2C讀寫波形,包括SCL、SDA、DVDD、reset pin(若有),通過波形確認I2C地址、ACK信號:
若I2C SCL、SDA一直為低電平,需確認是否有上拉電阻;
若I2C SCL、SDA一直為高電平,需確認平臺I2C功能是否配置正確;
若I2C地址不對,需核對第二步dts中的配置;
若無ACK,需核對芯片供電、reset pin的配置;
4.若以上均確認無誤,需排查焊接原因。
1.檢查dai_link配置,以aw882xx為例說明
先同硬件確認PA的I2S接口實際連接到平臺的哪一路I2S;
codec_dai配置是否添加到對應的dai_link下;
1)確認codec驅動注冊的dai-name和平臺dai-link配置的dai-name是否一致;
codec驅動中注冊的dai-name:
cat sys/kernel/debug/asoc/codecs或sys/kernel/debug/asoc/components
平臺dai-link配置:
2)確認是否在I2S對應的dai_link如QUAT_MI2S_RX和QUAT_MI2S_TX下修改codec dai name;
對于kernel-5.4以下的平臺:
對于kernel-5.4以上的平臺:
2.確認聲卡是否注冊成功
執行adb指令:
cat /proc/asound/cards
若如下示例顯示no soundcards,表明聲卡未注冊上
若聲卡未注冊,需抓取開機的kernel log,檢索ASoC,根據相關報錯分析;
若聲卡正常注冊,dai_link配置正確,log看還是未進入codec_probe,則需要確認所修改的dai_link是否有添加到聲卡。
確認方式:分析machine_probe函數,確認所修改的dai_link是否有添加到total_links。
如下示例,修改的dai_link為msm_mi2s_be_dai_links,而machine_probe中讀取”qcom, mi2s-audio-intf”不為0時才會添加msm_mi2s_be_dai_links。
查看聲卡的設備樹配置,如下列qcom,mi2s-audio-intf = <0>;的配置就會導致dai_links未被添加;需要修改為qcom,mi2s-audio-intf = <1>;
若以上配置均確認無誤,codec_probe還是未調用,可提供kernel log和dai_link修改的patch給艾為軟件FAE分析。
1.檢查dai_link配置,以aw881xx為例說明
1)確認codec驅動注冊的dai-name和平臺dai-link配置的dai-name是否一致;
codec驅動中注冊的dai-name:
cat sys/kernel/debug/asoc/codecs或sys/kernel/debug/asoc/components
平臺dai-link配置:
2)確認是否在"Ext_Speaker_Multimedia"的dai_link下修改codec dai name:
2.確認聲卡是否注冊成功
執行adb指令:
cat /proc/asound/cards
若顯示no soundcards,表明聲卡未注冊上
若聲卡未注冊,需抓取開機的kernel log,檢索ASoC,根據相關報錯分析;
若以上配置均確認無誤,codec_probe還是未調用,可提供kernel log和dai_link修改的patch給艾為軟件FAE分析。
1.檢查dai_link配置,以aw881xx為例說明
先同硬件確認PA的DATAI和DATAO分別使用的哪一路I2S;
codec_dai配置是否添加到了對應的dai_link下;
1)確認codec驅動注冊的dai-name和平臺dai-link配置的dai-name是否一致;
codec驅動中注冊的dai-name:
cat sys/kernel/debug/asoc/codecs或sys/kernel/debug/asoc/components
平臺dai-link配置:
2)確認是否在對應的dai_link下添加修改codec dai name:
2. 確認聲卡是否注冊成功
執行adb指令:
cat /proc/asound/cards
若顯示no soundcards,表明聲卡未注冊上
若聲卡未注冊,需抓取開機的kernel log,檢索ASoC,根據相關報錯分析;
若以上配置均確認無誤,codec_probe還是未調用,可提供kernel log和dai_link修改的patch給艾為軟件FAE分析。
AW32001A的NTC保護功能默認實現下面左圖所示的功能,若實現JEITA標準,需要主控根據溫度控制AW32001A充電電流實現。
1. NTC功能和PCB_OTP功能
下表中的NTC(resistor-divided)可以理解為電池NTC功能。(EN_NTC:REG06[Bit7]、DIS_PCB_OTP:REG07[Bit7])
電池NTC、PCB_OTP功能在硬件連接上相同,都是使用NTC引腳的功能測量IC外部溫度。跟芯片內部溫度檢測功能無關。
但電池NTC功能和PCB_OTP功能適用應用場景不同以及報錯邏輯均不相同
a. 電池NTC功能:
主要應用場景:測量電池包溫度,熱敏電阻在電池包中,當電池包溫度過高或者過低時關閉充電路徑。
在該功能下NTC報錯的邏輯是:充電時,NTC_Hot、NTC_Cold錯誤都報;不配置充電時(包括VBUS在位和不在位)NTC_Hot、NTC_Cold錯誤都不報。充電時,只要報溫度故障,就會停止充電,但不會關斷Q1及Q2的放電路徑。
b. PCB_OTP功能:
主要應用場景:測量PCB溫度,熱敏電阻在PCB上。
在該功能下NTC報錯的邏輯是:無論充電時(VBUS和VBAT都在位)還是不充電時(包括VBUS在位和不在位)都只報NTC_Hot錯誤。一旦報告NTC錯誤,Q1、Q2管都會被完全關斷。
2. 芯片內部溫度監測功能
實時監測芯片內部溫度,超過設定的閾值Thermal regulation threshold(TJ_REG:REG07H[B5-B4])時,IC不會報錯,而是會慢慢減少充電電流。
3. 熱關斷
芯片Die超過結溫閾值150℃時,Q1、Q2會被直接關閉,此時可通過09H[4] THERM_SD查看狀態。
1.如果使用AW32001A的NTC功能,硬件連接如下:
上圖中藍色部分為芯片外部的電路連接,RF1和RF2是必須的,RNTC可以放在PCB或電池包內。
關于RF1和RF2的計算可以找艾為的FAE獲取相關計算工具。
2.如果不使用AW32001A的NTC功能,直接通過100K電阻上拉至VDD引腳。
? Copyright 2008-2021 上海艾為電子技術股份有限公司 | 滬ICP備10011954號??Powered by IT