物聯(lián)網(wǎng)已經(jīng)存在了一段時間,但目前引起關(guān)注的原因是傳感器的價格大幅下降以及幾乎無處不在的連接性。根據(jù) IDC 最近的報告,全球物聯(lián)網(wǎng)技術(shù)支出將在 2022 年達到 1.2 噸,在 2017-2022 年的預(yù)測期內(nèi)實現(xiàn) 13.6% 的復(fù)合年增長率。藍牙技術(shù)廣泛用于各種智能應(yīng)用中的物聯(lián)網(wǎng),使用 2400.0 至 2483.5 MHz 的未經(jīng)許可的工業(yè)、科學(xué)和醫(yī)療 (ISM) 頻段中的短波長無線電傳輸進行短距離(最長 100m)連接。
藍牙設(shè)備以多種模式從一臺設(shè)備與另一臺設(shè)備通信——
- 單播:源向多個目標發(fā)送和接收消息,建立一對一的設(shè)備通信。
- 廣播:源將消息發(fā)送到多個目的地,建立一對多的設(shè)備通信。
- 多播(網(wǎng)格):建立多對多設(shè)備通信的多個源和目標。
BLE 由藍牙特別興趣小組 (SIG) 銷售。藍牙 SIG 管理認證過程,任何使用藍牙無線技術(shù)的產(chǎn)品都需要遵循該過程。所有這些產(chǎn)品都必須通過藍牙 SIG 認證并滿足藍牙許可協(xié)議和規(guī)范的要求。
藍牙協(xié)議和測試
BLE 的集成級測試涉及廣告數(shù)據(jù)的驗證、握手過程(啟動通信和協(xié)商傳輸參數(shù))、連接過程、綁定過程、數(shù)據(jù)包數(shù)據(jù)格式。這可以通過兩種方式實現(xiàn):
1. 連接任何作為Master的BLE設(shè)備,驗證服務(wù)和數(shù)據(jù)交換
2. 使用 Sniffer 應(yīng)用程序進行通信之間的“間諜”
每個藍牙設(shè)備都有一個唯一的 MAC 地址和時鐘。Master 控制時鐘和跳頻。
各個層的源和目標扮演著不同的角色,需要對 UUT(被測單元——一個藍牙設(shè)備充當掃描器,另一個充當廣告商)進行徹底驗證,這在本博客中進行了討論。以下是每一層的源和目標的同義詞:
鏈路層
鏈路層是物理層和 L2CAP 層之間的層。它主要起到廣告、建立連接和發(fā)現(xiàn)服務(wù)的作用。下面的狀態(tài)圖描述了鏈路層的工作流。
待機:默認狀態(tài)
廣告:設(shè)備在三個廣告通道(其余37個為數(shù)據(jù)通道)中定期發(fā)送廣告事件,如下圖所示。
掃描
有兩種不同的掃描模式:
- 被動掃描——控制器只支持數(shù)據(jù)接收,不支持傳輸。
- 主動掃描 – 傳輸掃描請求。掃描器發(fā)出 SCAN_REQ 數(shù)據(jù)包,廣告商以 SCAN_RSP 數(shù)據(jù)包響應(yīng)。
發(fā)起
Scanner 根據(jù)廣告數(shù)據(jù)選擇合適的廣告商。如果廣告商發(fā)出連接機會的信號,則掃描器可以向廣告商發(fā)送連接請求。一旦 CONNECT_REQ 數(shù)據(jù)包被發(fā)送,scanner 就會成為 Initiator。
聯(lián)系
一旦成功建立連接,兩個設(shè)備都處于“連接”狀態(tài)。發(fā)起者成為主人,廣告者成為奴隸。它們定期交換數(shù)據(jù)包,稱為連接事件(此連接是握手,數(shù)據(jù)交換僅在握手成功后發(fā)生)。BLE 連接維護一個 Piconet 網(wǎng)絡(luò)結(jié)構(gòu),其中單個主機與稱為 pico 的從機協(xié)調(diào)連接事件。應(yīng)用程序中的數(shù)據(jù)傳輸速率從 200 到 2,100 kbps 不等。
BLE 數(shù)據(jù)包構(gòu)成了鏈路層的基本構(gòu)建塊。BLE數(shù)據(jù)包數(shù)據(jù)格式大致可以分為以下幾種:
BLE 有兩種類型的數(shù)據(jù)包:
? 廣告包——查找并連接到附近的設(shè)備
? 數(shù)據(jù)包——兩個連接設(shè)備之間的數(shù)據(jù)傳輸
以下是根據(jù)協(xié)議數(shù)據(jù)單元 (PDU) 的不同廣告數(shù)據(jù)包類型:
按照以下鏈接中的步驟設(shè)置 Nordic BLE Sniffer 和 Wireshark 設(shè)置以進行數(shù)據(jù)包捕獲:
nRF_Sniffer_UserGuide_v2.2
以下是可以使用 Wireshark 數(shù)據(jù)包分析器驗證的測試用例:
1. 驗證外圍設(shè)備是否發(fā)布廣告明文
2. 驗證外設(shè)在廣告和未連接時的廣告算法。(廣告算法包括廣告事件的數(shù)量和它們之間的持續(xù)時間)
3. 驗證握手過程中外圍設(shè)備的廣告算法
4.驗證UUT配對綁定后的廣告事件
通用訪問配置文件 (GAP)
GAP 定義了設(shè)備角色、廣告模式和綁定程序。安全管理器,GAP 的一部分,可以根據(jù)系統(tǒng)的安全需求進行設(shè)計?!芭鋵Α焙汀敖壎ā边^程通過 GAP 進行控制:
-配對:
中央和外圍設(shè)備交換加密的密鑰,經(jīng)過身份驗證和接受以建立連接。
-粘合:
配對過程中的信息存儲在設(shè)備上,因此配對過程不會重復(fù),并且只要設(shè)備在附近,就會建立重新連接。
三種主要的配對方法是:
1. Just Works – 加密密鑰在中央和外圍設(shè)備之間共享。
2. 密鑰顯示——隨機密鑰在一臺設(shè)備上生成,其他需要輸入。
3. 帶外——這支持另一個 BLE 無線電來共享密鑰。
使用與上面相同的設(shè)置,以下是可以使用 Wireshark 數(shù)據(jù)包捕獲驗證的測試用例:
1. 在數(shù)據(jù)包級別驗證密鑰交換配對過程。
2. 驗證廣告跳序列。
通用屬性配置文件 (GATT)
藍牙設(shè)備充當 GATT 服務(wù)器或客戶端。GATT 標識層次結(jié)構(gòu)以組織服務(wù)和特征等屬性。屬性是分組數(shù)據(jù)和 UUID(通用唯一標識符),因為 16 字節(jié)分配給每個屬性。GATT Attribute 的層次結(jié)構(gòu)可以在下圖中理解:
服務(wù)包括完成特定功能所需的數(shù)據(jù)集合。特征包含用戶數(shù)據(jù)。下面的流程圖顯示了客戶端和服務(wù)器之間的數(shù)據(jù)包通信:
按照以下鏈接安裝 nRF Connect Emulator App:
nrFconnect 應(yīng)用程序
以下是可以使用 nRF Connect 應(yīng)用程序驗證的測試用例:
1. 建立連接后驗證可用于發(fā)現(xiàn)的服務(wù)。
2. 驗證可用的服務(wù),如設(shè)備信息服務(wù) (UUID 0x180a) 以獲取制造商詳細信息、硬件、固件和軟件字符串數(shù)據(jù)、通用訪問配置文件 (UUID 0x01800)、通用屬性配置文件 (UUID 0x1801)。
3. 驗證自定義服務(wù)(如下圖所示的未知服務(wù))是否可用。
4. 驗證服務(wù)的特性以及為讀取、寫入等特性啟用的屬性。
5. 使用數(shù)據(jù)讀取和寫入功能驗證發(fā)送和接收的定義數(shù)據(jù)。
結(jié)論:
隨著4.0版本支持的低功耗藍牙(BLE)的出現(xiàn),由于消費市場對低能耗和低功耗的需求(BLE由Bluetooth SIG發(fā)明并正式化),現(xiàn)在它被廣泛應(yīng)用于消費市場。為了幫助確保在這些新的低功耗設(shè)計中成功實施低功耗藍牙,測試解決方案必須能夠根據(jù)藍牙標準快速且經(jīng)濟高效地進行必要的測試。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5086文章
19141瀏覽量
305932 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9217瀏覽量
85575 -
BLE
+關(guān)注
關(guān)注
12文章
660瀏覽量
59427
發(fā)布評論請先 登錄
相關(guān)推薦
評論