当前位置首页 > 百科> 正文

HCI(主机控制接口(Host Controller Interface))

2019-11-19 08:44:12 百科

HCI(主机控制接口(Host Controller Interface))

HCI,即主机控制接口,属于蓝牙协定栈的一部分。

基本介绍

  • 中文名:主机控制接口
  • 外文名:Host Controller Interface
  • 简称:HCI

概念

主机控制接口属于蓝牙协定栈的一部分。
蓝牙规范包含了一个符合标準的接口定义(主机控制器接口),它适用于蓝牙通讯模组的硬体部分。此定义描述了位于HCI驱动程式(主机的一部分,也即蓝牙通讯模组的使用者)和主机控制器固件(蓝牙通讯模组本身的一部分)之间的接口。

命令数据

命令(command)由HCI驱动程式发至主机控制器:
数据包指示符(对UART接口而言)为1
操作码(Op-code)(16比特):对命令进行识别:
组域(OGF)(最高有效位6比特)
命令域(OCF)(最低有效位10比特)
参数长度(8比特):所有参数的总长度(以位元组为单位)
命令参数:参数的个数及其长度是与具体命令相关的
HCI数据包用于ACL数据时:
数据包指示符(对UART接口而言)为2
控制信息(16比特):
广播标识(最高有效位2比特) 00 = 点对点数据包(非广播)
01 = 活动从设备广播
10 = 休眠(Parked)从设备广播
数据包边界标识(2比特): 01 = 更高层信息数据包的后继部分
10 = 更高层信息数据包的初始部分
连线句柄(最低有效位12比特)
数据长度(16比特):数据的总长度(以位元组为单位) HCI数据包用于SCO数据时:
数据包指示符(对UART接口而言)为3
连线句柄(12比特)
未使用(4比特)
数据长度(8比特):数据的总长度(以位元组为单位)

事件数据

主机控制器以事件(event)通知HCI驱动程式:
数据包指示符(对UART接口而言)为4
事件码(Event code)(8比特):对事件进行识别
参数长度(8比特):所有参数的总长度(以位元组为单位)
事件参数:参数的个数及其长度是与具体命令相关的
命令是异步处理的,所以介由一个“命令完成(Command Complete)”的事件来通告命令处理完毕。命令也可以并行处理,所以后面的命令可能比前面的命令先结束。
蓝牙规范也定义了数个标準机制,通过一个主机控制器传输层(Host Controller Transport Layer),在HCI驱动程式和主机控制器之间进行HCI数据包的传输,这些传输层包括:
USB(通用串列汇流排)
RS232(标準串口),带错误检测及恢复
通用UART,假设无传输错误
上面所涉及的缩写的含义:
HCI : Host Controller Interface
OGF : Op-code Group Field
OCF : Op-code Command Field
USB : Universal Serial Bus
UART : Universal Asynchronous Receiver Transmitter
ACL : Asynchronous Connection Less
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net