ISM 波段分成了两种类型的 40 个信道
广告信道用于发现设备、启动连接和广播数据。有三个固定的广告信道分别以频率 2402 MHz(信道 37)、2426 MHz(信道 38)和 2480 MHz(信道 39)运行。
数据信道用于在连接设备后传送数据。共有 37 个数据信道,使用频率为 2404-2424 MHz(信道 0-10)、2428-2478 MHz(信道 11-36)。
状态机
链路层的运行状况可用状态机的下列五种状态进行描述:
图:链路层状态机的状态图
链路层状态机仅允许一次显示一个状态。链路层将配备至少一个支持广告状态或扫描状态的链路层状态机。链路层可具备链路层状态机的多个实例。链路层中多个状态机内某些状态和角色的组合被禁用。
待机状态—待机状态下的链路层不传输或接收任何数据包。可从任何其他状态进入待机状态。
广告状态—广告状态下的链路层将传输广告信道数据包,并可能侦听和回应由这些广告信道数据包触发的响应。广告状态下的设备被称为广告机。可从待机状态进入广告状态。
扫描状态—扫描状态下的链路层将侦听正在广告的设备的广告信道数据包。扫描状态下的设备被称为扫描仪。可从待机状态进入扫描状态。
初始化状态—初始化状态下的链路层将侦听指定设备的广告信道数据包并响应这些数据包以初始化与其他设备的连接。初始化状态下的设备被称为启动器。可从待机状态进入初始化状态。
连接状态—可从初始化状态或广告状态进入连接状态。连接状态下的设备被称为正在连接中。在连接状态中,可定义两个角色:
连接事件
连接状态中的链路层只能用于传输连接事件中的数据信道 PDU。主机和从机将决定每个连接事件的数据信道指数。连接事件中的所有数据包将使用相同的数据信道指数。每个连接事件包含至少一个由主机发出的数据包。在连接事件期间,主机和从机交替发送和接收数据包。当两个设备连续发送数据包时连接事件被视为打开。如果接受来自主机的数据包,则从机将始终发送数据包。
重要连接参数
当启动器将 CONNECT_REQ PDU 发送至广告机或广告机接收来自启动器的 CONNECT_REQ PDU 时,链路层进入连接状态。
连接请求包含一些连接参数:
连接间隔—连接间隔是两个连接事件之间的时间量。连接间隔是范围在 7.5 ms 至 4.0 s 的 1.25 ms 倍。不同的应用可能要求不同连接间隔。连接间隔长的优势是可以节省大量的功耗,这是因为设备可以在连接事件之间的大多数间隔内休眠。缺点便是如果一个设备需要发送数据,则必须等到下一个连接事件。连接间隔短的优势是有更多可以发送或接收数据的机会,因为两个设备的联系频率更高。缺点是功耗更大, 因为设备要频繁工作以支持连接事件。
从机延时—从机延时允许从机使用数量减少的连接事件。connSlaveLatency 参数定义了定义了连续连接事件的数量,从机设备无需侦听主机。因此,如果没有额外的数据,则从机设备可以跳过若干个连接事件,从而节省功耗。这是应用在连接建立期间可以设置的一个参数。ConnSlaveLatency 是范围从 0 至((超时值/ 连接间隔) - 1)的整数。connSlaveLatency 还应小于 500。当 connSlaveLatency 设为零时,从机设备将在每个锚定点进行侦听。如果从机在应用从机延时后未收到来自主机的数据包,则从机需在每个锚定点进行侦听且不得应用从机延时,直到接收到来自主机的数据包。
管理超时—连接管理超时 (connSupervisionTimeout) 是定义连接丢失之前两个已接收数据包 PDU 之间最大允许时间间隔的参数。connSupervisionTimeout 是范围 100 ms 至 32.0 s 的 10 ms 的倍数,它大于(1 + connSlaveLatency) * connInterval。连接可能会因为多种原因终止,例如设备移动超出范围、遇到严重干扰或电源故障。由于这可能在没有任何预先提示的状态下发生,主机和从机必须监控连接的状态。接收到有效的数据包后,计时器将重置。
参见以下示例:
这告诉我们在出现从机没有发送数据到主机的情况时,主机将只能在每隔 500ms 的连接事件中传输数据。在许多应用中,从机将跳过最大数量的连接事件。因此,在选择您的连接参数时考虑有效连接间隔非常有帮助。选择正确的连接参数组对优化蓝牙低耗能设备非常重要。
以下列表提供权衡连接参数设定的一般概述:
减少连接间隔将:
增加两个设备的功耗
增加两个方向的吞吐量
减少在任何一个方向发送数据所花费的时间量
增加连接间隔将:
减少从机延时(或将其设为零)将:
增加从机延时将:
在某些情况下,中心设备将请求与外围设备连接,其中包含的连接参数可能对外围设备不利。在其他情况下,外围设备可能希望在连接中途更改参数,这要取决于外围设备的应用。外围设备可发送“连接参数更新请求” 要求中心设备更改连接设置。
该请求包含四个参数:最小连接间隔、最大连接间隔、从机延时和超时。这些数值代表外围设备连接所需的参数(连接间隔作为范围提供)。中心设备接收该请求后,它可选择接收或拒收新的参数。连接可以任何理由通过主机或从机自主终止。在两个设备都退出连接状态之前,在一方启动终止时另一方必须有所响应
白名单
链路层用于设备筛选的设备组被称作白名单。这是一个很强大的配置,应用开发人员可用来节省功耗。白名单可由主机进行配置,用于链路层筛选广告机、扫描仪或启动器。这允许主机在没被唤醒的情况下根据请求配置链路层。所有设备筛选策略将使用相同的白名单。
广告筛选策略—广告筛选策略决定广告机的链路层如何处理扫描和/或连接请求
扫描仪筛选策略—扫描仪筛选策略决定扫描仪链路层如何处理广告数据包。
启动器筛选策略—启动器筛选策略决定启动器链路层如何处理广告数据包。