共4条
1/1 1 跳转至页
蓝牙技术及其协议栈
蓝牙(Bluetooth)计划是由Ericsson、IBM、Intel、Nokia和Toshiba等公司在1998年联合推出的一项先进的无线网络技术。遵循蓝牙协议的各类数据及语音设备将能够用微波取代传统网络中错综复杂的电缆,非常方便地实现快速、灵活、安全、低代价、低功耗的数据和语音通信。由于蓝牙技术将在人们的日常生活和工作中扮演重要角色,市场潜力巨大,因此,它将成为21世纪的投资热点。文章将重点介绍蓝牙技术的工作原理和蓝牙协议栈内容。分为四个部分:术语、蓝牙技术工作原理、蓝牙硬件模块的组成、蓝牙软件协议栈的介绍。
1. 术语
* 微微网(Piconet):是由采用蓝牙技术的设备以特定方式组成的网络。 微微网的建立是由两台设备(如便携式电脑和蜂窝电话)的连接开始,最多由8台设备构成。所有的蓝牙设备都是对等的,以同样的方式工作。然而,当一个微微网建立时,只有一台为主设备,其他均为从设备,而且在一个微微网存在期间将一直维持这一状况。
* 分布式网络(Scatternet):是由多个独立、非同步的微微网形成的。
* 主设备(Master unit):在微微网中,如果某台设备的时钟和跳频序列用于同步其他设备,则称它为主设备。
* 从设备(Slave unit):非主设备的设备均为从设备。
* MAC地址(MAC address):用3比特表示的地址,用于区分微微网中的设备。
* 休眠设备(Parked units):在微微网中只参与同步,但没有MAC地址的设备。
* 监听及保持方式(Sniff and Hold mode):指微微网中从设备的两种低功耗工作方式。
2. 蓝牙技术工作原理
其基本实现原理为蓝牙设备依靠专用的蓝牙微芯片能使设备在短距离范围内发送无线电信号,来寻找另一个蓝芽设备。一旦找到,相互之间便开始通信,交换信息。
1) 蓝牙的无线通信技术特征
蓝牙的无线通信技术采用每秒1600次的快跳频和短分组技术,减少干扰和信号衰落,保证传输的可靠性;
以时分方式进行全双工通信,传输速率设计为1MHz;
采用前向纠错(FEC)编码技术,减少远距离传输时的随机噪声影响;
其工作频段为非授权的工业、医学、科学频段(2.4GHz的ISM频段),保证能在全球范围内使用这种无线通用接口和通信技术;
话音采用抗衰落能力很强的连续可变斜率调制(CVSD)编码方式以提高话音质量;
采用频率调制方式,降低设备的复杂性。
2)拓扑结构
蓝牙系统支持点对点以及点对多点通信。几个相互独立、以特定方式连接在一起的微微网构成分布式网络,各微微网由不同的跳频序列来区分。在同一微微网中,所有的用户均用同一跳频序列同步。拓扑结构如图1所示。
图1 分布式网络
3)连接建立的过程及其工作状态的转换
在微微网建立之前,所有设备都处于就绪(STANDBY)状态。在该状态下,未连接的设备每隔1.28秒监听一次消息,设备一旦被唤醒,就在预先设定的32个跳频频率上监听信息。跳频数目因地区而异,但32个跳频频率为绝大多数国家所采用。 连接进程由主设备初始化。如果一个设备的地址已知,就采用寻呼消息(Page message)建立连接;如果地址未知,就采用紧随寻呼消息的查询消息(Inquiry message)建立连接。查询消息主要用来查询地址未知的设备(如公用打印机、传真机等),它与寻呼消息类似,但需要附加一个周期来收集所有的应答。在寻呼状态(PAGE state),主设备在16个跳频频率上发送一串相同的页信息给从设备,如果没有收到应答,主设备就在另外的16个跳频频率上发送寻呼消息。主设备到从设备的最大时延为两个唤醒周期(2.56秒),平均时延为半个唤醒周期(0.64秒)。
在微微网中,无数据传输的设备转入节能工作状态。主设备可将从设备设置为保持方式(HOLD mode),此时,只有内部定时器工作;从设备也可以要求转入保持方式。设备由保持方式转出后,可以立即恢复数据传输。连接几个微微网或管理低功耗器件(如温度传感器)时,常使用保持方式。监听方式(SNIFF mode)和休眠方式(PARK mode)是另外两种低功耗工作方式。在监听方式下,从设备监听网络的时间间隔增大,其间隔大小视应用情况由编程确定;在休眠方式下,设备放弃了MAC地址,仅偶尔监听网络同步信息和检查广播信息。各节能方式依电源效率高低排列为:休眠方式→保持方式→监听方式。
4)蓝牙对语音和数据的支持
为了保证各种使用场合的应用,蓝牙的基带协议是电路交换和分组交换的组合,可以同时支持语音和数据的传输。该技术支持两种连接方式:面向连接(SCO)方式,主要用于话音传输;无连接(ACL)方式,主要用于分组数据传输。
在同一微微网中,不同的主从设备可以采用不同的连接方式,在一次通信中,连接方式可以任意改变。每一连接方式可支持16种不同的分组类型,其中控制分组有4种,是SCO和ACL通用的分组,两种连接方式均采用时分双工 (TDD)通信。SCO为对称连接,每一个话音通道支持64kbps的同步话音,支持限时话音传送,主从设备无需轮询即可发送数据。SCO的分组既可以是话音又可以是数据,当发生中断时,只有数据部分需要重传。ACL是面向分组的连接,它支持对称和非对称两种传输流量: ACL的非对称连接支持正向速率721kbps、反向应答速率为57.6kbps的;对称连接速率为432.6kbps。ACL也支持通过广播方式发送信息。在ACL方式下,主设备控制链路带宽,负责从设备带宽的分配;从设备依轮询发送数据。
3、蓝牙硬件模块的组成
蓝牙模块包括以下两个部分:
1.无线射频(RF)单元
蓝牙系统的天线发射功率符合FCC关于ISM波段的要求。系统的最大跳频速率为1600跳/秒,在2.402GHz到2.480GHz之间,采用79个1MHz带宽的频点。系统设计的通信距离为10米(0db),如果增加发射功率(20db),这一距离也可以达到100米。
2. 基带(Baseband,BB)和链路管理(LinkManager,LM)单元
BB负责跳频和蓝芽数据及信息帧的传输。LM负责连接的建立和拆除。它们实现的功能包括:对SCO和ACL连接方式的支持;差错控制,可以采用多种检纠错方式,其中包括前向纠错编码(FEC);物理层的认证与加密;链路管理。
4.蓝牙软件协议栈的介绍
1)协议栈结构
底部协议层包括链路管理协议(Link Manager Protocol, LMP)和基带(Baseband)控制部分。链路管理协议实现链路的建立、认证及链路配置等。其中的服务项目包括:接收和发送数据、设备号请求、链路地址查询、建立连接、认证与加密、协商并建立连接方式、确定分组的帧类型、设置监听方式、设置保持方式以及设置休眠方式等。基带(Baseband)控制部分负责跳频和蓝芽数据及信息帧的传输,包括对纠错编码的支持,对SCO和ACL包的组织,流控等。
中间协议层包括逻辑链路控制和适应协议(Logical Link Control and Adaptation Protocol,L2CAP)、服务发现协议(Service Discovery Protocol,SDP)、串口仿真协议RFCOMM和电话通信协议(Telephony Control Protocol,TCS),对象交换协议(Object Exchange,OBEX)。L2CAP完成数据的拆装、服务质量和协议复用等功能,是其他上层协议实现的基础。SDP为上层应用程序提供一种机制来发现网络中可用的服务及其特性。RFCOMM基于ETSI标准TS07.10在L2CAP上仿真9针RS232串口的功能。TCS提供蓝芽设备间话音和数据的呼叫控制信令。对象交换协议(Object Exchange,OBEX)是Extended Systems公司为红外通信的高层应用开发的协议,现在已成功的应用于蓝牙协议栈中。
在BB和LM上与L2CAP之间还有一个主机控制接口层(Host Controller Interface,HCI)。HCI是蓝芽协议中软硬件之间的接口,它提供了一个调用下层BB、LM、状态和控制寄存器等硬件的统一命令接口。HCI协议以上的协议软件实体运行在主机上,而HCI以下的功能由蓝牙模块来完成,二者之间通过一个对两端透明的传输层进行交互。
吸收现成的协议有PPP、TCP/IP、OBEX 、WAP…
协议结构如图2所示。
图2 蓝牙协议栈结构示意图
2)蓝牙的应用模型(Profile)
在蓝芽协议栈的最上部是各种应用模型(Profile)。其中较典型的有服务发现(Service Discovery Application),互通(Intercom),无绳电话(Cordless Telephony),传真(FAX),拨号网络(Dial-up Networking),耳机(Headset),局域网访问(LAN Access),文件传输(File Transfer),同步(Synchronization),Object Push等。各种Profile从协议栈中选取不同的协议组合来完成特定的功能。
下面列出各种Profile需要的协议组合,协议排列顺序按照从上到下的顺序:
服务发现(Service Discovery Application):SDP,L2CAP,LMP,Baseband;
互通(Intercom),无绳电话(Cordless Telephony):TCS,SDP,L2CAP,LMP,Baseband;
传真(FAX),拨号网络(Dial-up Networking),耳机(Headset):SDP/RFCOMM,L2CAP,LMP,Baseband;
局域网访问(LAN Access):TCP/IP,PPP,SDP/RFCOMM,L2CAP,LMP,Baseband;
文件传输(File Transfer),同步(Synchronization),Object Push:OBEX,SDP/RFCOMM,L2CAP,LMP,Baseband。
3) 成熟的蓝牙协议产品----Extended Systems公司蓝牙协议栈:
Extended Systems公司(www.extendedsystems.com)蓝牙协议栈是目前成熟的蓝牙协议产品之一。
该产品的特点是模块化的设计;协议功能完全;适用于嵌入式设备和Windows环境开发;提供完善的API(OS API,HCI API,Application API)以供移植;可以和该公司的红外协议栈配合使用,其中OBEX及以上部分与蓝牙协议通用。
该协议栈已经通过Bluetooth SIG 的测试和认证,被3COM、MOTOROLA等公司选用。
短距离无线互连领域里(IrDA和Bluetooth)的领导者
------Extended Systems公司
现在人们正利用着各种通信设备进行着大量的信息交换,通信的通道包括线连接(如光纤、电缆),远距离无线互连(如蜂窝电话、卫星通信),短距离无线互连(如IrDA和Bluetooth)。
短距离无线互连技术----IrDA和Bluetooth
Bluetooth是段距离、低开销的无线通信技术的代表。可以用于各种设备之间的互连,如PC机、移动电话、PDA…它使用无线跳频技术,连接的范围在10m以内,具有全方向性。 Bluetooth SIG(Special Interest Group)由许多国际著名公司发起形成,其中包括3COM,Motorola,IBM,Intel,Ericsson, Lucent,Microsoft, Nokia,Toshiba等,超过1800个公司。
IrDA(Infrared Data Association)是有方向性的近距离无线通信技术。已经应用于超过150,000,000个设备中,如PC,PDA,移动电话,打印机,数码相机的等。
Extended Systems公司
Extended Systems公司是短距离无线互连技术解决方案的提供商。该公司可以提供IrDA和Bluetooth的嵌入式协议栈,测试工具,以及WINDOWS下的完整协议栈和各种丰富的应用。
Extended Systems公司作为IrDA组织的创建者,能够提供最完整的IrDA协议栈和测试工具。其中的OBEX(Object Exchange)和IrMC(IrDA for Mobile Communications) 协议成为无线数据交换和同步的基础。该公司的IrDA协议广泛应用在各种产品中,如3COM的Palm III,V,VII,Motorola的移动电话,HP的扫描仪,Kodak的数字相机
1999年,Extended Systems 应Intel的邀请加入了Bluetooth SIG,负责有关Object Push, Fiel Transfer, Syschronization 等Profiles的标准的制定。最终使得Bluetooth SIG 吸收了OBEX和IrMC,使之成为了Bluetooth 协议标准的一部分。
First to Market
Extended Systems在市场上第一个推出了Bluetooth 嵌入式协议栈,能提供从HCI(Host Controller Interface) 到各种应用(如OBEX)的API。该公司还是目前唯一能够提供从嵌入式协议栈到Windows协议栈和多种应用的软件供应商。
目前,3COM和MOTOROLA已经和Extended Systems签定了购买协议,将Extended Systems的Bluetooth协议栈应用于他们的下一代产品中。
XTNDAccess TM Blue SDK and XTNDAccess IrDA SDK
Extended Systems 公司的XTNDAccess TM Blue SDK and XTNDAccess IrDA SDK是非常完整的软件开发包。适用于各种嵌入式环境,如蜂窝电话,PDAs,可移动的办公设备,数字相机,医疗器械,工业自动化产品等。Extended Systems 公司协议栈的专有技术和已有的OEM客户保证了产品代码的效率和质量,使其具有功能丰富,可靠和可移植等特性。
并且该协议栈的编写与处理器和操作系统无关,所以用户可以很容易地将该协议移植到特定的操作系统和Bluetooth的特定HCI(Host Controller Interface)或IrDA兼容收发器的控制器上。Extended Systems协议栈中的OBEX模块使用户可以通过一个设备上的Bluetooth,IrDA,串口进行无线通信。
The Windows Solution
XTNDConnectTM Blue SDK for Windows 是一个完整的基于Windows的软件开发包,包括底层的协议和各种高层的应用(Object Push,File Transfer,Synchronization)。XTNDConnectTM Blue SDK for Windows使得的制造商可以很快开发出在Windows 95/98/NT/2000运行的Bluetooth 产品。该SDK包括一个基本Bluetooth SDK,一个HCI SDK(包括支持USB和PCMCIA的例子代码)。
通过Extended Systems 公司的嵌入式软件协议栈和Windows软件协议栈及Windows上的丰富应用,开发商可以很方便的在嵌入式设备和PC机之间建立Bluetooth的无线通信,进行数据交换同步(如日历,任务,联系信息,Email等)。
可移植性
Extended Systems 公司的XTNDAccess IrDA SDK协议栈已经被移植到了VxWorks,pSOS,OS9,iTron和DOS上。
Extended Systems 公司的XTNDAccess Blue SDK协议栈设计时保留了OS API,Mini OSTM(最小化的OS)以及一些例子应用使得XTNDAccess Blue SDK变得异常简单。
测试工具
Extended Systems 公司在IrDA产品上已经能够提供完整的测试工具,其中包括IrDA的协议分析仪,和多种测试簇。
Extended Systems 公司的Bluetooth测试产品正随着Bluetooth SIG的测试标准的发展。相信不久即可为开发人员提供可靠的测试方案。
Extended Systems 公司的红外和蓝牙协议栈
Extended Systems公司(www.extendedsystems.com)在短距离无线通信协议的开发方面有着丰富的经验,该公司的红外协议栈(XTNDAccess™ IrDA SDK)和蓝牙协议栈(XTNDAccess™ Blue SDK)是目前世界上最成熟的短距离无线通信协议产品之一。
该产品具有以下特点:
模块化的设计;
协议功能完全;
适用于嵌入式设备和Windows环境开发;
提供完善的API以供移植;
代码体积小(IrDA SDK占60K ROM ,Blue SDK 占60K ROM);
该公司的红外协议栈和蓝牙协议栈可以配合使用。
另外,该公司的协议栈产品已经通过标准化组织(Bluetooth SIG,IrDA)的测试和认证,并被HP,3COM、MOTOROLA等公司选用。
[upload=gif]uploadImages/200281411185183371.gif[/upload][upload=gif]uploadImages/200281411185794318.gif[/upload][upload=gif]uploadImages/20028141119250055.gif[/upload]
关键词: 蓝牙 技术 及其 协议 Bluetooth 公司
3楼
说得非常好
----------------------------------------------------------------------
蓝牙\WIFI模块定制 协议栈移植 物联网数据\音频方案开发 智能硬件开发工具
百瑞互联 www.barrot.com.cn
共4条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |