bluez 遇到了一个bug,其实我一直没有理解bluez的架构

现在写,bluez的所有的东西。

就当官网那么少的资料的 说明文档好了。
参考文献
http://blog.csdn.net/gatieme/article/details/49358471
http://blog.chinaunix.net/uid-21411227-id-2780269.html

蓝牙协议的初步构架。

架构图
647470-20180208230939513-427992537.png

蓝牙协议在整个体系所处的位置,蓝牙协议可分为底层协议,中间层协议。和高层协议,三大类。

底层协议包括无线调频(RF)、基带(BB)、和链路管理(LM)
RF层通过2.4GHz无需授权的ISM频段的微波,实现数据位流的过滤和传输,本协议主要定义了蓝牙收发其在次频带正常工作所需要满足的条件。
基带负责调频一级蓝牙数据和信息帧的传输。
链路管理负责连接、建立和拆除链路并进行安全控制。 LM (Link Manager) 层是蓝牙协议栈的链路管理层协议, 他负责将上层HCI 命令翻译成基 带能接受的操作, 建立ACL (数据) 和SCO (语音) 链接, 以及使蓝牙设备进入节能状态的工 作模式等。 LC (Link Control) 层负责在一批数据包传送期间, 响应上层LM 命令(如执行建立数据包的 传输链路, 维持链路等功能的LM 命令)。 HCI 位于蓝牙系统的L2CAP(逻辑链路控制与适配协议)层和LMP(链路管理协议)层之间 的一层协议。HCI为上层协议提供了进入LM的统一接口和进入基带的统一方式。 蓝牙的SIG规定了四种与硬件连接的物理总线方式:USB、RS232、UART和PC卡

蓝牙底层协议
  蓝牙底层协议实现蓝牙信息数据流的传输链路,是蓝牙协议体系的基础,它包括射频协议(无线跳频RF)、基带协议(BB)和链路管理协议(LM).

  两种链路类型: 面向连接的同步链路(SCO), 面向无连接的异步链路(ACL)。

蓝牙中间层协议
  蓝牙中间层协议完成数据帧的分解与重组、服务质量控制、组提取等功能,为上层应用提供服务,并提供与底层协议的接口,此部分包括主机控制器接口协议、逻辑链路控制与适配协议、串口仿真协议、电话控制协议和服务发现协议.

主机控制器接口协议(Host Controller Interface Protocol,HCI)
  蓝牙HCI是位于蓝牙系统的逻辑链路控制与适配协议层和链路管理协议层之间的一层协议.HCI为上层协议提供了进入链路管理器的统一接口和进入基带的统一方式.在HCI的主机和HCI主机控制器之间会存在若干传输层,这些传输层是透明的,只需完成传输数据的任务,不必清楚数据的具体格式.蓝牙的SIG规定了四种与硬件连接的物理总线方式,即四种HCI传输层:USB、RS232、UART和PC卡

HCI协议提供了统一访问蓝牙控制器的能力。 主机控制器以HCI命令的形式提供了访问蓝牙硬 件的基带控制器、链路管理器、硬件状态寄存 器、控制寄存器以及事件寄存器的能力,所有 这些功能都要通过内置于蓝牙硬件内部的HCI Firmware来实现。

逻辑链路控制与适配协议(Logical Link Control and AdaptationProtocol,L2CAP)

  逻辑链路控制与适配层协议(L2CAP)是蓝牙系统中的核心协议,它是基带的高层协议,可以认为它与链路管理协议(LMP)并行工作.L2CAP为高层提供数据服务,允许高层和应用层协议收发大小为64 KB的L2CAP数据包.L2CAP只支持基带面向无连接的异步传输(ACE),不支持面向连接的同步传输(sco).L2CAP采用了多路技术、分割和重组技术、组提取技术,主要提供协议复用、分段和重组、认证服务质量、组管理等功能

组管理:蓝牙的基带协议支持微微网,即一组设备使用同一时钟同步跳频,L2CAP协议的组提取功能可以有 效地将协议的组映射为基带的微微网,以避免高层协议为了有效的管理组而必须与基带协议以及链路管理器直 接联系。

串口仿真协议(RFCOMM)
  串口仿真协议在蓝牙协议栈中位于L2CAP协议层和应用层协议层之间,基于ETSI标准TS 07.10,在L2CAP协议层之上实现了仿真9针RS232串口的功能,可实现设备间的串行通信,从而对现有使用串行线接口的应用提供了支持.

电话控制协议(Telephony Control Protocol Spectocol,TCS)
  电话控制协议位于蓝牙协议栈的L2CAP层之上,包括电话控制规范二进制(TCS BIN)协议和一套电话控制命令(AT Commands).其中,TCS BIN定义了在蓝牙设备间建立话音和数据呼叫所需的呼叫控制信令;AT Commands则是一套可在多使用模式下用于控制移动电话和调制解调器的命令,它SIG在ITU.TQ.931的基础上开发而成.TCS层不仅支持电话功能(包括呼叫控制和分组管理),同样可以用来建立数据
  呼叫,呼叫的内容在L2CAP上以标准数据包形式运载.

服务发现协议(Service Discovery Protocol,SDP)
  服务发现协议(SDP)是蓝牙技术框架中至关重要的一层,它是所有应用模型的基础.任何一个蓝牙应用模型的实现都是利用某些服务的结果.在蓝牙无线通信系统中,建立在蓝牙链路上的任何两个或多个设备随时都有可能开始通信,仅仅是静态设置是不够的.蓝牙服务发现协议就确定了这些业务位置的动态方式,可
  以动态地查询到设备信息和服务类型,从而建立起一条对应所需要服务的通信信道.

蓝牙高层协议
  蓝牙高层协议包括对象交换协议、无线应用协议和音频协议.

对象交换协议(Object Exchange Protocol,OBEX)
OBEX是由红外数据协会(IrDA)制定用于红外数据链路上数据对象交换的会话层协议.蓝牙SIG采纳了该协议,使得原来基于红外链路的OBEX应用有可能方便地移植到蓝牙上或在两者之间进行切换.OBEX是一种高效的二进制协议,采用简单和自发的方式来交换对象.它提供的功能类似于帅协议,在假定传输层可靠的基础上,采用客户机.服务器模式.它只定义传输对象,而不指定特定的传输数据类型,可以是从文件到商业电子贺卡、从命令到数据库等任何类型,从而具有很好的平台独立性.

无线应用协议(Wireless Application Protocol,WAP)
  无线应用协议(WAP)由无线应用协议论坛制定,是由移动电话类的设备使用的无线网络定义的协议.WAP融合了各种广域无线网络技术,其目的是将互联网内容和电话债券的业务传送到数字蜂窝电话和其他无线终端上.选用WAP可以充分利用为无线应用环境开发的高层应用软件.

关于我们要理解的部分

转载于:https://www.cnblogs.com/eat-too-much/p/8433492.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
3. 蓝牙驱动介绍............................................................................................................................................... 4 3.1 串口驱动介绍........................................................................................................................................ 5 3.2 初始化.................................................................................................................................................... 5 3.2.1 模块上电........................................................................................................................................ 5 3.2.2 PSKEY的设置................................................................................................................................. 6 3.3 HCIATTACH的工作原理.......................................................................................................................... 7 3.3.1 Hci_uar和bcsp层的加入................................................................................................................. 9 3.3.2 hci层的加入.................................................................................................................................. 10 3.3.3 hci_attach的内核处理.................................................................................................................. 11 4. 数据在驱动的传递流程.............................................................................................................................. 13 4.1 UART层的数据接收.............................................................................................................................. 13 4.2 HCI_UART的数据接收.......................................................................................................................... 14 4.3 BCSP层的处理...................................................................................................................................... 15 4.4 HCI层及以上的处理............................................................................................................................. 15 4.5 数据流程的总结.................................................................................................................................. 17 5. 扫描过程的分析......................................................................................................................................... 18 5.1 用户使用例子...................................................................................................................................... 18 5.2 用HCITOOL扫描时的逻辑..................................................................................................................... 18 5.2.1 上层逻辑...................................................................................................................................... 18 5.2.2 内核层逻辑.................................................................................................................................. 19 5.3 通过DBUS触发的逻辑.......................................................................................................................... 21 5.3.1 上层逻辑之adapter dbus方法的建立........................................................................................... 21 5.3.2 上层扫描方法的调用................................................................................................................... 22 5.3.3 Dbus触发的扫描对应于内核层的处理........................................................................................ 25 5.3.4 上层的扫描数据收集................................................................................................................... 26 5.3.5 Hci_send_frame的讨论................................................................................................................. 28 6. A2DP的使用过程........................................................................................................................................ 28 6.1 如何使用.............................................................................................................................................. 28 6.2 服务的激活.......................................................................................................................................... 29 6.3 设备的创建.......................................................................................................................................... 30 6.3.1............................................................................................................................................................. 33 6.3.2............................................................................................................................................................. 33 6.3.3............................................................................................................................................................. 33 6.3.4............................................................................................................................................................. 33 6.4 设备的连接.......................................................................................................................................... 33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值