1、前言
蓝牙是一种全新的无线数据交换技术,他的应用省却了各种数字设备之间需要经过 复杂的软件安装与调试的有线连接过程,做到紧紧咬合、无缝连接,使各种电子设备与家用 电器融为一体,给人们的生活和工作带来全新的感受。
蓝牙技术集成到各种数字设备中的方式有2种:一种是单微控制器方式,即所有的蓝牙低层传输协议(包括蓝牙射频、基带与链路控制器、链路管理器)与高层传输协议(包括逻辑链 路控制与适配协议、服务发现协议、串口仿真协议、网络封装协议等)以及用户应用程序都 集成到一个模块当中,整个处理过程由一个微处理器来完成;另一种是双微控制器方式,即 蓝牙协议与用户应用程序分别由主机和主机控制器来实现(低层传输协议一般通过蓝牙硬件模块实现,模块内部嵌入的微处理器称为主机控制器,高层传输协议和用户应用程序在个人计算机或嵌入的单片机、DSP等上运行,称为主机),主机和主机控制器之间通过标 准的物理总线接口(USB,RS 232等)连接。
在蓝牙的主机-主机控制器连接模型中,主机接口HCI(Host Controller Interface)作为蓝牙软件协议堆栈中软硬件之间的接口,他提供了一个控制基带与链路控制器、链路管理器、状态寄存器等硬件的统一接口。目前,蓝牙HCI传输层的物理接口有通用串行总线USB,串行端口RS 232、通用异步收发器UART等。当主机和主机控制器通信时,HCI层以上的协议 在主机上运行,而HCI层以下的协议由蓝牙主机控制器硬件完成,他们通过HCI传输层进行通信。主机和主机控制器中都有HCI,他们具有相同的接口标准。主机控制器中的HCI解释来自主机的信息并将信息发向相应的硬件模块单元,同时还将模块中的信息(包括数据和硬件/固件信息)根据需要向上转发给主机。如图1所示为蓝牙主机-主机控制器模型。
蓝牙主机-主机控制器模型方案采用了CSR公司的BlueCore2External蓝牙芯片的蓝牙模块、附加模块和对接对象模块来实现蓝牙的USB接口。
2、蓝牙模块、附加模块和对接对象模块概述
2.1蓝牙模块
2.1.1BlueCore2External芯片
2.1.2MBM29LV800BA90PBT闪存器芯片
MBM29LV800BA90PBT是FUJITSU公司生产的8 Mb闪速存储器。他是通过每8 b1 MB方式或者每16 b512 kB组织起来的,3.3 V单电源供电,具有编程和擦 除功能,可将系统电源需求减到最小,支持JEDEC控制标准,与E2PROM使用相同的控制软件。
2.2附加模块
附加模块由2块芯片组成即MAX878芯片和XC6209B182MR芯片,这是2块电压转换芯片,主要 为蓝牙模块中的BlueCore2External芯片及闪存芯片MBM29LV800BA90PBT提 供电压。这2块芯片的电压由对接对象模块USB设备提供,由于USB插座均由PC机内部获得5 V电源,而BlueCore2External芯片需1.8 V和3.3 V两种电源,闪存芯片MBM29LV 800BA90PBT需3.3 V单电源,故电压转换芯片需完成由5 V转换到1.8 V和3.3 V。MAX878芯片完成由5 V到3.3 V的转换,XC6209B182MR芯片完成由3.3 V到1.8 V的转换。
2.3对接对象模块USB
USB是由“通用串行总线实施论坛”组织公开发布推广的一种串行接口标准。蓝牙没有为USB 接口开发新的协议,而是使用已有的USB协议。USB接口支持符合蓝牙规范v1.1,可以和其他数字设备兼容通信,USB设备硬件能够以2种方式装入设备中,一种是形状类似于U盘的US B dongle;另一种是集成到电脑的主板上面。具体蓝牙USB接口端点的配置请参考蓝牙规范1.1。
综上所述,具体设计的硬件信号流程如图3所示。
3、软件程序实现
对于USB硬件驱动程序可以使用微软提供的软件开发包DDK,该软件包为驱动程序开发者提供 了用于开发驱动程序所需的资源文件、编译连接程序、开发技术文档等。蓝牙协议没有为US B接口开发新的协议,而是使用已有的USB协议,限于篇幅,对于USB接口硬件驱动程序部分不 再详述。只着重介绍通过蓝牙HCI传输层USB的物理接口来实现蓝牙连接和数据通信。以VC++6.0为软件开发平台,由于条件所限,只给出点对点的蓝牙连接和通信的程序,至于点对多点的只需对某些参数稍做修改。点对点的软件的流程框图如图4所示。
责任编辑:gt
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)