Skip to content

天楚锐齿

人工智能 云计算 大数据 物联网 IT 通信 嵌入式

天楚锐齿

  • 下载
  • 物联网
  • 云计算
  • 大数据
  • 人工智能
  • Linux&Android
  • 网络
  • 通信
  • 嵌入式
  • 杂七杂八

蓝牙技术及其协议栈

2018-03-10

迁移自http://adaishu.blog.163.com/blog/static/1758312862011330113948888/

       蓝牙(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。

看看一个公司的蓝牙实现:

1,313次阅读

Post navigation

前一篇:

Telephony API(TAPI)

后一篇:

SDH的ECC(嵌入控制通路)协议

发表回复 取消回复

要发表评论,您必须先登录。

个人介绍

需要么,有事情这里找联系方式:关于天楚锐齿

=== 美女同欣赏,好酒共品尝 ===

微信扫描二维码赞赏该文章:

扫描二维码分享该文章:

分类

  • Linux&Android (81)
  • Uncategorized (1)
  • 下载 (28)
  • 云计算 (38)
  • 人工智能 (9)
  • 大数据 (35)
  • 嵌入式 (34)
  • 杂七杂八 (35)
  • 物联网 (65)
  • 网络 (25)
  • 通信 (22)

归档

近期文章

  • 飞书机器人发送卡片interactive消息
  • Springboot JPA实现对数据库表统一的增删改查
  • WEB的内容安全策略CSP(Content-Security-Policy)
  • CSS利用@media和viewport实现响应式布局自动适配手机电脑等
  • VUE前端增加国际化支持

近期评论

  • linux爱好者 发表在《Linux策略路由及iptables mangle、ip rule、ip route关系及一种Network is unreachable错误》
  • maxshu 发表在《使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序》
  • Ambition 发表在《使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序》
  • Ambition 发表在《使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序》
  • maxshu 发表在《Android9下用ethernet 的Tether模式来做路由器功能》

阅读量

  • 使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序 - 23,810次阅读
  • 卸载深信服Ingress、SecurityDesktop客户端 - 18,519次阅读
  • 车机技术之车规级Linux-Automotive Grade Linux(AGL) - 10,570次阅读
  • linux下的unbound DNS服务器设置详解 - 9,323次阅读
  • 在Android9下用ndk编译vSomeIP和CommonAPI以及使用例子 - 9,136次阅读
  • linux的tee命令导致ssh客户端下的shell卡住不动 - 8,639次阅读
  • Linux策略路由及iptables mangle、ip rule、ip route关系及一种Network is unreachable错误 - 8,126次阅读
  • 车机技术之360°全景影像(环视)系统 - 8,088次阅读
  • 车机技术之Android Automotive - 7,940次阅读
  • Windows下安装QEMU并在qemu上安装ubuntu和debian - 7,840次阅读

其他操作

  • 注册
  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

联系方式

地址
深圳市科技园

时间
周一至周五:  9:00~12:00,14:00~18:00
周六和周日:10:00~12:00

标签

android AT命令 CAN centos docker Hadoop hdfs ip java kickstart linux mapreduce mini6410 modem nova OAuth openstack os python socket ssh uboot 内核 协议 安装 嵌入式 性能 报表 授权 操作系统 数据 数据库 月报 模型 汽车 深信服 源代码 统计 编译 脚本 虚拟机 调制解调器 车机 金融 鉴权
© 2025 天楚锐齿