蓝牙协议入门(一)简介
蓝牙协议入门(一)简介
1.蓝牙简史
蓝牙这个名称来自于第十世纪的一位丹麦国王哈拉尔蓝牙王,因为国王喜欢吃蓝莓,吃到牙齿都是蓝色的所以叫蓝牙。后来人们就用它的名字命名一种无线通讯技术,其结果就是我们今日的蓝牙。
蓝牙由阿里新公司研发,目前其发展主要由 Bluetooth SIG 控制,该组织现在有200多家联盟成员公司以及约6000家应用成员企业。
蓝牙共有六个版本V 1.1/1.2/2.0/2.1/3.0/4.0。我们这里列举几个重要的版本的信息:
- V 1.1版本 传输率约在 748~810 kb/s,因是早期设计,容易受到同频率之产品所干扰下影响通讯质量。
- V 3.0版本 蓝牙3.0的核心是” GenericAlternate MAC/PHY”(AMP) ,这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。最初被期望用于新规范的技术包括 802.11 以及 UMB ,但是新规范中取消了 UMB 的应用。
- V 4.0 版本 蓝牙 4.0 包括三个子规范,即传统蓝牙技术、高速蓝牙和新的蓝牙低功耗技术。蓝牙 4.0 的改进之处主要体现在三个方面,电池续航时间、节能和设备种类上。拥有低成本,跨厂商互操作性,3 毫秒低延迟、100 米以上超长距离、AES-128 加密等诸多特色此外,蓝牙 4.0 的有效传输距离也有所提升。3.0 版本的蓝牙的有效传输距离为10 米,而蓝牙4.0的有效传输距离最高可达到 100 米。
2.蓝牙技术特性
- 工作频段:2.4 GHz 的工科医(ISM)频段,无需申请许可证。大多数国家使用79个频点,载频为(2402+k)MHz(k=0,1, 2…78),载频间隔 1 MHz 。采用 TDD 时分双工方式。
- 传输速率:1 Mb/s
- 采用跳频技术:跳频速率为1600 跳/秒,在建链时(包括寻呼和查询)提高为 3200 跳/秒。蓝牙通过快跳频和短分组技术减少同频干扰,保证传输的可靠性。
- 支持电路交换和分组交换业务:蓝牙支持实时的同步定向联接(SCO 链路)和非实时的异步不定向联接( ACL 链路),前者主要传送语音等实时性强的信息,后者以数据包为主。语音和数据可以单独或同时传输。蓝牙支持一个异步数据通道,或三个并发的同步话音通道,或同时传送异步数据和同步话音的通道。每个话音通道支持 64 kbps 的同步话音;异步通道支持 723.2/57.6 kbps 的非对称双工通信或 433.9 kbps 的对称全双工通信。
- 支持点对点及点对多点通信:蓝牙设备按特定方式可组成两种网络:微微网( Piconet )和分布式网络( Scatternet ),其中微微网的建立由两台设备的连接开始,最多可由八台设备组成。在一个微微网中,只有一台为主设备(Master),其它均为从设备(Slave),不同的主从设备对可以采用不同的链接方式,在一次通信中,链接方式也可以任意改变。几个相互独立的微微网以特定方式链接在一起便构成了分布式网络。所有的蓝牙设备都是对等的,所以在蓝牙中没有基站的概念。
- 工作距离:蓝牙设备分为三个功率等级,分别是:100 mW(20 dBm)、2.5 mW(4 dBm)和1 mW(0 dBm),相应的有效工作范围为:100 米、10 米和 1 米。
3.蓝牙系统组成
蓝牙系统由以下几部分组成:
- 传输层(底层硬件模块)
- 中介层(中间协议层)
- 应用层
其中,底层硬件模块包括以下部分:
- 射频层:负责数据和语音的发送和接收,特点是短距离、低功耗。蓝牙天线一般体积小、重量轻,属于微带天线。
- 基带层:进行射频信号与数字或语音信号的相互转化,实现基带协议和其它的底层连接规程。
- 链路管理层:负责管理蓝牙设备之间的通信,实现链路的建立、验证、链路配置等操作。
4.蓝牙协议规范
传输层、中介层、应用层拥有着各自的协议。
4.1.传输协议
传输协议负责蓝牙设备间,互相确认对方的位置,以及建立和管理蓝牙设备间的物理链路;
- 底层传输协议:蓝牙射频(Radio)部分、基带链路管理控制器(Baseband & Link Controller)、链路管理协议(Link ManagerProtocol )LMP。负责语言、数据无线传输的物理实现以及蓝牙设备间的联网组网。
- 高层传输协议:逻辑链路控制与适配器(LogicalLink Control and Adaptation Protocol)L2CAP 、主机控制接口(HostControl Interface,HCI)。为高层应用屏蔽了跳频序列选择等底层传输操作,为高层程序提供有效、有利于实现数据分组格式。
4.2.中介协议
中介协议为高层应用协议或者程序,在蓝牙逻辑链路上工作提供必要的支持,为应用提供不同标准接口,包括:
- 串口仿真协议:RFCOMM
- 服务发现协议:SDP
- 互操作协议:IrDA
- 网络访问协议:PPP、IP、TCP、UDP
- 电话控制协议:TCS、AT 指令集
4.3.应用协议
蓝牙协议栈之上的应用软件和所涉及到的协议,如:拨号上网、语言功能的应用程序,包括:
- 通用应用类框架:查询、建立连接服务等
- 蓝牙电话应用类框架:电话控制、语言
- 蓝牙连网应用类框架:网络应用相关
- 对象交互服务类框架:IrDA、OBEX
- 蓝牙音视频控制类框架
5.参考链接
原文链接: https://jacksmiththu.github.io/2017/06/24/蓝牙协议入门(一)简介/