一、藍(lán)牙MTU的簡(jiǎn)介
BLE在連接過程中主從機(jī)會(huì)協(xié)商MTU的大小,BLE協(xié)議最大為520字節(jié),但不是所有手機(jī)都支持512字節(jié),大部分支持128字節(jié)。但是早期的手機(jī)和芯片端,都是默認(rèn)20個(gè)字節(jié)的?;旧?020年以后的手機(jī)都可以設(shè)置為128個(gè)字節(jié)以上
二、詳細(xì)的方法說明以及測(cè)試
1、由主機(jī)發(fā)起請(qǐng)求設(shè)置MTU,從機(jī)支持BLE協(xié)議的最大字節(jié)(推薦開發(fā)者使用這種方式)。
可以理解為,MTU的大小跟藍(lán)牙芯片無關(guān),當(dāng)客戶在開發(fā)APP的時(shí)候,可以在APP端主動(dòng)設(shè)置好MTU的大小,然后同步到藍(lán)牙芯片即可
2、因?yàn)槲覀兡壳皹?biāo)準(zhǔn)的版本固件,也就是需要兼容老的手機(jī),比如藍(lán)牙4.2版本及以下的
==》所以手機(jī)下發(fā)數(shù)據(jù),我們內(nèi)部都是20個(gè)字節(jié)進(jìn)行拆包和分包的
==》如果需要大數(shù)據(jù)量的傳輸,可以聯(lián)系我們進(jìn)行訂制的修改,這個(gè)我們可以配合修改的
==》修改MTU的大小,以及連接間隔、數(shù)據(jù)交互間隔等等參數(shù)
==》當(dāng)然也可以自己在手機(jī)端app去修改,就是主機(jī)可以申請(qǐng)修改MTU,范圍是23--517。申請(qǐng)之后,藍(lán)牙芯片這邊就可以同步了
三、KT6368A提升ble傳輸速率方法
BLE傳輸帶寬主要跟兩個(gè)要素有關(guān): 通信周期和每個(gè)通信點(diǎn)可傳輸?shù)臄?shù)據(jù)量。
1.通信周期: 安卓手機(jī)一般可支持到10ms,蘋果一般可支持到15ms
2.每個(gè)通信點(diǎn)可傳輸?shù)臄?shù)據(jù)量: 就是指每包的長(zhǎng)度以及可以傳多少包
3.BLE理論帶寬傳輸計(jì)算如下:
按15毫秒通信周期,每次基本通信能發(fā)4包(發(fā)包個(gè)數(shù)取決于主機(jī))
若PDU長(zhǎng)為27, 即payload長(zhǎng)是 20 byte,那傳輸速度是 (1000/15)204 約= 5K byte 速度。
若PDU長(zhǎng)為251,即payload長(zhǎng)是 244 byte,那傳輸速度是 (1000/15)2444 約= 63K byte 速度。(要雙方同時(shí)支持DLE和2M屬性)
四、實(shí)際測(cè)試截圖--改MTU和PDU的效果-藍(lán)牙調(diào)試寶
1、第一步,在app里面設(shè)置mtu為256 。因?yàn)闇y(cè)試app“藍(lán)牙調(diào)試寶”剛連接上,默認(rèn)就是23
2、第二步,測(cè)試app往藍(lán)牙芯片下發(fā) 1024個(gè)字節(jié)的數(shù)據(jù)
3、實(shí)際的效果如下,可以看到藍(lán)牙芯片內(nèi)部是分4包數(shù)據(jù)收完的。
程序的修改,這個(gè)需要我們來修改,可以配合客戶去調(diào)試。但是必須要是產(chǎn)品開發(fā)階段才支持的。
另外,后面我們也做了測(cè)試:
實(shí)際的結(jié)論就是,和藍(lán)牙芯片內(nèi)部的程序,里面的PDU沒什么關(guān)系 。只要主機(jī)端設(shè)備申請(qǐng)修改了MTU
那么app往藍(lán)牙芯片發(fā)數(shù)據(jù),包數(shù)據(jù)的大小,就不再是20的限制了,可以是指定的MTU大小,但是為了兼容性更好,建議申請(qǐng)128個(gè)字節(jié)。
審核編輯:湯梓紅
-
藍(lán)牙芯片
+關(guān)注
關(guān)注
17文章
373瀏覽量
45954 -
BLE
+關(guān)注
關(guān)注
12文章
650瀏覽量
59300
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論