BLE设备本身分为Host与Controller,并不是对应两个设备,而是一个设备的层次区分。如下图(使用网络复制图片,侵权删):
控制器部分(Controller):
1、物理层(PHY):RF特性,运行在2.4GHz ISM band,40频道2MHz的通道间隙,3个广播通道,37个自适应自动调频通道;
2、链路层(LL):RF控制层,控制芯片工作在如下五种状态:
Standby 准备
Advertising 广播
Scanning 监听
Initiating 发起连接
Connected 已连接
3、控制接口层(HCI):通信层,在Host和Controller之间提供一个标准化的接口,该层可以由软件api实现或者使用硬件接口uart,spi,usb来控制;
主机部分(Host):
1、逻辑链路控制及自适应协议层(L2CAP):相当于快递,将数据打包;
2、安全管理层(SM层):安全服务层,提供配对和秘钥的分发,实现安全连接和数据交换;
3、属性协议层(ATT):允许设备向另外一个设备展示一块特定的数据,称之为“属性”,展示“属性”的设备称为服务器,与之配对的设备成为客户端;链路层状态(主机从机)与设备的ATT角色是相互独立的;
4、通用访问配置文件层(GAP):
5、通用属性配置文件层(GATT):定义了使用ATT的服务框架,规定了配置文件profile的结构;