在泰凌Wiki網(wǎng)站上提供了多種應(yīng)用場(chǎng)景的軟件SDK,供客戶選擇使用。本系列的幾篇文章主要講述"Bluetooth LE Single Connection",此SDK是單連接應(yīng)用的SDK,所謂的單連接就是藍(lán)牙芯片做從機(jī)跟主機(jī)(一般是手機(jī))建立點(diǎn)對(duì)點(diǎn)連接,或者藍(lán)牙芯片做主機(jī)跟其他的從機(jī)建立點(diǎn)對(duì)點(diǎn)連接的應(yīng)用場(chǎng)景。
本篇文章詳細(xì)講述此SDK中的B85m_ble_sample例程的使用及注意事項(xiàng),以便客戶盡快熟悉起來(lái),加快項(xiàng)目開發(fā)進(jìn)度。
1
ble_sample例程說(shuō)明
單連接SDK中B85m_ble_sample適用825x芯片和827x芯片,所以編譯選項(xiàng)中又分為了825x_ble_sample和827x_ble_sample(下文統(tǒng)稱ble_sample)。
ble_sample例程是簡(jiǎn)單的slave demo,具有廣播和連接功能。在BLE服務(wù)有HID服務(wù),連接后可以枚舉為HID設(shè)備,可以控制音量和輸入數(shù)字等功能。
2
開發(fā)板選擇
以TLSR8258芯片為例子,常用的有兩種開發(fā)板,一種是TLSR8258 Development Board(型號(hào)C1T139A30_V1.2),如下圖所示:
另一種是TLSR8258 Dongle板(型號(hào)C1T139A3_V2.0A),如下圖所示:
同樣,TLSR8278芯片也有上述兩種類型的開發(fā)板,此處不再贅述。
3
使用演示
1、代碼中默認(rèn)使能了電流測(cè)試(禁止了按鍵等操作),先禁止電流測(cè)試。在ble_sample/app_config.h文件中,修改后如下:
#define TEST_CONN_CURRENT_ENABLE 0
2、根據(jù)使用的開發(fā)板類型,代碼中使能的宏定義不同,在ble_sample/app_config.h文件中,修改的宏定義如下:
使用TLSR8258 Development Board
#define BOARD_SELECT BOARD_825X_EVK_C1T139A30
此時(shí)默認(rèn)使能了UI_KEYBOARD_ENABLE宏,即使用2行2列的按鍵矩陣,對(duì)應(yīng)開發(fā)板的SW2 ~ SW5這4個(gè)按鍵。
使用TLSR8258 Dongle
#define BOARD_SELECT BOARD_825X_DONGLE_C1T139A3
此時(shí)默認(rèn)使能了UI_BUTTON_ENABLE宏,即使用2個(gè)按鍵,對(duì)應(yīng)TLSR8258 Dongle的SW1和SW2按鍵。
3、clean工程,然后rebuild編譯,并把生成的固件download到開發(fā)板中,重新上電或者reset一次。
4、在手機(jī)-->設(shè)置-->藍(lán)牙 頁(yè)面,掃描到“VHID”,點(diǎn)擊建立連接并選擇配對(duì)。
5、點(diǎn)擊開發(fā)板上的按鍵,手機(jī)上會(huì)有對(duì)應(yīng)的顯示。
在TLSR8258 Development Board上:
按SW2按鍵,手機(jī)的音量增加;
按SW4按鍵,手機(jī)的音量減?。?/p>
按SW3按鍵,在手機(jī)的文字輸入頁(yè)面,輸入文字“1”;
按SW5按鍵,在手機(jī)的文字輸入頁(yè)面,輸入文字“2”;
在TLSR8258 Dongle Board上:
按SW1按鍵,手機(jī)的音量增加;
按SW2按鍵,手機(jī)的音量減??;
*注意:ble_sample例程是HID設(shè)備,不需要在手機(jī)app中使用。如果使用手機(jī)app連接,是看不到上面的按鍵的效果。
4
電流測(cè)試
ble_sample例程默認(rèn)是開啟了電流測(cè)試功能,禁止了按鍵和LED的顯示。
#define TEST_CONN_CURRENT_ENABLE 1
如果開發(fā)者需要測(cè)試各種廣播間隔或者連接間隔的低功耗的數(shù)據(jù),主要修改的參數(shù)有如下幾個(gè):
1、發(fā)射功率
發(fā)射功率越大,RF發(fā)射時(shí)的瞬時(shí)電流就越高。宏定義如下:
#define MY_RF_POWER_INDEX RF_POWER_P0dBm
2、廣播間隔
廣播間隔越小,RF發(fā)送數(shù)據(jù)就越頻繁,功耗就越高。宏定義如下:
#define MY_ADV_INTERVAL_MIN ADV_INTERVAL_1S
#define MY_ADV_INTERVAL_MAX ADV_INTERVAL_1S
最大值和最小值最好設(shè)置一樣,或者相差5ms。如果設(shè)置的最大值遠(yuǎn)大于最小值,SDK中默認(rèn)選擇使用最大值。
3、廣播channel
廣播channel總共有3個(gè),當(dāng)選擇3個(gè)channel時(shí),每次廣播都會(huì)在3個(gè)channel各發(fā)送一次。宏定義如下:
#define MY_APP_ADV_CHANNEL BLT_ENABLE_ADV_ALL
4、廣播內(nèi)容
廣播數(shù)據(jù)和掃描回復(fù)數(shù)據(jù),設(shè)置的數(shù)據(jù)長(zhǎng)度越大(最大31bytes),每次廣播發(fā)送的耗時(shí)就越久,功耗也就越高。tbl_advData[ ]數(shù)組是廣播內(nèi)容數(shù)據(jù);tbl_scanRsp[ ]數(shù)組是掃描回復(fù)數(shù)據(jù)。
5、連接間隔
建立連接后,從機(jī)可以主動(dòng)更改連接參數(shù),使用的API函數(shù)是:
bls_l2cap_requestConnParamUpdate();
具體的函數(shù)說(shuō)明,請(qǐng)?jiān)趆andbook的文檔中搜索。
設(shè)置好上述幾點(diǎn)之后,就可以重新編譯ble_sample例程,下載到開發(fā)板中,使用電流分析儀等設(shè)備做功耗測(cè)試。
*注意:測(cè)試功耗時(shí),TLSR8258 Development Board開發(fā)板上的J29和J35跳線帽需要拔掉。TLSR8258 Dongle Board開發(fā)板上的J8跳線帽需要拔掉。
5
低功耗注意點(diǎn)
1、ble_sample例程默認(rèn)使能了低功耗功能,宏定義為:
#define BLE_APP_PM_ENABLE 1
#define PM_DEEPSLEEP_RETENTION_ENABLE 1
2、ble_sample例程,廣播超過(guò)60s會(huì)自動(dòng)進(jìn)入深睡眠(deepsleep模式)而停止廣播。建立連接,60s內(nèi)無(wú)按鍵事件,會(huì)斷開連接并進(jìn)入deepsleep模式。代碼如下圖所示,在blt_pm_proc()中,開發(fā)者可以根據(jù)需要做修改。
審核編輯 :李倩
-
HID
+關(guān)注
關(guān)注
2文章
135瀏覽量
47704 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5683瀏覽量
104872 -
SDK
+關(guān)注
關(guān)注
3文章
1077瀏覽量
49129
原文標(biāo)題:【技術(shù)專欄】泰凌微電子BLE單連接SDK(二):B85m_sample例程使用演示
文章出處:【微信號(hào):telink-semi,微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
IGBT器件的防靜電注意事項(xiàng)
直流電動(dòng)汽車充電應(yīng)用中電流檢測(cè)的設(shè)計(jì)注意事項(xiàng)
PLC應(yīng)用中的AM335x可靠性注意事項(xiàng)

脈沖式充電器的使用注意事項(xiàng)
從JESD204B升級(jí)到JESD204C時(shí)的系統(tǒng)設(shè)計(jì)注意事項(xiàng)

繞線電感定制的注意事項(xiàng)
關(guān)于降壓轉(zhuǎn)換器中啟動(dòng)電阻器的設(shè)計(jì)注意事項(xiàng)

共模電感定制的注意事項(xiàng)
LiFePO4設(shè)計(jì)注意事項(xiàng)

TAS5825M的EMC設(shè)計(jì)注意事項(xiàng)

評(píng)論