HCI Vender command CSR8311初始化

1. HCI COMMAND 格式


图片出自HCI Extensions (bcore-an-009Pb).pdf

该命令中的 opcode是0xfc00 OGF是0x3f OCF是0x00,OGF的0x3f指的是厂家自定义的HCI COMMAND.

第二个的参数 Parameter Total Length 指的是参数的长度,不包含opcode,

第三个参数Payload Descriptor 格式如下:

图片出自HCI Extensions (bcore-an-009Pb).pdf

当我们整包数据没有被拆分时Last Fragment 喝 First Fragment 都为1 channel ID 参考下表,我们目前使用的是BCCOMMAND 。channel ID就是2 所以整个 Payload Descripto 就是 0xC2(1100 0010).

图片出自HCI Extensions (bcore-an-009Pb).pdf

2. payload 格式

前十个byte 称为header ,都是占Uint16 的数据

图片出自BCCMD Protocol (bcore-sp-002Pc).pdf

1.type

通常情况都是 SETREQ 。

2.length

Length表示整个payload 的长度包括了type,并且这个Length的值在需要x2之后再去看,因为是16字节的原因,每个参数都是2byte。

3.Senqo

序列号可以从任意数开始,下一包需要再上一包的基础+1。

4.Varid

BCCOMMAND ID

图片出自BCCMD Commands (bcore-sp-005Pe).pdf

5.status

图片出自BCCMD Protocol (bcore-sp-002Pc).pdf

6.ps格式

1 .2个byte key(pskeys)--这部分在文档Pskeys list.pdf 中查看对应的值

其中一个要注意的是CSR8311设置波特率的值需要用0x1ea来设置,如果使用标准的pskey:0x01be 有概率会设置失败

图片出自Pskeys list.pdf

  1. length 也是占2个byte也是需要×2的,不过这个Length并不包括pskey,他只表示value的长度。
  2. store 存储位置 0x0008表示先放在ram里面后面再拷贝到rom去

    图片出自Pskeys list.pdf
    4.ps value 这个需要参考pskey list 具体去配置

    图片出自Pskeys list.pdf

通过这个btsnoop 可以对照的分析上述格式。

HCI EVENT跟command差不多,就不在写了,可以直接看文档

相关推荐
TengTaiTech3 天前
打破ANC的“静默牢笼”:基于QCC3095实现主动降噪与侧音共存的音频方案
蓝牙·qcc·混音
TengTaiTech9 天前
重构无线音频边界:基于高通QCC3056的新一代蓝牙音频发射器深度解析
蓝牙·qcc
HiDev_10 天前
BLE Legacy 连接【读取当前连接所使用 PHY 类型 HCI_LE_Read_PHY command】
蓝牙·ble·蓝牙连接·ble 蓝牙广播·蓝牙hci command
HiDev_11 天前
BLE Legacy 连接【断开连接 Disconnect command】
蓝牙·ble·蓝牙连接·ble 蓝牙广播·蓝牙hci command
K成长日志12 天前
BLE协议之设备地址
网络·物联网·网络协议·嵌入式·蓝牙·ble
HiDev_13 天前
HCI 功能规范【5.1. Correctness】
蓝牙·ble·ble 蓝牙广播·蓝牙hci command·蓝牙广播扫描
HiDev_14 天前
HCI 功能规范【4.2. Controller to Host data flow control】
蓝牙·ble·ble 蓝牙广播·蓝牙hci command
HiDev_14 天前
HCI 功能规范【4.4. Command flow control】
蓝牙·ble·ble 蓝牙广播·蓝牙hci command
欢乐熊嵌入式编程1 个月前
WIFI通信协议全解析18: ESP32 作为 AP 热点:打造自己的“微型路由器”(附完整实战代码)
物联网·wifi·esp32·蓝牙·wifi协议·ap热点
YF02111 个月前
Android BLE 信号强度获取与 底层原理深度解析
android·蓝牙