zoukankan      html  css  js  c++  java
  • 蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)(转载)

    转载:xubin341719 网址:http://blog.csdn.net/xubin341719/article/details/38335533

    一、IrDA互操作协议
    IrOBEX 红外对象交互协议,简称OBEX,使高层协议同时运作在蓝牙和红外的无线链路之上。


    主要操作指令有:连接操作、断开操作、Put操作、Get操作。

    1、连接操作 ,操作码0x80

    字节0

    字节1、2

    字节3

    字节4

    字节5、6

    字节7~n

    0x80

    连接请求分组长度

    OBEX版本号

    标志

    客户端可接收最大的OBEX分组长度

    可选头

    字节0

    字节1、2

    字节3

    字节4

    字节5、6

    字节7~n

    0x80 Connect命令

    7

    0x10

    标志

    65534

    可选头

    连接响应

    2、断开操作  操作码为0x81

    3、Put操作   操作码为0x02

    连接成功后,客户端通过Put请求向服务器“推送”对象,如果对象较大,Put请求可以用多个Put请求分组。

    4、Get操作操作码为0x03

    二、音频与电话控制协议

    1、框架部分


    蓝牙音频如上图协议栈所示:音频通过基带传输同步面向连接分组实现,没有以规范的形式给出,不是协议栈的一部分。
    TCS_Binary是一种基于分组电话控制二进制编码指令集,位于L2CAP之上。实现蓝牙无绳电话、对讲机功能。
    RFCOMM用于AT指令,拨号上网、蓝牙耳机、耳麦、传真通过AT发送指令控制。
    2、音频部分
    64kbps电信级语言质量音频流
    CVSD  continuous variable slope delta 连续可变斜率增量。
    PCM  pulse code modulation 。
    PCM存在斜率效应。CVSD使用音节压缩算法,编码步长根据信号斜率变化自动调整,是现在比较好的编码方案,提高语言的抗干扰能力。
    3、电话控制部分
    TCS-Binary电话控制部分。
    (1)、电话呼叫
    呼叫控制、呼叫建立、呼叫拆除;
    (2)、组管理
    访问权限请求、分布式配置、快速内部成员访问。
    三、网络封装协议  BNEP
    BNEP BluetoothNetworkEncapsulation Protocol 网络封装协议。
    为了使集成蓝牙技术的电脑、电话、PDA、家用电器等网络设备交换信息,需要在网络层统一数据分组。网络封装协议将来自不同网络的数据分组重新封装,通过L2CAP进行传输。这部分协议感觉在现实中用处不大,有更多简单便捷的方法去实现网络功能。
    BNEP支持Ipv4、Ipv6、IPX


    四、音视频分发协议AVDTP
    AVDTPAudio/Video Distribution Transport Protocol音视频分发传输协议

    有关A/V的协议 AVDTP音视频分发传输协议、AVCTP音视频控制传输协议、GAVDP通用音视频分发框架、A2DP高级音频分发框架、AVCRP音视频遥控框架
    1、基本概念术语
    流stream:流是音视频传输的数据形式,单向传输,在AVDTP中被分为媒介分组。流有句柄HS统一标识。

    2、信令
    AVDTP信令列表

    命令

    信令标识符

    描述

    AVDTP_DISCOVER

    0x01

    发现设备中的流端点

    AVDTP_GET_CAPABILITIES

    0x02

    获得流端点的信息能力

    AVDTP_SET_CONFIGURATION

    0x03

    对SEP进行配置

    AVDTP_GET_CONFIGURATION

    0x04

    获取SEP当前配置

    AVDTP_RECONFIGURE

    0x05

    对SEP重新配置

    AVDTP_OPEN

    0x06

    成功的配置SEP后,打开流

    AVDTP_START

    0x07

    流被打开:用于开始形成流;流暂停时:用于重新形成流。

    AVDTP_CLOSE

    0x08

    对SEP关闭

    AVDTP_SUSPEND

    0x09

    请求SEP暂停

    AVDTP_SECURITY_CONTROL

    0x0A

    设置设备内容保护、或者请求设备状况信息

    AVDTP_ABORT

    0x0B

    中断正在建立或者传输的过程

    AVDTP_GET_ALL_CAPABILITIES

    AVDTP_DELAYREPORT

    这部分信令,实现了蓝牙的A2DP 数据流的控制;
    (1)、流的信令管理流程


    (2)、get capabilities  获取支持特性


    (3)、set configuration 配置音频参数

    其他指令类似去上面两个的操作。
    五、音视频控制传输协议AVCTP


    AVCTP可以使音视频设备同时支持多个应用框架,每个应用框架定义了各自相应的消息格式与应用规则。
    这部分操作,在现实的应用中也有不足的地方,蓝牙传输的数据量有限,实现这些功能有一定的不足。随着科学技术的发展,蓝牙在无线通信方面的优点、缺点都凸显出来,找的合适的方向,合理的发展方向是硬道理。

  • 相关阅读:
    继承—泛型
    单例模式
    继承 4—Monkey
    继承 3—A B E
    继承 2—people
    继承 1—Mucic
    面向对象—汽车
    面向对象—封装—汽车
    Linux下查看CPU型号,内存大小,硬盘空间的命令
    redis源码——数据结构与对象
  • 原文地址:https://www.cnblogs.com/shaobojiao/p/7883543.html
Copyright © 2011-2022 走看看