蓝牙技术发展的时间比较长了,对于这部分的应用也非常广泛。那么今天我们就来讲解一下蓝牙协议栈在嵌入式方面的一些应用。蓝牙技术是一种无线数据与数字通信开放性规范.它以低成本、近距离无线连接为基础,为固定与移动设备建立了一种完整通信方式和技术.蓝牙技术实质是建立通用无线接口及其控制软件标准,使移动通信与计算机网络之间能实现无缝连接,由此,为不同厂家生产便携式设备提供了近距离(10m~100m)范围内互操作通道.在工业控制系统和许多应用领域,随着电子技术发展,目前控制器和传感器已经实现了智能化.在一般传感器或测试仪表中,大量使用CPU 控制下数字化技术,因此,许多控制系统或传感器系统已经实现了数字化传输.如果在数字化控制系统和传感器中嵌入蓝牙技术,则可以实现系统数据和控制命令无线传输,这对于许多应用领域都是十分重要.
1 蓝牙协议栈
蓝牙技术规范1.0 版本作了如下规定.
① 蓝牙工作在全球通用2.4GHz ISM(Industrial ,Scientific and Medical)免付费、免申请无线电频段.
② 采用快速确认和跳频技术,以确保链路稳定.
③ 采用二进制调频(FM)技术跳频收发器,抑制干扰和防止衰落.
④ 采用前向纠错(FEC)技术,抑制长距离链路随机噪声.
⑤ 数据传输速率为1Mb/s .
⑥ 采用时分双工传输,其基带协议是电路交换和分组交换结合.
⑦ 一个跳频频率发送一个同步分组,每个分组占用一个时隙,也可扩展到5个时隙.
⑧ 支持一个异步数据通道,或3个并发同步语音通道,或一个同时传送异步数据和同步语音通道.每一个语音通道支持64Kbps 同步话音.异步通道支持最大速率为721Kbps 、反向应答速率为57.6Kbps 非对称连接,或者是432.6bps 对称连接.
目前,工作在2.4GHz 频段上无线局域网技术中,除了蓝牙技术外,还有IEEE802.11、HomeRF 和红外技术.总来说,IEEE802.11 比较适合于办公室无线网络,HomeRF 适用于家庭中移动数据、语音设备等与主机之间通信,而蓝牙技术则可以应用于任何允许无线方式替代线缆场合.
在实际应用中,蓝牙技术应用一般采用嵌入式技术.在应用系统中嵌入蓝牙协议栈,可为系统提供一个透明无线网络通信层.
蓝牙技术协议栈设计只有符合蓝牙技术规范要求,才能实现不同厂家产品无缝对接.蓝牙技术规范(specification)包括协议(protocol)和应用规范(profile)两个部分.完整蓝牙协议栈如图1所示.
协议规范中定义了各功能元素工作方式,提供了蓝牙技术实现中功能元素间横向体系结构.应用规范则介绍了实现特定应用模型,描述了各层协议间协同机制,从而提供了技术实现纵向体系结构.
蓝牙协议包括核心协议层、替代电缆协议层、电话控制协议层和选用协议层.
① 核心协议.核心协议包括基带协议、链路管理协议(LMP)、逻辑链路控制和适配协议(L2CAP)、服务发现协议(SDP).
② 替代电缆协议.替代电缆协议包括串行电路仿真协议(RFCOMM),用于实现数据转换.
③ 电话替代协议.本协议包括二元电话控制规范(TCS Binary)与AT-命令(AT-command).用于提供音频通信处理规范和相应控制命令.
④ 选用协议.选用协议与用户应用有关,包括点到点协议(PPP)、用户数据报/传输控制协议/互联网协议(UDP 和TCP/IP)、目标交换协议(OBEX)、无线应用协议(WAP)、无线应用环境(WAE)、vCard 、vCal 、红外移动通信(IrMC).选用协议层具体内容由应用系统根据需要选择.
除了以上协议层外,蓝牙协议栈中还应包括二个接口:一个是主机控制接口(HCI),用来为基带控制器、链路控制器以及访问硬件状态和控制寄存器等提供了命令接口;另一个是与基带处理部分直接相连音频接口,用以传递音频数据.
在蓝牙协议栈中,HCI 以上部分通常用软件实现,包括逻辑链路控制和适配协议L2CAP、串行仿真RFCOMM 、链路管理协议(LMP )、电话替代协议和选用协议;而HCI以下部分则用硬件实现,包括基带协议和链路管理协议(LMP),这部分也叫作蓝牙协议体系结构中底层硬件模块.#p#
2 核心蓝牙协议栈硬件电路结构
底层模块是蓝牙技术核心模块,主要由射频(RF)单元电路、基带层(base band)电路和链路管理层(LMP,Link Manger Protocol)电路组成.
(1)射频(RF)单元
RF单元电路为蓝牙技术提供了通信中物理层,也叫作蓝牙收发器.通过2.4GHz 微波,实现数据流过滤和传输.蓝牙协议提供了有关蓝牙收发器各项技术指标.
(2)基带层电路
基带层提供了基带数字信号处理硬件,其功能是提供链路控制,因此也叫作基带及链路控制层电路.通过基带层电路,可以建立蓝牙通信网络中物理链路,从而形成微微网(piconet).基带层中有两种物理链路,一种是面向连接同步链路(SCO),另一种是异步无连接链路(ACL).此外,基带层还可为语音和数据分组提供不同水平前向纠错(FEC)或循环冗余度校验(CRC)处理,并可对数据进行加密.同时,基带层电路还为不同类型数据(包括传输信息数据、链路管理和控制信息)提供特定信道.
(3)链路管理层(LMP)电路
链路管理层电路也叫作链路管理器电路,功能是提供链路管理通信协议.链路管理协议用来对链路进行设置和控制,并负责建立和撤销各蓝牙设备间连接、功率控制以及认证和加密,同时还控制蓝牙设备工作状态(保持hold 、休眠park 、呼吸sniff 和活动active ).链路管理层主要功能由软件完成,链路管理器电路提供运行于蓝牙设备处理器中软件.链路管理器之间通信协议称为链路管理协议(LMP).
蓝牙技术整体框架以HCI(Host Controller Interface)为界,区分为硬件模块以及上层软件协议两部分.
蓝牙技术标准中,选择了USB、UART 或是RS232 作为硬件模块与主机间接口.当蓝牙模块以USB、UART或RS232中任何一个接口与主机连接时,HCI 接口上层通信协议由主机负责处理,而HCI 接口下层通信协议则由模块内基带层芯片与RF 芯片负责.
根据蓝牙标准,蓝牙系统基本组成包括天线、收发器、基带控制器.由此可知,在天线、RF收法器和基带控制器支持下,蓝牙系统组成可以十分灵活,即可实现多种不同实现方案.
嵌入式蓝牙系统是将RF和基带部分集成在一块芯片上,单芯片蓝牙硬件模块结构如图2所示.在嵌入式蓝牙器件中,硬件结构可分为链路管理器、链路控制器与RF模块3部分,负责处理LMP层、基带层与RF层协议.链路管理器内包含处理器(CPU)、内存等组件.链路管理器与基带层芯片合称为链路控制器.RF模块内含RF射频发射组件,与主机相连接接口位于链路控制器上.
在嵌入式方案中,蓝牙协议上层软件协议也全部固化在芯片中,芯片通过USB或UART接口与应用系统相连接.由于片内嵌入了CPU,所以,嵌入式蓝牙系统实际上是一个智能终端,适合于任何具有CPU器件系统.例如,智能传感器中,只要增加一个单芯片蓝牙器件,就可以组成一个以蓝牙为通信方式传感器.
由图2可知,它由微处理器(CPU)、无线收发器(RF)、基带控制器(BB)、闪存(Flash程序存储器)、通用异步收发器UART(Universal Asynchronous Receiver Transmitter)、通用串行接口USB(Universal Serial Bus)及蓝牙测试模块组成.其中蓝牙基带控制器是蓝牙硬件模块关键模块.其主要功能是在微处理器控制下,实现蓝牙基带部分所有实时处理功能,包括负责对接收bit流进行符号定时提取和恢复;分组头及净荷循环冗余度校验(CRC),分组头及净荷前向纠错码FEC处理,加密和解密处理等,且能提供从基带控制器到其它芯片接口等.CPU一般采用RISC结构嵌入式微处理器,如ARM7TDMI微处理器,才能足对蓝牙核心协议高速处理和大量数据bit流处理.Flash存储器用于存放基带和链路管理层中所有协议软件.SRAM作为CPU 运行空间,在工作时把Flash中软件调入SRAM中处理.射频收发器负责接收或发送高频通信信号.UART和USB接口提供到HCI主机控制器接口传输层物理连接,是上层协议与蓝牙硬件模块进行通信通道.蓝牙测试模块主要提供无线层和基带层认证和一致性规范,同时还管理产品生产和售后测试,为可选模块.