新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 巧妙測試嵌入式USB2.0主機接口信號質量

        巧妙測試嵌入式USB2.0主機接口信號質量

        作者: 時間:2012-07-10 來源:網絡 收藏

        中心議題:

        本文引用地址:http://www.104case.com/article/193619.htm

        產品中主機接口的眼圖

        機理

        解決方案:

        使用PC主機替代控制主機

        對產品板級 Hub進行Down Stream Facing Port 的Test Packet

        〔摘要〕本文主要討論了某款產品中USB主機接口的眼圖測試。通過一個測試案例展開了對USB2.0測試機理的探討,對后續的嵌入式產品USB2.0主機測試有一定的參考意義。

        〔關鍵詞〕嵌入式,USB2.0

        〔略縮語〕USB IF:USB Implementers Forum, Inc.

        一 前言

        在高速串行技術如此廣泛應用的今天,簡單易用的USB堪稱是PC平臺上最成功的I/O技術,普及率幾乎100%。而且隨著終端用戶對于高速USB設備應用需求的不斷增加,越來越多的嵌入式通信類終端產品開始增加了USB2.0主機接口的設計以滿足客戶的應用需求。成熟的應用技術由PC平臺轉向嵌入式平臺的已經成為一種趨勢。為了滿足USB2.0一致性應用的需求,所有的USB2.0設計都必須滿足USB IF發布的USB2.0物理層一致性測試要求。相對于比較成熟的PC平臺USB2.0 主機測試技術而言,基于通信類終端的嵌入式USB2.0 主機的測試面臨更多的挑戰。特別是進行二次開發的應用廠商而言,如何滿足USB2.0物理層一致性測試要求很大程度上需要原廠在測試模式以及測試封包方面提供更多的支持。但應用需求的多樣化導致了許多設計架構脫離了原廠的測試狀態機控制范疇,問題接踵而來。

        二 嵌入式USB2.0主機測試

        1 產品USB部分原理及測試環境

        產品USB控制原理

        USB控制主機采用某大型通訊類方案提供商的IAD解決方案,片內集成一個USB2.0控制器,然后通過一個USB HUB中繼對外提供2個高速主機接口。

        測試設備:

        1.jpg

        2.jpg

        DUT_USB2.0功能框圖

        2 測試中出現的問題

        本次測試將主要驗證產品上兩個USB高速主機接口的眼圖。對于USB2.0物理層的眼圖測試,USB IF在USB2.0 SPEC中有著明確的眼圖模板定義如下:

        3.jpg

        Transmit Waveform Template

        關于USB高速主機眼圖測試的測試方法,USB IF在USB2.0 SPEC中也有清晰的定義,USB2.0主機控制器必須支持規定的測試模式。對于眼圖的測試則必須支持Test Packet測試模式,連續發送規范的測試碼流以測定眼圖模板,上升下降時間,傳輸抖動以及其他的一些AC指標。也就是說測試是基于原廠對于測試模式的支持并提供相應的Firmware。準備測試前工程師和原廠溝通后順利拿到了測試Firmware和測試命令。原廠提供的測試方法是在上電啟動之后進入CFE模式然后下載和運行測試專用Image,這樣就可以使用Test_Packet命令進行眼圖的測試了。測試連接圖示如下:

        11.jpg

        測試連接圖

        一切看起來都是那么的順利,但是當我們通過串口進行Test Packet命令下發之后在兩個主機接口卻看不到信號波形出現。因為是第一次進行嵌入式USB的測試,所以對于出現的問題是沒有任何經驗可以參考和借鑒的。從串口信息來看是顯示命令下發成功的,那問題到底出在哪里呢?只有從信號流向一步一步地查找了。工程師首先測試了USB HUB與CPU之間的Upstream接口,發現有相應的信號波形出現。也就是說USB主機控制器已經執行了Test Packet命令并發送了測試碼流,問題出現在了USB Hub這里,它并沒有向兩個Down Stream Facing Port轉發碼流。而且原廠提供的命令也很奇怪,根據有PC主板測試經驗的工程師的意見,對于HUB的測試應該需要指定測試端口才對。而在測試命令中我們并沒有看到相應的指令而只有簡單的Test Packet命令。在詢問了原廠技術人員后問題有了答案:

        (1)原來我們采用的方案只支持一個USB 主機接口,所以在片上只集成一個USB 主機 Controller,測試命令也是基于主機控制器類型的。而我們的板級應用是采用了一個USB Hub與主機 Controller中繼來實現多端口應用的擴展,根本無法進行Hub Down Stream Facing Port的測試。

        (2)并且原廠的測試是在CFE模式下通過下載運行特定的測試程式來進行測試,在這個階段,并沒有實現USB Hub的初始化以及配置字的操作,也就是說USB Hub是不可控的無法進入測試模式的設定。我們的多USB主機端口的應用設計使得系統架構中加入了USB Hub進行中繼,已經超出了原廠設計的USB測試狀態機控制范疇,導致了無法通過原廠提供的測試命令進行測試。再次和原廠技術支持討論新的測試程式的開發從時間說來看已經不實際了,客戶非常關注并要求我們必須盡快給到USB 主機的測試報告。第一次進行嵌入式USB 主機測試就遇到如此棘手的問題,工程師們一時間束手無策。有沒有另外的方法呢?

        3 問題分析解決

        在和客戶方面的資深工程師分析和討論之后,我們有了一個非常巧妙的解決方案,當然還需要實際的測試來驗證。USB專業測試人員都知道,USB IF針對USB一致性測試提供了一個專用測試工具 (USB-IF HS Electrical Test Tool)以方便開發者進行相關的USB測試。但這個工具只能運行在PC主機上,而我們的嵌入式系統其實也是通過相應的底層命令來實現這個工具相關的測試功能。從測試拓撲來看,我們目前的問題主要在于嵌入式控制主機無法實現對USB Hub的控制和測試模式設定。從控制系統的角度來說,不管是嵌入式控制主機還是PC主機都實現的是USB主機控制器的作用,也就是說我們可以使用PC主機替代嵌入式控制主機,在一臺裝有USB-IF HS Electrical Test Tool的PC上對產品板級USB Hub進行Down Stream Facing Port的Test Packet測試了。當然,我們首先要斷開嵌入式控制主機與USB Hub之間的Up Stream Facing Port并飛線與PC主機的USB接口連接。因為測試單扳本身提供5V供電,所以我們只需要飛出D+/D-/GND三線即可。完成后的圖示如下:

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        關鍵詞: USB 2.0 測試 嵌入式

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 定兴县| 岳阳县| 新余市| 石泉县| 浠水县| 油尖旺区| 西峡县| 富民县| 禄劝| 武夷山市| 咸丰县| 屯昌县| 南阳市| 鄂州市| 东安县| 嘉祥县| 临江市| 康保县| 正宁县| 梧州市| 汝阳县| 乐安县| 黑龙江省| 罗城| 巨野县| 东丽区| 柳州市| 乌拉特后旗| 靖宇县| 沂水县| 清涧县| 临泉县| 云浮市| 屯门区| 乌兰浩特市| 柯坪县| 彰化县| 镶黄旗| 扎鲁特旗| 潢川县| 乐安县|