BlueCore2型模块及其HCI传输驱动的实现

发布者:Yuexiang888最新更新时间:2006-07-21 来源: 国外电子元器件关键字:蓝牙  主机  控制器 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  蓝牙技术是一种短距离无线通信技术。遵循开放系统互联参考模型(OSI/RM),采用分层的协议栈。主机控制接口(HCI)位于蓝牙协议栈的L2CAP(逻辑链路控制与适配协议)层和LMP(链路管理协议)层之间,是蓝牙协议栈中软件与硬件的接口。它为上层软件调用下层(基带和链路管理层)状态寄存器和控制寄存器等硬件提供了统一的指令接口。蓝牙设备高层软件和底层硬件模块接口之间的消息和数据传递必须通过蓝牙主机控制器接口的解释才能进行。HCI以上的协议软件实体运行在主机上,而HCI以下的功能由蓝牙模块来完成,二者之间通过传输层进行交互传输数据。

2 BlueCore2-external的特点及结构

  BlueCore2-external[1]是英国CSR公司推出的基于蓝牙技术的收发电路。工作在2.4GHz的ISM(工业、科学、医学)频段,主要应用于PC、无线手机、PDA、鼠标、键盘、数码相机等。其主要特点如下:

  工作电压为1.8V;

  完全和别的蓝牙器件匹配;

  采用0.18μm CMOS工艺;

  支持8Mb的外围FLASH;

  外围元器件较少。

  该电路集成了蓝牙协议栈的射频和基带部分,具有SPI、UART、USB、PIO、PCM接口。其中,SPI、UART、USB接口主要用来传输数据;PIO接口为可编程接口;PCM接口用来传输语音。在BlueCore2-External中UART接口的最大传输速率为1.5Mb/s,能够达到蓝牙标准中规定的723.2kb/s的数据传输速率。其内部结构如图1所示。               ?

3 硬件电路设计

  系统的硬件组成如图2所示。串口收发器采用常用的MAX232ACPE,完成BlueCore2与9针串口之间的电平转换。串口和主机相连,主机可以是PC、ARM或单片机。这里为PC上的串口。蓝牙模块为主机控制器。这样,蓝牙主机可以和蓝牙主机控制器之间实现通信。

?

4 HCI接口分析

  HCI通过分组的方式传输数据(Data)、命令(Command)和事件(Event)[2],所有主机和主机控制器之间的通信都以分组的形式进行。在HCI分组中。数据分组是双向的,命令分组只能从主机发往主机控制器,事件分组只能从主机控制器发向主机。主机发出的大多数命令分组都会由主机控制器产生相应的事件分组作为响应。

  蓝牙标准定义了3种类型的HCI传输层[3]:USB、RS232及UART。笔者提出了存在于HCI和UART之间的层-HCI传输驱动层,它的上层为HCI层,下层为UART驱动层,实现HCI和UART
之间的数据传输。

  蓝牙HCI接口、蓝牙主机及蓝牙主机控制器之间的协议栈层次[3]如图3所示。蓝牙主机控制器即BlueCore2模块集成了蓝牙协议栈的射频、基带和链路管理部分。蓝牙模块通过UART硬件连接到蓝牙主机。在蓝牙主机中运行蓝牙UART驱动程序、HCI传输驱动程序、HCI的API函数及上层协议栈。

5 程序设计与实现[4]

  在发送数据阶段,HCI传输驱动层负责把由上层传输过来的HCI数据包传给UART驱动层,然后通过UART驱动层把数据传输到蓝牙主机控制器。在接收数据时,HCI传输驱动层的作用正好相反。

  在驱动程序的设计中,把传输状态分为空闲态、传输类型态、传输头态和传输数据态。HCI数据发送时根据传输状态来判断在哪一状态。发送的数据包由类型字段、头字段和数据构成。在发送数据阶段,数据传输的类型字段标志传输的是命令、ACL数据还是SCO数据,然后根据发送的类型来确定发送头字段的长度,最后再发送数据。在接收数据阶段,数据传输的类型字段标志传输的是事件、ACL数据还是SCO数据。不同的是在接收数据阶段需要缓冲来接收数据。HCI传输驱动程序的数据结构如下所示:

   

  在发送流程中,先对发送的状态、看门狗、UART等初始化。使其处在待发送数据状态。具体的发送流程如图4所示。

?

  接收流程和发送流程类似,所不同的是需要缓冲来接收,在此不再赘述。

  本文主要解决了存在于蓝牙UART和HCI层之间的HCI传输驱动问题,给出了硬件设计方案、协议栈框架图和程序流程,实现了蓝牙模块和蓝牙主机之间的数据传输,在无线传输中有较好的应用价值。

关键字:蓝牙  主机  控制器 引用地址:BlueCore2型模块及其HCI传输驱动的实现

上一篇:基于MSP430的无线传感器网络设计
下一篇:无线数据传输后端RFW-D100的原理与应用

推荐阅读最新更新时间:2024-05-07 15:53

采用微控制器和LED驱动器显示不同的LED排序
概述 MAX6970为8端口、36V恒流LED驱动器,采用4线串口。利用本应用笔记提供的信息,MAX6970配合MAXQ2000 16位RISC微控制器使用,可以在选择不同按键时得到各种简单的LED排序。 硬件设置 本应用笔记所讨论的电路利用MAX6970EVKIT和MAXQ2000-KIT搭建。MAX6970评估(EV)板原理图如图1所示,MAXQ2000评估板包含在MAX6970估套件设计中。但在本设计中采用了独立的MAXQ2000电路板,因为MAXQ2000评估板带有按键功能,能够用来控制LED排序。 图1. MAX6970EVKIT原理图 拔掉跳线JU1–JU5的短路器,将MAX6970评估板上JU1
[电源管理]
采用微<font color='red'>控制器</font>和LED驱动器显示不同的LED排序
关于STM32系列微控制器的几点认识
STM32系列微控制器是意法半导体旗下的产品,凭借着自身的高性能,低功耗,丰富的数字外围设备和强大的电气处理能力等优势,广泛地应用在工业控制及自动化,消费类电子产品,智能硬件等领域。很多院校和嵌入式培训机构都选用此系列微控制器作为典型的教材! 此系列微控制器采用ARM CORTEX-M处理器内核,关于ARM架构的优势,毋庸置疑是最优秀的架构之一,其CORTEX-A系列微处理器几乎垄断整个移动设备领域!在ARM内核基础上,ST加上自己的数字外围设备,使其具备处理复杂电气问题的能力,例如通过定时器的PWM功能控制电机,通过普通输出端口控制外部继电器,通过片上AD获得外部模拟信号等等,以此系列微控制器为主控的产品不计其数,例如伺服电机
[单片机]
关于STM32系列微<font color='red'>控制器</font>的几点认识
蓝牙与Wi-Fi的交锋与殊途 物联网成新机遇
在短距离无线通讯领域,蓝牙和Wi-Fi是一对冤家。 它们的第一次交锋出现在2009年。该年,蓝牙技术联盟发布3.0技术规范,新技术引入了WLAN,传输速度变为原来的8倍,这让蓝牙也实现了高速传输。 但WLAN却是Wi-Fi所专注的领域,蓝牙侵入此领域,无异于动了Wi-Fi的奶酪。不知是有意还是无意,半年之后,Wi-Fi联盟宣布将推出一项新的标准Wi-FiDirect,使Wi-Fi设备无需接入传统家庭、办公室或热点网络,即可实现相互连接。这意味着Wi-Fi也能实现蓝牙的设备间直连的功能。一时间舆论纷纷,有很多观点认为Wi-FiDirect技术意味着蓝牙技术的终结。 但蓝牙技术联盟很快做出反应,称蓝牙3.0技术更具
[网络通信]
基于SoPC的步进电机多轴控制器
步进电机是一种完全数字化的电动执行机构,从原理上说,其角位移与驱动脉冲的个数成正比,在正常情况下,步进电机具有使用简单、运动精确、连续运行无累积误差等特点,因而被广泛应用于各种位置控制系统中。当前由于仪器内部的机械系统日益复杂,其运动往往是多自由度的,因而通常需要利用多个步进电机的运动合成来实现系统的各种动作。例如,对图1所示的半自动生化分析仪的取样针移位系统,该系统的动作执行就是由两部分组成的:一是固定基座上的步进电机控制取样横臂进行垂直方向上的升降运动;二是滑块上的步进电机控制取样横臂进行水平方向上的旋转运动。这两个运动的合成实现了取样横臂的位置变换。 传统的步进电机多轴控制器是以微控制器(MCU)/微处理器(MPU)/专
[工业控制]
米尔电子 MYC-Y6ULX-V2核心板在机械智能控制器的应用
导语:米尔电子的MYC-Y6ULX-V2核心板助力工程机械控制器智能化。 近年来随着信息化的发展,工业智能化、工程机械智能化水平的要求也越来越高,这对各类工程机械主机专用控制器的需求也随之提高。而目前市场上主流的工程机械控制器硬件配置普遍较低,计算能力不能满足智能化控制的需求;主芯片的容量较小,无法进行大容量工况数据的长时间保存,软件部分也不具备数据的分析能力;同时,缺乏对周边设备的支持,接口功能较少,可拓展应用的功能有限。 *图片摘自网络 而市场对工程机械控制器的智能化需求主要体现: 更快的计算能力、更大的存储量、更丰富的接口、更强的运动控制能力 。首先,工程智能化控制功能的实现包含大量的实时计算,要求主频的MPU
[工业控制]
米尔电子 MYC-Y6ULX-V2核心板在机械智能<font color='red'>控制器</font>的应用
凑趣ADAS,腾讯神眼是什么鬼
腾讯推出一款智能驾驶安全硬件-腾讯神眼。 腾讯神眼配备内外双摄像头,不仅对车辆高速行驶中的碰撞风险和危险性车道偏离发出及时告警,还可以对驾驶员走神及疲劳瞌睡进行实时检测和提醒。根据奔驰汽车的一项统计,提前1.5秒应对危险能够避免90%的事故。根据腾讯提供的数据,腾讯神眼通过智能算法,可以提前2秒捕获预警时机,为车主提供更加充分的安全保障。       ADAS(Advanced Driver Assistance System),是高级驾驶辅助系统的缩写。在汽车上安装了ADAS系统后,可以智能地对移动和静态物体进行识别和追踪,监测危险情况,提前预警或控制车辆进行规避。ADAS系统目前主要应用于特斯拉和沃尔沃
[嵌入式]
凌力尔特推出虚拟远端采样DC/DC 控制器 LT4180
      凌力尔特公司 (Linear Technology Corporation) 推出虚拟远端采样 (Virtual Remote SenseTM) DC/DC 控制器 LT4180,该器件无需远端采样导线来补偿电缆、导线和电路板走线中的压降。导致负载调节误差的配线及电缆中的压降通常由一组附加的采样导线来校正。LT4180 连续查询线路阻抗,并校正稳压器的输出电压。该器件在负载端保持校正后的稳定电压,而不管电流或线路阻抗是多少。其 3V 至 50V 的输入电压范围满足多种应用需求,其中包括远程仪表、电池充电、交流适配器、笔记本电脑电源、监控设备和卤素灯照明。       在采用隔离式或非隔离式电源的情况下,LT4180
[电源管理]
凌力尔特推出虚拟远端采样DC/DC <font color='red'>控制器</font> LT4180
使用AVR微控制器控制GSM模块实现发送和接收短信
当我们的项目需要远程访问时,GSM模块就会很有用。通过这些模块可以完成我们普通手机可以执行的所有操作,例如拨打/接听电话、发送/接收短信、使用GPRS连接到互联网等。您还可以将普通麦克风和扬声器连接到此模块,实现与您的手机进行通话。如果将其与微控制器连接,这将为许多创意项目打开大门。因此,在本篇文章中,我们将学习如何将GSM模块(SIM900A)与AVR微控制器ATmega16进行连接,并演示如何使用GSM模块发送和接收短信。 所需的材料 ● ATmega16控制器 ● GSM模块(SIM900) ● 液晶显示器 ● 按键 ● 10k电阻,电位器 ● 连接导线 ● 12V适配器 ● USBASP program
[单片机]
使用AVR微<font color='red'>控制器</font>控制GSM模块实现发送和接收短信
小广播
最新网络通信文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved