蓝牙IC接口HCI

主机控制接口(HCI)概述

        主机控制接口(HCI)位于传输协议之中,它并不是严格意义上的通信协议,它仅为应用协议堆栈的高层部分提供了一个访问低层传输协议的指令接口。
        如果我们从HCI层出发,可以将蓝牙协议堆栈分为硬件与软件2个协议块。硬件部分由射频部分(RF)、基带部分(BB)、链路管理器部分(LM)和HCI固件构成,我们也可以把硬件部分称为蓝牙子系统。软件部分由HCI主机驱动程序、逻辑链路控制适配协议(L2CAP)、串口仿真协议(RFCOMM)、服务发现协议(SDP)、电话控制协议(TCS)及其它应用协议所构成。在蓝牙协议堆栈模型中的虚线部分为对本文中HCI协议层软件的具体划分。

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层,由HOST主机来完成各种PROFILE,如SPP OPP AV等等,可实现串口通讯、文件传输、FTP、DUN、蓝牙耳机等各种应用。  
HCI通过分组的方式传输数据(Data)、命令(Command)和事件(Event),所有主机和主机控制器之间的通信都以分组的形式进行。在HCI分组中。数据分组是双向的,命令分组只能从主机发往蓝牙模块,事件分组只能从蓝牙模块发向主机。主机发出的大多数命令分组都会由蓝牙模块产生相应的事件分组作为响应。  
    蓝牙模块与HOST之间的接口可采用USB或UART接口,USB接口的HCI与UART接口的HCI固件不同,订货时需说明。配套的DEMO板支持两种接口,并可实现外接音频信号。

    需注意的问题 :

UART接口,采用英国CSR公司的BCSP通讯协议,比简单的H4或H5更为健壮,可靠,具体请在CSR公司网站下载相关资料。  
采用UART接口时,由于串行速率限制,音频应用并不适合,但可用蓝牙模块的AUDIO接口外接。  
UART接口HCI调试时,可用CSR的BLUESUITE做为辅助调试工具,也可用IVT等第三方软件做为辅助调试工具。


----------------------------------------------------------------------


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值