3. 利用不同的應(yīng)用模式選擇合適的參數(shù)設(shè)置
根據(jù)上面對(duì)突發(fā)音淡入現(xiàn)象原因的分析,為了解決 TPA2028D1 對(duì)突發(fā)音信號(hào)的響應(yīng)問題,解決問題的方式為:
l 用軟件使能 TPA2028D1代替硬件使能;
l 縮小設(shè)置的 Fixed Gain和 Max Gain之間的差別。
但由于音樂播放等應(yīng)用中,F(xiàn)ixed Gain和 Max Gain仍需要存在一定的差別。因此我們可以通過:
l 找到一組中間參數(shù)能夠平衡連續(xù)的音樂播放和突發(fā)音播放效果;
l 根據(jù)不同的應(yīng)用判斷是否存在突發(fā)音的播放,分別針對(duì)連續(xù)音樂的播放和突發(fā)音的播放設(shè)置兩套不同的參數(shù)。由于在實(shí)際應(yīng)用中,使能 TPA2028D1,播放突發(fā)音,再關(guān)閉,的應(yīng)用都是在一些特定的應(yīng)用下進(jìn)行。例如播放拍照音時(shí),設(shè)備一般處于拍照狀態(tài);鍵盤音,設(shè)備處于鍵盤輸入狀態(tài)。因此我們可以根據(jù)不用的應(yīng)用決定 TPA2028 參數(shù)的設(shè)置,使得在消除突發(fā)音淡入淡出效果時(shí),不影響到音樂的播放效果。
由于現(xiàn)存的智能便攜設(shè)備操作系統(tǒng)應(yīng)用程序處于 UI層,而控制 TPA2028D1的驅(qū)動(dòng)處于驅(qū)動(dòng)層,因此需要通過驅(qū)動(dòng)讀取操作系統(tǒng)的相關(guān) log文件對(duì)于應(yīng)用程序進(jìn)行判斷。
3.1適合突發(fā)音的設(shè)置
由于快速信號(hào)和音樂動(dòng)態(tài)范圍和播放幅度不一樣,因此可以選擇獨(dú)立于音樂播放之外的另一套更適合快速信號(hào)播放的 TPA2028的參數(shù)。
選擇提示音播放增益。因?yàn)?TPA2028在芯片輸出使能后,增益會(huì)從 Fixed Gain向 Max Gain變化,因此縮小 Fixed Gain 與 Max Gain 的區(qū)別(3dB 以內(nèi)的增益變化一般不會(huì)引起聽覺響度明顯的變化),能夠限制 Gain的大幅變化。
選擇這個(gè)增益時(shí)還需要注意信號(hào)幅度和最大音量之間的關(guān)系,防止提示音過小或過大引起的問題。對(duì)于峰峰值在 500mV左右的輸出信號(hào),建議的增益設(shè)置在 18dB~22dB之間。
由于快速信號(hào)動(dòng)態(tài)范圍相對(duì)固定,因此一般不需要 DRC的介入,因此建議設(shè)置壓縮比為 1:1。
當(dāng)增益的變化被控制在較小的變化范圍以內(nèi),Attack Time, Hold Time和 Release Time等參數(shù)對(duì)于漸變的影響就變得相對(duì)較小,但仍建議盡量減小將這幾個(gè)參數(shù)的值。
此外,因?yàn)檐浖P(guān)閉芯片后,芯片的 I2C 部分仍然使能,因此相比硬件關(guān)閉芯片功耗要高。在 3.6V至 4.2V 范圍內(nèi),硬件關(guān)閉芯片,靜態(tài)電流在 0.2uA 至 0.3uA 之間。而使用軟件關(guān)閉芯片后,芯片的靜態(tài)電流在 50uA至 65uA之間。因此在設(shè)備進(jìn)入待機(jī)后可以硬件關(guān)閉 TPA2028。
3.2突發(fā)音設(shè)置的時(shí)序控制
因?yàn)樵陂_機(jī)或者退出待機(jī)狀態(tài)等情況下,仍然存在 EN 從拉低狀態(tài)到拉高狀態(tài)的變化,此時(shí)TPA2028D1 所有寄存器值均為初始狀態(tài)。因此在一次進(jìn)入突發(fā)音播放的情況下,我們需要設(shè)置芯片寄存器參數(shù),使其適合突發(fā)音信號(hào)的播放。而使用軟件使能和關(guān)閉芯片,不會(huì)清除寄存器的狀態(tài),因此之后使用軟件關(guān)閉芯片后,再次使能前則不需要重新設(shè)置寄存器參數(shù)。
首次使能時(shí)序的控制:
l 將 EN管腳拉高,使能芯片;
l 在 6ms內(nèi)使用 I2C將 SWS設(shè)置為 1,軟件關(guān)閉 TPA2028;
l 設(shè)置 Fixed Gain和 Max Gain,以及 Attack/Release Time;
l 使用 I2C將 SWS設(shè)置為 0,軟件使能 TPA2028;
l 延遲 6ms后開始進(jìn)行突發(fā)音的播放。
關(guān)閉時(shí)序的控制:
l 保持 EN管腳拉高,芯片一直處于使能狀態(tài);
l 使用 I2C將 SWS設(shè)置為 1,軟件關(guān)閉 TPA2028;
再次使能時(shí)序的控制
l 使用 I2C將 SWS設(shè)置為 0,軟件使能 TPA2028;
l 延遲 6ms后開始進(jìn)行突發(fā)音的播放。
3.3實(shí)際案例
Android 智能手機(jī),TPA2028D1 的應(yīng)用中,出現(xiàn)了電話撥號(hào)的應(yīng)用中,連續(xù)按撥號(hào)鍵,按鍵提示音逐漸變大的現(xiàn)象。
檢查按鍵音播放的流程為:
l 進(jìn)入電話撥號(hào)應(yīng)用程序后,TPA2028D1的 EN管腳被拉低;
l 處理器得到按鍵鍵值后,讀取按鍵音音頻文件,并同時(shí)拉高 EN腳進(jìn)行播放;
l 延時(shí) 1秒,如果沒有其他鍵按下,則拉低 EN腳關(guān)閉 TPA2028D1。
用 1kHz連續(xù)信號(hào)代替按鍵音,實(shí)測 TPA2028D1輸出波形如 Figure 4,信號(hào)緩慢增加,音量由小到大漸變。
Figure 4. 實(shí)際案例更改前 TPA2028D1輸出遞增波形
更改播放時(shí)序如下:
l 進(jìn)入電話撥號(hào)應(yīng)用程序后,拉高 TPA2028D1的 EN管腳;
l 通過 I2C設(shè)置芯片:
I2CWrite(0xb0, 0x01, 0xe3); //SWS=1, disable TPA2028D1
I2CWrite(0xb0, 0x05, 0x1e); //Fixed Gain=30dB
I2CWrite(0xb0, 0x07, 0xc0); //Max Gain=30dB
l 處理器得到按鍵鍵值后,讀取按鍵音音頻文件,同時(shí)通過 I2C設(shè)置芯片:
I2CWrite(0xb0, 0x01, 0xc3); //SWS=1, enable TPA2028D1
使能 TPA2028,進(jìn)行按鍵音播放;
l 延時(shí) 1秒,如果沒有其他鍵按下,則同時(shí)通過 I2C設(shè)置芯片:
I2CWrite(0xb0, 0x01, 0xe3); //SWS=1, disable TPA2028D1
關(guān)閉 TPA2028。
l 手機(jī)推出電話撥號(hào)應(yīng)用程序后,或者手機(jī)進(jìn)入待機(jī)狀態(tài)后拉低 TPA2028D1的 EN管腳。
實(shí)測波形如 Figure 5。實(shí)際使用中,連續(xù)按按鍵,按鍵提示音正常。
Figure 5. 實(shí)際案例更改后輸出波形
4 小結(jié)
TPA2028D1由于加入了有效改善音樂重放效果的 AGC/DRC,其中包含的延遲設(shè)置,無法對(duì)于突發(fā)音等短暫信號(hào)起到快速響應(yīng)的效果。在我們的實(shí)際應(yīng)用中,如果能夠從以下兩個(gè)方面完善設(shè)計(jì):
l 判斷播放模式,區(qū)分音樂和突發(fā)音的應(yīng)用場景,分別優(yōu)化參數(shù)設(shè)置;
l 以軟件方式使能或者關(guān)閉芯片;
即可達(dá)到更優(yōu)的播放效果。
評(píng)論
查看更多