低功耗蓝牙4.2协议栈应用层设计与实现
发布时间:2020-10-09 18:30
低功耗蓝牙技术是一种新型的短距离无线通信技术,具有低功耗、低成本、抗干扰、连接灵活等特点,广泛应用于安保系统、穿戴式装置、智能家居等领域。低功耗蓝牙4.2版本改善了隐私权限保护,提升了数据传输速率,并引入了支持互联网连接的配置文件,是万物互联的最佳解决方案。目前,市面上存在许多低功耗蓝牙4.2协议栈产品,但大都存在以下三个方面的问题:第一,这些协议栈的源码并不对用户开放,而只是提供了软件库,不利于修改和扩展;第二,它们同时实现了经典蓝牙和低功耗蓝牙的功能,代码量大,不适合小型嵌入式产品;第三,大部分协议栈产品过于重视功能的完整性和多样性,而没有考虑协议栈代码带来的额外开销。因此,开发出具有较小代码量、较低代码开销的开源协议栈,对低功耗蓝牙4.2技术的应用有着重要的意义。本论文基于低功耗蓝牙4.2协议核心标准,对协议栈应用层部分,包括通用属性规范(Generic Attribute Profile,GATT)和通用访问规范(Generic Access Profile,GAP),进行设计与实现。在功能实现的基础上,通过分析应用层在协议设计与实际应用之间的矛盾,得出了GATT层和GAP层代码开销的主要来源,包括数据相关开销,如层间数据拷贝开销、内存管理开销、函数调用开销等,和非数据相关开销。为了优化应用层数据拷贝开销和内存管理开销,设计了报文头部预留分配策略;为了减少GATT层与ATT层、GAP层与HCI层之间小而重复的函数调用开销,提出了基于中介者模式的层间交互策略;为了优化应用层非数据相关开销,设计了注册回调函数机制,选取了在事件中判断状态的方式进行GATT有限状态机设计。本论文以STM32F103RBT6为主控单元、CC2564为控制器,搭建硬件平台,对所开发的低功耗蓝牙4.2协议栈应用层部分进行了功能测试和代码量测试。测试结果表明:本论文在实现低功耗蓝牙4.2协议栈GATT层和GAP层全部功能的同时,与开源协议栈BTStack相比,应用层输出文件大小降低了23.3%,可执行文件大小降低了12.4%,对代码开销进行优化的效果比较明显。本论文的研究成果对低功耗蓝牙系统的开发和使用都具有一定的工程应用价值。
【学位单位】:东南大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TN925
【部分图文】:
图 5.1 CC2564 最小系统原理图CC2564 只是一款蓝牙控制器,需要与微控制单元(Microcontroller Unit, MCU)结合使用。这种解决方案属于双芯片解决方案,即控制器部分放在一个芯片上实现,主机和应用程序部分放在另一个芯片上实现。采用 CC2564 结合 MCU 构成的双芯片解决方案可以为无线音频、医疗设备、机顶盒、可穿戴设备、传感器集线器和网关、家庭自动化等领域提供较高的性能。(2) STM32F103RBT6 介绍STM32F103 系列是 ST 公司旗下的一款常用的增强型微控制器,它采用了 32 位的 ARM Cortex-M3 内核,最高工作频率可达 72MHz。ARM Cortex-M3 是一款基于 ARMv7-M 体系结构的处理器内核,具有低功耗、低成本、低中断延迟等特点[38]。STM32F103RBT6 作为 STM32F103 系列微控制器之一,具有以下特点[39]:1) 具有较高的执行速度和较高的数据吞吐率。这是因为其采用了哈佛架构,指令总线和数据总线分开,使得取址操作和数据访问操作可以同时进行。2) 内部集成乘法器,大大提高了运算效率。
第五章 BLE 4.2 协议栈应用层测试与分析可见,STM32F103RBT6 具有丰富的片上资源,能够为本论文开发的协议栈提供足够03RBT6 的最小系统原理图如图 5.2 所示。
Host_RTSHCI_RTS图 5.3 四线 UART 接口图,STM32F103RBT6 作为主机(Host),运行协议栈代码;CC256功能。此双芯片解决方案对应的实物如图 5.4 所示。
本文编号:2834040
【学位单位】:东南大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TN925
【部分图文】:
图 5.1 CC2564 最小系统原理图CC2564 只是一款蓝牙控制器,需要与微控制单元(Microcontroller Unit, MCU)结合使用。这种解决方案属于双芯片解决方案,即控制器部分放在一个芯片上实现,主机和应用程序部分放在另一个芯片上实现。采用 CC2564 结合 MCU 构成的双芯片解决方案可以为无线音频、医疗设备、机顶盒、可穿戴设备、传感器集线器和网关、家庭自动化等领域提供较高的性能。(2) STM32F103RBT6 介绍STM32F103 系列是 ST 公司旗下的一款常用的增强型微控制器,它采用了 32 位的 ARM Cortex-M3 内核,最高工作频率可达 72MHz。ARM Cortex-M3 是一款基于 ARMv7-M 体系结构的处理器内核,具有低功耗、低成本、低中断延迟等特点[38]。STM32F103RBT6 作为 STM32F103 系列微控制器之一,具有以下特点[39]:1) 具有较高的执行速度和较高的数据吞吐率。这是因为其采用了哈佛架构,指令总线和数据总线分开,使得取址操作和数据访问操作可以同时进行。2) 内部集成乘法器,大大提高了运算效率。
第五章 BLE 4.2 协议栈应用层测试与分析可见,STM32F103RBT6 具有丰富的片上资源,能够为本论文开发的协议栈提供足够03RBT6 的最小系统原理图如图 5.2 所示。
Host_RTSHCI_RTS图 5.3 四线 UART 接口图,STM32F103RBT6 作为主机(Host),运行协议栈代码;CC256功能。此双芯片解决方案对应的实物如图 5.4 所示。
【参考文献】
相关期刊论文 前6条
1 王伟;;蓝牙4.2:物联网首选无线技术标准[J];电子技术应用;2015年02期
2 Vishal Goyal;;智能蓝牙-低功耗连接技术革命[J];中国集成电路;2014年11期
3 陈海明;崔莉;谢开斌;;物联网体系结构与实现方法的比较研究[J];计算机学报;2013年01期
4 ;意法半导体STM32系列STM32F103 32位微控制器[J];今日电子;2008年02期
5 田园;;ST 32位系列Cortex-M3内核微控制器重塑MCU市场[J];电子设计应用;2007年07期
6 赵晓英;关于模块化程序设计中的三个主要问题[J];雁北师范学院学报;2004年02期
本文编号:2834040
本文链接:https://www.wllwen.com/kejilunwen/wltx/2834040.html