13.BLE---HCI

dsads

1.概述

HCI支持四种类型的分组:

  • 命令分组 Command Packet
  • 异步数据分组 Asynchronous Data Packet
  • 同步数据分组 Synchronous Data Packet
  • 事件分组 Event Packe

                           

分组类型是在HCI分组之前的一个字节值。 数据包类型具有以下值:

Packet

Packet Type

                           

Command

1

Asynchronous Data

2

Synchronous Data

3

Event

4

HCI Packet Types

2.Command Packet

HCI命令包格式由三部分组成:用来确认发送命令的操作码(2字节)、参数长度(1字节)以及命令参数。每个命令都有自己一套独特的参数。
BLE中有三种基本命令类型,分别实现如下功能:

  • 配置控制器状态
  • 请求执行特定的操作
  • 管理连接

2.1 OpCode

OGF Range (6 bits): 0x00-0x3F (0x3F reserved for vendor-specific debug commands)

  • 参数最多255字节,不包括HCI命令包头。
  • Opcode参数分为两个字段,称为OpCode组字段(OGF)和OpCode命令字段(OCF)
  • 组域(OGF)(最高有效位6比特) 命令域(OCF)(最低有效位10比特)
  • 0x3F的OGF保留用于特定于供应商的调试命令。

2.2 OGF

Link Control Commands: 1
Link Policy Commands: 2
Controller and Baseband Commands: 3
Informational Parameters: 4
Status Parameters: 5
Testing Commands: 6
LE Only Commands: 8

2.3 OGF 与OCF 组合

           

BT Commands for LE

OGF

OCF

Opcode 

LE Set Event Mask

8

1

0x2001

LE Read Buffer Size

8

2

0x2002

LE Read Local Supported Features

8

3

0x2003

LE Set Random Address

8

5

0x2005

LE Set Advertising Parameters

8

6

0x2006

LE Read Advertising Channel TX Power

8

7

0x2007

LE Set Advertising Data

8

8

0x2008

LE Set Scan Response Data

8

9

0x2009

LE Set Advertise Enable

8

10

0x200A

LE Set Scan Parameters

8

11

0x200B

LE Set Scan Enable

8

12

0x200C

LE Create Connection

8

13

0x200D

LE Create Connection Cancel

8

14

0x200E

LE Read White List Size

8

15

0x200F

LE Clear White List

8

16

0x2010

LE Add Device To White List

8

17

0x2011

LE Remove Device From White List

8

18

0x2012

LE Connection Update

8

19

0x2013

LE Set Host Channel Classification

8

20

0x2014

LE Read Channel Map

8

21

0x2015

LE Read Remote Used Features

8

22

0x2016

LE Encrypt

8

23

0x2017

LE Rand

8

24

0x2018

LE Start Encryption

8

25

0x2019

LE Long Term Key Requested Reply

8

26

0x201A

LE Long Term Key Requested Negative Reply

8

27

0x201B

LE Read Supported States

8

28

0x201C

LE Receiver Test

8

29

0x201D

LE Transmitter Test (max TX power for CC2541 is 0 dBm)

8

30

0x201E

LE Test End Command

8

31

0x201F

LE Remote Connection Parameter Request Reply

8

32

0x2020

LE Remote Connection Parameter Request Negative Reply

8

33

0x20

Disconnect

1

6

0x0406

Read Remote Version Information

1

29

0x041D

Set Event Mask

3

1

0x0C01

Reset

3

3

0x0C03

Read Transmit Power Level

3

45

0x0C2D

Set Controller To Host Flow Control (optional)

3

49

0x0C31

Host Buffer Size (optional)

3

51

0x0C33

Host Number Of Completed Packets (optional)

3

53

0x0C35

Set Event Mask Page 2

3

63

0x0C63

Read Authenticated Payload Timeout

4

123

0x0C7B

Write Authenticated Payload Timeout

4

124

0x0C7C

Read Local Version Information

4

1

0x1001

Read Local Supported Commands (optional)

4

2

0x1002

Read Local Supported Features

4

3

0x1003

Read BD_ADDR

4

9

0x1009

Read RSSI

5

5

0x1405

2.4 供应商特定的操作码(TI)

  • 供应商特定的操作码由OGF值63 (0x3f)表示。
  • 供应商可以根据需要使用剩余的10位(即OCF)。
  • TI通过将10位细分为3bit MSB命令子组(CSG)和7bit LSB命令(CMD)来定义其供应商特定的OCF值。
  • HCI使用CSG将命令路由到BLE堆栈内的指定子系统。
  • 通过这种方式,可以为任何BLE堆栈层指定供应商特定的命令。

命令子组定义如下:

  • 对于命令子组0到6,其余7位Command为每个子组提供最多128个命令。
  • 对于子组7,剩余的7位指定128个配置文件中的一个,并指示后续字节将用作该特定配置文件的命令(即每个配置文件最多256个命令)。

           

HCI Extension Set Rx Gain

63

0

0

0xFC00

HCI Extension Set Tx Power

63

0

1

0xFC01

HCI Extension One Packet Per Event

63

0

2

0xFC02

HCI Extension Clock Divide On Halt

63

0

3

0xFC03

HCI Extension Declare NV Usage

63

0

4

0xFC04

HCI Extension Decrypt

63

0

5

0xFC05

HCI Extension Set Local Supported Features

63

0

6

0xFC06

HCI Extension Set Fast Tx Response Time

63

0

7

0xFC07

HCI Extension Modem Test Tx

63

0

8

0xFC08

HCI Extension Modem Hop Test Tx

63

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值