HCI协议剖析
来源:互联网 发布:软件买卖平台 编辑:程序博客网 时间:2024/05/20 06:09
HCI协议剖析
在蓝牙协议模型中,HCI软件驱动程序与HCI固件统一归为HCI(主机控制接口),所以要基于HCI进行开发,首先必须了解HCI涉及的具体内容。主机 控制接口为蓝牙硬件中基带控制器和链路管理器提供了命令接口,从而实现对硬件状态寄存器和控制寄存器的访问,特别是该接口提供了对蓝牙基带的统一访问模 式。HCI分为主机、传输层、主控制器三部分,并在每一层为HCI系统提供不同的功能。本文把HCI协议层划为HCI软件和HCI硬件两部分来加以讨论。
HCI软件
HCI软件部分可分为HCI固件和HCI驱动两个部分。
HCI固件位于主控制器。HCI固件通过对基带命令、链路管理器命令、硬件状态寄存器、控制寄存器和事件寄存器的访问,实现蓝牙硬件HCI指令。主控制器(Host Controller)意味着具有主控制接口功能的蓝牙器件。
与HCI固件不同,HCI驱动位于主机,即协议模型中的HCI软件驱动部分。若某事件发生,用HCI事件通知主机,而主机将收到HCI事件的异步通知。当 主机发现有事件发生时,它将分析收到的事件包并决定何种事件发生。主机端的HCI驱动程序,一方面通过接口被蓝牙应用程序调用(本文所提到的蓝牙应用程序 是相对于HCI层而言的,指的是构建于通用外接模块上的扩展应用程序),实现对上层应用的承载;另一方面实现了协议中的HCI功能集,使主机可以向蓝牙子 系统发送HCI指令,或接收子系统返回的HCI事件。
HCI的硬件
HCI驱动和HCI固件是通过主控制器传输层(位于主控制器与主机之间的中间层)进行通信的,这些中间层和主控制传输层提供了在没有数据描述信息情况下传 输数据的能力。在蓝牙规范的描述中,蓝牙子系统与主机之间共有3类数据转移的方式、每一种数据在硬件接口均具有一定的封装格式,分别是由3种传输层支持, 分别为UART/RS232和USB。采用不同的主控制器传输层对主机所接收的HCI事件异步通知不会产生影响。
主机控制接口层(HCI)是蓝牙协议中软硬件之间的接口,它提供了一个调用基带、链路管理、状态和控制寄存器
等硬件的统一命令接口.
- HCI协议剖析
- 蓝牙HCI协议
- 蓝牙HCI剖析(二)
- 蓝牙HCI剖析(三)
- 蓝牙HCI剖析(一)
- 蓝牙HCI剖析(一)
- 蓝牙HCI剖析(一)
- 蓝牙HCI剖析(二)
- 蓝牙HCI剖析(三)
- 蓝牙协议规范(主机控制接口协议 HCI)
- [协议]ICMP协议剖析
- [协议]ICMP协议剖析
- 蓝牙协议栈及HCI三线串口传输控制
- 蓝牙协议中HCI层的研究与开发
- BlueTooth: 蓝牙协议中HCI层的研究与开发
- 蓝牙协议中HCI层的研究与开发
- 常用P2P协议剖析
- 简单剖析HTTP协议
- struts2中autocompleter标签使用
- sql server 批量修改表和存储过程的所有者
- ajax框架比较
- poj1159
- 关于Oracle问题,java.lang.NullPointer 500 internal server error
- HCI协议剖析
- Java Annotation手册
- Qt 生成 xml 文件
- 应用最广的十大Javascript框架以及优缺点对比
- 数组(一维数组)
- 理解extends与implements
- ORACLE RAC 重新安装时清空ASM 磁盘命令
- viso2003下动态连接线的自带文本框位置移动
- sqlldr简介