TI BLE研究---- 蓝牙协议栈(GAP)

TI 出的CC2541和CC2540 同为BLE芯片,主要共同点是:

     1.8051内核(现在的蓝牙IC中基本用M0 or M3,据说Ti和ST都在出M0内核的BLE芯片,估计今年年底会出来).

     2. 8K sarm 和 128/256K flash。

区别是CC2541有IIC没有USB,而CC2540支持USB而不支持IIC,在功耗上CC2541比CC2540少30%(没有测试).


CC254x的memory包含协议栈,上层应用。如下图:

                               

今天主要了解GAP协议:

    GAP功能:

                   1.协议角色定义: 广播(salve,未连接),观测器(master,未连接),外设(salve,已连接),控制器(master,已连接)。

                   2.设备发现。

                   3.建立连接。

                   4.断开连接。

   GAP提供的信息:

                  GAP 特征和属性

                  安全特性的初始化,包括配对,鉴定,结合

                  设备配置。


控制器可以搜寻正在广播的设备,观测者的处理过程和控制器的搜寻方式类似,不过没有SCAN_RSP data,应该就是不会接受连接设备信息。


控制器会初始化设备,然后通知设备进入被发现状态,GAP 会建立链接层,并过滤无效错误的设备信息,需要调用GAP_DeviceDiscoveryRequest().随后,完成搜寻,同时GAP_DeviceDiscoveryRequest()会返回一个数组,包含所有可用的设备地址.


 

    完成搜寻后,控制器开始和设备建立连接,通过调用 GAP_EstablishLinkRequest(),当连接建立后,GAP会产生一个事件 --- GAP_LINK_ESTABLISHED_EVENT [GAP_LinkEstablished].

   

连接确认后,便开始进行配对处理,密钥交换工作。


你可能感兴趣的:(TI BLE研究---- 蓝牙协议栈(GAP))