赞
踩
蓝牙技术规范(Specification)包括了协议(Protocal)和应用规范(Profile)两部分。其中,
协议(Protocal) —定义了各功能元素(如RFCOOM,L2CAP)各自的工作方式;
应用规范(Profile) 定义了为了实现一个特定的应用模型,各层协议间的运转协同机制。
较典型的Profile有:拨号上网,耳机,局域网访问,文件传输等;
整个蓝牙协议体系结构为:
底层硬件模块
中间协议层(软件模块)
高端应用层:它对应各种应用模型的Profile,是Profile的一部分。
基带协议(BaseBand)
讲解基带协议之前先串一下蓝牙的两种网络拓补结构:微微网(piconet) 和 分布式网络(Scatternet)。 下图给出蓝牙系统结构示意图。在蓝牙系统中,使用蓝牙技术将设备连接起来的网络称作微微网(Piconet),它由一个主节点(MasterUnit)和 多个从节点(SlaveUnit)构成。主节点是微微网中用来同步其他节点的蓝牙设备,是连接过程的发起者,最多可与7个从节点同时维持连接。从节点是微 微网中除主节点外的设备。两个或多个微微网可以连接组成散射网(Scatternet)。
基带协议确保各个蓝牙设备之间的物理射频连接,以形成微微网。蓝牙的射频系统使用跳频和扩频技术,其任一分组在指定时隙通过指定频率进行发送,这层使用查询|(Inquiry)和呼叫(Pag)进程来同步不同设备间的传输跳频频率和时钟。
基带对相应的基带数据分组提供两种不同的物理链路:同步面向连接(SCO)和异步无连接(ACL),其中ACL可以在同一个射频系统中采用多路技术的方式进行传输。
信道和链路的区别:
一直分不清信道和链路,信道指具体的传输信息的物质,例如电缆,光纤,电磁波等物理媒介,链路是指两点之间建成的传输数据的通路,这条通路中可能经过多个相同或不同的信道,如几根电缆,几根光纤等,两点之间一旦联通,就成了一条链路,信道传输的是信号,链路传输的是数据。
物理链路:
通信设备之间物理层的数据连接通道就是物理链路,蓝牙有两种链路类型,异步无连接(Asynchronous Connection-less,ACL)链路和同步面向连接(Synchronous Connection-Oriented,SCO),ACL链路支持对称或非对称、分组交换和多点连接,适用于数据传输,SCO链路支持对称,电路交换和点到点连接,适用于传输语音。
原文链接:https://blog.csdn.net/yurhzzu/article/details/83818859
ACL只能传输数据分组;而 SCO既能传输语音分组(采用CVSD编码),也能传输数据分组。所有的语音和数据分组都附有不同级别的前向纠错(FEC)或循环冗余校验(CRC)编码,并可进行加密,以保证可靠传输。另外,对于链路管理信息和控制信息分别分配一个特殊的传输信道。包含话音数据的分组可以使用不同的应用模型在一个或多个蓝牙设备上传输。
SCO分组中的话音数据与基带有直接通路,而不需要通过L2CAP。话音模型在蓝牙规范中相对简单,任意两个蓝牙设备仅通过开通一条话音链路,就可以相互发送和接收话音数据。
- 蓝牙Radio原理:
http://www.wowotech.net/bluetooth/bt_protocol_arch.html
https://blog.csdn.net/yurhzzu/article/details/83818859- 蓝牙扩频技术:
挖个坑,待补充
链路管理协议(LMP)
链路管理协议不但负责蓝牙各设备间链路的建立和控制,还用于安全方面的鉴权和加密;另外,还可以控制无线部分的能量模式和工作周期、微微网内各设备的连接状态。
每个设备上的链路管理器(LM)利用LMP协商彼此之间蓝牙空中接口的特性。其中包括带宽的分配,设备间协商确定基带数据分组的大小,通过支持适配协议数据业务所需要的服务级以及保留的周期性带宽,来支持话音通信业务。通信设备上的蓝牙LMP利用"竞争-响应"的方式对设备进行鉴权,产生,交换,核实链路和加密连接密钥,以进行身份认证和加密等安全措施。在必要时,对LM监控设备的配对和对设备之间空中接口上的数据流加密,其中配对是通过产生和存储连接密钥来建立起设备之间的相互信任的关系,为以后的设备鉴权做准备。如果鉴权失败,LM将切断设备间的链路,以禁止设备间的任何通信。LM还支持能量控制,通过交换彼此间的参数信息(例如低活动性基带模式的周期)来协商低活动性基带运行方式,从而控制功耗。
接收端的链路管理器对 LMP消息进行过滤和解释,从而它们不会向上层传递。因为 LMP消息的优先权大于用户数据,所以如果一个链路管理器需要发送一条消息,不会被 L2CAP话务延迟。另外,逻辑信道通过了一个可靠的链路,所以使得LMP消息不需要被普遍公认。
逻辑链路控制和适配协议(L2CAP)
逻辑链路控制与适配协议完成基带与高层协议间的适配,并通过协议复用、分割及|重组操作为高层提供数据业务和分类提取。来自数据应用的通信信号首先通过L2CAP,L2CAP层屏蔽了高层协议和应用与低层传输协议之间的关联。因此,高层协议不需要知道在无线电波和基带层上的跳频序列,也不需要知道在蓝牙空中接口传输的特殊的分组格式。L2CAP支持协议复用,允许多个协议和应用共享空中接口,它支持分组的分割和重组,将高层使用的大分组分割成适合于基带传输的小分组,在接收设备端又将这些小分组重组。最后,两个对等设备上的L2CAP层通过协商达成一个双方都能接受的业务等级,并能维护和保持此业务级别。基于要求的业务等级,一个L2CAP的使用既能行使允许新的通信信号进人的控制权,同时与低层协调,以保持所需的业务等级。
逻辑链路控制和适配协议是基带的上层协议,可以认为它是与LMP并行工作的,但他们的区别在于,当数据不经过LMP时,L2CAP将采用多路技术,数据分组分割和重组技术,群提取技术以及服务质量等,为上层提供数据服务。虽然基带协议提供了SCO和ACL两种连接类型,但是L2CAP只支持ACL,并允许高层协议以每秒64K字节的速度收发数据分组。语音和电话的语音质量信道通常在SCO链路上运行,然而语音数据可以打包并使用通信协议在L2CAP上进行传输。
服务发现协议(SDP)
服务发现协议(SDP)是蓝牙技术框架中非常重要的一个部分,它是所有应用模型的基础。任一蓝牙应用模型的实现都是利用某些服务的结果。在设备之间组网的基本动机就是使这些设备相互通信,并且获得彼此的服务。多数情况下传统网络的客户机通过一些静态设置确定这些网络业务的位置,如以太网通过服务器在网络中提供文件传输、打印、命名、网桥和网关服务,供客户机使用。客户机的设置是由系统管理员建立并维护的,而对于蓝牙无线通信来说,建立在蓝牙链路上的任何两个或多个设备随时都有可能开始通信,仅仅是静态设置是不够的。如果这些设备要能够相互利用彼此间的|业务,就需要确定这些业务位置的动态方式。一旦建立起一条通信信道,就能找到需要的业务。这就是蓝牙服务发现协议的功能。
使用 SDP,可以查询到设备信息、服务和服务类型。在对邻近的可获得的服务定位以后,蓝牙设备之间才能建立连接。SDP是在动态网络中发觉终端用户使用价值的重要环节。蓝牙 SDP是专门为使用蓝牙无线通信的环境设计的、,以有效和优化的方式执行该项|功能。SDP支持三种查询方式:按服务类别搜寻、按服务属性搜寻和业务浏览(Browsing)。
以下协议以后有时间再更,目前紧要的是核心协议的了解!
RFCOMM协议在L2CAP协议上提供RS-232串口仿真。这个“替代电缆”的协议在蓝牙基带协议上仿真RS232控制和数据信号,为使用串行线传送机制的上层协议(如OBEX)提供服务。
参考书籍:
《蓝牙技术》 严紫健
《蓝牙技术原理与协议》 刘刚
推荐博客:
https://blog.csdn.net/weixin_30824277/article/details/97175890
http://www.wowotech.net/bluetooth/bt_protocol_arch.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。