MTK6577+Android之音频(audio)移植


分类: MTK+Android开发 Android驱动开发   1088人阅读  评论(0)  收藏  举报

MTK6577+Android之音频(audio)移植

 

备注:audio PA音频功放(power amplifier)

 

先借用《Y1MT6577 design notice V0.1》关于MT6577系统框图:

MTK6577+Android之音频(audio)移植_第1张图片

图1

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

 

1.     硬件设计

 

1.1  喇叭

 MTK6577+Android之音频(audio)移植_第2张图片

图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(麦克风)原理图设计

MTK6577+Android之音频(audio)移植_第3张图片

图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(手机接收器)

MTK6577+Android之音频(audio)移植_第4张图片

图4

 

引脚

功能

MT6577

HSP

AUDIO_OUT_P for handset receiver

MT6577

HSN

AUDIO_OUT_N for handset receiver

MT6329

VBI_P

声音差分输入正极

MT6329

VBI_N

声音差分输入负极

 

这是手机应用示例图,但目前我们设备没有引出音频插头,所以这里没有用到:

MTK6577+Android之音频(audio)移植_第5张图片

图5

为了更好理解音频这部分,借用《Y1MT6577 design notice V0.1》音频部分的一张图:

MTK6577+Android之音频(audio)移植_第6张图片

图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音频部分框图

MTK6577+Android之音频(audio)移植_第7张图片

图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个喇叭。

MTK6577+Android之音频(audio)移植_第8张图片

图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

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(android驱动开发,MTK+Android开发)