藍牙技術自1998年問世以來,已經成為現代通信技術中不可或缺的一部分。它允許不同設備之間通過無線信號進行通信,極大地方便了我們的日常生活。在藍牙技術中,設備發現(Inquiry)是一個重要的概念,它涉及到設備如何相互識別和建立連接。本文將對藍牙設備發現過程進行解析,幫助讀者更好地理解這一技術。
1
什么是設備發現?
我們在日常使用手機去連接其它如藍牙耳機等藍牙設備前,一般需要先在手機上搜索到需要的設備,這一步就是設備發現,也叫查詢(inquiry)。而相應的藍牙設備也需要進入被查詢模式,也就是查詢掃描(inquiry scan),只有這樣才會被手機等設備搜索到。
圖1. windows的藍牙設備發現界面
2
設備發現工作原理
在設備發現過程中,查詢設備會每隔312.5us選擇一個新的頻點來發送查詢,也就是說在一個tx slot(625us)中,查詢設備會以不同的頻點發送兩次查詢,而被查詢設備會每隔1.28秒選擇一個新的監聽頻點,所以只要查詢一段時間就總會有兩者頻點相同的時候,查詢和被查詢設備使用通用查詢接入碼(GIAC,General Inquiry Acess Code)LAP(Low Address Part),作為查詢地址,GIAP LAP為0x9E8B33。藍牙標準規定不允許任何藍牙設備使用與GIAP LAP一樣的地址。產生的32個查詢跳頻序列(Inquiring hopping sequence) 均勻分布在79個頻率信道上。
查詢設備會通過發送ID包來進行查詢,ID包由查詢訪問碼(IAC)組成,固定68bits長,在上文也提到查詢和被查詢設備使用通用查詢接入碼(GIAC),因此可以和配對時發出的ID包區分開。在標準模式下,當被查詢設備接收到一個ID包后,會在一個slot(625us)后回復一個FHS包,這個包包含了設備類型、設備地址和發送者的時鐘,如果查詢模式為返回帶RSSI格式或者額外查詢結果模式,那么被查詢設備就會在FHS包之后2 slot(1250us)發送一個Extended_inquiry_response_packet包,其中會包含設備名字、RSSI等信息。
圖2. 收到第一個或第二個ID包進行響應的時序
我們以一塊泰凌B91開發板為例來直觀地看一下設備發現的過程。
圖3. B91開發板
我們先給開發板燒錄提前編譯好的測試固件,然后用手機去搜索附近的藍牙設備,并用藍牙抓包器抓取空中包,通過抓包器我們可以清楚地看到,在開發板收到ID包625us后發出了FHS包,之后跟著又發出了一個EIR包,與圖2協議規定的時序完全一致。
圖5. 抓包器抓取到的inquiry過程
通過解析包內容可以發現,FHS包中包含了設備類型,時鐘等信息,而EIR包則包含了設備名稱。
圖6. FHS包內容
圖7. EIR包內容
3
HCI指令
在藍牙中host通過HCI指令來控制controller的行為,在設備發現流程中也需要用到多條HCI指令。
3.1
HCI_inquiry
查詢設備可以使用這條指令來啟動inquiry,這個指令需要填入三個參數,分別是LAP:一般為0x9e8b33(GIAC),inquiry_length:搜索多長時間,num_response:可以搜索多少個設備,范圍0~255,如果是0,就是沒有限制,搜索多少個就上報給host多少個。
3.2
HCI_Inquiry_Cancel
host可以發送這條指令來提前停止搜索。
3.3
HCI_Write_Inquiry_Mode
host使用這條指令來設置inquiry的模式,這將會決定搜索到的設備是否返回RSSI、設備名等信息。
3.4
HCI_Write_Scan_Enable
被搜索設備使用這條指令來開啟或關閉scan狀態,這條指令不僅可以開啟inquiry scan還可以開啟page scan,開啟page scan后設備將允許被連接。
3.5
HCI_Write_Inquiry_Scan_Activity
這條指令用來設置inquiry scan的窗口時間和窗口間隔,controller會自動隔一段時間打開一次窗口,只有在打開窗口期間才能收到對方發來的inquiry ID包,因此窗口時間越長,窗口間隔越短越容易被其它設備搜索到,需要注意的是,窗口時間必須要小于等于窗口間隔。
3.6
HCI_Write_Extended_Inquiry_Response
被查詢設備的host下發這個指令后,查詢設備就可以在搜索到后拿到設備名字等信息,否則后續就只能通過HCI_Remote_Name_Request指令來獲取slave的名字。
設備發現是藍牙連接過程中的重要一步,它允許我們查找周圍可被連接的設備,并且可以靈活地配置查詢的參數,從而使我們下一步方便地在不同設備之間建立連接。泰凌基于TLSR951x和TLSR952x系列SoC芯片自研的藍牙協議棧,得益于芯片本身具備的超低功耗工作模式,實現了帶低功耗的Inquiry和Inquiry Scan模式,可以將設備發現過程芯片整機功耗降低到3mA以下,能夠滿足對功耗極度敏感的應用場景。
-
通信技術
+關注
關注
20文章
1143瀏覽量
92811 -
藍牙技術
+關注
關注
45文章
347瀏覽量
53761 -
藍牙設備
+關注
關注
0文章
39瀏覽量
6868 -
泰凌微
+關注
關注
7文章
161瀏覽量
11071
原文標題:【技術專欄】泰凌微電子藍牙設備發現概述
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于泰凌微電子平臺實現OpenHarmony開發—綜述
泰凌微電子無線通信SoC助推電子紙產業生態發展
泰凌微電子| OpenThread組Telink Codelab正式上線

泰凌微電子榮獲2023年“Matter優秀賦能者獎”

泰凌微電子獲藍牙 6.0 認證,助力藍牙技術拓展與應用升級

評論