查看文章 |
蓝牙技术中的人性化接口设备(HID)应用模式可以使人们无连线烦恼地控制他们的计算机、游戏操作杆、远程监控设备等。本文参照SIG最新公布的0.95c版本HID规范,详细介绍了蓝牙HID规范及其应用场景,以及蓝牙HID终端设备端与HID主机端的解决方案。
蓝牙技术在成功地应用在耳机、免提设备和PC外设后,逐渐得到更广泛的应用,人们开始期望能够无连线烦恼地控制他们的计算机、游戏操作杆、遥控设备等。蓝牙SIG组织公布的HID规范正好迎合了这一需求。
与传统的只能和相互匹配的设备通信的无线键盘不同,蓝牙HID键盘能够作为一个标准键盘与任何蓝牙HID系统通信。蓝牙HID解决方案使得HID终端设备能够自动地探测和连接到需要的系统,如PDA、PC、机顶盒等。例如,一个蓝牙HID鼠标能够用来控制PC机,也可用于控制PDA,而不是像传统的模式中某个外设只能控制与它匹配的某种特定的主机。因此,蓝牙HID规范使得不同平台HID主机的输入和控制外设实现真正的互用性。
蓝牙HID规范
a. 蓝牙HID规范的软件结构
b. HID规范的基本要求有:
对一台HID主机而言,HID终端设备通常都是一对一的关系;通过击键或者电源接通来激活HID终端设备。
c. HID规范的导入模式
d. HID规范的虚电缆连线概念
当蓝牙HID终端设备与一个HID主机建立一对一的连接关系时,它就被称为虚拟电缆连接。这时HID终端设备与HID主机就建立了以下关系:
蓝牙HID终端设备的解决方案
如图2所示,作为HID终端设备端的BlueCode+可以有以下两种应用模型:
每个蓝牙HID终端设备(如键盘)都会有它自己的输入控制处理器,该控制器采集用户的输入信号,并转换成某种特定的代码传送给它的HID主机(如PC、PDA等)。由于输入处理器的资源比较少,因此通常情况下蓝牙软件都需要在某个特定的处理器上运行。在我们的方案中将BlueCode+移植到蓝牙芯片中运行,最大程度地实现了资源共享,也使得硬件集成更加简单,集成度更高。而蓝牙芯片与输入控制器的接口可以是更便于系统集成的TTL电平的串行接口。
例如键盘、鼠标和游戏操纵杆等嵌入式设备,可以通过PS/2、UART、GPIO等标准接口将客户已有的HID终端设备硬件与内置HID规范的蓝牙模块结合起来。由于BlueCode+HID软件已经集成进蓝牙芯片,因此,用户只需要将BlueRS+I或蓝牙芯片放进他们的硬件中。输入控制器应按照USB格式通过串行连接发送扫描代码,当然,针对用户的特殊格式要求也是可以的。
如果输入控制器有比较大的资源空间(MIPS、RAM和闪存),蓝牙上层协议栈可以移植到输入控制器中运行,蓝牙芯片与输入控制器也可以以TTL电平串行连接。如果包含HID规范的BlueCode+上层协议栈运行在HID终端设备的输入处理器上,那么对系统硬件结构来说,只有一个带HCI接口的蓝牙芯片需要集成进客户的硬件。
由于蓝牙鼠标的应用非常简单,这时提供HID的BlueCode+可以和鼠标本身的应用程序一起集成在含有蓝牙核心协议栈的蓝牙芯片内。
蓝牙HID主机端的解决方案
在HID主机侧,BlueCode+有三种提供方式:
对标准操作系统(如Windows、Linux)来说,已经有包括HID规范的完整的驱动程序可以提供。这时,除了用户用于表示包括公司及产品的名字、标志、图形和其它类似的图形界面,HID主机端不需要对HID主机的标准驱动作任何改动。这里的HID主机可以用蓝牙USB dongle或PC卡实现,HID主机侧的软件将包括上层堆栈和用户端应用程序。与HID的应用类似,USB dongle也还可用在类似DUN、FAX、FTP、LAN等应用中。因此,这种应用方式的优点是可以支持多个蓝牙规范,其缺点是它们的驱动程序依赖于操作系统。
由于BlueCode+能够方便地移植到不同的操作系统,因此客户也可以用HID API开发适合自己的独特应用。例如,可以做成蓝牙HID接入点设备,所有软件作为固件运行在HID接入点设备上。这时,蓝牙HID接入点设备可以是智能化的USB dongle,或者是用户定义的其它设备。在这种应用方式下,HID主机侧不再需要安装驱动程序。HID接入点设备可被HID主机的操作系统认作标准USB或PS/2设备看待。
这种方案的优点是HID接入点设备与操作系统无关, 可用于支持在PS/2或USB 上的标准 HID的任何平台,不需在HID主机上安装任何东西。该方案的缺点是不支持多个蓝牙规范,因为所有运行于HID接入点设备的软件,只是为HID应用设计的。
作者:吴瑞
|
本文引用通告地址:http://shadowind.spaces.eepw.com.cn/articles/trackback/item/31763