<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 串行數(shù)據(jù)一致測(cè)試及調(diào)試系列之五--巧妙測(cè)試嵌入式USB2.0主機(jī)

          串行數(shù)據(jù)一致測(cè)試及調(diào)試系列之五--巧妙測(cè)試嵌入式USB2.0主機(jī)

          作者: 時(shí)間:2017-01-05 來(lái)源:網(wǎng)絡(luò) 收藏

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

          3問(wèn)題分析解決

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

          我們使用了一臺(tái)裝有USB-IF HS Electrical Test Tool的ThinkPad R51作為控制平臺(tái),在按照上面的圖示進(jìn)行測(cè)試連接并將產(chǎn)品上電之后我們?cè)跍y(cè)試工具中選擇了Hub類測(cè)試并發(fā)現(xiàn)了板級(jí)的USB Hub。我們已經(jīng)初步實(shí)現(xiàn)了之前關(guān)于控制系統(tǒng)的設(shè)想,圖示如下:

          在圖示中的Port Control欄中選擇Test Packet命令,在相應(yīng)的Port欄中選擇我們需要測(cè)試的端口如1,示波器上出現(xiàn)了我們期待已久的信號(hào)波形(如下)。按照Lecroy示波器USB2.0測(cè)試軟件中的Step by Step,示波器很快就完成了測(cè)試并輸出了分析報(bào)告。有專業(yè)的分析工具就是不一樣,我們根據(jù)測(cè)試報(bào)告中的關(guān)鍵測(cè)試數(shù)據(jù),優(yōu)化了我們的電路設(shè)計(jì)使得主機(jī)接口的信號(hào)更加理想(圖示如下,本文中不對(duì)分析內(nèi)容進(jìn)行展開(kāi))。

          三 測(cè)試總結(jié)

          此次嵌入式USB2.0主機(jī)接口眼圖的測(cè)試到此算是順利完成了,重新回顧一下我們的測(cè)試過(guò)程,感觸頗深??梢哉f(shuō)因?yàn)槭堑谝淮芜M(jìn)行USB高速主機(jī)接口的測(cè)試,前期的準(zhǔn)備工作并不是很充分。但正是有這些突如其來(lái)的問(wèn)題,讓我們可以更加深入的理解和分析USB技術(shù)的原理和測(cè)試方法,有很多的收獲和經(jīng)驗(yàn)和大家一起分享:

          仔細(xì)和深入的解讀產(chǎn)品的規(guī)范是我們順利進(jìn)行測(cè)試的基礎(chǔ)和依據(jù),例如此次的USB2.0 SPEC。所有的設(shè)計(jì)和測(cè)試都是依據(jù)規(guī)范展開(kāi)的,只有解讀了規(guī)范,才能保證理解USB2.0的內(nèi)部架構(gòu)和狀態(tài)控制機(jī),才能保證測(cè)試的順利進(jìn)行。

          真正理解控制系統(tǒng),此次測(cè)試的關(guān)鍵在于工程師首先理解的USB2.0 SPEC的同時(shí)大膽進(jìn)行了控制主機(jī)的假定替代。用歸一化的方法來(lái)審視我們的控制系統(tǒng)以及層次化系統(tǒng)功能層面是我們進(jìn)行測(cè)試設(shè)計(jì)創(chuàng)新的保證。

          一套真正專業(yè)實(shí)用的分析設(shè)備和工具非常關(guān)鍵,此次使用的美國(guó)力科(Lecory)的數(shù)字示波器和USB2.0分析軟件對(duì)于我們高效的分析信號(hào)和準(zhǔn)確的定位問(wèn)題非常關(guān)鍵。有了專業(yè)儀器廠商的支持才能確保產(chǎn)品的開(kāi)發(fā)進(jìn)度和質(zhì)量。

          當(dāng)然,USB主機(jī)信號(hào)質(zhì)量的測(cè)試不僅僅是眼圖部分,USB IF關(guān)于USB2.0一致性測(cè)試規(guī)范還有很多的測(cè)試項(xiàng)目需要完成。而且對(duì)于嵌入式USB測(cè)試而言,會(huì)面臨更多的挑戰(zhàn),希望本文可以給到從事嵌入式USB開(kāi)發(fā)測(cè)試的工程師一些思路和借鑒。

          [參考文獻(xiàn)]

          1:Universal Serial Bus Specification Revision 2.0,USB IF

          2:USB2_OperatorsManual_RevD ,LeCroy Corporation


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();