隨著越來越多的經(jīng)典藍牙設備應用在我們的生活和工作中,該類設備的使用場景和相關設計也更加豐富。與此同時,泰凌微電子作為藍牙芯片的源頭廠商,在經(jīng)典藍牙SoC性能提升及方案設計的產(chǎn)出也日新月異;在實際應用中,藍牙設備發(fā)現(xiàn)、連接、斷開等使用場景較為常見,其中設備連接是至關重要的一環(huán),它涵蓋了設備之間建立連接的整個過程。本文將對經(jīng)典藍牙設備連接過程進行解析,帶大家一起了解連接的整個過程。
1
什么是設備連接?
什么設備連接?例如,我們在日常使用手機去連接其它如藍牙耳機等藍牙設備時,搜索到所需的設備后,點擊該設備就會觸發(fā)設備連接過程,也叫尋呼(Page)。而相應的藍牙設備也需要進入被尋呼模式,也就是連接掃描(Page Scan),只有這樣才會被手機等設備連接成功。如下圖,點擊Telink-Test設備即開始了連接過程。
圖1.手機上搜索到Telink-Test設備
2
設備連接的流程
圖2.藍牙規(guī)范中的設備狀態(tài)
首先,如上圖Page和Page Scan為藍牙的兩個子狀態(tài),其中Page為我們通常認為的連接(尋呼);在設備發(fā)現(xiàn)之后,該子狀態(tài)能以Master的角色進行連接/操作對應的Slave。設備,連接時依賴于發(fā)現(xiàn)過程中獲取到的對端設備地址;而Page Scan子狀態(tài)是和Page相對應的,即等待將被Page的Slave設備所處的狀態(tài)。設備處于Page Scan的狀態(tài)是其可被連接的前提。
開啟Page時,Master(即Page設備)使用Slave(即Page Scan設備)的設備地址(BT_ADDR)及其CLOCK時鐘作為算法參數(shù)生成跳頻序列(paging –hopping sequence),該序列是一個定義明確的周期序列,其各個頻點均勻分布在2.4G的79個頻率信道上。基于跳頻序列,Master每隔312.5us會更新一個新的頻率信道以發(fā)送ID包;而Slave則每隔1.28s更新一次監(jiān)聽頻率信道,以便在較短時間內(nèi)接收到來自Master的ID包。
下面以一塊泰凌微電子B91開發(fā)板為例,簡述設備連接過程。
圖3. B91開發(fā)板
首先,給開發(fā)板燒錄提前編譯好的測試固件,然后用手機去搜索并連接對應的藍牙設備,用藍牙抓包器抓取空中包,通過抓包內(nèi)容我們可以對應藍牙協(xié)議解析如下內(nèi)容:
圖4.藍牙規(guī)范中的連接步驟
圖5.藍牙規(guī)范中的連接時序圖
圖6.空中包連接時序圖
Step1:當Master處于Page子狀態(tài),Slave處于Page Scan子狀態(tài),Master發(fā)送page message 即ID包;
Step2:當Slave接收到page message后,會進入slave response狀態(tài),Slave會發(fā)送response(接收到page message以后625us),Slave發(fā)送response后,會開始監(jiān)聽來自Master的FHS數(shù)據(jù)包;
Step3:當Master接收到response以后,Master會進入master response狀態(tài),Master會發(fā)送FHS數(shù)據(jù)包(包含了Master的時鐘、地址、COD等信息);完成后,Master會監(jiān)聽來自Slave的response;
Step4:Slave接收到來自master的FHS數(shù)據(jù)包,Slave會回復一個response通知Master接收到了FHS數(shù)據(jù)包。
Step5:Slave進入CONNECTION狀態(tài),Master接收到Slave的response后也會進入CONNECTION狀態(tài),然后Master發(fā)送一個POLL數(shù)據(jù)包。
Step6:Slave接收到POLL數(shù)據(jù)包后,可能回復任何類型的數(shù)據(jù)包。
以上6步完成后,標志整個的連接過程已經(jīng)成功并結束,后續(xù)會進行鏈路管理階段。
圖7.FHS包內(nèi)容
如果遠端設備即Slave端在設置的超時時間內(nèi)(對應參數(shù)Page_Timeout)沒有返回Page Response時,則Master會觸發(fā)Page Timeout事件,即連接失敗。
3
設備連接對應的HCI指令
經(jīng)典藍牙連接過程中涉及到的HCI指令及相關參數(shù)如下:
3.1
HCI_Create_Connection
3.2
HCI_Read_Page_Timeout
該指令用于讀取當前的Page_Timeout 參數(shù);
3.3
HCI_Write_Page_Timeout
該指令用于設置Page_Timeout 參數(shù);
3.4
HCI_Read_Page_Scan_Activity
該指令用于讀取Page Scan過程的狀態(tài)等相關參數(shù);
3.5
HCI_Write_Inquiry_Scan_Activity
該指令用于設置Page Scan的狀態(tài)等相關參數(shù);
3.6
參數(shù) Page_Timeout
3.7
參數(shù) Page_Scan_Interval
3.8
參數(shù) Page_Scan_Window
4
綜述
設備連接是整個藍牙技術不可或缺的一部分。該部分的設計會根據(jù)產(chǎn)品需求調(diào)整Page Scan interval、Page Scan window、Page Scan Type等相關參數(shù)以均衡連接速度、功耗、帶寬等方面。目前泰凌微電子的TLSR951x和TLSR952x兩個系列SoC芯片均支持經(jīng)典藍牙技術,其基于自研的藍牙協(xié)議棧,得益于芯片本身具備的超低功耗工作模式,實現(xiàn)了帶低功耗的Page和Page Scan模式;同時兼具BT與BLE雙模共存,多路BT共存等多種方案,其涵蓋了同一設備電話、音樂下的設備連接,多路同時連接等較為復雜的場景設計,為復雜多樣的客戶產(chǎn)品需求提供了有力支撐。
審核編輯:彭菁
-
芯片
+關注
關注
452文章
50206瀏覽量
420842 -
頻率
+關注
關注
4文章
1422瀏覽量
59101 -
PAGE
+關注
關注
0文章
11瀏覽量
20160 -
藍牙設備
+關注
關注
0文章
37瀏覽量
6701
原文標題:【技術專欄】泰凌微電子經(jīng)典藍牙設備連接介紹
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論