• 
    
  • <b id="v2xdt"></b>

          <strong id="v2xdt"></strong>

          <strong id="v2xdt"></strong>

          在線客服
          首頁(yè) > 技術(shù)文章 >
          技術(shù)文章
          技術(shù)文章

          USB協(xié)議分析儀大比拼

          一、USB通信協(xié)議 是什么?

          USB是一種支持在USB主機(jī)和USB設(shè)備之間進(jìn)行串行數(shù)據(jù)傳輸?shù)耐ㄐ艆f(xié)議。主機(jī)作為總線的主叫方,采用兩種信令模式:全速模式12Mb/s和低速模式1.5Mb/s。USB使用四種數(shù)據(jù)傳輸方式:控制傳輸(control)、中斷傳輸(interrupt)、批量傳輸(bulk)及等時(shí)傳輸(isochronous)。其中控制模式主要用于控制指令傳輸及USB規(guī)范的實(shí)現(xiàn),等時(shí)傳輸主要用于音頻及視頻傳輸。USB通過(guò)兩次總線列舉(Enumeration and Renumertion)來(lái)實(shí)現(xiàn)設(shè)備識(shí)別以及驅(qū)動(dòng)程序析加載。其具體過(guò)程為:USB設(shè)備連到主機(jī)后,主機(jī)依據(jù)USB規(guī)范在特定地址通過(guò)端口0(endpoint0)與外設(shè)通信,并將外設(shè)視為默認(rèn)設(shè)備。外設(shè)與主機(jī)通信將其6設(shè)備標(biāo)識(shí)(DID、PID、VID)發(fā)給主機(jī)進(jìn)行第二次總線列舉。主機(jī)根據(jù)設(shè)備標(biāo)識(shí),加載相應(yīng)設(shè)備驅(qū)動(dòng)程序,重新分配地址,并將控制權(quán)轉(zhuǎn)交給外設(shè)固件(firmware),通過(guò)固件與設(shè)備驅(qū)動(dòng)程序及主機(jī)應(yīng)用程序的交互通信,來(lái)實(shí)現(xiàn)外設(shè)的功能。

          二、USB通信協(xié)議——數(shù)據(jù)交易

          表列出了組成4種傳輸類(lèi)型的元素。在這里,讀者就需要注意一些通信協(xié)議的結(jié)構(gòu)。例如,傳輸與數(shù)據(jù)交易、數(shù)據(jù)交易與封包、封包與字段之間的關(guān)系。當(dāng)然,這是相當(dāng)復(fù)雜且容易弄混淆的地方。其中,傳輸包含1個(gè)或是更多的數(shù)據(jù)交易,每一個(gè)數(shù)據(jù)交易又包含1個(gè)、2個(gè)或是3個(gè)封包。而封包中,又包含封包標(biāo)識(shí)符(PID)字段、檢查字段(CRC)以及額外的信息字段。

          表 傳輸類(lèi)型、數(shù)據(jù)交易與封包的關(guān)系表

                 *每一個(gè)封包是往下端接口傳遞出去的,若是低速,前面還會(huì)再放置PRE封包。

          因此,若要了解完整的USB通信協(xié)議就必須從數(shù)據(jù)域談起。通過(guò)由下而上,從簡(jiǎn)易至復(fù)雜的通信協(xié)議單位來(lái)組合出各種復(fù)雜的通信協(xié)議,進(jìn)而構(gòu)建出完整的通信協(xié)議。

          從表的第2欄中,可以知道其中包含了3種數(shù)據(jù)交易類(lèi)型。這3種數(shù)據(jù)交易是根據(jù)其目的與數(shù)據(jù)流方向來(lái)決定的。其中,SETUP數(shù)據(jù)交易用來(lái)送出控制傳輸要求給設(shè)備;IN數(shù)據(jù)交易是數(shù)據(jù)從設(shè)各傳回主機(jī);OUT數(shù)據(jù)交易是將數(shù)據(jù)傳送出去給設(shè)各。每一個(gè)數(shù)據(jù)交易中,包含了辨識(shí)、錯(cuò)誤檢核、狀態(tài)以及控制信息,同樣也包含了要交換的數(shù)據(jù)等。此外,一個(gè)完整的數(shù)據(jù)交易可能占用多個(gè)幀。但是數(shù)據(jù)交易卻是一個(gè)實(shí)現(xiàn)USB通信協(xié)議的最基本的結(jié)構(gòu)組成。也即是,在總線上沒(méi)有任何通信能夠去切斷該數(shù)據(jù)交易的溝通過(guò)程。當(dāng)然,除非是錯(cuò)誤的USB通信過(guò)程。

          此外,一個(gè)小量數(shù)據(jù)的傳輸也許僅需一個(gè)數(shù)據(jù)交易。如果是大量的數(shù)據(jù),傳輸可能就需使用多個(gè)數(shù)據(jù)交易,每一次傳輸一部分?jǐn)?shù)據(jù)。讀者或許會(huì)認(rèn)為表的通信協(xié)議的結(jié)構(gòu)非常復(fù)雜。其中,尤其是第1欄所列的控制傳輸是較為嚴(yán)謹(jǐn)與必須去實(shí)現(xiàn)的。

          根據(jù)上述不同封包的組合與搭配就可以執(zhí)行各種數(shù)據(jù)交易。但最重要的是,數(shù)據(jù)交易的格式必須與前面所提及的4種傳輸類(lèi)型互相配合。這是因?yàn)椴煌膫鬏旑?lèi)型就會(huì)執(zhí)行不同的數(shù)據(jù)交易。其中,除了等時(shí)傳輸外,控制傳輸、中斷傳輸與批量傳輸都以下列的3個(gè)階段來(lái)組成一個(gè)數(shù)據(jù)交易的動(dòng)作。

                 等時(shí)傳輸卻只有包含如下所列的2個(gè)階段而已。若等時(shí)傳輸在傳輸?shù)倪^(guò)程中發(fā)生錯(cuò)誤,不會(huì)重送一次,所以也就不具有握手階段。

                 因此,為了方便讀者的記憶與了解整個(gè)USB的通信協(xié)議,在此以一個(gè)較簡(jiǎn)易的方式來(lái)向讀者介紹。即是通過(guò)一個(gè)小口訣來(lái)介紹USB通信概念。這個(gè)口訣即是:5 4 2 3 3,如圖所示。

                 這個(gè)口訣相當(dāng)簡(jiǎn)單,有點(diǎn)像是通關(guān)秘訣,而整個(gè)數(shù)字的順序即可串聯(lián)出USB的通信協(xié)議。5,4,2即分別為每個(gè)封包(令牌、數(shù)據(jù)與握手)的字段數(shù)目,其后的3則為實(shí)現(xiàn)一個(gè)數(shù)據(jù)交易所需的3個(gè)封包階段(令牌、數(shù)據(jù)與握手),而最后的3則為實(shí)現(xiàn)一個(gè)控制傳輸所需的3個(gè)數(shù)據(jù)交易層。讀者可以對(duì)照表,且只須以這個(gè)簡(jiǎn)易的數(shù)字順序,從下層到上層,即可構(gòu)建出一個(gè)完整的控制傳輸。而以下,先從USB封包類(lèi)型與其所包含的字段來(lái)談起。

                 北京迪陽(yáng)公司推出市場(chǎng)上最暢銷(xiāo)的USB協(xié)議分析儀. 價(jià)格:5500元起

           

          USB協(xié)議分析儀是USB產(chǎn)品的開(kāi)發(fā)和測(cè)試工具,它記錄在USB總線上發(fā)送和接收的數(shù)據(jù),通過(guò)上位機(jī)軟件提供的強(qiáng)大的分析和篩選功能,迅速定位數(shù)據(jù)中存在的錯(cuò)誤和問(wèn)題,從而改善USB產(chǎn)品的開(kāi)發(fā)質(zhì)量,縮短開(kāi)發(fā)周期。是USB產(chǎn)品開(kāi)發(fā)人員和USB設(shè)備制造工廠理想的測(cè)試設(shè)備。

          HD-USB12 USB協(xié)議分析儀支持USB1.1低速及USB2.0全速設(shè)備。

          通過(guò)連接一臺(tái)全速USB集線器(Full-Speed USB Hub),HD-USB12 USB協(xié)議分析儀也可以支持USB2.0高速設(shè)備。

           功能特點(diǎn)

           1、 非侵入式全速/低速USB數(shù)據(jù)總線傳輸監(jiān)測(cè);

           2、 自動(dòng)識(shí)別全速/低速USB設(shè)備;

           3、 支持21ns分辨率數(shù)據(jù)時(shí)序顯示;

           4、 支持實(shí)時(shí)數(shù)據(jù)過(guò)濾,方便迅速定位數(shù)據(jù);

           5、 支持重復(fù)數(shù)據(jù)包壓縮。

           6、支持OTG (On-The-Go)——記錄及分析HNP 及 SRP協(xié)議, 包括捕獲VBus及D+/D-脈

          7、支持USB1.1 及 USB 2.0 低速、全速及高速數(shù)據(jù)通訊的采集

          8、支持 VBus電壓電流監(jiān)控;

          9、記錄容量不受限制——可以長(zhǎng)時(shí)間大容量數(shù)據(jù)通訊捕獲及記錄,數(shù)據(jù)存儲(chǔ)于系統(tǒng)硬盤(pán);

          10、無(wú)干擾高阻抗端口——確保對(duì)USB端口通訊無(wú)干擾;

          11、支持任意設(shè)備類(lèi)——不但支持目前已有的設(shè)備類(lèi)還支持未知的設(shè)備類(lèi)協(xié)議分析;

          12、任意可編程觸發(fā)——用戶可以隨意設(shè)置多個(gè)觸發(fā)條件;

           硬件連接

           上圖顯示了兩種不同類(lèi)型的硬件連接方式。

          方式一:
          監(jiān)控計(jì)算機(jī)與USB主機(jī)使用同一臺(tái)PC機(jī);
          在這種連接方式下,如果監(jiān)控計(jì)算機(jī)上安裝有其它全速或低速USB設(shè)備,監(jiān)控計(jì)算機(jī)向這些設(shè)備廣播的數(shù)據(jù)包將會(huì)被“HD-USB12協(xié)議分析儀”捕捉并顯示,這些不需要的數(shù)據(jù)可以使用過(guò)濾“IN(Orphaned)”數(shù)據(jù)包的方式濾除(詳見(jiàn)《操作手冊(cè)》4.2.4之第6小點(diǎn))。

          方式二:
          監(jiān)控計(jì)算機(jī)使用獨(dú)立的PC機(jī),USB主機(jī)使用另外一臺(tái)PC機(jī)或其它形式的USB HOST。

          硬件連接注意事項(xiàng):
          1、監(jiān)控計(jì)算機(jī)端口必須使用USB2.0高速端口,并直接連接至電腦主板。其長(zhǎng)度不應(yīng)超過(guò)2米;
          2、從USB設(shè)備到USB主機(jī)的電纜長(zhǎng)度之和不應(yīng)超過(guò)5米;
          3、USB主機(jī)電纜最好直接連接至主機(jī)主板,以減少數(shù)據(jù)采集時(shí)的傳輸錯(cuò)誤。

          使用方法

            要使用“HD-USB12協(xié)議分析儀”對(duì)某個(gè)USB設(shè)備進(jìn)行數(shù)據(jù)分析,可按照以下步驟操作:
          1、將分析儀監(jiān)控端(MONITOR)用USB電纜連接至監(jiān)控計(jì)算機(jī)(監(jiān)控計(jì)算機(jī)的USB端口必須為2.0高速端口);
          2、將分析儀捕獲端端口USB I或端口USB II用USB電纜連接至USB主機(jī),注意:此時(shí)暫不連接USB設(shè)備;
          3、在監(jiān)控計(jì)算機(jī)上運(yùn)行“HD-USB12”軟件,在軟件的狀態(tài)欄上可以看到分析儀與監(jiān)控計(jì)算機(jī)的連接狀態(tài)。確保分析儀與監(jiān)控計(jì)算機(jī)已連接;
          4、單擊工具條上的“設(shè)置”按鈕,設(shè)置合適的數(shù)據(jù)緩沖區(qū)限制及數(shù)據(jù)緩沖區(qū)增量,緩沖區(qū)大小不應(yīng)超過(guò)系統(tǒng)可用內(nèi)存的50%。默認(rèn)的數(shù)據(jù)緩沖區(qū)為128M;默認(rèn)的數(shù)據(jù)緩沖區(qū)增量為2M;
          5、在“數(shù)據(jù)過(guò)濾區(qū)域”中設(shè)置過(guò)濾條件,以濾除不需要的數(shù)據(jù)包。過(guò)濾條件設(shè)置完成后用鼠標(biāo)單擊工具欄的“過(guò)濾”按鈕啟動(dòng)過(guò)濾;
          6、在軟件工具條上用鼠標(biāo)單擊“ 開(kāi)始”按鈕啟動(dòng)數(shù)據(jù)采集;
          7、將分析儀另一個(gè)捕獲端端口用USB電纜連接至需要分析的USB設(shè)備,此時(shí)捕獲的USB設(shè)備總線數(shù)據(jù)將實(shí)時(shí)顯示在監(jiān)控計(jì)算機(jī)的軟件中。

             單擊軟件工具條上“停止”按鈕可停止數(shù)據(jù)采集。
             可以在數(shù)據(jù)捕獲之前,數(shù)據(jù)捕獲當(dāng)中或數(shù)據(jù)捕獲之后在“數(shù)據(jù)過(guò)濾區(qū)域”中設(shè)置不同的過(guò)濾條件,以快速獲得需要的數(shù)據(jù)包。
             選擇“文件”菜單的“保存”命令,可將捕獲的數(shù)據(jù)保存為擴(kuò)展名是.USB的二進(jìn)制文件;
             選擇“文件”菜單的“導(dǎo)出”命令,可將過(guò)濾后的數(shù)據(jù)保存為擴(kuò)展名是.USB的二進(jìn)制文件。

          性能指標(biāo)

          1、 監(jiān)控USB端口:;USB2.0 High Speed

          2、 采集USB端口支持:USB2.0 Full Speed&USB1.1 Low Speed

          3、 采集端消耗電流:<8mA

          4、兼容于所有USB2.0 的三種速度;

          5、于測(cè)試速度下自動(dòng)發(fā)現(xiàn)鏈接;

          6、USBbus 狀態(tài)與低階protocols 的量測(cè);

          7、支持每個(gè)研發(fā)人員均可擁有一部的可負(fù)擔(dān)價(jià)格;

          8、非侵入式分析;

          9、小型但強(qiáng)健的封裝,電源由USB 供給;

          10、絕佳的Off-Site 介入;

          11、以高速USB2.0 連接實(shí)時(shí)地下載分析的數(shù)據(jù);
          12、可加附式(Scalable) 設(shè)計(jì)的硬件;

          13、可顯示Transactions 與傳輸?shù)膶蛹?jí)(Transfers Layers);
          14、需求及描述元(Descriptor) 之高階解碼;
          15、功能強(qiáng)大的顯示過(guò)濾器;
          16、可以多種形式(XML 、text 、raw 等等)輸出分析過(guò)的數(shù)據(jù);
          17、有條理的明細(xì)表顯示;
          18、有軟件開(kāi)發(fā)套件可利用;
          19、免費(fèi)的Viewer 軟件。

          USB協(xié)議分析儀在實(shí)際USB連通中的作用

          在現(xiàn)代電子設(shè)備中,越來(lái)越多的使用USB接口,不僅因?yàn)槠涫褂梅奖悖床寮窗危驗(yàn)槠鋬r(jià)格低廉,協(xié)議開(kāi)放,而廣泛使用在各種電子設(shè)備上,并且已經(jīng)發(fā)展為不可缺少的一種接口形式。但USB接口的開(kāi)發(fā)過(guò)程中,對(duì)于工程師來(lái)說(shuō)還是會(huì)遇到這樣或那樣的問(wèn)題,如何提高調(diào)試效率,縮短研發(fā)周期,就需要一種調(diào)試測(cè)試工具——USB協(xié)議分析儀。

          USB協(xié)議分析儀

          USB協(xié)議分析儀是協(xié)議層的分析工具,是測(cè)試設(shè)備的一種。對(duì)于USB這種高速串行總線來(lái)說(shuō),僅僅進(jìn)行物理層測(cè)試是遠(yuǎn)遠(yuǎn)不夠的,由于在高低電平中寓含著豐富的指令,傳遞著大量信息。所以對(duì)于USB傳輸協(xié)議就需要專(zhuān)用的USB協(xié)議分析儀來(lái)分析測(cè)試,USB協(xié)議分析儀是按照標(biāo)準(zhǔn)的USB協(xié)議來(lái)分解數(shù)據(jù),將包含有用信息的數(shù)據(jù)提取出來(lái),并解釋這些數(shù)據(jù)的含義。隨著設(shè)備之間傳遞數(shù)據(jù)速度的不斷提高,越來(lái)越多的高速串行總線被使用,如SATA、SAS、Ethernet、FC等等,這些高速串行總線也同樣有其協(xié)議分析工具。

          為了讓讀者更好的了解USB協(xié)議分析儀的功能與用途,本文列舉一個(gè)調(diào)試USB通信的小例子。

          實(shí)驗(yàn)環(huán)境

          如圖所示,左側(cè)計(jì)算機(jī)安裝USB協(xié)議分析儀軟件,加上USB協(xié)議分析儀主機(jī)構(gòu)成USB協(xié)議分析系統(tǒng)。DE2實(shí)驗(yàn)板作為USB設(shè)備,右側(cè)計(jì)算機(jī)安裝應(yīng)用程序?qū)E2進(jìn)行操作。我們主要關(guān)心安裝有應(yīng)用程序的計(jì)算機(jī)與DE2實(shí)驗(yàn)板之間的USB通信是否正常,并且希望了解這個(gè)通信過(guò)程是怎樣完成的。

          DE2實(shí)驗(yàn)板是教學(xué)過(guò)程中使用的開(kāi)發(fā)板,針對(duì)USB通信接口部分有一片接口控制芯片,可通過(guò)加載固件程序控制USB數(shù)據(jù)傳輸,對(duì)于USB開(kāi)發(fā)工程師來(lái)說(shuō),編寫(xiě)固件程序是實(shí)現(xiàn)USB通信的重要部分,但很難驗(yàn)證固件程序是否正確,是否按照工程師的意愿執(zhí)行。在PC端安裝有應(yīng)用程序控制實(shí)現(xiàn)哪些功能,是在設(shè)備底層還需要編寫(xiě)驅(qū)動(dòng)程序,確保可實(shí)現(xiàn)USB通信,在生產(chǎn)研發(fā)中,驅(qū)動(dòng)程序部分和應(yīng)用程序部分大多由軟件工程師完成,所以USB協(xié)議分析儀是硬件工程師和軟件工程師都需要的測(cè)試設(shè)備。

          USB協(xié)議分析儀是按照USB協(xié)議,將總線上的信號(hào)翻譯成數(shù)據(jù),再將數(shù)據(jù)逐層解析,分析其傳輸數(shù)據(jù)的含義。在這個(gè)過(guò)程中,可將USB傳輸過(guò)程中的錯(cuò)誤明確的指示出來(lái),用戶可根據(jù)上下文關(guān)系找到問(wèn)題所在。

           分析過(guò)程

          在本實(shí)驗(yàn)中,如圖所示,PC端應(yīng)用程序的主要功能是:按下ADD鍵,給DE2發(fā)送加1的指令,顯示在DE2實(shí)驗(yàn)板的液晶顯示屏上;按下CLEAR鍵,給設(shè)備發(fā)送清零的指令,DE2實(shí)驗(yàn)板的液晶顯示屏上的顯示為00;通過(guò)這個(gè)簡(jiǎn)單的應(yīng)用程序,我們可以了解實(shí)驗(yàn)板上USB固件程序,計(jì)算機(jī)上USB驅(qū)動(dòng)程序是否可以正確工作。

          如圖所示,在應(yīng)用程序的源程序中,點(diǎn)擊ADD,發(fā)送的數(shù)據(jù)為“AA AB AC AD AE AF A0 A1”,這個(gè)就是我們要在USB通信過(guò)程中需要傳輸?shù)臄?shù)據(jù)。傳輸了這一組數(shù)據(jù)也就表示傳輸了ADD指令。

          點(diǎn)擊ADD鍵發(fā)送的指令數(shù)據(jù):

          AA AB AC AD AE AF A0 A1
           

          下面,我們用Ex200來(lái)捕獲發(fā)送的ADD指令數(shù)據(jù)以及其前后過(guò)程。分析捕捉到的數(shù)據(jù)搜索到DATA0,DATA1數(shù)據(jù)包內(nèi)容皆為“AA AB AC AD AE AF A0 A1”,與源代碼一致。如圖所示,為DATA0數(shù)據(jù)包的內(nèi)容。我們每次按下ADD控件,就可以捕獲到這一組數(shù)據(jù),這說(shuō)明USB通信沒(méi)有問(wèn)題,可以進(jìn)行下一步的大數(shù)據(jù)量傳輸與通信。

          又如圖所示,在應(yīng)用程序的源程序中,點(diǎn)擊CLEAR,發(fā)送的數(shù)據(jù)為“55 55 5C 5D 5E 5F 50 51”,這個(gè)就是我們要在USB通信過(guò)程中需要傳輸?shù)臄?shù)據(jù)。傳輸了這一組數(shù)據(jù)也就表示傳輸了CLEAR指令。:

          點(diǎn)擊CLEAR鍵發(fā)送的指令數(shù)據(jù):

          55 55 5C 5D 5E 5F 50 51
           
           
          我們用Ex200來(lái)捕獲發(fā)送的CLEAR指令數(shù)據(jù)以及其前后過(guò)程。分析捕捉到的數(shù)據(jù)搜索到DATA0,DATA1數(shù)據(jù)包內(nèi)容皆為“55 55 5C 5D 5E 5F 50 51”,與源代碼一致。如圖所示,為DATA0數(shù)據(jù)包的內(nèi)容。我們每次按下CLEAR控件,就可以捕獲到這一組數(shù)據(jù)。

          另外,USB協(xié)議分析儀是一種很好的學(xué)習(xí)USB協(xié)議的工具,如圖所示,通過(guò)USB協(xié)議分析儀可分析并了解USB設(shè)備枚舉過(guò)程,在教學(xué)中可以生動(dòng)地說(shuō)明USB通信傳輸過(guò)程,在實(shí)際研發(fā)中,也可提高效率,縮短開(kāi)發(fā)周期。

          小結(jié)

                 USB協(xié)議分析儀是在USB開(kāi)發(fā)過(guò)程中必不可少的工具,在研發(fā)過(guò)程中起到事半功倍的效果,隨著USB通信接口的廣泛使用,USB協(xié)議分析儀也會(huì)成為更普及的測(cè)試儀器。經(jīng)過(guò)一段時(shí)間的發(fā)展,USB協(xié)議分析儀也趨于成熟,主機(jī)體積更加小巧,不需要外加電源即可工作,軟件界面更加人性化,讓人一目了然。USB協(xié)議從1.0到2.0,再到最新的USB3.0,協(xié)議分析儀也會(huì)追隨USB協(xié)議發(fā)展的腳步,支持所有版本的測(cè)試。

          北京迪陽(yáng)世紀(jì)科技有限責(zé)任公司 版權(quán)所有 ? 2008 - 2018 著作權(quán)聲明
          010-62156134 62169728 13301007825 節(jié)假日:13901042484 微信號(hào):sun62169728
          地址:北京市西城阜外百萬(wàn)莊扣鐘北里7號(hào)公寓
          E_mail:[email protected] 傳真: 010-68328400
          京ICP備17023194號(hào)-1 公備110108007750
        1. 
          
        2. <b id="v2xdt"></b>

                <strong id="v2xdt"></strong>

                <strong id="v2xdt"></strong>

                天天操天天操天天操天天操 | 人妻天天爽 | 亚洲影院第一页 | 欧美性爱另类视频 | 丁香五月婷婷啪啪 |