MTK6577+Android之音訊(audio)移植

mirkerson發表於2015-06-30

分類: MTK+Android開發 Android驅動開發 1088人閱讀 評論(0) 收藏 舉報

MTK6577+Android之音訊(audio)移植

 

備註:audio PA音訊功放(power amplifier)

 

先借用《Y1MT6577 design notice V0.1》關於MT6577系統框圖:


圖1

可知speaker是由MT6329(PMIC)來控制的

 

1.     硬體設計

 

1.1  喇叭

 

圖2

這裡採用了audio通道2和speaker通道2,HPRP(模擬GPIO引腳)是MTK6577的Earphone receiver signal for AUDIO_JACK_R(audio jack理解為耳機插座),

 

引腳

功能

MT6577

HPRP

Earphone receiver signal for AUDIO_JACK_R

MT6329

VBAT_SPK2

Speaker通道2的VBAT端

MT6329

SPK2_P

Speaker通道2差分輸出正極

MT6329

SPK2_N

Speaker通道2差分輸出負極

 

1.2  Mcrophone(麥克風)原理圖設計


圖3

 

引腳

功能

MT6577

VMIC

麥克風偏置電壓1.9V

MIC頭

MICP

MIC頭的正極

MIC頭

MICN

MIC頭的負極

MT6577

AU_VIN0_P ---MICP0

Audio 0 in P for microphone

MT6577

AU_VIN0_N--- MICN0

Audio 0 in N for microphone

 

1.3  Handsetreceiver(手機接收器)


圖4

 

引腳

功能

MT6577

HSP

AUDIO_OUT_P for handset receiver

MT6577

HSN

AUDIO_OUT_N for handset receiver

MT6329

VBI_P

聲音差分輸入正極

MT6329

VBI_N

聲音差分輸入負極

 

這是手機應用示例圖,但目前我們裝置沒有引出音訊插頭,所以這裡沒有用到:


圖5

為了更好理解音訊這部分,借用《Y1MT6577 design notice V0.1》音訊部分的一張圖:


圖6

 

1.4  總結

先給出上面MT6577和MT6329用到的音訊介面引腳:

 

引腳

功能

MT6577

HPLP(輸出)

Earphone receiver signal for AUDIO_JACK_L(輸出給耳機的左聲道聲音)

MT6577

HPRP(輸出)

Earphone receiver signal for AUDIO_JACK_R

MT6577

HSP(輸出)

AUDIO_OUT_P for handset receiver

MT6577

HSN(輸出)

AUDIO_OUT_N for handset receiver

MT6329

VBI_P(輸入)

Voice differential input(positive)

MT6329

VBI_N(輸入)

Voice differential input(negative)

 

1.4.1       MT6329音訊部分框圖


圖7

Voice input:對應VBI_P和VBI_N部分。

Audio_L input:對應AUD1_P和AUD1_N

Audio_R input:對應AUD2_P和AUD2_N

SPKL:對應SPK1_P和SPK1_N

SPKR:對應SPK2_P和SPK2_N

Input MUX:可以選擇MT6577的HSP、HSN;或是HPRP;或是HPLP作為輸入,SPK1或是SPK2作為輸出,為了更好理解,下面給出2in1 speaker應用的示例圖,這裡的2是指HSP與HSN作為音訊輸入;或是HPRP/HPLP作為音訊輸入,1是指1個喇叭。


圖8

那麼我們的產品應該設定CUSTOM_KERNEL_SOUND= amp_6329pmic_2in1_spk

 

 

1.4.2       MT6577音訊部分

 

圖9

 

立體聲在錄音時就是用兩隻話筒按左右聲道錄製的雙聲道音跡。在播放時也要嚴格的按左右聲道分別放音,使錄音時左聲道錄入的聲音進入聽者的左耳,右聲道錄入的聲音進入右耳,這樣,聽者就會產生身臨其境的感受,也就是產生了立體感。好的立體聲,聽者能辯別出聲源的方位,和聲源移動的過程。如果將耳機戴反了,耳朵可以聽到聲音,但立體聲就辯別不出來了。所以戴耳機時要按左右聲道戴,以取得聽覺的立體聲效果。

 

2.     軟體實現

2.1  修改及編譯

(1)  修改\mediatek\config\prj\ ProjectConfig.mk

MTK_SOUNDRECORDER_APP=no

改為MTK_SOUNDRECORDER_APP=yes

但這環境變數的值和喇叭是否能夠發出聲音無管,目前暫時還是設定為no。

CUSTOM_KERNEL_SOUND=amp_yad改為:

CUSTOM_KERNEL_SOUND=amp_6329pmic_2in1_spk

這裡要根據實際的設計來選擇,amp_yad是用外部PA的,amp_6329pmic_2in1_spk是採用PMIC MT6329的PA(內部PA),這個根據實際的設計來選擇,這裡的2in1可理解為聽筒和擴音一體,這部分可參考圖8。

 

我這邊有別人開發好的映象檔案,在我的系統基礎上,我只更新音訊可以正常發出聲音的boot.img就能夠正常了,但是我根據上面的修改之後經過下面一些嘗試都還是沒有聲音:

1)     ./mk rk,然後./mk bootimage,更新boot.img,還是沒有聲音。

2)     ./mk rk--->./mk systemimage,更新system.img、secro.img、recovery.img和boot.img,還是沒有聲音

3)     ./mk rub,更新uboot.bin,還是沒有聲音。

4)     ./mk rpl,更新preloader.bin,還是沒有聲音。

 

後來實在沒有思路了,就直接./mk r,然後更新所有生成的映象檔案,就OK了,很奇怪,先記錄下來。

 

參考:

《Y1MT6577 design notice V0.1》

MTK Android 之MT6577驅動筆記

http://blog.csdn.net/cbk861110/article/details/9385439

 

MTK Android Driver:sound

http://blog.csdn.net/cbk861110/article/details/37054133

 

版權宣告:本文為博主原創文章,未經博主允許不得轉載。

相關文章