蓝牙

蓝牙协议分为四层:

  • 核心协议:BaseBand,链路管理LM,逻辑链路控制,适应协议L2CAP,服务搜索协议SDP;
  • 电缆替代协议:RFCOMM;
  • 电话传送控制协议:TCS-Binary、AT命令集;
  • 选用协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE。

蓝牙有两种物理链路:ACL(AsynchronousConnectionless),和另一种链路是SCO(Synchronous Connection Oriented)。SCO主要用于同步话音传送,ACL主要用于分组数据传送。

 

Android上的蓝牙协议栈Bluez架构如下:

 wince上模块划分:

             BTAVService

AVRCPModule     A2DPModule

              BTDInterfservice

AVCTP                AVDTP

              L2CAP

              HCI

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

 
posted @ 2015-03-30 11:46  lilyl  阅读(423)  评论(0)    收藏  举报