音頻驅動篇之pop音攻略

接觸音頻驅動工作也有2年的時間了,這這段時間裏深刻感受了手機行業的更新換代是MB的迅速。2年的時間裏,從TI到QUALCOMM,從android2.1到4.2,從單核到四核。經我參與的項目就有20款,日子是相當的難過。
  今天回頭來說一些我在研發過程中遇到的一些音頻難點問題與大家分享,希望對從事音頻驅動行業的兄弟們有些許幫助,同時也希望大家有好的想法可以和我溝通,與大家分享。
一、pop音產生的原因
   (1)模塊(通信模塊出來的信號就帶有脈衝跳變)
        解決思路:在模塊打開或關閉之前,對模塊音頻增益做漸變處理。
   (2)PA產生
        解決思路:對PA增益做漸變處理
   (3)CODEC產生
        解決思路:對聲卡通路順序進行控制選擇、對聲卡增益進行漸變處理
二、pop音產生的一些場景
 (1)接聽電話時
      解決思路:首先打開模塊音頻通路,其次在對方響鈴的時候(phone)再設置音頻模式,然後對codec的增益設爲最小,接着對功放進行漸變處理,最後對codec的增益進行遞增到正常大小操作。
 (2)主動掛斷電話時
      解決思路:首先phone在獲取掛斷狀態的第一時間內先設置音頻模式後再進行其他操作,其次對功放進行漸變減小,最後設置codec。
 (3)被動掛斷電話
     解決思路:如果不是模塊產生的pop音,其解決方法如主動掛斷電話場景解決方法一致。如果是模塊產生則需要模塊在掛斷電話的時候做漸變處理。
 (4)設備切換時
    解決思路:主要在設備切換的時候加延遲解決。
 (5)播放音樂/音樂切換
    解決思路:在播放器打開或在音樂切換暫停時,對音量進行漸變處理。

 

 

 

 

 

 

 

 

 

 

 

1. 板級電容/電感發聲
情況就是你設備開機之後,啥也沒幹,然後聽到呲啦刺啦的聲音,這種情況我遇到過一次,這個是
不合理的結構設計或者走線導致的,硬件實力挖坑,需要改版解決。
2.播放聲音長時間有雜音
這個鍋我們送給硬件,這個是芯片之間有干擾;需要硬件檢查個別芯片的地是不是乾淨的。

3. 插拔USB出現POP音
還是需要硬件背鍋,相關電路加磁珠有可能優化此問題.

4. 播放聲音的瞬間有POP音
這個可能是硬件也可能是軟件的鍋;使用高通QXDM工具分析問題,若0x1586之前都沒有問題,那麼此問題是硬件導致的,否則是軟件導致的;

軟件可以從以下兩個方面嘗試解決:

4.1 PA上下電相關代碼使用延遲隊列。
4.2 也有可能有人寫的代碼不規範,自己封裝了mixer,但是沒有加入到DAPM裏面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章