一、蓝牙核心协议

蓝牙支持点对点和点对多点的通信。蓝牙最基本的网络结构是匹克网(Picnet)。匹克网实际上是一种个人网络,它以个人区域(即办公室区域)为应用环境。需要指出的是,匹克网并不能够代替局域网,它只是用来代替或简化个人区域中的电缆连接。

匹克网主要由主设备和从设备构成。主设备负责提供时钟同步信号和跳频序列,而从设备一般是受控同步的设备,并接收主设备的控制。在同一匹克网中,所有设备均采用同一跳频序列。一个匹克网中一般只有一个主设备,而处于活动状态的从设备目前最多可达7个。

1.1 基带协议(Baseband)

基带和链路控制层确保匹克网内各蓝牙设备之间射频构成物理连接。蓝牙的射频系统是一个跳频系统,其任一分组在指定时隙、指定频率上发送,它使用查询和寻呼进程来使不同设备间的发送频率和时钟保持同步。基带数据分组提供两种物理连接方式:面向连接(SCO)和无连接(ACL),而且在同一射频上可实现多路数据传送。ACL 适用于数据分组,SCO 适用于语音及数据/话音的组合。所有语音与数据分组都附有不同级别的前向纠错(FEC)或循环冗余校验(CRC),而且可进行加密。此外,不同数据类型(包括连接管理信息和控制信息)都分配一个特殊通道。可使用各种用户模型在蓝牙设备间传送话音,面向连接的话音分组只需经过基带传输,而不到达L2CAP。话音模式在蓝牙系统内相对简单,只需开通话音连接,就可传送话音。

1.2 链路管理协议(LMP)

链路管理协议(LMP)负责蓝牙各设备间连接的建立和设置。它通过连接的发起、交换、核实来进行身份验证和加密,通过协商确定基带数据分组大小;它还控制无线设备的节能模式和工作周期,以及匹克网内设备的连接状态。

1.3 逻辑链路控制和适配协议(L2CAP)

逻辑链路控制和适配协议(L2CAP)是基带的上层协议,可以认为它与LMP并行工作。它们的区别在于当业务数据不经过LMP 时,L2CAP 为上层提供服务。L2CAP 向上层提供面向连接的和无连接的数据服务时,采用了多路复用技术、分段和重组技术及组概念。L2CAP 允许高层协议以64K 字节收发数据分组。虽然基带协议提供了SCO 和ACL 两种连接类型,但L2CAP 只支持ACL。

1.4 服务搜索协议(SDP)

服务搜索协议在蓝牙技术框架中起到至关重要的作用,它是所有用户模式的基础。使用SDP,可以查询到设备和服务类型,从而在蓝牙设备间建立相应的连接。

二、电缆替代协议(RFCOMM)

RFCOMM是基于ETSI 07.10 规范的串口仿真协议。“电缆替代”协议在蓝牙基带协议上仿真RS232 控制和数据信号,为使用串行线传送机制的上层协议(如OBEX)提供服务。

三、电话控制协议

电话控制协议(TCS 二进制或TCS BIN)是面向比特的协议。它定义了蓝牙设备间建立语音和数据呼叫的控制信令,定义了处理蓝牙TCS 设备群的移动管理进程。基于ITU-T Q.931 建议的TCS 二进制被指定为蓝牙的二元电话控制协议规范。另外,SIG 还根据ITU-T V.250 建议和GSM 07.07 定义了控制多用户模式下移动电话和调制解调器以及可用于传真业务的AT 命令集。

四、选用协议

4.1 点对点协议(PPP)

在蓝牙技术中,PPP 位于RFCOMM 上层,完成点对点的连接。

4.2 UDP/IP/TCP

UDP/IP/TCP协议由Internet 工程任务组(IETF)制定,广泛应用于互联网通信,在蓝牙设备中使用这些协议是为了与互联网连接的设备进行通信。

4.3 对象交换协议(OBEX)

IrOBEX(简写为OBEX)是由红外线数据协会(IrDA)制定的会话层协议,它采用简单的和自发的方式交换对象。OBEX 是一种类似于HTTP 的协议,这里假设传输层是可靠的,采用客户机/服务器模式,独立于传输机制和传输应用程序接口(API)。

4.4 电子名片交换格式(vCard)、电子日历及日程交换格式(vCal)

电子名片交换格式(vCard)、电子日历及日程交换格式(vCal)都是开放性规范,它们都没有定义传输机制,而只是定义了数据传输模式。SIG 采用vCard/vCal 规范,是为了进一步促进个人信息交换。

4.5 无线应用协议(WAP)

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

蓝牙协议中定义了两种调制模式。一种是强制模式,用于基本数据传输速率。它是采用二进制FM 键控调制,以减少接收机的复杂性,其空中数据传输率为1Mbps;另外一种是可选模式,用于增强数据传输速率(EDR)。它使用两种不同的PSK 调制:π/4-DQPSK和8DPSK。前者总空中数据传输率是2Mbps,后者则达3Mbps。
    这部分声明要求的功率电平是指在设备的天线连接器处测得的。如果没有天线连接器,就假设天线的增益为0dBi。由于在测量时对辐射精确度要求的准确性极难得到保证因此,采用全等效的天线连接器来代替整个天线系统。如果在测试中天线实际增益大于0dBi ,则可利用ETSI 300 328 和FCC 的第15 节对其校正。

功率级别1 设备需要功率控制。功率控制用于限制发射功率使之不超过0dBm,在0dBm 以下时,发射机率控制是可选的,主要用于优化功率消耗和整体的干扰电平。功率输出增益控制采用了一种单调序列步进方式,这种步进增益由两种方式组成,一种是高步进增益(每步8 dB),另一种是低步进增益(每步2 dB)。一个具有20dB 的功率级别为1的设备必须具有调整其功率到达4dB以下的能力。

五 调制特性

蓝牙采用的调制方式是BT=0.5,调制指数在0.28~0.35 之间的GFSK。二进制的“1”用一个正的频率偏移表示,二进制的0 用一个负的频率偏移表示。定时符号偏差应小于±20ppm。
    对每个发送信道,对应于序列 1010的最小的频偏(F min ≤{ F min +,F min -})将不小于对应序列00001111 的频偏(fd)的±80%,另外最小频偏将不会小于115KHz。数据传输的码元速率为1Mb/s。 理想信号正交于零点时,应是无误差的(正交清晰,无扩散)。过零误差是在理想符号区间和测量的交叉时间之间的时间差,它应该小于±1/8 的符号区间。在此用眼图的形式来描述调制特性。

带内寄生辐射 待研究

EDR 模式下的一个重要的特点就是数据内的调制方式改变了。接入码(access code)和分组头(packet header)通过BR 模式的1Mbps 的GFSK 调制方式来传输,而后面的同步序列、净荷以及尾序列通过EDR 模式的PSK 调制方式来传输。

原文:https://mp.weixin.qq.com/s/hAHgygmNTJjg_UWEL5aSwg

蓝牙协议分析(一)--转相关推荐

  1. 蓝牙协议分析(2)_协议架构

    原文链接:蓝牙协议分析(2)_协议架构 (wowotech.net) 系列索引:蓝牙协议分析(1)_基本概念 目录 1.前言 2.协议层次 2.1 物理层 2.1.1 Physical Channel ...

  2. 蓝牙协议分析_BLE广播通信相关的技术分析

    1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用.关于广播通信,通过"玩转BLE(1)_Eddystone be ...

  3. 蓝牙协议分析(5)_BLE广播通信相关的技术分析

    蓝牙协议分析(5)_BLE广播通信相关的技术分析 作者:wowo 发布于:2016-5-27 16:15 分类:蓝牙 1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广 ...

  4. 蓝牙协议分析(11)_BLE安全机制之Security Manager

    1. 前言 书接上文,我们在"蓝牙协议分析(10)_BLE安全机制之LE Encryption"中介绍了BLE安全机制中的终极武器----数据加密.不过使用这把武器有个前提,那就是 ...

  5. 蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍

    原文链接:蓝牙协议分析(3)_蓝牙低功耗(BLE)协议栈介绍 系列索引:蓝牙协议分析(1)_基本概念 蓝牙协议分析(2)_协议架构 目录 1. 前言 2. Why 3. How和What 4. Phy ...

  6. 蓝牙协议分析2---协议架构

    转自http://www.wowotech.net/bluetooth/bt_protocol_arch.html 2. 协议层次 蓝牙协议是通信协议的一种,为了把复杂问题简单化,任何通信协议都具有层 ...

  7. 蓝牙协议分析工具Frontline 15安装与使用

    软件下载 链接:https://pan.baidu.com/s/1gCO2ZkRkjUvZ0JBiNCo_Jg 提取码:jplm 软件安装 1.下载好安装包后,双击安装包开始安装 2.安装过程比较简单 ...

  8. 蓝牙协议分析_BLE地址类型

    SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机.32位ARM Cortex-M0处理器.128kB Flash存储器.以及丰富的数字接口.SYD8801片上集成了 ...

  9. 蓝牙协议分析(6)_BLE地址类型(蜗窝科技)

    1. 前言 也许关注BLE的同学都注意到了,BLE设备有多种类型的设备地址,如Public Device Address.Random Device Address.Static Device Add ...

最新文章

  1. Loadrunner连接负载机失败,提示Failed to connect to the load generator.Check the output window for more detail
  2. 启动MongoDB shell客户端会什么会一闪而过
  3. 平台篇-58 HBase 平台实践和应用
  4. C#.net Winform获取文件路径
  5. python期末考试编程题_智慧树知到_Python程序设计基础_期末考试答案
  6. java安全编码指南之:lock和同步的正确使用
  7. 理解JavaScript中的原型继承(2)
  8. linux下生成静态库和动态库
  9. scrum项目协作是什么_什么是小型Scrum?
  10. 团队管理---如何管理好团队
  11. Java包数据消息头消息尾_读Socket流时产生阻塞的解决方案(粘包拆包问题)
  12. C语言操作符详解 隐式类型转换 (整型提升 算数转换)
  13. AcWing 1236. 递增三元组 (flag + 前缀和 | 二分 | 滑动窗口)
  14. linux malloc和free解析
  15. [软件工程] 形式化说明技术
  16. python线性链表
  17. java8中的闭包Function/BiFunction
  18. 迪赛智慧数——折线图(渐变堆叠图):近十年母亲节消费趋势
  19. webrtc代码走读二十一(采集视频旋转功能)
  20. react-router-dom文档

热门文章

  1. iOS多张图片合成一张
  2. java发送邮件工具类的编写直接复制版(兼补上篇邮箱改密发送邮件)
  3. 阿里巴巴MySQL数据库设计规范
  4. WPS如何并排放置两张图片_「WPS办公助手」想做出高级又好看的 PPT,这个炫酷的功能你可别错过...
  5. Echarts案例:整一个炫酷一点的仪表盘
  6. bug历程——记一次由chrome浏览器Stalled优化缓存导致的请求bug
  7. [机缘参悟-75]:谈谈“玻璃心”与“钝感力”
  8. python 实现删除文件及文件重命名
  9. 高效能程序员的修炼 --读书笔记
  10. 问题 G: 鸽子 (gu)-------------------------思维(二维树状数组)