蓝牙技术是一种无线数据与数字通信的开放性规范。它以低成本、近距离无线连接为基础,为固定与移动设备建立了一种完整的通信方式和技术。蓝牙技术的实质是建立通用无线接口及其控制软件的标准,使移动通信与计算机网络之间能实现无缝连接,由此,为不同厂家生产的便携式设备提供了近距离(10m~100m)范围内的互操作通道。
在工业控制系统和许多应用领域,随着电子技术的发展,目前控制器和传感器已经实现了智能化。在一般的传感器或测试仪表中,大量使用CPU 控制下的数字化技术,因此,许多控制系统或传感器系统已经实现了数字化传输。如果在数字化的控制系统和传感器中嵌入蓝牙技术,则可以实现系统数据和控制命令的无线传输,这对于许多应用领域都是十分重要的。
本文通过对蓝牙协议栈结构的讨论,提出一个嵌入式SoC 器件结构。这个嵌入式SoC 器件是一种具有蓝牙通信功能的SoC 器件;SoC 中的CPU 对用户开放,用户可以使用这种结构的SoC 器件实现智能传感器或控制器单元。
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 射频发射组件,与主机相连接的接口位于链路控制器上。
在嵌入式方案中,蓝牙协议的上层软件协议也全部固化在芯片中,芯片通过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 的主机控制器接口传输层的物理连接,是上层协议与蓝牙硬件模块进行通信的通道。蓝牙测试模块主要提供无线层和基带层的认证和一致性规范,同时还管理产品的生产和售后的测试,为可选模块。