蓝牙协议栈的原理和应用设计

makeprogress 2010-09-08

蓝牙技术发展的时间比较长了,对于这部分的应用也非常广泛。那么今天我们就来讲解一下蓝牙协议栈在嵌入式方面的一些应用。蓝牙技术是一种无线数据与数字通信开放性规范.它以低成本、近距离无线连接为基础,为固定与移动设备建立了一种完整通信方式和技术.蓝牙技术实质是建立通用无线接口及其控制软件标准,使移动通信与计算机网络之间能实现无缝连接,由此,为不同厂家生产便携式设备提供了近距离(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),这部分也叫作蓝牙协议体系结构中底层硬件模块.

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射频发射组件,与主机相连接接口位于链路控制器上.

相关推荐