上一篇提到什么是CI,本篇主要讨论如何设置CI。其实上一篇已经提到,设置CI的两个主要作用,一个是throughput,另外一个就是power consumption。
Throughput理论速度可以认为是packet_len * packet_per_CI / CI。这里的packet_len是指除开payload以后air在空中可以传输的length。如果master/slave有一方不支持DLE(data length extension),那这个packet length就是23byte。如果双方都支持,要看协商后的结果,以双方支持长度最小者为最终值,可以从23byte~247byte。BLE从gatt到controller其实有好几层protocols,这里很容易误解成gatt层。对于gatt层来说,mtu size就是两边gatt交互后的结果,范围是23~512byte。gatt data经过l2cap、hci层传给controller,再按照前面提到的packet length及CI进行传输.