• 资料介绍
    • BlueNRG-LP 和 BlueNRG-LPS 无线电操作
    • 数据包格式
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

UM2726 BlueNRG-LP、BlueNRG-LPS 2.4 GHz 无线电私有驱动程序

01/09 16:00
716
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

UM2726 BlueNRG-LP、BlueNRG-LPS 2.4 GHz 无线电私有驱动程序

750.66 KB

本文档介绍 BlueNRG-LP、BlueNRG-LPS 2.4 GHz 无线电私有底层驱动程序,它提供对 BlueNRG-LP 和 BlueNRG-LPS设备的访问权限,以便在不使用蓝牙链路层的情况下发送和接收数据包。使用中心数据结构和 API应用程序可以控制数据包的不同特征,例如:间隔、通道频率、数据长度等。

BlueNRG-LP BlueNRG-LPS 无线电操作

BlueNRG-LP 和 BlueNRG-LPS 2.4 GHz 无线电底层驱动接口控制 2.4 GHz 无线电。此外,它还与采用慢速32kHz 时钟的唤醒定时器、RAM 存储器,以及处理器相互作用。

RAM 用于存储无线电设置、当前无线电状态、接收到的数据,以及待发送的数据。无线电底层驱动可以管理最多 8 种不同的无线电配置(也称为状态机)。

有几个功能是由无线电自主管理的,无需处理器干预:

  • 数据包加密
  • 睡眠管理

随附部分附加功能,与蓝牙低功耗标准(如蓝牙通道利用率)关联性较高。

数据包格式

一个数据包由六个字段组成,其中只有四个是用户可访问的:

  • 默认情况下,前导码长度为 1 字节。但是,用户可以通过 RADIO_SetPreambleRep()定义前导码的重复次数。
  • NetworkID 是设备的地址,以 4 个字节表示。接收设备只接受这样的数据包:其 NetworkID 字段与自身地址中的 NetworkID 字段相同。NetworkID 应该满足以下规则:

‒其中连续的 0 或 1 不超过 6 个

‒其 4 个八位字节不都相等

‒转换不超过 24 个

‒在最有效的 6 位中至少有 2 个转换

用户可以通过 API RADIO_SetTxAttributes()或 API HAL_RADIO_SetNetworkID()访问 NetworkID 字段。

  • Header 可以接受任何值,其长度为 1 字节。它可以作为一个字节的数据,但未对该字段进行加密。
  • Length 表示数据字段的长度。用户为待发送的数据包设置该值,或者从接收到的数据包中读取该值。

BlueNRG-LP、BlueNRG-LPS 链路层可以接收的最大有效负载字节数(带加密或不带加密)为 255。用户可以通过 API RADIO_SetMaxRecievedLength()在硬件层设置该阈值(从 0 到 255)。

对于 BlueNRG-LP 和 BlueNRG-LPS,长度字段的最大值为 255,但有一些例外。如果启用了加密,则数据字段的最大长度必须减去 4 字节。这 4 字节是为添加到数据包中的 MIC 字段保留的。

资料预览

相关推荐