| |
2. BLE蓝牙协议栈架构
BLE 协议架构总体上分成3块,从下到上分别是:控制器(Controller),主机(Host) 和应用端(Apps);3者可以在同一芯片类实现,也可以分不同芯片内实现,控制器(Controller)是处理射频数据解析,接收和发送,主机(Host)是控制不同设备之间如何进行数据交换;应用端(Apps)实现具体应用。
·
物理层PHY
==工作车间
GFSK信号调制,2402MHz~2480MHz,40个channel,每两个channel间隔2MHz(经典蓝牙协议是1MHz),数据传输速率是1Mbps。
·
直接测试模式DTM==RF控制器
为射频物理层测试接口,射频数据分析之用。
·
链路层LL
==控制室
基于物理层PHY之上,实现数据通道分发,状态切换,数据包校验,加密等;链路层LL分2种通道:广播通道(advertising channels)和数据通道(data channels);广播通道有3个, 37ch (2402MHz) , 38ch (2426MHz) , 39ch(2480MHz), 每次广播都会往这3个通道同时发送(并不会在这3个通道之间跳频),为防止某个通道被其它设备阻塞,以至于设备无法配对或广播数据,只所以定3个广播通道是一种权衡,少了可能会被阻塞,多了加大功耗,还有一个有意思的事情是,三个广播通道刚好避开了wifi的1ch,6ch,11ch,所以在BLE广播的时候,不至于被wifi影响;当BLE匹配之后,链路层LL由广播通道切换到数据通道,数据通道37个,数据传输的时候会在这37个通道间切换,切换规则在设备间匹配时候约定。
·
主机Host/控制器controller接口HCI==接口层==通信部
HCI作为一种接口,存在于主机Host和控制器controller当中,控制器Host通过HCI发送数据和事件给主机,主机Host通过HCI发送命令和数据给控制器controller. HCI逻辑上定义一系列的命令,事件;物理上有UART,SDIO,USB,实际可能包含里面的任意1种或几种。
提供数据封装服务
提供配对和密匙分发,实现安全连接和数据交换
负责数据检索
出纳负责处理向上与应用打交道,而库房前台负责向下把检索任务子进程交给ATT库房去做,
其关键工作是把为检索工作提供合适的profile结构,而profile由检索关键词(characteristics)组成。
对上级,提供应用程序接口
对下级,管理各级职能部门,尤其是指示LL层控制室五种状态切换,指导保卫处做好机要工作