通信類終端的嵌入式USB2.0主機(jī)的測試分析
一 前言
在高速串行技術(shù)如此廣泛應(yīng)用的今天,簡單易用的USB堪稱是PC平臺(tái)上最成功的I/O技術(shù),普及率幾乎100%。而且隨著終端用戶對于高速USB設(shè)備應(yīng)用需求的不斷增加,越來越多的嵌入式通信類終端產(chǎn)品開始增加了USB2.0主機(jī)接口的設(shè)計(jì)以滿足客戶的應(yīng)用需求。成熟的應(yīng)用技術(shù)由PC平臺(tái)轉(zhuǎn)向嵌入式平臺(tái)的已經(jīng)成為一種趨勢。為了滿足USB2.0一致性應(yīng)用的需求,所有的USB2.0設(shè)計(jì)都必須滿足USB IF發(fā)布的USB2.0物理層一致性測試要求。相對于比較成熟的PC平臺(tái)USB2.0 主機(jī)測試技術(shù)而言,基于通信類終端的嵌入式USB2.0 主機(jī)的測試面臨更多的挑戰(zhàn)。特別是進(jìn)行二次開發(fā)的應(yīng)用廠商而言,如何滿足USB2.0物理層一致性測試要求很大程度上需要原廠在測試模式以及測試封包方面提供更多的支持。但應(yīng)用需求的多樣化導(dǎo)致了許多設(shè)計(jì)架構(gòu)脫離了原廠的測試狀態(tài)機(jī)控制范疇,問題接踵而來。
二 嵌入式USB2.0主機(jī)測試
1 產(chǎn)品USB部分原理及測試環(huán)境
產(chǎn)品USB控制原理
USB控制主機(jī)采用某大型通訊類方案提供商的IAD解決方案,片內(nèi)集成一個(gè)USB2.0控制器,然后通過一個(gè)USB HUB中繼對外提供2個(gè)高速主機(jī)接口。
測試設(shè)備:
DUT_USB2.0功能框圖
2 測試中出現(xiàn)的問題
本次測試將主要驗(yàn)證產(chǎn)品上兩個(gè)USB高速主機(jī)接口的眼圖。對于USB2.0物理層的眼圖測試,USB IF在USB2.0 SPEC中有著明確的眼圖模板定義如下:
Transmit Waveform. Template
關(guān)于USB高速主機(jī)眼圖測試的測試方法,USB IF在USB2.0 SPEC中也有清晰的定義,USB2.0主機(jī)控制器必須支持規(guī)定的測試模式。對于眼圖的測試則必須支持TEST Packet測試模式,連續(xù)發(fā)送規(guī)范的測試碼流以測定眼圖模板,上升下降時(shí)間,傳輸抖動(dòng)以及其他的一些AC指標(biāo)。也就是說測試是基于原廠對于測試模式的支持并提供相應(yīng)的Firmware。準(zhǔn)備測試前工程師和原廠溝通后順利拿到了測試Firmware和測試命令。原廠提供的測試方法是在上電啟動(dòng)之后進(jìn)入 CFE模式然后下載和運(yùn)行測試專用Image,這樣就可以使用TEST_Packet命令進(jìn)行眼圖的測試了。測試連接圖示如下:
測試連接圖
一切看起來都是那么的順利,但是當(dāng)我們通過串口進(jìn)行TEST Packet命令下發(fā)之后在兩個(gè)主機(jī)接口卻看不到信號(hào)波形出現(xiàn)。因?yàn)槭堑谝淮芜M(jìn)行嵌入式USB的測試,所以對于出現(xiàn)的問題是沒有任何經(jīng)驗(yàn)可以參考和借鑒的。從串口信息來看是顯示命令下發(fā)成功的,那問題到底出在哪里呢?只有從信號(hào)流向一步一步地查找了。工程師首先測試了USB HUB與CPU之間的UpSTream接口,發(fā)現(xiàn)有相應(yīng)的信號(hào)波形出現(xiàn)。也就是說USB主機(jī)控制器已經(jīng)執(zhí)行了TEST Packet命令并發(fā)送了測試碼流,問題出現(xiàn)在了USB Hub這里,它并沒有向兩個(gè)Down Stream Facing Port轉(zhuǎn)發(fā)碼流。而且原廠提供的命令也很奇怪,根據(jù)有PC主板測試經(jīng)驗(yàn)的工程師的意見,對于HUB的測試應(yīng)該需要指定測試端口才對。而在測試命令中我們并沒有看到相應(yīng)的指令而只有簡單的TEST Packet命令。在詢問了原廠技術(shù)人員后問題有了答案:
(1)原來我們采用的方案只支持一個(gè)USB 主機(jī)接口,所以在片上只集成一個(gè)USB 主機(jī) CONtroller,測試命令也是基于主機(jī)控制器類型的。而我們的板級(jí)應(yīng)用是采用了一個(gè)USB Hub與主機(jī) Controller中繼來實(shí)現(xiàn)多端口應(yīng)用的擴(kuò)展,根本無法進(jìn)行Hub Down Stream Facing Port的測試。
(2)并且原廠的測試是在CFE模式下通過下載運(yùn)行特定的測試程式來進(jìn)行測試,在這個(gè)階段,并沒有實(shí)現(xiàn)USB Hub的初始化以及配置字的操作,也就是說USB Hub是不可控的無法進(jìn)入測試模式的設(shè)定。我們的多USB主機(jī)端口的應(yīng)用設(shè)計(jì)使得系統(tǒng)架構(gòu)中加入了USB Hub進(jìn)行中繼,已經(jīng)超出了原廠設(shè)計(jì)的USB測試狀態(tài)機(jī)控制范疇,導(dǎo)致了無法通過原廠提供的測試命令進(jìn)行測試。再次和原廠技術(shù)支持討論新的測試程式的開發(fā)從時(shí)間說來看已經(jīng)不實(shí)際了,客戶非常關(guān)注并要求我們必須盡快給到USB 主機(jī)的測試報(bào)告。第一次進(jìn)行嵌入式USB 主機(jī)測試就遇到如此棘手的問題,工程師們一時(shí)間束手無策。有沒有另外的方法呢?
評論