当前位置:首页 > (完整版)基于蓝牙模块的智能家居网络毕业设计论文
物理层协议的硬件和软件实现;CPU核提供了链路管理器和链路控制器的固件部分的运行环境,使得主机控制器可独立于主机进行查询和过滤呼叫请求。
图2.2蓝牙主机控制器内部硬件结构图
硬件方面,主机控制器集成了无线电收发器、基带控制器、Flash存储器等部分,其中基带控制器大多是以ARM为基础的芯片,通过接口控制无线电收发器,提供物理接H(USBUARTPCM等)。蓝牙模块通过这些接口与主机上对应的接口相连接,构成蓝牙系统的硬件连接。HCI就是基于这些物理接口定义相应的传输层实现主机与主机控制器间的数据交换。
两个蓝牙设备通过HCI层进行数据传输的过程如图2.3所示。
图2.3蓝牙设备通过HCI层数据传输过程
2.3.2 HCI传输层
HCI传输层是指在蓝牙主机与主机控制器间相连的物理接口,它介于主机控制器驱动程序和主机控制器之间,主要目的是实现传输的透明性,即从蓝牙模块外看HCI看到的是HCI传输层,物理总线是屏蔽的,从而使得HCI固件能在不影响传输层的情况下升级。 2.3.3 HCI分组格式
HCI提供了蓝牙主机与蓝牙主机控制器交换信息的接口,这些信息以分组的形式进行交互。主机可以向主机控制器发送HCI指令分组、ACL数据分组和SCO数据分组;主机控制器可以向主机返回HCI事件分组、ACL数据分组和SCO数据分组。如图2.4所示即为各HCl分组的流向示意图。
图2.4 HCl分组流向示意
(1)HCI指令分组
HCI指令分组用于从主机向主机控制器发送指令。HCI指令分组的
格式如表2.1所示。
表2.1 HCI指令分组格式
HCI指令分组由操作码,参数长度和指令参数列表组成。 (2)HCI事件分组
主机向主机控制器发送指令分组以后,主机控制器就会返回相应的事件分组,其中携带有指令的执行情况以及相关联的信息。主机必须具有接收255字节的HCI事件分组的能力,其中还不包括HCI事件分组头。
HCI事件分组的格式如表2.4所示。
表2.2 HCI事件分组格式
HCI事件分组由事件码、参数长度和事件参数列表组成事件码(Event Code)大小为1字节,用于唯一地标识事件的类型,取值范围为0x00-0xff。参数长度以字节度量。事件参数列表存放了与相对应的指令关联的返回事件参数,大小一般为8的倍数。
(3)HCI数据分组
HCI数据分组用于在主机和主机控制器之间交换数据。HCI数据分组分为ACL数据分组和SCO数据分组两类,各自有不同的格式,在此只讨
论ACL数据分组格式。
HCI ACL数据分组用于在主机与主机控制器间进行异步链路的数据交换,它的分组格式如表2.5所示。
表2.3 HCIACL数据分组格式
共分享92篇相关文档