2004年USB介面更新版互容性與互通性測試步驟解析

2004-06-16
USB匯流排自從90年代中期問世之後,據估計光是USB介面的連接埠累積數目可能超過10億個,到了2006年的時候,有機會一舉躍過35億個...
USB匯流排自從90年代中期問世之後,據估計光是USB介面的連接埠累積數目可能超過10億個,到了2006年的時候,有機會一舉躍過35億個。而不管數量的實際多寡,USB介面的重要性無可言喻,在各個不同產品之間的互容性與互通性的需求就更為殷切。  

回顧千禧年之際,USB 2.0規格現身就證實此份規格將正式取代舊有規範USB 1.0/1.1,也同時實施Logo圖1的認證制度。可以想像得到,要實踐產品之間互容性與互通性的測試,必然有其方法與步驟的細節描述,以免造成詮釋的不同。2004年2月,USB-IF組織發布一份「Universal Serial Bus Full and Low Speed Electrical and Interoperability Compliance Test Procedure」圖3的文獻,版本為1.3,本文即是該份規格的讀後筆記與摘要。  

USB的LS/FS不是已經一談再談,怎麼又會冒出來一篇新的步驟規範呢?這證實一件事情:即使規格底定,測試的細節還在進化歷程。畢竟,資訊產業的最大變數就是「時間」,譬如該文獻的出現,很容易聯想到USB 2.0高速的裝置,還是有機會插到USB 1.1的HUB上。當然,要降格到舊規格下執行,所以工程測試人員的因應之道就在於要定時地去查閱「http: //www.usb.org/developers/complian. html」。  

一般測試的項目可以歸納成數類以便於描述,也幫助工程人員的邏輯性解析。  

類別一:介面卡、主機板與系統  

‧電壓浮動與電壓降的測試  

‧下游端信號品質的測試  

‧互通性的測試  

類別二:FS/LS的HUB裝置  

‧電壓浮動與電壓降的測試  

‧上游端與下游端信號品質的測試  

‧Device Framework Testing(第9章節與第11章節的互容性測試)  

‧互通性的測試  

‧平均電流的消耗  

類別三:FS/LS的週邊裝置  

‧上游端信號品質的測試  

‧Device Framework Testing(第9章節的互容性測試)  

‧互通性的測試  

‧平均電流的消耗  

類別四:高速週邊與高速HUB裝置  

‧互通性的測試  

‧獨立的高速電氣特性測試  

每一種測試情境需要有各樣治具與儀器準備在先,才會有測試設定的步驟,爾後才有結果的產出。從電氣測試的層面來看,所需要的測試治具或測試夾具,大致上有下列幾個項目:  

‧100mA的負載線路板  

‧500mA的負載線路板  

‧電壓浮動測試線路板  

‧SQiDD測試線路板  

‧5伏特的電源,主要是提供給 HUB裝置  

‧自行提供電源之FS HUB裝置  

‧自行提供電源之HS HUB裝置  

其中的SQiDD測試線路板(請見圖4、圖5),可說是USB測試的重要核心角色。SqiDD是「Signal Quality, Inrush & Droop/Drop」的簡稱,是用來量測信號品質、入侵電流電壓浮動與電壓降等電氣特性參數。顯而易見地,該SQiDD測試線路板主要是區分成三部分,第一部分是連接器AA信號,具有電源斷接追蹤點、入侵電流開關與Vbus電流監督回路;第二部分則是單純的連接器AA信號與電源斷接追蹤點;第三部份是連接器BB信號,具有電源斷接追蹤點、入侵電流開關與Vbus電流監督回路。  

先來探索「電壓降」的測試(請見圖6、圖7)。由於HUB裝置的設計可能是自行提供電源或從介面上取得電源,規範上有差異,因此要分開來討論。  

情形一:自行提供電源的HUB裝置  

由於採用自行提供電源的緣故,可以不考量上游埠的電壓,首先在下游端連接埠不插負載線路板時,量測的電壓值為VNL,也就是該連接埠沒有負載的電壓值。  

爾後,在同一個連接埠插上500mA的負載線路板,再度測量其Vbus上的電壓值,以Vload來稱呼,而Vload的電壓數值必須座落在4.75V與 5.25V之間。此情況下電壓降的定義,就是意指沒有負載的電壓值與有負載的電壓值之差,採用數學式來表達就是:VDROP = VNL - VLOAD  

其餘的下游端連接埠,依樣畫葫蘆重頭徹底地依照次序掃描過,即完成電壓降的測試。  

情形二:從介面上取得電源的HUB裝置  

依然先在下游端連接埠不插負載線路板時,量測的電壓值為VNL,也就是該連接埠沒有負載的電壓值。爾後,在同一個連接埠插上100mA的負載線路板,再度測量其Vbus上的電壓值,以Vload來稱呼,而Vload的電壓數值必須大於4.40V,則此情況下電壓降的定義為HUB裝置上游端到下游端的電壓差,採用數學式來表達就是:  

VDROP = VUPSTREAM - VDOWNSTREAM  

當然,其餘的下游端連接埠也要掃描一次。(筆者按:規格步驟似乎遺漏Vupstream電壓值測定。)  

總之,以上測試的基準,源自於USB 1.1的章節7.2.2的明文指出,自行提供電源的連接埠必須提供4.75V到5.25V的Vbus電壓,而介面上取得電源的HUB裝置,必須具備 4.40V以上的Vbus電源。有趣的是,介面上取得電源的HUB裝置,其VDROP = VUPSTREAM - VDOWNTREAM 必須小於100mV。這個數值是怎樣求來得的?原來是為了確保能夠有4.40V以上的電壓值,並考量HUB裝置上游端連接線有250mV之壓降, 4.75V扣掉250mV再減掉100mV的壓降,就可以滿足規格上的制約數值。  

其次,來談論電壓浮動的測試。USB 1.1規格的章節7.2.4.1規約中,Vbus上的電壓浮動值必須低於330Mv,意思是說,一個100mA負載板的熱差拔,造成鄰接連接埠Vbus的浮動變化。在設定圖中,可以看到一塊電壓浮動的測試夾具圖8的存在。而為了幫助工程師們的測試結果記錄減少失誤,規範中列舉了一個測試結果圖9參考用的表格作為參考(表1)。  

主機端的信號品質測試,關鍵之處在於下游端,基本的一些設備、治具、週邊與附件,當然也是免不了,而為了謹慎起見,請隨時留意http://www.usb.org/developers/docs網站上的更新訊息。  

無論是LS圖10還是FS圖11的信號品質測試,並無需在主機端使用HSET程式來產生介面上的封包傳輸,只需連接USB-IF所認可的週邊裝置,使之動作,並捕捉SOF封包來做眼狀圖分析即可。LS觸發「D-」信號線,FS觸發「D+」信號線,來抓取封包。而測試後的結果報告,信號傳輸率會告知 1.5Mbps或12Mbps,大致上可以從眼狀圖看出成功或失敗、電壓交越點是否正確與結束封包EOP是否正常等。  

有一項稱之為入侵電流(Inrush Current)圖12的測試,其規範值是50.0uC(micro-coulomb),並且要留意自行提供電源的裝置不會量測到此入侵電流數值。至於 HUB裝置下游端的信號品質測試,狀況差不多,請分別LS/FS的設定(請見圖13、圖14)。  

有一個HUB或裝置上游端信號品質的測試圖15就略顯不同,它會使用到HSET的程式,其中,頗值得留意之處在於第一階的HUB必須是高速HS的HUB,連接到系統的EHCI控制器,也就是USB 2.0連接埠。為的是確保「USBHSET」程式圖16可以正常執行。而第二階的HUB也硬性規定為FS的HUB,目的是為了待測裝置DUT或是待測 HUB可以跑在FS模式下,即使有HS傳輸的能力。啟動USBHSET程式選擇「Device」然後點選「Test」。當點選「Enumerate Bus」之後,就會對整個介面連接型態掃描一次,並將枚舉到的裝置排列出來。以圖17的情形為例,所強調指定出來的裝置就是DUT。由此可知,如果讀者進行測試產品的VID/PID與連接樹狀結構的裝置有相同的VID/PID,就比較容易讓人混淆,而如果順利,應該是在表列中的最底層。  

按下執行之後,就可以抓取封包來量測結果,而測試後的結果報告,信號傳輸率會告知1.5Mbps或12Mbps,大致上可以從眼狀圖看出成功或失敗、電壓交越點是否正確與結束封包EOP是否正常等。  

「Device Framework Testing」測試項目圖20需要一個主機端系統與一個平均汲取電流測量的夾具圖19,該治具需要透過USB-IF的管道來取得。每一個主機端系統必須安裝視窗2000或視窗XP,然後運用一個USB-IF網站公開的USBCV(USB Command Verifier)圖21的程式。此測試項目的重要前提是待測裝置必須在視窗環境下工作正常,也就是說在視窗的裝置管理員(Windows Device Manager)中,必須認得到,從技術面來說,就是裝置驅動程式安裝正確無誤。  

點選Chapter 9 Tests圖22之後出現圖23之畫面,此時該程式會先顯示出連接型態中的所有裝置,要求您選擇待測裝置(請見圖24、圖25)。請留意,不要選到HUB 裝置。至於HID裝置與HUB的測試,理念上與上述一致,所以我們將重心擺在平均電流汲取的測量上,而此時,量測夾具與電流表當然就要備妥了。  

平均電流汲取的測量(請見圖26、圖28)依然是運用USBCV程式來處理,而電流汲取的測量圖27,主要著眼的項目有二,分別是尚未組態完成與完成組態的電流消耗。尚未組態完成的狀況,不得超越100mA,否則,視為失敗。若是低功率裝置,是低於100mA。反之,如果為高功率裝置,就不能超過 500mA了。由於週邊裝置之互通性測試涉及到作業系統、主機端與週邊,USB-IF特別規範了一個USB 週邊的完善安排連接型態,稱之為「Gold Tree」圖29,換言之,是最佳的接續組合,且至少能夠提供底下的特性:  

‧提供USB所規範的等時傳輸、控制傳輸、中斷傳輸與大容量傳輸  

‧允許五階的HUB串接  

‧從主機端到最後一個裝置可以有30米長  

‧包含HS高速與全速FS的分支  

‧可以測試UHCI、OpenHCI與EHCI的控制器  

若是裝置屬性特殊需要協助的話,可以電郵TechAdmin@usb.org 尋求資訊。  

另外,USB-IF不僅規劃了「Gold Tree」的連接型態圖,也列出了各個裝置的廠牌型號以供參考(表2)。  

高速HS的裝置,依然得支援全速FS的動作模式,因此,會有HUB FS3的出現,不要忘了每一階層皆是五米的連接線接續。「Gold Tree」的連接型態圖中所出現的Belkin TetraHub F5U231圖30,是一個頗為特殊的裝置。第一個特點,該裝置擁有多重TT(transaction translator)的機能,同時,每一個連接元件的動作模式,或LS或FS或HS,皆會以不同顏色的LED來呈現,讓使用者直接就可了解。  

另外,請務必確保測試用的主機板在BIOS上與驅動程式上完成更新的動作,同時也需要一塊USB OHCI Host PCI介面,並且,需完成在BIOS 中的設定,範例如下:  

‧Plug and Play OS:ON  

‧USB Boot:OFF-. High-Speed USB:ON  

‧S3 Suspend:ON  

‧ACPI:ON  

‧Boot Sequence:1st Floppy, 2nd CD-ROM, 3rd Hard Disk  

‧USB Legacy Support:ON  

‧APIC:ON  

‧Quick Boot:ON  

‧Clear ESCD:YES  

‧Hyper-Threading:ON  

然後,安裝視窗2000 Professional或是視窗XP Professional的作業系統,檔案系統必須是NTFS。目的就是為了確保乾淨的系統。安裝「Gold Tree」,並確定所有的裝置皆可以被系統認得到,動作也正常。  

一切就緒之後,從邏輯上的層面來觀之,就已經涵蓋OpenHCI/UHCI/EHCI以及FS/HS的整體風貌,全面性顧慮到各種排列組合。請參閱圖31 就可以明瞭為何需要安裝一片PCI的USB 2.0介面卡。主機板負責UHCI/EHCI的層面,PCI USB 2.0介面卡則是擔當OpenHCI/EHCI的任務。也許有人會質疑,為何主機板與PCI USB 2.0介面卡兩者同時支援EHCI?這是有緣由的,因為這關係到中止模式S3狀態下Vbus的移走與否。對主機板來說,S3狀態下Vbus並未移除,而配接卡卻是會被移除。  

系統的睡眠模式S1與S3均需測試,至於如何來驗證或檢查是否進入正確的睡眠模式,倒是有一個撇步可供參考,那就是去觀察系統的風扇。S1模式下,風扇會維持運轉,而S3模式則關閉風扇。  

為了簡化測試與方便量測,第一階會安置HS與FS的HUB,再接到「Gold Tree」,方便切換。裝置互通性測試的連接組態就如圖32所示。當然,整個連接型態下的所有裝置均需要能夠正常動作。滑鼠、鍵盤、相機與檔案的複製等皆處於正常狀態,熱插拔、開機等皆必須能夠正常動作。  

比較有意思的地方是S1與S3模式的測試,因為對於S1來說,只要待測裝置有支援遠端喚醒的機能,就必須將它致能,否則,啟動圖中羅技滑鼠的遠端喚醒功能。爾後,可以按下羅技鍵盤的「睡眠」鍵,讓系統進入待命模式,並觀看風扇是否還在運轉。當喚醒系統之後,待測裝置也要一切正常。當然,如果待測裝置有支援遠端喚醒的機能,可以由它來擔當喚醒系統的工作。  

S3狀態的啟動,必先關閉所有USB裝置的遠端喚醒功能,同時依然是按下羅技鍵盤的「睡眠」鍵,讓系統進入待命模式,並觀看風扇沒有運轉,如此就是在S3 模式下。當系統喚醒之後,當然要正常。而如果要切換到UHCI的測試圖33時,連接的型態就略為修改。測試上的細節,與上面的描述一致,理所當然地,也會切換到OHCI上的測試圖34。至於切換到配接卡的EHCI圖35,自然也少不了。  

以上的4種排列組合,基本上可以將使用者在現實環境中的各式各樣實際使用情境,模擬過一次。如果能夠過關斬將,待測裝置可就通過考驗。若是從事製造HUB 的讀者,就得參考HUB互通性測試規範圖36,但是,HUB有一點複雜,它可以是從介面取的電源的裝置,或是自行提供電源的方式,同時還要考量複合性裝置的測試(請見圖37、圖38)。  

仍有一段尚未探索的互通性測試就是主機端互通性圖39的問題。一語道穿,就是主機端控制器在視窗2000與視窗XP的環境下,對於全速與高速「Gold Tree」的處理能力必須可以共同執行中斷傳輸、等時傳輸與大容量傳輸等。  

最後,有一項稱之為「Back-voltage」的測試(請見圖40、圖41),在USB規格的章節7.2.1中明文說到沒有任何的裝置在其上游端的 Vbus可提供任何電流。換句話說,就是唯有能夠汲取電流的意思。一旦,沒有滿足規範的條例,有機會造成主機端或HUB的失誤。要留意之處,就是所有的 USB 裝置,不管是如何來取得電源,均需要實施該項測試。不過,也需要仰賴夾具的協助,才能達成。  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!