認識BLE 5協議棧 —— 直接測試模式

轉自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-direct-test-mode/


認識BLE協議棧 —— 直接測試模式

BLE協議充分考慮了設備的測試問題,在協議棧層面提供了直接測試模式,用於執行BLE設備的RF物理層一致性的測試。

直接測試模式(Direct Test Mode)常簡稱爲DTM。

DTM測試的核心工作是令設備在指定的頻率上發送一段數據序列,在另一端使用測試設備接收數據序列並給出測試報告,或者反過來測試設備發送一段數據序列,BLE設備接收並給出測試報告。

測試報告中會給出通信頻率的偏移量,頻率的功率,通信丟包率PER(Packet Error Rate)等信息,並根據這些信息判斷BLE設備的物理層是否滿足設計要求。

1. 工作模式介紹

DTM測試的基本工作模式如下:

DTM_Test_Scheme

左側DUT(Device Under Test)表示待測設備,右側Upper Tester表示上位機測試設備,通常使用PC代替,右側Lower Tester表示下位機測試設備,通常是一臺專業的藍牙RF測試設備。

上位機與DUT之間使用串口線連接,上位機發送測試命令,DUT執行指定的操作,並返回執行結果。串口至少應支持以下幾種波特率:1200、2400、9600、14400、19200、38400、57600、115200。

下位機接收DUT發送的信號,或向DUT發送信號,並給出報告。

值得注意的是,圖中DUT與下位機之間的連線既有實線又有虛線。實線指二者之間可以用一根同軸電纜傳輸RF信號,虛線指可以使用RF信號進行無線傳輸。使用同軸電纜,需要考慮接口處的阻抗匹配和功率損耗,使用無線傳輸則要考慮外部射頻干擾,需要在一個屏蔽箱或屏蔽室內進行測試才能保證準確。

如果RF測試設備具有串口收發能力和數據處理能力,那麼該設備可以脫離PC獨立完成全部測試任務。

2. 測試內容

PC向DUT發送測試命令,具體如下:

測試命令 含義
LE_TEST_SETUP 設置測試
LE_TRANSMITTER_TEST BLE設備發射機測試
LE_RECEIVER_TEST BLE設備接收機測試
LE_TEST_END 停止測試

DUT收到命令會向PC返回事件消息,具體如下:

事件消息 含義
LE_STATUS 收到命令後,DUT返回命令執行狀態
LE_PACKET_REPORT 停止測試後,DUT返回測試報告

實際工作時,PC與DUT之間的工作流程如下所示:

<發送測試>

DTM_Transmit_Test

<接收測試>

DTM_Receive_Test

3. 命令與事件

命令與事件都是2字節數據,在串口中傳輸時按照MSB優先傳輸。

3.1 命令

收發機測試命令的數據幀格式如下:

DTM_Test_CMD

設置測試和停止測試的命令數據幀格式如下:

DTM_Test_CMD_2

兩種數據格式的首位2bite都是CMD:

  • CMD = 00b,表示該命令爲Test Setup。
  • CMD = 01b,表示該命令爲Receiver Test。
  • CMD = 10b,表示該命令爲Transmitter Test。
  • CMD = 11b,表示該命令爲Test End。

Test Setup命令

Control = 0x00, Param = 0x00,表示重置測試參數。

Control = 0x02, Param = 0x01-0x04,設置不同的物理層。

Test End命令

Control = 0x00, Param = 0x00,表示停止測試。

Transmit Test命令

Frequency = 0x00 ~ 0x27,分別代表0-39信道頻率。

PKT = 00b ~ 11b,表示不同的0/1測試序列。

Length的低6位表示Payload的數據長度。

3.2 事件

事件只有兩種,一種是LE_Test_Status_Event事件,另一種是LE_Packet_Report_Event事件。

LE_Test_Status_Event事件的數據幀格式如下:

DTM_Event_Format_1

其中EV = 0。Response包含了狀態信息。ST(Status)表示結果是成功還是失敗。

LE_Packet_Report_Event事件的數據幀格式如下:

DTM_Event_Format_2

其中EV = 1。Packet Count表示收到的數據幀總數,其有效範圍是0 – 32767。

4. 測試數據

當進行收發機測試時,RF數據格式不是標準的BLE數據格式,它無法被BLE主機掃描,僅能被BLE射頻測試設備識別。

4.1 數據格式

對於非編碼型物理層設備,測試數據格式如下:

DTM_Data_Format

對於編碼型物理層設備,數據格式略有不同,增加了編碼相關的字段。

測試時,數據不執行白化操作,不執行CRC計算並將其設置爲常數值,前導碼和Sync Word也均設置爲固定常數值。

4.2 數據PDU

數據PDU的格式如下:

DTM_PDU_Format

其中Payload的格式如下:

DTM_Payload_Format

第一部分Payload Type代表了測試數據的類型,可用的測試數據包括:

  • PRBS9
  • PRBS15
  • 有規則的0/1序列
  • 純0或純1序列

PRBS9表示9-bit的僞隨機數,PRBS15表示15-bit僞隨機數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章