您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 蓝牙Host-Controller-Interface笔记
1.概述HCI提供了一个统一的使用蓝牙控制器(BR/EDRController,BR/EDR/LEController,LEController,AMPController等)的方法,它屏蔽了蓝牙的基带部分,提供了统一的数据进入基带的方法。首先,蓝牙的BaseBand部分有以下几种控制器:•BR/EDRController•BR/EDR/LEController•LEController•AMPController前三种称为primaryController,AMP是蓝牙3.0后加上的,支持HighSpeed传输。下图为简单的架构:两个设备间数据的流向如下图:2.COMMANDSANDEVENTS通过HCI接口,Host与controller通过Command和Event的形式进行通信,其中command是Host传给controller的,Event是controller反馈给Host的,如下图所示:Command和Event根据不同的类型进行了以下分组,具有以下几种:每一组内有一个或者对个Command和Event,举例如下:可以看出,Genericevent组内有三种Event,DeviceSetUp组内只有一种resetCommand。Command和Event的种类很多,这里不具体介绍,参考Spec704-1000的具体说明。3.HCIDataFormat由上可知,HCI有三种数据,Command、Event和Data,这三种类型的HCIData分别有不同的格式。需要注意的是,HCIData都是LittleEndianformats的,负数的存储形式为2进制补码。在Host和Controller之间由HANDLES来识别不同的通道,一共有三种:•ConnectionHandles•LogicalLinkHandles•PhysicalLinkHandles其中,ConnectionHandles用于primarycontroller(除AMP外),另外两用用于AMPController。一旦一条LogicalLink建立,primarycontroller会给Host分配一个ConnectionHandle。下面分别是Commandpacket、EventPacket和Datapacket,其中DataPacket分为HCIACLDataPacket和HCISynchronousDataPacket,HCIACLDataPacket有Automatically-Flushable和Non-Automatically-Flushable两种类型。具体说明如下:(1)HCICommandpacketOpCodeField分为两个Field:OCF和OGF:OGFRange(6bits):0x00-0x3F(0x3Freservedforvendor-specificdebugcommands)OCFRange(10bits):0x0000-0x03FF(2)HCIACLDataPacket参数HANDLE的定义如下:参数PB的定义如下:参数Broadcast_Flag的定义如下:(3)HCISynchronousDataPacketsPacket_Status_Flag参数定义如下:(4)HCIEventPacket注意,LE控制器使用的是sub-eventCode。4.HCIConfigurationparameters主要用来对HCI连接进行一些必要的配置,种类比较多,参考Spec681-703。5.常见的Command和Event(1)LinkControlcommands(OGF=0x01),用来进行连接。该组包含InquiryCommand等44个Command,具体参考Spec。(2)LINKPOLICYCOMMANDS(OGF=0x02),对连接进行配置,如park、sniff、RollSwitch等该组包含14个command(3)CONTROLLER&BASEBANDCOMMANDS(OGF=0x03),改变本地Controller的行为。该组包含SetEventMaskCommand等79个command(4)INFORMATIONALPARAMETERS(OGF=0x04),用来读取本地的设备商的控制器、LM等的信息,这些信息无法改变。该组包含ReadLocalVersionInformationCommand等7个command。(5)STATUSPARAMETERS(OGF=0x05),状态参数是由controller来修改的,Host可以通过一些特定的参数来进行修改。该组包含ReadFailedContactCounterCommand等10个Command。(6)TESTINGCOMMANDS(OGF=0x06),对Host提供对蓝牙硬件的测试用的。该组包括ReadLoopbackModeCommand等7个Command。(7)LECONTROLLERCOMMANDS(OGF=0x07),Host通过这些命令来影响LE的工作。该组包括LESetEventMaskCommand等30个Command。常见的Event:包括InquiryCompleteEvent等65种Event。
本文标题:蓝牙Host-Controller-Interface笔记
链接地址:https://www.777doc.com/doc-2674990 .html