蓝牙4.0BLE中协议栈详解

2017-01-20  本文已影响250人  随波逐流007

蓝牙4.0BLE协议栈介绍

问题:什么是BLE协议栈?BLE协议栈与BLE协议的关系?

顾名思义,人类之间需要一种语言才能沟通,机器之间,电子之间也有一个标准,也就是作为通讯标准,也就是通讯协议。

协议:定义了一系列通讯标准,通讯双方都按照这一标准,进行数据通讯。

协议栈:协议的具体实现形式,实现的函数库,固件库。

把个个协议集合到了一起,以函数库的形式实现,并用这些给用户提供一些应用层的API接口,用户可以进行一些调度。

问题:如何使用BLE协议栈进行开发?

三个步骤:

1.不需要具体了解BLE协议栈的具体复杂的过程,只需要知道它的数据从哪里来,需要到哪里去就行了。

2.根据BLE协议栈调用它里面的函数,实现自己的一些功能。

3.可以自己编写一些函数,实现自己需要特定的功能。

协议结构图

第一层:physicallayer(物理层)

信道带宽提供2M,提供三个广播信道1M。

第二层:link layer(链路层)

执行一些基带协议,底层的数据包管理协议。

第三层:host controller interface(主机控制接口层)

提供主机与控制层的通讯方式,以及命令格式,重用蓝牙标准,比如一些串口,USB等等。

第四层:L2CAP(逻辑链路于适配器协议层)

为它上层提供数据业务,提供端到端的逻辑数据通信。

第五层:security manager(SM)安全管理层

层与层之间会有通信,它是建立数据交换安全方面的数据知识。

第六层:attribute protocol(ATT)通用接入层

定义了一些通用接口,供应用层和底层之间的调用,比如你要调底层的硬件模块的东西,就需要这个层的底层的驱动模块去实现它的一些功能,所以它会同时封装一些API的函数设置。

第七层:generic attribute profile(GATT)(属性协议层)

允许设备以属性的形式向外设备暴露它的一些数据,就像广播者与观察者之间,它一直在广播自己的属性,数据出去。观察者观察到了它以后就可以把它的属性提取出来。

第八层:generic access profile(GAP)通用属性剖面

具体属性协议的应用框架,应用了属性协议的应用架构,通过这个层,可以在里面开发一些应用的东西,这里做好了一些应用的框架,可以在上面写一些开发。

原文链接:http://www.maiziedu.com/wiki/bluetooth/stack/

上一篇下一篇

猜你喜欢

热点阅读