蓝牙协议读书笔记
转载时请注明出处和作者联系方式
作者联系方式:李先静 <xianjimli at hotmail dot com>
昨天翻了一下Multimedia.Wireless.Networks.Technologies.Standards.and.QoS,看了其中的bluetooth一章,虽然还有很多细节没有搞明白,不过基本框架还是清楚了,这里做个笔记吧。
拓扑结构:
- Point-to-Point: 两个设备直接通信,其中一个设备充当master,另外一个设备充当slave。
- piconet:其中一个设备充当Master,其它所有设备充当Slave,最多同时存在7个active的slave设备,还有一些slave设备处于parked状态,它们可以监听来自master的同步事件和广播消息。
- scatternet:最多可链接10个piconet,一个设备同时参与两个piconet,从而在两个piconet之间建立链接。该设备可以在其中一方充当master,在另一方充当slave,或者在两边都充当slave。
物理层
- 频率特性:使用有79个频段的FHSS(Frequency-Hopping Spread Spectum)技术,以1M为单位,占用频率从2.402 GHz到2.480 Ghz。
- 调制机制:GFSK (Gaussian Frequency Shift Keying)
- 传输范围:class 1:100m, class 2: 10m, class 3:10cm。传输距离越远功耗越大,要根据具体情况选择合适的类型。
基带
- 全双工,时分多路复用。
- master从奇数时间片开始传输,slave从偶数时间片开始传输,可以连续占用多个时间片。
- 两种链接:synchronous connection-oriented (SCO) 和 asynchronous connectionless (ACL)。
- 五种逻辑通道:Link Control (LC) Channel、Link Manager (LM) Channel、User Asynchronous (UA) Channel、User Isochronous (UI) Channel和User Synchronous (US) Channel。
- 两种状态:Standby(包括四种子状态: inquiry,inquiry-scan,page,page scan)和Connection(包括四种类型:Active, Sniff, Hold, and Park. )
链接管理(LM)
- 负责链接建立,安全,鉴权,配置,timer和其它一些控制功能。
- 用Link Manager Protocol (LMP)在两个设备的LM模块之间通信。
- 通过Data Medium rate (DM1) or Data Voice (DV) 发送控制消息。
- 比用户数据具有更高的优先级。
主机控制接口(HCI)
- 为上层协议提供一个独立于硬件实现的标准接口。
- 主要包括两部分,在主机中运行的驱动程序和在硬件中运行的固件。两者之间通过UART、USB和PC card等方式通信。
逻辑链接控制和适配协议(L2CAP)
- L2CAP只规定了ACL(Asynchronous Connectionles)。SCO(Synchronous Connection-Oriented )通常只用于声音数据的传输,不在L2CAP定义之内。
- 支持QoS,分组,多路复用,分段和组装等功能。
上层协议
- RFCOMM:为上层应用提供一个串口。
- Service Discovery Protocol (SDP):发现可用的服务及服务的特征。
~~end~~