HCI接口向Host提供了操控Controller的接口,Host对底层一切行为都通过HCI命令来实现。Controller完成命令后,向Host发送命令执行状态事件。HCI的命令和事件非常多,了解每个命令和事件的细节对一个普通开发者而言是一件不可能的事情。
认识BLE 5协议栈 —— 直接测试模式
直接测试模式提供了测试BLE设备的RF性能的接口,通过串口发送命令驱动BLE控制器执行收发测试任务,利用外部的测试设备,给出RF性能测试报告。
认识BLE 5协议栈 —— 链路层
链路层定义了五种状态机,分别是广播状态、扫描状态、发起状态、连接状态和待机状态。围绕这几种状态机,实现了广播、扫描、连接等各种操作。广播和连接过程比较复杂,涉及到许多细致的分类,BLE 5对广播包进行了扩展,进一步增加了广播事件的复杂性。
认识BLE 5协议栈 —— 物理层
BLE 5物理层分为三类:LE 1M Uncoded PHY、LE 2M Uncoded PHY和LE 1M Coded PHY。第一种物理层向后兼容BLE v4系列版本的物理层,另外两类则分别扩展了通信速率和通信距离。