上一篇提到什么是CI,本篇主要討論如何設(shè)置CI。其實(shí)上一篇已經(jīng)提到,設(shè)置CI的兩個(gè)主要作用,一個(gè)是throughput,另外一個(gè)就是power consumption。
Throughput理論速度可以認(rèn)為是packet_len * packet_per_CI / CI。這里的packet_len是指除開payload以后air在空中可以傳輸?shù)膌ength。如果master/slave有一方不支持DLE(data length extension),那這個(gè)packet length就是23byte。如果雙方都支持,要看協(xié)商后的結(jié)果,以雙方支持長(zhǎng)度最小者為最終值,可以從23byte~247byte。BLE從gatt到controller其實(shí)有好幾層protocols,這里很容易誤解成gatt層。對(duì)于gatt層來(lái)說(shuō),mtu size就是兩邊gatt交互后的結(jié)果,范圍是23~512byte。gatt data經(jīng)過(guò)l2cap、hci層傳給controller,再按照前面提到的packet length及CI進(jìn)行傳輸.