我记得我看过一本书叫verilog HDL那些事,作者文笔轻松,文风有趣,不像那些传统的大牛文风严谨,看着就想睡觉,我在网上看了大牛关于蓝牙协议架构的博客、文章,因为协议本身就是一个枯燥乏味的东西,大部分内容需要的是记忆,所以感觉看着脑袋都大了,所以我萌发了一种,用轻快简单的文风刨析蓝牙协议架构的想法,可能写的会很糟糕,但是我觉得就算只有自己看着开心也是足够的;
什么是BLE
记得我还是小白的时候BT、BLE傻傻稳步清楚,有大牛就说了BLE就是低功耗蓝牙、BT就是经典蓝牙,就算他这么说我也是一头雾水啊,明明都是蓝牙为什么还分BT、BLE呢?一个设备到底是用低功耗还是正常功耗一个配置不久OK了吗?为什么要有这种区分呢?
上图的蓝牙协议简要框架符合所有的蓝牙设备框架,其中抛去应用层以及主协议层这种纯软件相关层不说,控制层是与硬件相关的,这里简要说一下控制层的构成,phy层主要代表的是无线射频相关、ll层主要是控制重传数据摘取的功能、hci是可选层这是因为有的架构主协议层和控制层是集成的,这时候就不需要hci层作为信息传递通道,而有的架构控制层和协议层是分离的比如说mcu+rf_module这种架构,这个时候就需要hci层的存在;
从我上面的简要论述可以看到硬件强相关的部分在物理层 ,因为BLE和正常蓝牙是有区别的所以对于蓝牙芯片来说支持BLE并不一定能支持传统和蓝牙