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