connection parameter update (一)

尽管CI和CE是BLE的概念,EDR其实也有类似的设定,但是BLE是可以由host来参与设置,而EDR却不能。由前面CI的介绍可以知道,CI会影响throughput和power consumption,BLE主打的就是省电,所以可以依靠调整CI适应不同的场景。CI和CE的设置,就在connection parameter里。

Host有两种方式来设定connection parameter:1. 作为central device,主动create LE connection,在create的时候给出minimum和maximum的CI和CE,由controller最终判断用哪个值。2. 在LE连线建立以后,通过connection parameter update的HCI command进行更新,这里又分两种情况: A. 作为central device,是直接下HCI command让controller设定相应的value。B. 作为peripheral device: b.1. 在core spec 4.2之前,只能通过L2CAP的command,请求central device下HCI command修改connection parameter;b.2: 在core spec 4.2,如果controller支持双方直接协商connection parameter,此时peripheral device就可以直接下connection parameter update的HCI command。

但这里又几个必须要注意的地方:1. connection parameter是否update永远是master决定的,slave只能请求。这里master是controller role的概念,而central是BLE GAP的概念,其实这两个都代表同一个意思,就是发起连线的那个device。2. 最终connection parameter生效的值也是取决于controller,即便host确定了minimum和maximum的值,controller依然可以不选择在这个范围内。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容