MTK6577+Android之音訊(audio)移植
先借用《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驅動筆記
相關推薦
MTK6577+Android之音訊(audio)移植
先借用《Y1MT6577 design notice V0.1》關於MT6577系統框圖: 圖1 可知speaker是由MT6329(PMIC)來控制的 1. 硬體設計 1.1 喇叭 圖2 這裡採用了audio通道2和speaker
MTK6577+Android之按鍵(key)修改
1. 產品按鍵佈局和定義 圖1 圖1括號裡面的是android系統採用的鍵值,注意了,這可不是linux系統裡用到的scan code。 2. 按鍵硬體設計 MTK6577的Keypad分為兩部分: (1) Keypad介面,包括8*8
Android——4.2 - 3G移植之路之 reference-ril .pppd 撥號上網 (三)
而且 init.rc nal null ann 源代碼分析 suggest cdma 初始化 Android的RIL機制中的 reference-ril.c 即為廠商提供的驅動接口。這個驅動源代碼各個廠商都是有提供的,網上也有下載。我如今用的就是huawe
android音訊編輯之音訊合成
轉載請標明出處: https://blog.csdn.net/hesong1120/article/details/79744653 本文出自:hesong的專欄 前言 音訊編輯系列: - android音訊編輯之音訊轉換PCM與WAV - android音
android音訊編輯之音訊裁剪
轉載請標明出處: http://blog.csdn.net/hesong1120/article/details/79077013 本文出自:hesong的專欄 前言 本篇開始講解音訊編輯的具體操作,從相對簡單的音訊裁剪開始。要進行音訊裁剪,我的方案是開啟一個S
android音訊編輯之音訊轉換PCM與WAV
轉載請標明出處: http://blog.csdn.net/hesong1120/article/details/79043482 本文出自:hesong的專欄 前言 本篇開始講解在Android平臺上進行的音訊編輯開發,首先需要對音訊相關概念有基礎的認識。所以
android之wifi移植全過程
一、1.編譯核心,生成驅動模組 在核心的根目錄下執行make 生成libertas.ko 和libertas_sdio.ko [*] Networking support ---> [*] Wireless --->
Android ALSA音訊系統架構分析(1)----從Loopback瞭解Audio
/************************************ Author:劉江明 * Environment:MTK Android 6.0* Date:2017年05月25日***********************************/
Android WebView 停止Audio音訊播放的方法
OK,各位,這是原創,轉載註明出處啊~~~~~ Android WebView停止視訊播放網上已經有資料了,大家可以google,我今天分了個工作,要停掉WebView裡面播放的音訊。不知道為什麼這東西和停掉視訊完全不是一回事,網上那套都不管用的,結果哥一狠心,就去看原始
Android底層開發之音訊輸入通道的軟硬體分析
Android底層開發之音訊輸入通道的軟硬體分析 我們都知道耳機Mic整合在一直的那種四段耳機Mic插頭是Android裝置上比較常用。但是也會有分開的情況,比較如果在普通的PC機中裝Android系統,那麼就是這種情況。所以就有必要對音訊輸入通道的軟體硬體
Android播放音訊之按鈕控制
控制音量和播放 良好的使用者體驗是可預測的。 如果您的應用程式播放媒體,您的使用者必須使用裝置,藍芽耳機或耳機的硬體或軟體音量控制來控制應用程式的音量。 類似地,在適當和可用的情況下,播放,停止,暫停,跳過和先前的媒體回放鍵應當對於由應用使用的音訊流執行它們各自的動作。 標識要使
Android之ffmpeg-H264解碼-移植ffmpeg中的H264解碼部分到Android
H264解碼器原始碼,移植ffmpeg中的H264解碼部分到Android,深度刪減優化,在模擬器(320x480)中驗證通過。 程式的採用jni架構。介面部分,檔案讀取,視訊顯示都是用java做的,底層的視訊解碼用C來做滿足速度的要求。 在這個版本中,從H264碼
Android音訊系統之音訊框架
Android的音訊系統在很長一段時間內都是外界詬病的焦點。的確,早期的android系統在音訊處理上相比於iOS有一定的差距,這也是很多專業的音樂播放軟體開發商沒有推出Android平臺產品的一個重要原因。但這並不代表它的音訊框架一無是處,相反,基於Linux系統的
android之wifi移植全過程(一)
硬體環境 WIFI模組:Marvell8686 SDIO WIFI 開發板:S5PC100
Android之 MediaPlayer播放一般音訊與SoundPool播放短促的音效
【1】使用MediaPlayer實現一般的音訊播放 MediaPlayer播放通常的音訊檔案 [java] view plaincopyprint? MediaPlayer mediaPlayer = new MediaPlayer(); if (mediaP
android之使用SoundPool播放音訊
SoundPool可以播一些短的反應速度要求高的聲音,資源佔用少,反應延遲小,還支援自行設定聲音品質,音量,播放比率等,在遊戲較為常見。 SoundPool簡單實現 package com.leig
HTML5 API 之video/audio 視訊/音訊
video的使用方法: <video autoplay="autoplay" controls="controls" width="800" muted="muted" loop="loop" poster="/images/w3html5.gif"> &
Android音訊系統之音訊基礎
轉載請註明:LXS, http://blog.csdn.net/uiop78uiop78/article/details/8787779 對於一部嵌入式裝置來說,除了若干基礎功能外(比如手機通話、簡訊),最重要的可能就是多媒體了——那麼一個最簡單的問題,什麼是多媒體呢?
unity3D學習之音訊播放 、實時變聲簡化版-audio菜鳥筆記5
using SoundTouch; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System.IO; #if SOUNDTOUCH_INT
android開發之音訊拼接
第一種情況:不同壓縮格式音訊拼接,不同的壓縮格式拼接需要解碼為取樣資料然後拼接,然後再編碼為統一的壓縮格式。 方法一:FFmpeg命令拼接,ffmpeg -I ‘concat:0.mp3|1.wav|2.aac’ -acodec copy