|
USB 相容性測試概述 |
【作者: Steve Kolokowski】 2004年11月04日 星期四
|
|
瀏覽人次:【15482】
USB得以成功的其中一項秘訣,在於完善的相容性測試程序。這道程序能檢測裝置是否符合規範並能否與其他USB裝置共同運作,唯有通過相容性測試的裝置才能貼上USB的認可標籤。目前相容性測試有兩種途徑,可分別透過USB Compliance Workshop(Plugfests)或透過個別的測試實驗室進行測試。以上兩種方式都能將通過檢測的裝置列入符合規範USB裝置的整合廠商名單中。
![《圖二 USB全速模式(Full-speed)的標籤》](/art/2004/11/041046380984/p2.gif)
《圖二 USB全速模式(Full-speed)的標籤》 |
|
|
測試目的
USB IF所進行的相容性測試是為了確保所有使用者能使用正常運作的USB裝置,由於所有USB廠商間彼此互相依賴以建立商譽,因此這套測試過程亦顯得格外重要。若是有任何一位使用者不滿意其使用的USB裝置,那麼很可能就會連帶影響使用者後續使用其他USB裝置的意願。
測試內容簡述
相容性測試的目的是確認裝置是否能在不同的層級中運作。而透過gold tree測試模式可檢驗出驅動程式於Windows環境下的表現,同時可檢測裝置在「真實情況」下是否能不受其他裝置的干擾並繼續正常運作。而USB Command Verifier則是根據USB規格書第9章中所要求的SETUP commands來檢測裝置。另外,電氣套件(electrical suites)則負責檢測USB信號(signaling)是否與電源相符合。
所謂的gold tree包含了一部正常運作的個人電腦、一組EHCI與UHCI主控端的控制器、一組五層深的集線器堆疊、一部USB攝影機、一部USB大量儲存裝置以及HID人性化介面(Human Interface)裝置。利用gold tree測試能提供裝置檢測以確保USB在熱插拔(hot-plugging)的動作下,仍可正常運作於環境中的許多節點。此外,gold tree測試也可確認USB裝置能在S3待機時(此處VBUS仍正常運作)、在休眠(Hibernate)狀態下(此時VBUS已被移除)或是在主控端熱開機與冷開機時仍以高速(high-speed)與全速(full-speed)模式下運作。
USB Command Verifier(USBCV)是Windows的應用程式,目前的版本能夠在Windows 2000或XP作業系統上執行。USBCV特別裝設一個主控端堆疊,以方便直接存取主控端的控制器。在這個程式下所執行SETUP指令不會在一般的作業系統上看到。如果裝置是利用韌體的控制方式處理SETUP指令,那麼這個程式可能會導致一些錯誤產生。
此外,electrical suites可檢測裝置是否符合信號與電源方面的規範。目前的電流消耗測試可檢查待機電流、未設定電流及設定電流在高速與全速模式下的耗電量。而訊號品質測試目的是測量USB裝置傳輸訊號的眼圖(eye diagram);同時,接收器靈敏度測試能驗證在高速模式下的失真度以及規範邊界值處的接收端靈敏度。
目前多數的設計都會採用經過認可的收發器,因此主要在Plugfest所發現的電氣問題都是最大電流(current draw)所致。裝置上一些浮接的腳位極有可能使待機電流超過在嚴格規範下的500uA;另外,供電裝置通常無法符合100mA未設定電流或500mA已設定電流的限制。因此,自行供電的裝置通常無法在pull-ups連線到D+或D-之前偵測到VBUS。
需要通過那些驗證?
為了通過相容性測試,裝置本身必須要能符合所有的USB電氣、Gold Tree全套測試以及通過80%的共容測試。同時,也需提出完整的相容性檢查清單。這份清單主要是由設計人員填寫,列出一些可能導致測試失敗的常見USB錯誤設計;同時,也要詳列出產品使用的連接器、纜線與半導體元件等受到認可的零件測試識別號(Test Ids,TIDs)。這些識別號可至USB.org網站的會員區查詢,或直接由廠商提供。
如何檢測裝置?
一些獨立的實驗室提供收費測試裝置,可以在任何時間依客戶所需提供迅速的相容性測試,而無須等待Plugfest的作業。這樣的檢測過程能善用研發資源以便執行其他工作。此外,某些獨立實驗室亦提供額外付費的除錯服務。
Plugfests每年於兩至三個月舉辦一次,一般是從週二下午一直到週五早上為止,讓大多數的人有足夠的時間往返。Plugfests提供現場測試的機會以檢驗錯誤的原因,許多人可立即修正錯誤並當場進行重新測試。
在Plugfest中,每個系統與集線器廠商都有固定的測試範圍,稱為測試套件(test suite)。裝置與集線器會在不同的測試套件之間進行相容性的測試,由於集線器廠商既為系統廠,同時也是設備廠;因此它們必須當成測試套件進行測試,並且也要像裝置一樣完成許多不同的測試。
測試實驗室
Plugfest
無須送測人員
工程師或技術人員需花費3~4天的時間配合測試。集線器需要兩位人員:其中一位進行系統測試套件,另一位則進行裝置的測試
每項物品需花費2000~5000美元
USB I/F會員免費,不包含時間與旅費支出等花費。
需付費但享有無限諮詢服務
現場有USB的專業人員協助除錯,但必須與其他也想通過測試的50位會員共享這項資源
隨時可測試
每年舉辦4~5次
暴露最少的原型硬體
會暴露主控端、集線器與驅動程式的原型
隱密性較高
隱密性較低
送測相關程序
加入USB IF或註冊USB的標籤
裝置需要廠商識別號(Vendor ID)以進行識別,常見的識別號取得方法有兩種,可選擇加入USB IF並每年支付2500美元的會費或者註冊USB標籤但不加入USB IF,所需費用為每兩年1500美元。USB I/F所提供的優勢為::
- ●免費的設備相容性研討會(Plugfests);
- ●免無須標籤使用權管理費;
- ●免提供免費的廠商識別號(若參加廠商尚未申請);
- ●免參加發展廠商研討會(Developer Conferences)或在電子商店消費等均有折扣 ;
- ●免提供參加USB IF的產業活動的機會,例如IDF和WinHEC booths等 ;
- ●免提供參加USB IF的市場計畫的機會,例如零售訊息報導、商店訊息及未來的產品等;
- ●免提供參與USB IF的會議的機會,例如DWG、市場會議與規範會議
- 免五份免費的規格書 。(資料來源為usb.org網站)
選擇測試工作室或Plugfest
若選擇參加plugfest,由於其經常於開放註冊後短時間內就額滿了,因此必須留意網頁訊息,並事先註冊登入Plugfest的網頁;同時,需成為USB IF的會員方能參加Plugfest進行測試。
完成相容性測試列表
如果在產品設計階段曾參閱相容性測試列表,可以事先避免許多USB裝置中常見的設計問題。倘若尚未完成列表,那麼請務必填妥這份文件。
預先測試裝置
在測試的過程中,預先測試裝置將是能否成功通過測試的最大關鍵,畢竟多倏人不會希望在尚未確定裝置是否能完整運作時就進行展示。相容性測試其實就是展示裝置是否能夠在一般使用者的環境下進行正常運作。讀者可至http://www.usb.org/developers/docs#comp_test_procedures下載適合裝置使用的測試程序以進行預先測試,並且利用現有的設備,徹底執行可事先進行的檢測。在Plugfest中約有三分之一的裝置無法通過測試,多半是因為在一些簡單的測試中即出現像是D+的回饋訊號或是不正常的電流等問題。
相關產品的認可
當產品之間的設計十分類似時,一但其中的一項產品通過測試,那麼其他的產品也可以相繼加至整合廠商的名單內。由於許多OEM廠商會購買整合廠商列表中的USB介面板,如此一來相關產品也會因有極高的類似性而獲得廠商認可。
然而,如果該產品之間有「明顯差異」,那麼仍需個別進行測試。對於「明顯差異」的定義仍有待商榷,而最後將由相容性審查委員會負責判定,並且會於USB IF的理事會中提出報告。一旦訂定出「明顯差異」的規則後,其內容將會公布於 http://www.usb.org/developers/compliance/上以提供參考,能確保送測的產品與每家廠商間沒有「明顯差異」的存在。而USB IF的稽查則將判定該出貨產品與送測樣品間是否存在差異性,若有,就必須重新將產品送測。關於使用USB-IF標籤的相關權利影響都規範在標準的標籤許可協議書之內。(資料來源:USB.org網站)
需重新測試的狀況
- ●微控制器(microcontroller)的設計改變,如新的架構或新的產品家族發表 ;
- ●印刷電路板上的連接器線路 。
無需重新測試的狀況
- ●產品封裝改變,如顏色與形狀等變化;
- ●微控制器廠商變更,如非電路板佈線改變或無任何韌體變更。除非有新的微控制器列於整合廠商名單中才需重新送測 ;
- ●微控制器韌體變更,且其模組的變更與USB功能無關;
- ●連接器的顏色與圖案。
重新測試的需求
一旦裝置列於整合廠商名單內,就必須要維持原有的USB電路設計。對於是否須針對修改過的裝置進行重新測試,其規則就如同上述其他類似的裝置測試的規範。
寬鬆認可(Waivers)
當裝置僅輕微地超出規範的範圍時,寬鬆認可(waivers)的規則可允許這些裝置列入整合廠商名單中。舉例來說,在現行高速模式測試程序中,如果裝置僅無法通過第五層集線器的測試時,仍核准該裝置通過高速模式的電氣測試。然而寬鬆認可只是裝置製造商與USB IF間的暫時協議。一旦該USB設計獲得改善,則該產品就不再屬於寬鬆認可。寬鬆認可的核定是由相容性審查委員會(crb@usb.org)所做的決定。(作者任職於Cypress)
color="#FFFFFF" text="#000000">
|