跳轉到

測試與量測

在板子上跑測試、量測 BLE 射頻、量測 Wi-Fi 傳輸速率,以及看功耗曲線。這幾個工具頁都可以從首頁的「工具」卡片或 IPRO 選單開啟。

板上測試

應用程式使用 SDK 的 Unity 測試框架時(例如 ipro_unit_test),板子印出的測試結果會整理進 IDE 的「測試」檢視。

  1. 在板子上執行測試。 選好應用程式並燒錄一次後,在側邊欄「開發板」上方按燒杯圖示(在板子上執行測試)。

    應該看到:通知「正在重置板子(序列埠監看開著)…」,板子經由探棒重新開機。左邊切到「測試」檢視:「測試執行」列出這一次的執行(例如「ipro_unit_test 下午2:10:16」),每個測試前面是通過、失敗或略過的符號;「測試總管」的「IPRO 板上測試」下列出每個測試組(utils、memory、rtos…)。

  2. 看失敗的測試。 失敗的測試點兩下,會打開測試的原始碼並跳到失敗的那一行。

  3. 搭配建置、燒錄並監看。 用 建置、燒錄並監看 執行時,結果也會自動進到「測試」檢視。

「測試」檢視:「測試總管」的 IPRO 板上測試列出 utils、memory、rtos 等測試組,「測試執行」列出 ipro_unit_test 這一次執行的每個測試與通過符號;右下的 IPRO Monitor 顯示 ALL TESTS PASSED 與測試摘要

Note

  • 「測試」檢視讀的是板子開機後印出的測試行,所以監看要接在探棒的 UART(主控台)連接埠。開著監看的篩選不影響結果。
  • 板子沒有重新開機時,IDE 會提示「板子沒有重新啟動。監看是否接在 IPRO Debug Probe 的主控台連接埠?」

RF 測試(BLE DTM)

「RF 測試」透過 INTELPRO 提供的 MFG 韌體,以 BLE Direct Test Mode 讓板子發射或接收,供頻譜分析儀、綜合測試儀量測,或兩塊板子之間量封包錯誤率(PER)。

  1. 檢查韌體。 板子燒入 MFG 韌體,開著序列埠監看。按首頁「工具」的 RF 測試(DTM)(或 IPRO 選單的 RF 測試(DTM)…),按 檢查韌體。MFG 韌體不包含在 IPRO SDK 中,請向 INTELPRO 業務窗口索取。

    應該看到:「MFG 韌體 1.01」。板子沒有回應時會顯示「板子沒有回應。它跑的是 MFG 韌體嗎?」

  2. 發射或接收。 選通道、PHY、長度、內容與發射功率,按 發射 或 接收,結束時按 停止。

    應該看到:發射時顯示「正在 2402 MHz 發射(1M,37 位元組,每 625 µs 一包)」這類訊息;接收停止後顯示「N 秒內收到 M 包;以標準速率的 DTM 發射端計算,PER 為 X%」。

    只按接收時,PER 是從板子回報開始接收起算,以 DTM 標準速率估算應收到的包數;發射端要在整段接收期間持續發射,估算才準。要讓 IDE 同時控制兩端,請用下一步的兩塊板子量測。

  3. 兩塊板子量 PER。 兩塊板子接在同一台電腦上,第二塊也燒入 MFG 韌體,按 在另一個連接埠開監看… 開它的監看(見同時監看另一個連接埠);在「兩塊板子之間的封包錯誤率」選接收端與秒數,按 測量 PER。

    應該看到:結果表格多一列:時間、通道、PHY、發出(預期)、收到與 PER。

    兩塊板子接在不同電腦上時,在兩台電腦各開 IPRO Workbench:先在一台選好通道按 發射,再在另一台選同一個通道按 接收,幾秒後按 停止,接收端顯示收到的包數與估算的 PER。

RF 測試(DTM)畫面:上方是板子的連接埠與檢查韌體按鈕,接著是通道、PHY、長度、內容與發射功率的選項,以及發射、接收、停止按鈕;下方是兩塊板子之間量 PER 的提示

Tip

附近有 Wi-Fi 時,和 Wi-Fi 頻道重疊的 BLE 通道會大量掉包(例如 2440 MHz 一帶)。量 PER 時請選和附近 Wi-Fi 錯開的通道,例如 2478 MHz。

Note

每次開始測試時,MFG 韌體要先啟動 BLE 控制器(約 2.5 秒),IDE 會等它回應後才開始。

Wi-Fi 傳輸速率(iperf)

「Wi-Fi 傳輸速率」在這台電腦和板子之間跑一次 TCP 的 iperf 測試,量 Wi-Fi 的傳輸速率。電腦這一端由 IPRO Workbench 自己執行,不需要另外安裝 iperf;板子那一端由 IDE 經序列埠監看下指令。

板子上的應用程式要有 SDK 的 Wi-Fi 指令與 iperf 指令。IPRO6S EVK 請用 IPRO SDK 2.2.1 的 platform/ipro6_demo(燒錄步驟見燒錄與開發板的 IPRO6S EVK)。

Wi-Fi 角色 什麼時候用
Station(加入這台電腦所在的網路) 建議的方式。板子加入電腦已經連上的 Wi-Fi 網路(2.4 GHz),電腦的網路不必更動。
無線基地台(這台電腦連上它) 手邊沒有 Wi-Fi 網路時。板子自己當基地台,電腦的 Wi-Fi 要改連到板子;連上後電腦通常無法上網。

讓板子加入網路

  1. 燒錄並開監看。 選 ipro6_demo 並燒錄到 IPRO6S EVK,開著序列埠監看。

  2. 開啟 Wi-Fi 傳輸速率。 按首頁「工具」的 Wi-Fi 傳輸速率(或 IPRO 選單的 Wi-Fi 傳輸速率(iperf)…)。

    應該看到:「Wi-Fi 傳輸速率(iperf)」分頁,分成「1. 讓板子和這台電腦在同一個網路」與「2. 執行」兩段。監看沒開時,最上面會提示先開啟監看,並附 開啟監看 按鈕。

  3. 加入網路。 「Wi-Fi 角色」選 Station(加入這台電腦所在的網路),「網路名稱」輸入電腦所連 Wi-Fi 的名稱,「密碼」輸入它的密碼,按 加入網路。

    應該看到:狀態訊息依序顯示「板子正在加入 <網路名稱>…」與「板子已連上 <網路名稱>,位址是 <板子的 IP>。」;「板子的 IP 位址」自動填好。下方的記錄列出 IDE 送給板子的指令(以 → 開頭)與板子的回應(以 ← 開頭):wifi_state、stack_wifi、wifi_sta_connect,記錄中的密碼以 ******** 代替。約 40 秒內沒有連上時顯示「板子沒有連上 <網路名稱>。請檢查名稱與密碼。」

    要改用基地台模式時,「Wi-Fi 角色」選 無線基地台(這台電腦連上它),輸入要建立的網路名稱、8 到 63 個字元的密碼與頻道,按 啟動基地台。

    應該看到:「板子現在是無線基地台 <網路名稱>,位址 192.168.169.1。請讓這台電腦連上它,再執行測試。」接著到電腦的 Wi-Fi 設定連上這個網路。

Wi-Fi 傳輸速率畫面,板子當無線基地台:第 1 段有板子的連接埠、Wi-Fi 角色「無線基地台」、網路名稱 IPRO-iperf、以圓點遮住的密碼、頻道 6、啟動基地台與停止基地台按鈕,以及板子的 IP 位址 192.168.169.1;第 2 段是方向與秒數;狀態訊息寫著板子現在是無線基地台

重要

  • 網路名稱與密碼不能有空白:板子的指令列不接受空白。有空白時 IDE 不會送出指令,並顯示「網路名稱要 1 到 32 個字元,而且不能有空白」或「密碼要 8 到 63 個字元,而且不能有空白。」
  • 密碼會經由序列埠送到板子,板子會把它回顯在序列埠監看裡(工具頁自己的記錄則不顯示)。開著「Log To File」時,密碼也會留在監看記錄檔中;把監看輸出或記錄檔交給別人之前,請先刪掉那一行。

執行測試

  1. 執行測試。 「方向」保留 這台電腦送、板子收(板子=iperf 伺服器),「秒數」輸入測試時間(預設 10 秒),按 執行測試。

    應該看到:狀態訊息顯示「這台電腦(<電腦的 IP>)對板子(<板子的 IP>)打流 10 秒…」,下面一行即時列出板子與電腦每秒算出的 Mbit/s。結束時狀態訊息顯示「完成:板子算出 … Mbit/s,這台電腦算出 … Mbit/s。」,結果表格多一列:方向、時間、傳輸量、板子的計數、這台電腦的計數,以及板子每秒的數值。

  2. 量反方向。 要量反方向,「方向」改選 板子送、這台電腦收(板子=iperf 用戶端),再按 執行測試。

    應該看到:結果表格最上面多一列「板子 → 電腦」。

  3. 結束。 要中途結束,按 停止。測試完成後,按 離開網路(基地台模式是 停止基地台)讓板子離開 Wi-Fi。

方向 誰先等待連線 注意事項
這台電腦送、板子收(預設) 板子(iperf 伺服器,TCP 連接埠 5001) 電腦的防火牆不必調整
板子送、這台電腦收 這台電腦(TCP 連接埠 5001) 電腦的防火牆要允許連入 TCP 5001。Windows 預設會擋下,請見下方說明

Note

  • Windows 防火牆:板子送、電腦收時,如果狀態訊息顯示「板子沒有連到這台電腦的 TCP 連接埠 5001。可能是這台電腦的防火牆擋住了連入的連線…」,請在「具有進階安全性的 Windows Defender 防火牆」新增一條輸入規則,允許 TCP 連接埠 5001(設定檔勾選電腦目前網路所屬的那一種,公用或私人),測完後可以停用或刪除這條規則。新增規則需要系統管理員權限。電腦送、板子收不需要這條規則。
  • 等待中的板子伺服器:板子的 iperf 伺服器開始等待後,要有電腦連上或板子重新開機才會結束。所以 IDE 會先確認這台電腦在板子的網路上有位址,才讓板子啟動伺服器;沒有時顯示「這台電腦在板子的網路(…)上沒有位址。請先連上同一個 Wi-Fi 網路,再執行一次。」如果伺服器已經在等待(狀態訊息顯示「這台電腦連不上板子的 iperf 伺服器…」或「板子上前一次的 iperf 還在執行…」),按這時出現的 重置板子,板子重新開機後再從「加入網路」做起。
  • 板子與電腦各自計算速率:板子依它收到(或送出)的資料量,電腦依它送出(或收到)的資料量,兩個數字略有差異是正常的。
  • 兩種 Wi-Fi 角色量到的數字不能互相比較。要評估板子連上無線基地台時的傳輸速率,請用 Station 模式。

功耗

「功耗」讀取 Nordic Power Profiler Kit II(PPK2)的電流紀錄,算出平均、峰值、睡眠底電流與電量,並估算以 CR2032 供電能用多久。

  1. 開啟電流紀錄。 在應用程式上按右鍵,選 功耗…(或首頁「工具」的 功耗),按 開啟… 選 Power Profiler 存的 .ppk2 或 CSV。

    應該看到:時間長度、平均、峰值、睡眠底電流(第 1 百分位)、電量,以及「以此平均電流使用 CR2032(225 mAh)」能撐多久;下方是電流曲線,可以切換 對數刻度。

  2. 看某一刻的電流。 滑鼠移到曲線上。

    應該看到:那一刻的時間、平均電流與範圍,例如「8.128 s 平均 282.3 µA 271.4 µA – 292.5 µA」。

  3. 看一段的平均。 在曲線上按住並拖曳一段。

    應該看到:下方顯示這一段的平均電流與電量,例如「3.251 秒到 8.128 秒:平均 11.91 mA,16.1279 µAh。」

  4. 對照監看 log。 記錄期間,序列埠監看開著 Log To File 與時間戳記時(見存檔與完整記錄),在「監看 log」選那一份 log。

    應該看到:log 的每一行以短刻度標在曲線上方;滑鼠移過去會顯示那一刻的電流與 log 內容,方便對照「哪一段程式用了多少電」。

功耗畫面:上方是時間長度、平均、峰值、睡眠底電流、電量與以 CR2032 使用的時數,下方是對數刻度的電流曲線,一段被選取的區間以灰底標示,滑鼠所在的 5.000 s 列出平均電流、範圍與那一刻的 log「inference start」