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传输驱动的实现
推荐阅读最新更新时间:2024-05-13 18:13
大众MEB的域控制器-ICAS
域控制器应该是伴随着智能汽车最火的一个热点这几年开始,Domain control域控制器这个词应该是在2017左右欧美电子供应商们例如博世大陆他们提出,它是控制与特定区域或域相关的一组车辆功能的计算机。需要域控制器的功能域通常是计算密集型的,并且连接到大量输入/输出 (I/O)设备。例如我们现在常说的自动驾驶由于需要多种传感器的输入例如雷达摄像头等,然后运算给整车下达指令和显示交互。 其实伴随着中国新势力的崛起,中国汽车供应链在域控器方面取得了非常好的应用和技术的积累,例如我们之前文章 小鹏的自动驾驶XPILOT以及智能座舱Xmart OS 中小鹏使用的德赛西威,华为 华为的智能驾驶算力平台(MDC)以及其当前生态应用 ,以及
[汽车电子]
MOST—汽车电子信息娱乐系统的高速数据总线
虽然目前已有许多种汽车电子的传控接口,如LIN Bus、CAN Bus、FlexRay等,但这些传控接口的传输速率表现,都无法满足车用多媒体信息的运载传输之需,其中LIN Bus只有20kbps,CAN Bus只有1Mbps,FlexRay一般而言也只有10Mbps,双线并用才能达20Mbps,这些都不足以用来传递实时性的多媒体信息。 然而,随着车内娱乐系统的发展、传控技术的精进(如:倒车后方视讯画面),车用电子愈来愈需要使用多媒体式传输,最适合此方面的传输接口就属MOST(Media Oriented Systems Transport,媒体导向系统运送),其次才是今日盛行的蓝牙(Bluetooth)。不过,Bluetooth绝
[嵌入式]
大联大世平集团推出基于Atmel、TI、Toshiba等产品的低功耗蓝牙
近日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下世平推出基于Atmel、TI、Toshiba的低功耗蓝牙智能可穿戴解决方案。
智能可穿戴方案是对日常穿戴进行智能化设计、开发,帮助人们更好的感知外部与自身的信息。从智能手表到健身跟踪器,各个可穿戴设备市场都在呈现出显着的增 长,据国际知名电子产品调研机构预测,在2015 年智能手表、健身腕带等追踪设备数量将达到约7000万,比2014年38%,并将在2020年达到惊人的5.14亿件。
采用蓝牙作为无线通讯方式的可穿戴设备在市场上所占份额迅速增长,因此可以预期Bluetooth 4.0 BLE(Bluetooth Low Energy
[嵌入式]
使用超高速闪存微控制器实现快速内存传输
达拉斯 半导体 超高速闪存 微控制器 具有双数据指针,具有自动递增/递减和切换选择功能。本应用笔记将采用一个数据指针的原始8051架构与DS89C430和DS89C450的新架构及其更高的数据移动效率进行了比较。本文提供了大量代码示例,以帮助理解该超高速微控制器的双数据指针的使用。 概述 嵌入式系统 设计人员和 程序员 一直在寻找巧妙的方法来突破其 8051 微控制器设计的性能极限。如果您的应用受到微控制器复制外部数据存储器缓冲器或读/写存储器映射外设的速率的限制,则可能会受益于使用更多片上 硬件 和更少软件的方案。本应用笔记介绍了使用 定时器 /计数器作为终止固定长度复制例程的方法。将这种方法与达拉斯的超高速 8051 架构及
[单片机]
什么是嵌入式PID算法?嵌入式PID算法分析
1.1 概述 比例(Proportion)积分(Integral)微分(Differential)控制器(PID控制器或三项控制器)是一种采用反馈的控制回路机制,广泛应用于工业控制系统和需要连续调制控制的各种其他应用。 PID控制器连续计算误差值 e(t) 作为所需设定点(SP) 和测量过程变量(PV)之间的差值,并应用基于比例、积分和导数项(分别表示为P、I和D)的校正,因此得名。 r(t) 是期望的过程值或设定点(SP),y(t) 是测量的过程值(PV)。 1.2 历史发展 1911年,第一个PID控制器是由Elmer Sperry开发的。 1922 年,俄裔美国工程师尼古拉斯·米诺斯基 ( Nicolas Mino
[嵌入式]
高电压理想二极管“或”控制器实现更高效率和无振荡的平滑电压切换
2007 年 8 月 27 日 - 北京 - 凌力尔特公司( Linear Technology Corporation )推出单片高电压理想二极管 “或” 控制器 LTC435 7 ,该器件在 多 重 N+1 冗余电源应用和高可用性系统中为肖特基 “或” 二极管提供了一个简单 的 低损耗 替代 方案 。 LTC4357 控制一个外部 N 沟道 MOSFET 以执行低正向电压二极管功能。与肖特基二极管相比,这提供了一个较低损耗的通路,因此在大功率应用中,不仅实现了效率更高的解决方案,而且由于无需散热器,所以节省了宝贵的电路板面积。 LTC43
[新品]
ST推业界领先新款微控制器 扩展STM32F4系列阵容
意法半导体扩大STM32F4系列,推出业界领先的新款微控制器。STM32F401是意法半导体基于ARM Cortex-M4 32位/DSP内核的STM32F4系列高性能微控制器的入门级产品。其运行频率低于其它STM32F4微控制器,但在性能、功耗和集成度之间取得完美均衡,以105DMIPS(84MHz)、137μA/MHz工作电流、11μA典型停止电流、丰富的集成功能领先于同级产品。
低功耗,3x3mm微型封装,105°C环境温度,STM32F401适用于管理医疗和移动应用或现场总线驱动的工业传感器模块。
意法半导体扩大STM32F4系列,推出业界领先的新款微控制器
STM32F401运用意法半导体独有的自适应实时
[单片机]
MAX5977A/MAX5977B 单通道、热插拔控制器
该MAX5977A/MAX5977B 热插拔控制器 提供一个1V至16V的单电源电压系统完整的保护。 在最初的插入,热交换控制器限制浪涌损坏板或背板短路电流。当输入电压高于欠压阈值及以下的过压阈值,一为5μA电流源来自内部5V的电荷泵供电是开了一个外部N沟道MOSFET的栅极提供一个缓慢的导通响应。内部电流检测放大器的IC监视一个外部分流电阻提供电流宽输入电压范围内感应电流的感觉。这些器件提供两种过电流断路器保护层次:一个快速关闭和更低的慢行门槛快速跳变阈值的延迟关闭。 超出过流断路器的阈值或将迫使进入故障模式设备如外部N沟道MOSFET被禁用。在MAX5977提供两种版本,它提供了锁定关闭(MAX5977A)或自动
[电源管理]