Android bluetooth介紹(一):基本概念及硬件接口

http://blog.csdn.net/xubin341719/article/details/38519555


關鍵詞:藍牙硬件接口 UART  PCM  blueZ
版本:基於android4.2之前版本 bluez
內核:linux/linux3.08
系統:android/android4.1.3.4
作者:xubin341719(歡迎轉載,請註明作者,請尊重版權謝謝)
歡迎指正錯誤,共同學習、共同進步!! 

Android bluetooth介紹(一):基本概念及硬件接口
Android bluetooth介紹(二): android 藍牙代碼架構及其uart 到rfcomm流程
Android bluetooth介紹(三): 藍牙掃描(scan)設備分析
Android bluetooth介紹(四): a2dp connect流程分析

一、基本概念補充

1、AP:ApplicationProcessor應用處理器

採用ARM架構的CPU,通常負責運行OS和一些特定設置和載入開機預設。比如一個沒有電話功能的平板電腦,只跑android或者win8的系統,只要AP就可以。如國外性能比較好的AP:三星exynos系列芯片、高通驍龍系列、NVIDIA等;國內近幾年芯片做的也不錯,如:全志、炬力、瑞芯微、晶晨……不過穩定性、性能都還要提高;支持國產,要不然錢都給老外賺取。
2、BP:BasebandProcessor 基帶處理器
架構相對於AP簡單,處理電話、信息之類的功能。
基帶芯片相對來說,高通一家獨大了。然後就是臺灣的MTK、大陸的展訊市場佔有率逐步上升。
3、CP:coprocessor  Processor 協處理器
基帶芯片加協處理器(CP,通常是多媒體加速器)。這類產品以MTK方案爲典型代表,展訊的市場佔有份額也逐年上升,推類似的產品, 用來通過處理主cpu的一些工作負荷來使操作提速的輔助處理器。
4、RF:Radio Frequency射頻部分
         無線信號的發射部分,如電話、藍牙、WIFI信號發射、接收;
5、展訊Tshark芯片的集成框圖:

  我們看到有一個AP,和三個CP:CP0、CP1、CP2。
AP爲四核:4個A7。3個CP分別爲三個ARM9架構的處理器。
這裏所說的CP和一般的意義上的理解不同,理論上的CP不包括BP的,展訊的CP0、CP1其實是兩個基帶處理芯片,算是公司內部的一種說法。2G支持的制式都一樣,3G的一個支持TS-SCDMA、一個支持WCDMA。
 其實我們重點說的是CP2,四合一部分的,重點是藍牙。
二、常見組合(簡單框圖)

如上圖所示,一個AP芯片+外設+android軟件,就構成一個簡單的平板電腦。
2、以三星、高通等AP設計的手機  AP芯片+BP芯片+RF芯片
 如果用單AP芯片,要加基帶、射頻芯片構成手機硬件架構,如下圖所示:

3、以MTK、展訊方案設計的手機(AP+BP+CP)芯片+RF芯片
下面是展訊Tshark芯片的手機簡單架構,和傳統手機相比,硬件上更集成化,這樣有利於廠商的生產、節省成本……MTK現階段做的比較成熟,由低端向中高端進階。展訊還在艱苦奮戰,希望能再接再厲,成爲一流芯片公司,填補大陸在芯片技術上的空白。

BT、WIFI、GPS、FM四合一的集成
前面我們瞭解BP、CP集成,瞭解手機整體架構,其實我重點講解四合一芯片。主要說明四合一芯片獨立芯片,和AP集成到同一芯片中兩種架構。類型與BP,獨立芯片、集成芯片。
(1)、獨立芯片:
通過串口接出,如上圖的troutII.其他芯片,如BCM、RDA、CSR、Retelk等……如上圖troutII 也是獨立芯片。
(2)、集成芯片:(WIFI \BT\FM\GPS的集成到主控芯片內,直接輸出模擬信號量,通過RF放大後發射出去)
         模擬芯片輸出、出入到SR2351芯片,展訊比較多的芯片集成四合一(BT/WIFI/GPS/FM),節省客戶成本,不過芯片性能跟BCM比還是有點距離,各位同仁繼續加油。
三、藍牙硬件接口概述(以UART接口接出的芯片爲例)


藍牙與主控部分硬件接口比較簡單,分三部分,如上圖框圖所示:

UART部分:串口,主要負責數據傳輸;有其他USB、SDIO、PC card等通信;
PCM部分:語言接口,用於通話時語音數據傳輸;
Power部分:也就是BT模塊的電源控制部分,VDD2.8V、PDN、RST。
1、UART:通用異步收發傳輸器(UniversalAsynchronous Receiver/Transmitter)
硬件接口比較簡單,只有RX、DX。UART0用於trout芯片的debug:

是傳輸數據的接口,可以傳輸音頻數據文件數據
1)、當通過藍牙和別人互傳文件時,就用UART傳輸。數據傳輸如下所示:AP通過uart把數據發送到bt芯片中,通過無線發射出去,對方接收到後傳給AP側處理。


2)、當用藍牙耳機聽音樂時,音頻信號也由UART傳輸。
 音樂數據通過uart 傳送出去,對方耳機接收到後解碼播放。如果是錄音數據,則同樣傳回手機端存儲。

2、PCM/IIS
(1)、PCM:脈衝編碼調製
(pulse codemodulation)
是傳輸語音信號所使用的調製方式。
用途:傳輸通話時的語音信號。
硬件接口:

(2)、PCM基本工作原理:
脈衝調製就是把一個時間連續,取值連續的模擬信號變換成時間離散,取值離散的數字信號後在信道中傳輸.脈衝編碼調製就是對模擬信號先抽樣,再對樣值幅度量化,編碼的過程。
一個模擬信號經過抽樣量化後,得到已量化的脈衝幅度調製信號,它僅爲有限個數值。PCM話音信號先經防混疊低通濾波器,進行脈衝抽樣,變成8KHz重複頻率的抽樣信號(即離散的脈衝調幅PAM信號),然後將幅度連續的PAM信號用"四捨五入"辦法量化爲有限個幅度取值的信號,再經編碼後轉換成二進制碼.對於電話,CCITT規定抽樣率爲8KHz,每抽樣值編8位碼,即共有28=256個量化值,因而每話路PCM編碼後的標準數碼率是64kb/s。
如下圖PCM時序:

(3)、IIS(Inter-IC Sound bus)即集成音頻接口
IIS只能傳輸單聲道或雙聲道立體聲的數字音頻,數據格式爲PCM格式。該接口又派生出三類:左對齊格式、右對齊格式、I2S格式。I2S時差性能要優於SPDIF,適合短距離通訊。
IIS總線一般具有4根信號線,如圖1所示,包括串行數據輸入(IISDI)、串行數據輸出(IISD0)、左/右聲道選擇(IISLRCK)和串行數據時鐘(IISCLK);產生IISLRCK和IISCLK的是主設備。
如下圖IIS時序:

語音通話時數據流:語音數據有3G網絡接入,通過PCM傳遞到藍牙芯片,藍牙芯片通過2.4G發射出去,到藍牙耳機接收,同樣mic傳回的語言數據做相應處理。

(4)、爲什麼藍牙用PCM通道(網絡參考
糾正個說法,一般手機cpu到藍牙的通話實時音頻傳輸才都使用pcm,MP3之類的音頻走的是urat/usb之類的其他接口。
真正原因我也不能確定,不過有幾個情況可能是原因之一。
(1)、PCM和IIS的區別在於,PCM一般是固定8k的採樣率的單聲道音頻,最早似乎和固定電話的編碼有直接關係,之後所有的話音編碼幾乎都是在PCM編碼基礎上再次編碼得到的。而IIS則多了一個專門的信號線,採樣率也可以配置到較高的頻率,如44k;
(2)、手機通話時候的編碼一般都會被解碼成8k採樣率的PCM碼,高了也沒有用。因爲本來手機通話的話音頻段就是300~3400Hz而已,編碼也是按8k採樣的。某些手機平臺並沒有IIS接口,相對來說基本上都會有PCM接口;
(3)、從藍牙角度講,藍牙在制定協議的時候就特意爲通話需求制定了一個協議層,專門定義了一種包結構(SCO)用於通話,有很好的實時性。而通過UART傳輸的包一般爲ALC,用分組傳輸的方式。兩種包的編解使用的軟硬件都有些區別。sco包支持的基礎碼率也是8k的pcm.所以一般藍牙芯片都會有一個PCM接口;
(4)、還一個原因就是,開始大家這麼做了,後來就都這麼做了,形成行業規範。
3、POWER 控制部分
程序對應引腳按power on /off 時序來完成on/off操作。同其他硬件一樣,通過時序控制。




發佈了17 篇原創文章 · 獲贊 18 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章