3.2
BLE 应用
STM32WB 架构分离了 BLE 配置文件和应用,应用在 CPU1 上运行,BLE 外设提供实时性。
BLE 外设包含了 CPU2 处理器,其中包含用于处理链路层直到 GAP 及 GAP 层的射频协议栈。此
外,它还包含了 2.4 GHz 射频部分。
CPU1 收集并计算要传输到 BLE 的应用数据。
CPU2 包含管理所有实时链路层和射频 PHY 交互所需的 LE 控制器和 LE 主机,包括:
低功耗管理器,用于控制低功耗模式
调试跟踪工具,用于输出活动的相关信息
邮箱(mailbox)/IPCC,用于连接 BLE 射频协议栈(LL、GAP 和 GATT)
3.3
在 HCI 层接口之上构建 BLE 应用
CPU2 可用作 BLE HCI 层协处理器。在这种情况下,用户要么实现自己的 HCI 应用程序,要么使
用现有的开源 BLE 主机协议栈。
大多数 BLE 主机协议栈使用 UART 接口与 BLE HCI 协处理器进行通信。STM32WB 系列微控制器
的等效物理层是邮箱(mailbox),如第 13.2 节:邮箱(Mailbox)接口所述。
邮箱(mailbox)为 BLE 通道和系统通道提供了一个接口。BLE 主机协议栈负责构建要通过邮箱
(mailbox)上 BLE 通道发送的命令缓冲区,并且必须提供接口用于报告通过邮箱(mailbox)接
收到的事件。除了通过邮箱(mailbox)完成 BLE 主机协议栈自适应,用户还必须在可以释放异步
数据包时通知邮箱(mailbox)驱动程序。
BLE 主机协议栈不处理系统通道。用户必须实现一个自定义传输层来构建发送到邮箱驱动程序的系
统命令缓冲区,并管理从邮箱接收到的事件(包括向邮箱驱动程序释放异步缓冲区的通知),或者
也可以使用邮箱扩展驱动程序(如第 13.3 节:邮箱接口 - 扩展中所描述)在传输层之上提供一个
接口,负责构建系统命令缓冲区和管理系统异步事件。
BLE_TransparentMode 项目可用作使用邮箱(mailbox)在 BLE HCI 层协处理器之上构建应用
(如第 11.2 节:Thread_Coap_DataTransfer)所述的例子。