最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

USB 調(diào)試技巧

出處:維庫電子市場網(wǎng) 發(fā)布于:2023-07-26 16:11:10

    USB基礎知識
    USB 規(guī)范是 Intel、Microsoft 和其他幾家涉及 PC 和外圍設備的公司的產(chǎn)品。規(guī)范文檔以及為開發(fā)人員提供的相關信息和工具可在 USB Implementers Forum(簡稱 USB-IF)的網(wǎng)站 ( www.usb.org ) 上獲取。
    每條總線都有一個主機控制器,用于控制與其總線上的設備的通信。為了增加設備可用的帶寬,一臺計算機可以有多個主機控制器,每個控制器控制自己的總線。
    USB 支持三種總線速度:低速 1.5Mbps、全速 12Mbps 和高速 480Mbps。該規(guī)范的 2.0 版本于 2000 年發(fā)布,增加了高速功能。Windows XP 是個支持 USB 2.0 的 Windows 版本。Microsoft 承諾為Windows 2000 和Windows ME 提供USB 2.0 更新。其他操作系統(tǒng)也正在提供 2.0 支持。
    對于嵌入式 PC,Windows CE 還支持 USB。大多數(shù)Windows CE 計算機都充當USB 主機,但Windows CE 3.0 還包括Cypress/ScanLogic 的SL11 主/從控制器的驅(qū)動程序。使用這些驅(qū)動程序或其他控制器的類似驅(qū)動程序,Windows CE 計算機可以充當 USB 外圍設備。
    USB 的多功能性很大程度上歸功于它的四種傳輸類型,每種類型適合不同的用途??刂苽鬏敂y帶枚舉過程中使用的請求,也可用于向設備發(fā)送請求并(可選)接收回復的其他通信。中斷傳輸適用于鍵盤和鼠標等設備,主機定期請求或發(fā)送數(shù)據(jù)。批量傳輸適用于打印機和掃描儀等需要快速傳輸?shù)脑O備,但如果總線繁忙,數(shù)據(jù)可能會等待。等時傳輸適用于實時音頻和其他時序至關重要且可以容忍偶爾錯誤的應用。
    在啟動時或當設備連接到總線時,設備的集線器會向主機連接情況。在稱為枚舉的過程中,主機發(fā)送一系列請求以了解設備并與其建立通信。設備以稱為描述符的數(shù)據(jù)結(jié)構(gòu)返回信息。Windows 的設備管理器將描述符中的信息與 PC 的 INF 文件中的信息進行比較。設備管理器找到匹配并分配一個設備驅(qū)動程序,使應用程序能夠訪問該設備。
    所有設備都必須符合 USB 的電源管理要求。其中包括限制設備消耗的總線電流量以及檢測何時進入低功耗掛起狀態(tài)。允許的電流量取決于設備描述符中的信息。
    有數(shù)十種支持 USB 的設備控制器芯片可供選擇。有些是帶有 USB 端口的微控制器。其他控制器是無 CPU 的控制器,具有 USB 端口和串行或并行接口,用于與通用微控制器通信。大多數(shù)支持 USB 的微控制器都有可用的 C 編譯器。如果您有使用特定微控制器系列的經(jīng)驗,那么查看是否有支持 USB 的變體是有意義的。
    測試設備的 USB 通信包括幾個階段。個目標是成功枚舉。如果設備不枚舉,則接口幾乎不能做其他事情。其他測試包括使用設備執(zhí)行其預期目的(例如,讀取文件并將文件寫入 USB 驅(qū)動器)以及驗證設備是否遵守電源管理規(guī)則。
    USB 通信的調(diào)試可以在三個位置進行:主機 PC、設備和電纜。每個都有其優(yōu)點。
    有關設計 USB 設備的更多信息,請參閱 Jack Ganssle 的“ USB 開發(fā)簡介”和我的文章“ HIDs Up ”。
    在主機上調(diào)試

    從主機中,您可以驗證設備是否已枚舉并可以執(zhí)行其預期功能。在主機上檢測到問題后,查找問題根源通常需要檢查設備固件或電纜中的總線流量。'

    圖 1 Windows 的設備管理器顯示所有枚舉的 USB 設備
    設備連接到主機后,Windows 的設備管理器(圖 1)可以快速檢查設備枚舉是否沒有問題。列表圖標上的感嘆號表示與設備通信或查找驅(qū)動程序時出現(xiàn)問題。圖標上的 X 表示該設備存在但已被禁用。

    要準確查看主機在枚舉期間收到的信息,請使用 USBCheck 應用程序套件或新的 USB 命令驗證器工具。兩者均可從 USB-IF 網(wǎng)站獲取。USBCheck 使您能夠查看描述符、發(fā)送控制請求、查看結(jié)果以及對集線器和 HID(人機接口設備)類中的設備運行進一步測試。

    圖 2 從集線器檢索到的設備描述符
    USBCheck 的設備框架測試讀取描述符并發(fā)送標準請求。這些測試對于初步檢查 Windows 是否從您的設備檢索預期信息非常有用。圖 2 顯示了 USBCheck 從集線器接收到的設備描述符。
    主機枚舉設備后,應用程序可以測試設備的預期用途。Windows 設備驅(qū)動程序通常允許應用程序使用 API 函數(shù)ReadFile()、WriteFile()和DeviceIoControl()的某種組合來訪問設備。某些設備類別具有額外的支持。例如,應用程序可以像訪問其他驅(qū)動器一樣訪問 USB 驅(qū)動器。應用程序不必知道或關心驅(qū)動器是否使用USB或其他接口,因為這些細節(jié)是在較低級別處理的。
    對于許多設備,USB 類規(guī)范定義了設備的預期行為,從而定義了固件的職責。示例包括 HID、大容量存儲設備和靜態(tài)圖像捕獲設備。
    當出現(xiàn)問題時,Windows 返回的錯誤消息通常提供的幫助有限。例如,當 HID 類設備的WriteFile()失敗時,返回的常見錯誤是“CRC 錯誤”。但此消息可能是由導致傳輸失敗的任何固件問題引起的。它通常與用于錯誤檢查的 CRC 計算中檢測到的錯誤無關。追蹤此類問題的原因通常需要在設備或總線上進行調(diào)試。
    合規(guī)性測試
    USB Implementers Forum 和 Microsoft 為 USB 設備及其主機軟件的開發(fā)人員提供測試機會。通過測試有助于產(chǎn)品獲得顯示 USB 徽標或 Microsoft Windows 徽標的資格。
    為了在各種條件下對產(chǎn)品進行全面測試,USB-IF 成員可以將設備注冊到合規(guī)性計劃中。一年會員費為 2,500 美元。這些費用用于支持運行該計劃以及支持 USB 產(chǎn)品開發(fā)和 USB 在市場上推廣的其他活動的成本。
    當設備滿足合規(guī)計劃的標準時,USB-IF 認為它具有“合理的可接受性措施”,并將其添加到合規(guī)設備的集成商列表中。在收到簽署的許可協(xié)議和付款后,USB-IF 授權設備顯示 USB 徽標。
    合規(guī)性計劃的兩個標準是檢查表和合規(guī)性測試。檢查表包含與產(chǎn)品及其行為相關的問題。對于外圍設備、集線器、帶有 USB 主機的系統(tǒng)和電纜的供應商,存在單獨的清單。有些產(chǎn)品需要多個清單。
    外設檢查表涵蓋機械設計、設備狀態(tài)和信號、工作電壓和功耗。每個問題都附有對規(guī)范中頁面的引用,您可以在其中找到更多信息。檢查表可從 USB-IF 網(wǎng)站獲取。
    為了幫助通過電氣測試,USB-IF 提供了包含軟件和測試程序的 USBHSET 實用程序。另一個選擇是 VI Engineering 的 USB 預一致性測試儀,它是執(zhí)行測試文檔中所有電氣測試的硬件單元。隨附的基于 LabView 的軟件使您能夠查看眼圖、上升和下降時間、交叉電壓、浪涌電流等。
    為了幫助驗證 USB 規(guī)范第 8 章中討論的協(xié)議中的正確響應,Professional Interactive Media Center NV (PIMC) 提供了 Ch8ck 實用程序。Ch8ck 執(zhí)行的測試包括發(fā)送不支持的方向或傳輸類型的數(shù)據(jù)包 ID、檢查暫停端點的響應以及在 CRC 值中需要時檢查位填充。
    當您對清單上適用于您產(chǎn)品的所有內(nèi)容都回答“是”時,您就可以進行合規(guī)性測試了。USB-IF 贊助研討會,使您能夠使用不同類型的硬件測試您的設備。每個車間都有許多供應商和產(chǎn)品可供選擇。您可以與主機硬件供應商安排私人測試。您還可以參加 USB-IF 的“plugfests”之一,盡可能多的供應商將他們的設備連接到單個主機,以了解所有設備是否可以和平共存。USB-IF還授權一些私人實驗室進行合規(guī)性測試。
    合規(guī)性測試程序文檔對測試進行了詳細描述,包括響應標準請求、功耗和分配、信號質(zhì)量和互操作性。互操作性測試使您能夠模擬用戶在連接了各種其他 USB 外圍設備并與各種軟件一起使用的系統(tǒng)上使用您的產(chǎn)品的體驗。
    您的設備應該正常運行,不會導致設備未檢測到的錯誤或系統(tǒng)崩潰、掛起或重新啟動。該設備不僅必須在僅包含您的設備的總線上通過測試,而且還必須在連接各種集線器和其他常見外設的總線上通過測試。
    如果您的設備通過了合規(guī)性測試,則有資格顯示 USB 徽標。為了獲得該標志的資格,高速設備還必須全速運行。如果您不是 USB-IF 的會員,您還必須每兩年繳納 1,500 美元的徽標管理費。
    對于連接到 PC 的設備,Microsoft 提倡 Windows 硬件質(zhì)量實驗室 (WHQL) 測試。這些測試使設備有資格顯示 Microsoft Windows 徽標并包含在 Microsoft 的硬件兼容性列表中。Microsoft 還可能將該設備的驅(qū)動程序包含在其 Windows 驅(qū)動程序庫中。
    Microsoft 提供硬件和設備驅(qū)動程序的測試套件。您可以適用于您的設備的套件并運行測試。當您相信您的設備可以通過所有測試時,您可以向授權測試站點提交測試包。測試包包含設備、任何驅(qū)動程序和相關文件、測試日志和費用。
    從設備調(diào)試
    在設備端,調(diào)試與任何嵌入式系統(tǒng)中的調(diào)試非常相似。支持 USB 的微控制器供應商提供帶有監(jiān)控程序的開發(fā)系統(tǒng),可以設置斷點、單步執(zhí)行、跟蹤和其他診斷問題的工具。
    USB 通信所需的固件支持量取決于控制器芯片的架構(gòu)。來自芯片供應商或其他來源的良好示例固件也非常有幫助。
    MCCI 有一個的 USB 資源編譯器,可以幫助將設備描述符信息轉(zhuǎn)換為 C 數(shù)據(jù)初始化結(jié)構(gòu),以便存儲在設備的程序存儲器中。MCCI 還提供 USB DataPump 便攜式固件包和安裝實用程序。
    專用開發(fā)套件的一種低成本替代方案是使用 PC 作為模擬 USB 設備,對終駐留在嵌入式設備中的代碼進行初始測試。DeVaSys 的 USBLPT-PD11 板就是一個例子。該板包含飛利浦的 PDIUSBD11 USB 控制器??刂破鞯?I2C 接口與 PC 的并行端口進行通信??刂颇M設備的示例軟件使用 Borland Turbo C for DOS。
    通過這種方法,您可以編寫 PC 應用程序來執(zhí)行終控制設備的固件功能,包括在枚舉期間發(fā)送描述符以及設備負責的其他任務。C 語言的 PC 軟件在某種程度上可以移植到設備上。然而,每個控制器都有特定于芯片的操作,并且需要對終產(chǎn)品進行一些修改。
    電纜調(diào)試
    有時在主機和設備上進行調(diào)試是不夠的。在主機上,您可以查看和控制的信息通過主機控制器及其驅(qū)動程序進行過濾。在設備中,固件看不到硬件管理的級別的通信。為了填補這個空白,您需要查看電纜中傳輸?shù)膬?nèi)容。

    如果您使用示波器或邏輯分析儀查看 USB 流量,您會發(fā)現(xiàn)讀取這些位并不像將電壓電平與邏輯電平匹配那么容易??偩€上的數(shù)據(jù)使用不歸零反轉(zhuǎn) (NRZI) 和位填充進行編碼。這種編碼使接收器能夠與發(fā)送器保持同步,而無需發(fā)送時鐘信號或每個字節(jié)的起始位和停止位的開銷。

    圖 3 使用位填充的不歸零反轉(zhuǎn) (NRZI) 編碼
    NRZI 沒有將邏輯 0 和 1 定義為電壓,而是將邏輯 0 定義為電壓變化,將邏輯 1 定義為電壓保持不變。圖 3 顯示了一個示例。每個邏輯 0 都會導致先前狀態(tài)的變化。每個邏輯 1 都不會導致任何變化。這些位首先傳輸有效位 (LSB)。
    需要位填充是因為接收器在轉(zhuǎn)換上同步。如果數(shù)據(jù)全為 0,則存在大量轉(zhuǎn)換。但如果數(shù)據(jù)包含一長串 1,則缺乏轉(zhuǎn)換可能會導致接收器不同步。
    如果數(shù)據(jù)有六個連續(xù)的 1,則發(fā)送器會在第六個 1 之后填充或插入一個 0(通過轉(zhuǎn)換表示)。這可確保每 7 位至少有一個轉(zhuǎn)換。接收器檢測并丟棄六個連續(xù) 1 之后的任何位。隨機數(shù)據(jù)的位填充開銷僅為 0.8%,即每 125 個數(shù)據(jù)位 1 個填充位。
    幸運的是,每一端的 USB 硬件都會完成所有編碼和解碼工作,因此設備開發(fā)人員和程序員不必為此擔心。查看數(shù)據(jù)的方法是使用協(xié)議分析器來收集數(shù)據(jù),然后將其解碼并以有用的格式顯示。您可以觀察枚舉過程中發(fā)生的情況,檢測和檢查協(xié)議和信號錯誤,查看任何傳輸中的數(shù)據(jù),或?qū)W⒂谀胍耐ㄐ诺娜魏畏矫妗?br>

    連接到 USB 電纜的協(xié)議分析儀來源包括 Catalyst、Computer Access Technology、Crescent Heart Software、Data Transit、FuturePlus、Hitex、QualityLogic 和 Transdimension。顯示主機中檢測到的流量的純軟件分析器包括 Perisoft 的 BusHound 和軟件 USB Snoopy。

    圖 4 使用協(xié)議分析儀捕獲的總線流量
    任何分析儀都會執(zhí)行解碼 USB 流量并顯示結(jié)果的基本任務。產(chǎn)品的不同之處在于用戶界面和顯示信息的方式。并非所有分析儀都支持高速。圖 4 顯示了使用 Catalyst 的 SBAE-20 總線分析儀-練習器捕獲的數(shù)據(jù)。用于控制分析儀和查看流量的用戶界面可以是PC或邏輯分析儀。連接到 PC 的分析儀可以使用 USB、并行端口、以太網(wǎng)或 ISA 板連接。如果您擁有通用邏輯分析儀,連接到它的 USB 分析儀可能比其他選項更便宜。Crescent Heart Software 的分析儀連接到 Tektronix 的分析儀,F(xiàn)uturePlus 的分析儀連接到 Agilent 的分析儀。
    測試設備和軟件選項
    在測試和調(diào)試中同樣有用的是控制總線流量和信號的能力,超出了通過應用程序訪問設備所能做到的范圍。有些儀器也可以做到這一點。
    Computer Access Technology 的流量生成器是對總線流量和事件提供控制的儀器的一個示例。您可以通過與運行其軟件的 PC 的并行端口連接來控制流量生成器。您可以生成合法和非法消息以及總線條件,并且可以控制各個位的狀態(tài)和位寬度。
    Transdimension 的 USB 主機/設備練習器和 Catalyst 的 SBAE-20 既可用作協(xié)議分析器,也可用作可在總線上生成流量的主機。SBAE-20 的其他有用功能包括測量浪涌電流和掛起狀態(tài)電流的能力。
    RPM Systems 的 Root 1 USB 功能驗證適配器執(zhí)行主機和根集線器的許多功能。Root 1 枚舉連接的設備,并可以啟動其他流量并執(zhí)行各種測試,包括控制總線電壓。
    過去幾年,隨著新供應商進入市場以及現(xiàn)有供應商擴展和改進其產(chǎn)品,測試工具的數(shù)量和種類不斷增加。隨著 USB 設備的普及,這種趨勢肯定會持續(xù)下去。
    USB 調(diào)試的介紹到此結(jié)束。與任何開發(fā)項目一樣,投資一些工具并學習如何很好地使用它們從長遠來看可以節(jié)省您的時間和金錢。
關鍵詞:USB

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.udpf.com.cn,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!