清华大学自动化系 何荣森 王宏宝 张跃
摘要:文章从蓝牙技术提出的背景和其优越性出发,分析了它的协议体系结构及其各个协议之间的关系。最后,通过给出一个蓝牙模块的硬件设计方案,详细说明了如何在实际的新产品中应用这一最新技术。
关键词: 蓝牙 蓝牙技术 蓝牙协议体系 蓝牙模块
1 蓝牙技术的提出和其优越性
蓝牙技术是由蓝牙特别兴趣集团(SIG:Sepecial Interest Group)于1998年发起提出的。SIG最初是由IBM、Intel、Nokia、EriCSSion、Toshiba等公司组成。但是目前,加入SIG的企业已经达到两千多家,短短两年时间,SIG成员几乎覆盖了全球通信、网络、芯片、外设、软件等行业所有入门熟知的大企业,其发展势头异常迅猛。当然这里由于蓝牙技术的下列性质所决定的。
(1)无线性
蓝牙技术最初是以取消连接各种电器之间的连线为目标的。蓝牙技术主要面向网络中的各种数据及语音设备,如PC、拨号网络、笔记本电脑、HFC、PDA、打印机、传真机、数码相机、移动电话、高品质耳机等。蓝牙通过无线的方式将它们连成一个围绕个人的网络,省去了用户接线的烦恼,在各种便携设备之间实现无缝的资源共享。
(2)蓝牙技术的开放性
与生俱来的开放性赋予了蓝牙强大的生命力。从它诞生之日起,蓝牙就是一个由厂商们自己发起的技术协议,完全公开,而并非某一家独有和保密。只要是SIG的成员,都有权无偿使用蓝牙的新技术,而且蓝牙技术标准制订后,任何厂商都可以无偿地拿来生产产品,只要产品通过SIG组织的测试并符合蓝牙标准后,品牌即可投入市场。
(3)蓝牙产品的互操作性和兼容性
蓝牙产品在满足蓝牙规范的前提下,还必须通过SIG的认证程序(qualification program),只有通过了认证程序,才能走向市场。这就保证了即使是不同公司的蓝牙产品,也可实现互操作和数据共享,达到完全兼容的目的。
(4)蓝牙协议和其他无线协议的区别
这里主要谈谈蓝牙和IEEE-802.11的区别。IEEE-802.11是应用于高端的无线局域网技术,其传输距离可达50m到数百米,传输速度为-11Mbit/s。而有别于IEEE-802.11的蓝牙则主要用于短距离传输(一般为10m,功率放大可以达到100m)数据和语音(1Mbit/s),而且功耗非常低。尽管蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,IEEE-802.11与蓝牙技术在某些情况下可以共存。这主要是因为,蓝牙特别设计了快速跳频及前向纠错方案以保证链路稳定和传输可靠,有很强的抗干扰能力。
(5)对人体安全影响不大
随着无线技术的深入人心,辐射也成为消费者非常关心的问题。由世界卫星组织、IEEE等专家组成的小组表示,检测中并未发现蓝牙产品的辐射对人体有影响。蓝牙产品的输出功率仅为1mW,是微波炉使用功率的百万分之一,也仅仅是移动电话功率的一小部分,而且,这些输出中只有一小部分被人体吸收。
2 蓝牙协议体系结构
蓝牙技术的一个主要目的就是使符合该规范的各种设备能够互通,这就要求本地设备和远端设备使用相同的协议。当然,不同的应用,其使用的协议栈可能不同。但是,它们都必须使用蓝牙技术规范中的物理层和数据链路层。完整的蓝牙协议体系结构如图1所示。当然,不是任何应用都必须使用所有全部协议,可以只采用部分协议,例如语音通信时,就只需经过基带协议(Baseband)就行,而不用通过L2CAP。
除了上述协议层外,规范还定义了主机控制器接口(HCI),它为基带控制器、连接控制器、硬件状态和控制寄存器等提供命令接口。
这些协议又可以分为蓝牙专有协议和非专有协议,这样区分主要是在蓝牙专有协议的基础上尽可能地采用和借鉴现有的各种高层协议(也就是非专有协议),使得现有的各种应用能移值到蓝牙上来,如UDP/TCP/IP等。蓝牙核心协议都是蓝牙专有的协议,绝大部分蓝牙设备都需要这些协议。而RFCOMM和TCS_binary协议是SIG分别在ETSI TS07.10和ITU-Recommendation Q.931协议的基础上制订的。选用协议则主要是各种已经广泛使用的高层协议。总之,电缆替代协议、电话控制协议和选用协议在核心协议的基础上构成了在向应用的协议。下面,就对各个协议作一个简单介绍。
2.1蓝牙核心协议
2.1.1基带协议(Baseband)
在说基带协议时,我们先来看看蓝牙的网络拓扑结构如图2所示。它首先由一个个微微网(piconet)构成。一个微微网中,只有一个蓝牙设备是主设备(master),但是可以有7个从设备(slave),它们是由3位的MAC地址区分的。主设备的时钟和跳频序列用于同步同一个微微网中的从设备。多个独立的非同步的微微网又可以形成分布式网络(scatternet),一个微微网中的主/从设备可以是另外一个微微网中的主/从设备,但是各个微微网通过使用不同的跳频序列来加以区分。
基带协议就是确保各个蓝牙设备之间的物理射频连接,以形成微微网。蓝牙的射频系统是一个跳频系统,其任一分组在指定时隙、指定频率上发送,它使用查询(inquiry)和寻呼(page)进程同步不同设备间的发送频率和时钟,可为基带数据分组提供两种物理连接方式:同步面向连接(SCO)和异步非连接(ACL)。SCO既能传输语音分组(采用CVSD编码),也能传输数据分组;而ACL只能传输数据分组。所有的语音和数据分组都附有不同级别的前向纠错(FEC)或循环冗余校验(CRC)编码,并可进行加密,以保证传输可靠。此外,对于不同的数据类型都会分配一个特殊的信道,可以传递连接管理信息和控制信息等。
2.1.2连接管理协议(LMP)
连接管理协议负责蓝牙各设备间连接的建立。首先,它通过连接的发起、交换、核实,以进行身份认证和加密等安全措施;其次它通过设备间协商以确定基带数据分组的大小;另外,它还可以控制无线部分的电源模式和工作周期,以及微微网内各设备的连接状态。
2.1.3逻辑链路控制和适配协议(L2CAP)
逻辑链路控制和适配协议是基带的上层协议,可以认为它是与LMP并行工作的,它们的区别在于当数据不经过LMP时,则L2CAP将采用多路技术、分割和重组技术、群提取技术等为上层提供数据服务。虽然基带协议提供了SCO和ACL两种连接类型,但是L2CAP只支持ACL,并允许高层协议以64K字节的速度收发数据分组。
2.1.4服务发现协议(SDP)
服务发现协议是蓝牙技术框架中非常重要的一个部分,它是所有用户模式的基础。使用SDP,可以查询到设备信息和服务类型,之后,蓝牙设备之间的连接才能建立。因此,你不能奢望通过蓝牙耳机打电话,因为它不能提供这种服务。
2.2电缆替代协议(RFCOMM)
RFCOMM是基于ETSI 07.10规范的串行线仿真协议,它在蓝牙基带协议上仿真RS-232控制和数据信号,为使用串行线传送机制的上层协议(如OBEX)提供服务。
2.3电话控制协议
2.3.1二元电话控制协议(TCS Binary)
二元电话控制协议是面向比特的协议,它定义了蓝牙设备间建立语音和数据呼叫的控制信令,定义了处理蓝牙TCS设备群的移动管理进程。
2.3.2AT命令集电话控制协议(AT_commands)
在ITU-T V.250和ETS300 916(GSM 07.07)的基础之上,SIG定义了控制多用户模式下,移动电话、调制解调器和可用于传真业务的AT命令集。
2.4选用协议
2.4.1点对点协议(PPP)
PPP是IETF(Internet Engineering Task Force)制订的,在蓝牙技术中,它运行于RFCOMM之上,完成点对点的连接。
2.4.2UDP/TCP/IP
UDP/TCP/IP也是由IETF制订的,是互联网通信的基本协议,在蓝牙设备中使用这些协议,是为了与互联网连接的设备进行通信。
2.4.3对象交换协议(OBEX)
OBEX是IrOBEX是简写,是由红外数据协会(IrDA)制订的会话层协议,采用简单和自发的方式来交换对象。它提供的基本功能类似于HTTP,在假定传输层可靠的基础上,采用客户机-服务器模式,而独立于传输机制和传输应用程序接口(API)。另外,OBEX专门提供了一个文件夹列表对象,用于浏览远端设备上的文件夹内容。在蓝牙目前的1.0协议中,RFCOMM是OBEX唯一的传输层,在以后的版本中,有可能也支持TCP/IP作为传输层。
电子名片交换格式(vCard)和电子日历交换格式(vCal)都是因特网邮件协会(Internet Mail Consortium)开发的开放性规范。这些规范只是定义了数据传输格式,而没有定义传输机制。SIG采用这些已经定义好的规范,是为了进一步促进个人信息的交互。
2.4.4无线应用协议(WAP)
WAP是无线应用协议论坛(WAP Forum)制订的,它融合了各种广域无线网络技术,其目的是将互联网内容和电话传送的业务传送到数字蜂窝电话或者其他无线终端,选用WAP,可以充分利用无线应环境(WAE)开发的高层应用软件。关于WAP,请参考无线应用协议论坛制订的各项协议。
3 蓝牙技术的一种硬件设计方案
从目前蓝牙产品来看,其硬件上都采用了两块芯片构成一个芯片组,一块是射频芯片,另外一块是基带控制芯片,如朗讯公司的W7020和W7400、飞利浦的UAA3558和PCD87750等,这两块芯片再加上外加的Flash、天线和电源芯片就可以构成了一个蓝牙模块(Bluetooth Module),可以用于各种蓝牙产品之中。
下面就以朗讯公司的W7020和W7400为例,来说明如何构造和使用一个蓝牙模块,如图3所示。
W7020是采用BiCOMS工艺制造的高集成度线,和一个13Mhz的晶振,就能正常工作。从图3中可以看出,它通过串行接口总线(serial interface bus)和选通信号(strobe signals)和W7400接口。这样它们就构成一个完整的蓝牙模块。W7400最大的特点是包含了一个ARM7TDMI的RISC核,能满足蓝牙1.0的各个协议栈,并且提供了USB和UART/PCM两个主机控制器接口(HCI:host controller interface),极大方便了硬件设计。另外,在当今对芯片功耗要求日益苛刻的情况下,W7020和W7400均采用2.7V工作电压,以保证降低功耗,延长电池寿命,特别适合各种便携设备。
如何使用图3中W7020和W7400构成的蓝牙模块呢?利用主机控制器接口HCI,我们可以采用两种方式,很方便地把它嵌入到各种产品之中。
(1)采用UART/PCM方式
这种方式利用UART作为数据通信接口,而PCM作为语音通信接口,如图4所示。当用UART进行数据通信时,蓝牙模块是作为一个数字电路终端设备(DCE:data circuit-terminal equipment.),其串行传输速度可以达到460.8kbit/s。当用PCM进行语音通信时,其采用的编码格式很灵活,可以采用CVSD,A律(欧洲)和P律(美国)等三种格式,方便了蓝牙语音产品的开发。
(2)采用USB方式
这种方式,见图5所示,是把这个蓝牙模块当作一个USB从设备来和主机通信,它满足USB1.1规范,最高速度可以达到12Mbit/s。
可见,采用主机控制器接口HCI,我们可以非常方便地把这个蓝牙模块嵌入到笔记本电脑(notebook)、手持计算机(handheldPC)、移动电话、数字相机等多种设备(作为host)中,构成各种蓝牙产品。当然,要充分利用蓝牙这一新技术,使硬件正常工作,还需要各种蓝牙协议软件的支持。目前,各大电子公司都在这些软件的开发上投入了巨大的人力,财力和物力。
目前,已经有一些蓝牙产品面世,如爱立信和阿尔卡特的蓝牙手机等。但是由于现在的蓝牙芯片价格较贵,一套芯片组20美元左右,而且不少协议和应用软件都还处于开发、测试阶段,因此蓝牙产品要普及,必然还有一个过程。有人预测,到2005年,蓝牙芯片组价格将降到5美元,蓝牙技术也变得更加成熟,那时就是蓝牙技术席卷世界的时候。
摘自《电子技术》2001.4
|