ios 蓝牙命令发送_蓝牙HCI command/event/acl/sco格式介绍

本文介绍了蓝牙Host与蓝牙Controller之间的交互格式,包括HCI Command、HCI Event、HCI ACL和HCI SCO数据包的结构和作用。重点阐述了HCI命令的Opcode组成,以及不同类型的OGF和OCF定义,提供了HCI Reset命令的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 蓝牙Host(蓝牙协议栈)跟蓝牙Controller(蓝牙芯片)交互格式

蓝牙协议栈跟蓝牙芯片都是使用统一的数据来交互的,由SIG规定(备注:部分芯片有HCI vendor命令),一般交互的有以下几种类型(注意:如果没有特别声明,所有的数据)

1) HCI command,由蓝牙协议栈给蓝牙芯片发送命令,来控制芯片行为,分几个OGF(Groups)在后面小节讲HCI command的时候会介绍。

2)HCI event,由蓝牙芯片上报事件给蓝牙协议栈的事件

3)HCI acl数据,蓝牙协议栈跟蓝牙芯片双向交互的L2CAP以及上层数据

4)HCI sco,蓝牙协议栈跟蓝牙芯片交互的SCO音频是数据

5)HCI iso,蓝牙协议栈跟蓝牙芯片交互的BLE audio的数据(Core 5.2才增加)

二. HCI Command(HCI命令介绍)


HCI命令包用于从协议栈发送给芯片的命令。HCI命令包的格式如下图所示:

4f0535c275d6ad2c694d201b2f1eabd9.png

Opcode:每个命令被分配一个2字节的操作码(opcode),用来唯一地识别不同类型的命令,操作码(opcode)参数分为两个字段,称为操作码组字段(Opcode Group Field, OGF)和操作码命令字段(Opcode Command Field, OCF)。其中OGF占用高6bit字节,OCF占用低10bit字节。

一共有以下几组OGF:

1)Link Control commands, the OGF is defined as 0x01.

2)Link Policy commands, the OGF is defined as 0x02

3)HCI Control and Baseband commands, the OGF is defined as 0x03

4)Informational Parameters commands, the OGF is defined as 0x04

5)status

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值