技術文章 | Granite River Labs | 台灣

USB 3.2 IOP 測試解析(Framework & Interoperability Test) | GraniteRiverLabs Taiwan

作者:GRL Team | Jul 1, 2019 9:51:00 AM

Granite River Labs, GRL
Wing Tseng 曾威華 

 

本篇文章將針對 USB 3.2 Framework 及 Interoperability 測試進行介紹,這兩部分屬於協議層(Protocol Layer)及功能性Functional) 的測試。

 

USB 3.2 框架測試(Framework)

Framework 測試因為主要的測試項目皆為 TD 9.X 開頭,所以我們說的 Chapter9 或 CV 測試也是在指 Framework 測試。使用的軟體工具是 USB-IF 協會提供的 Command Verifier,目前 CV 工具有 USB30CV、USB20CV、HUB30CV、XHCICV、EHCICV 和 MHU3CV。

一個待測物需要測試其最高速及 High Speed、Full Speed 的 Chapter9,另外還需測試該待測物的 Device Class Test,接著我們將對最常見的 Chapter9 測試做介紹。USB 裝置狀態被分類為以下幾種:

表 1

 

連接 USB3.2 主機(Host)和裝置(Device)後會互相向對方請求許多描述(Descriptor),在請求這些 Descriptor 時會用到 Setup Packet,Setup Packet 的組成整理如下:

表 2

 

bRequest 的標準裝置請求(Standard Device Requests)整理如下表:

表 3

 

在 Framework 測試中,測試目的為待測物的韌體宣告是否正確及小部分的 Function 測試(如:Function Remote Wakeup 和 Enumeration 測試),測試軟體會對我們的待測物發送不同的 bRequest 及 Function 的測試,即可比對待測物的宣告是否如實際狀況相同。當中幾個常見的測試失敗有:U1 及 U2 沒開啟、Self-Power 或 Bus-Power 宣告錯誤、bcdUSB 的版本命名宣告錯誤。

 

USB3.2 Interoperability 測試

在 USB3.2 產品拿認證的測試當中,一定會需要測試產品的功能性,這是 IOP 測試(Interoperability)的目的。測試原理就是將待測物與 Gold Tree 連接之後,進行整個 Gold Tree 及待測物的功能性驗證,若整個 Gold Tree 及待測物的功能性都能夠正常運作,則代表通過此測試。

因 USB 介面最多可以接 5 層 Hub,所以 Gold Tree 的設計都是在這樣的環境下做測試。下圖為USB3.2 Gen2 Peripheral 的 Modified IOP 測試環境範例:

圖 1

 

接著就可利用 IOP 環境圖來測試待測物的功能性,測試步驟整理如表四:

表 4

 

以 USB3.2 Gen2 Peripheral 測試為例子,測試完待測物在其最高速 SuperSpeedPlus 的 IOP 環境之後,還需將待測物分別降速到 SuperSpeed、High Speed 及 Full Speed 的 IOP 環境去做測試,測試步驟整理如表五:

表 5

 

若今天 USB3.2 產品可能是 Compound Device 甚至是要過 Silicon 測試時,所需要測試的 Gold Tree 環境也更為多樣,因測試目的及原理皆大同小異,所以我們就舉一個例子為代表。

另外在 IOP 的 CTS 之中,除了與 Gold Tree 的功能性測試之外,還有與省電狀態相關的 U1/U2 測試及 L1/LPM 測試,針對不同 USB3.2 產品所需測項也整理如表六:

表 6

 

U1/U2 測試、LPM 測試及 L1 測試的測試標準也整理如表七:

表 7

 

最後則是我們 Current Measurement 的部分,用於 Upstream Port 測試,測試目的為待測物在不同狀態時的電流拉載不可超過規範值,以確保待測物的功耗不會過高且在安全的範圍值之內。

Current Measurement 測試會搭配 CV 測試工具,SuperSpeedPlus / High Speed 和 SuperSpeed / High Speed 的 Current Measurement 使用到 USB30CV,High Speed / Full Speed 的 Current Measurement 使用到 USB20CV。在 USB3.2 產品最大電流拉載宣告分有 High Power 及 Low Power 兩種定義整理如下表:

表 8

 

High Speed / Full Speed 的 Current Measurement 測試在 EHCI Controller 下,規範整理如表九:

表 9

 

SuperSpeed / High Speed 的 Current Measurement 測試在 xHCI Controller 下,規範整理如表十:

表 10

 

SuperSpeedPlus / High Speed 的 Current Measurement 測試在 ASMedia Add-in Card(ASM3142)下,規範整理如表十一:

表 11

 

 

參考文獻

  • Universal Serial Bus 3.2 Specification, September 22, 2017
  • Universal Serial Bus Type-C Cable and Connector Specification, July 14, 2017
  • xHCI Interoperability Test Procedures For Peripherals, Hubs and Hosts, Revision 0.95, October 2018

 

作者
GRL 台灣技術工程師 曾威華 Wing Tseng

擅長 USB、PCIe、SATA 介面測試。GRL 技術文章作者及講師。希望幫助大家順利測試拿到介面 Logo,彼此互相交流共同成長飛翔。

 

本文件中規格特性及其說明若有修改恕不另行通知。

發佈日期 2019/07/01 AN-190701-TW