BLE从底层到上层

这里只是一个大概总结

1 最底层Physical Layer,属于RF特性

这一层的作用是把上层来的数据发送出去和接受数据,  就好比这是一根线的一端(这根线不是真是存在,抽象出来的),把要发送的数据发出去并接受这根线传过来的数据,但是数据是什么,并不知道也不会知道。

这跟线怎么把数据传过去和怎么接收到?

 这根抽象的线是通过ble射频信号实现的,ble工作在2400MHz -2480MHz,2402、2404、2406、2408.... 依次宽度为2MHz.总共40个频点;BLE广播信道一共有3个,分别为37、38和39信道,频点分布分别为2402MHz、2426MHz和2480MHz,这3个信道用于发送广播信息,广播信道分散在距离较远的频段上,过度的集中会导致如果该频段受干扰严重可能广播就无法进行的情况,分散的目的是为了增加容错率。剩下的37个频点用于通信,即连接以后用于数据交流。

2.4GHz频段信号有明显的优缺点,优点是免费、技术成熟,缺点是频段拥挤、信号传播特性差、遇水衰减。目前除了蓝牙信号外,WIFI、ZigBee、无线键盘、无线玩具甚至微波炉都工作在这个频段,BLE使用跳频技术来解决频段拥挤问题

一个简单的跳频算法是:F(n+1) = [F(n) + hop] % 37,其中hop参数为物理层自己设定的跳频参数。

实际中使用自适应跳频算法来更新通信信道。

自适应跳频的工作机制是,如果某个信道拥挤则做上标记,工作时维护一张信道表以记录各信道的拥挤情况,并将拥挤信道映射到可用信道中,然后结合上述简单跳频算法共同完成信道选择。假如简单跳频算法结果指向一个拥挤信道,则进一步跳转到它映射的可用信道上,从而实现数据通信总是工作在可用信道上。

2 Link Layer 链路层

这层定义了两个设备如何利用无线电传输信息。它包含了报文、广播、数据信道的详细定义、也规定了发现其他设备的流程、广播的数据、连接的建立、连接的管理以及数据的传输,控制芯片工作在五种状态

   Standby            准备

   Advertising     广播

   Scanning           监听

   Initiating           发起连接

  Connected      已连接

3 HostControllerInterface 主机控制层

在Host和Controller之间提供一个标准化的接口,该层可以由软件api实现或者使用硬件接口uart,spi,usb来控制;

4 Logical Linker Controller and Adaptation Protocol(L2CAP)逻辑链路控制及自适应协议层

Logical Link Control and Adaptation Protocol也称为逻辑链路控制和适配协议,是蓝牙系统中的核心协议,

1)Protocol/channel multiplexing,协议/通道的多路复用;
2)Segmentation and reassembly,上层应用数据(L2CAP Service Data Units,SDUs)的分割(和重组),生成协议数据单元(L2CAP Packet Data Units,PDUs),以满足用户数据传输对延时的要求,并便于后续的重传、流控等机制的实现;
3)Flow control per L2CAP channel,基于L2CAP Channel的流控机制;
4)Error control and retransmissions,错误控制和重传机制;
5)Support for Streaming,支持流式传输(如音频、视频等,不需要重传或者只需要有限重传);
6)Fragmentation and Recombination,协议数据单元(PDUs)的分片(和重组),生成符合Link Layer传输要求的数据片(长度不超过251);

7)Quality of Service,QoS的支持。

简单总结就是对上层数据打包和重组,通道协议复用、重传流控、错误校验等功能。

 5 Security Manager安全管理层(SM层)

安全服务层,提供配对和秘钥的分发,实现安全连接和数据交换;配对绑定都是由这一层管理

 6 Attribute属性协议层(ATT)

允许设备向另外一个设备展示一块特定的数据,称之为“属性”,展示“属性”的设备称为服务器,与之配对的设备成为客户端;链路层状态(主机从机)与设备的ATT角色是相互独立的;

7 General Attribute Profile通用属性配置文件层(GATT)

GATT基于ATT, 用于定义服务的流程、格式和所包含的特征。GATT和ATT对于BLE来说是强制配置的。如果把ATT比作一个公司的人数,那么GATT就是把这公司的人数按照不同的部门来进行划分。GATT根据不同的规范Profile、服务Service、特征Characteristic对不同的属性进行划分。规范、服务、属性的关系如下图所示:

8 General Access Profile通用访问配置文件层(GAP)

它定义了两个设备之间如何能发现对方、与对方协作以及不断找到对方彼此连接。GAP是强制安装在蓝牙设备上的,它的存在有助于确保来自不同厂商生产的蓝牙设备相互操作。GAP还规定了单模、双模蓝牙所支持的蓝牙版本。GAP定义了4种BLE的角色:传播角色、观察角色、外围角色、中心角色。

传播角色是用来发送广播事件的设备,传播对象通常是一些处于观察者角色的设备,且只能使用非链接的广播事件去广播数据。

观察角色是为接收类应用程序进行优化,作为传播设备的互补设备接受广播事件中包含的数据,也是不支持链接操作。观察角色一定要有接收装置却不一定有发射装置。

中心角色是和所有外围角色建立链接的发起者,必须同时具有发射和接收装置,一旦链接成功,它将成为主设备。

外围角色使用可链接的广播事件去建立链路层的链接,必须同时具有发射和接收装置,一旦链接成功,它将成为从设备
 

参考BLE软件基本框架介绍

参考BLE简介及连接过程

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值