打印
[BlueNRG]

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

[复制链接]
781|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
引言 本文档介绍 BlueNRG-LP、BlueNRG-LPS 2.4 GHz 无线电私有底层驱动程序,它提供对 BlueNRG-LP 和 BlueNRG-LPS设备的访问权限,以便在不使用蓝牙链路层的情况下发送和接收数据包。使用中心数据结构和 API 的应用程序可以控制数据包的不同特征,例如:间隔、通道频率、数据长度等。

注意: 本文内容适用于 BlueNRG-LP 和 BlueNRG-LPS 设备。BlueNRG-LP 设备和平台的任何参考也适用于BlueNRG-LPS 设备和平台。必要时,会着重标明具体的区别


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

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

有几个功能是由无线电自主管理的,无需处理器干预:
• 数据包加密
• 通信定时
• 睡眠管理

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


2 数据包格式
BlueNRG-LP 和 BlueNRG-LPS 中只使用一种数据包格式,如下所示。
图 1. 数据包格式

一个数据包由六个字段组成,其中只有四个是用户可访问的:
• 默认情况下,前导码长度为 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 字段保留的,如图 2. 启用了加密时的数据包格式中所示。启用了加密时的数据包格式。下表包含关于长度字段的概要。

表 1. 长度字段的值(以字节为单位)




为了避免由于接收到的错误长度字段(在数据包中,CRC 校验失败)而导致内存损坏,用户必须为收到的数据包(包括 2 字节的 header 字段,以及 data 字段)保留最大内存

• Data 可以接受任何值,其长度由 length 字段决定。用户定义一个内存缓冲区,以便设置 heade 字段、length 字段,以及 data 据字段,如下所示:


如果启用了加密,则只对 data 字段进行加密。其他字段(包括 header 字段和 length 段)不加密。
• CRC 用于识别损坏的数据包。它的长度为 3 字节,在发送和接收时由无线电分别进行生成和校验。用户可以配置 CRC 计算的初始值,但在广播通道中除外(此处的初始值设置为 0x555555)。CRC 硬件特性可以禁用。这意味着硬件不会在传输时附加 CRC,也不会在接收时校验 CRC。

图 2. 启用了加密时的数据包格式


更多详细内容请点击附件查看 DM00707452_ZH_REV3.pdf (750.66 KB)



使用特权

评论回复
沙发
tpgf| | 2024-8-10 15:19 | 只看该作者
和私有驱动程序对应的是什么种类的驱动程序呢

使用特权

评论回复
板凳
wakayi| | 2024-8-17 21:41 | 只看该作者
它们的私有底层驱动程序为这些设备提供了专门的访问权限,允许在不使用蓝牙链路层的情况下发送和接收数据包

使用特权

评论回复
地板
wowu| | 2024-8-18 13:13 | 只看该作者
驱动程序通过中心数据结构和应用程序接口(API)使开发者能够控制数据包的各种属性

使用特权

评论回复
5
xiaoqizi| | 2024-8-18 14:54 | 只看该作者
几个关键功能如数据包加密、通信定时和睡眠管理由无线电自主处理,无需处理器干预

使用特权

评论回复
6
木木guainv| | 2024-8-18 19:07 | 只看该作者
如果启用加密,则只有数据字段会被加密,其他字段如头部和长度则不会加密

使用特权

评论回复
7
磨砂| | 2024-8-18 23:14 | 只看该作者
私有底层驱动程序不仅支持数据包的发送和接收,还涵盖了广泛的自主管理功能

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

558

主题

739

帖子

17

粉丝