藍牙協議分爲四層:架構
藍牙有兩種物理鏈路:ACL(AsynchronousConnectionless),和另外一種鏈路是SCO(Synchronous Connection Oriented)。SCO主要用於同步話音傳送,ACL主要用於分組數據傳送。less
Android上的藍牙協議棧Bluez架構以下:dom
wince上模塊劃分:blog
BTAVService同步
AVRCPModule A2DPModuleio
BTDInterfservice音頻
AVCTP AVDTP搜索
L2CAPplugin
HCIservice
Auto項目模塊劃分:
Feature Area:Phone(plugin+HMI)
sub-domains
鏈接: 全部HFP鏈接相關邏輯,包括自動鏈接,手動鏈接,斷開鏈接,重連(不包括A2DP,PBAP,MAP等)。
電話:全部電話相關邏輯。包括來電,未接,通話記錄,來電信息。走的HFP協議。
通信錄:通信錄下載,保存。走的OBEX和PBAP協議。
短消息:走到MAP協議。
BT stereo:音頻流相關,包括音頻鏈接,音頻流播放控制。走的A2DP和AVRCP協議。
代碼結構
HMI
phone Media
phonecore Mediacore
HFP
RFCOMM MAP PBAP OBEX A2DP AVRCP
L2Cap Paring
HCI
BB