硬體筆記(5) USB學習筆記2

2021-09-17 23:39:52 字數 2741 閱讀 8414

六、usb速度

usb 規範已經為 usb 系統定義了以下四種速度模式: 低速(low-speed) 、全速(full-speed) 、高速(hi-speed)和超高速(superspeed) 。 目前,賽普拉斯對 psoc 器件系列僅支援全速模式,另外對於各種專用 usb 裝置則支援低速、高速和超高速等模式。

新型主機一直能同低速裝置進行通訊。例如,高速主機能夠與低速裝置進行通訊,但全速主機並不能同高速裝置進行通訊。

低速、全速和高速裝置的速率分別為 1.5 mb/s、 12 mb/s 和 480 mb/s。但是,這些指的是匯流排速率,並不是資料速率。 實際的資料速率受匯流排載入速度、傳輸型別、開銷、作業系統等因素的影響。資料傳輸則受以下內容的限制:

建立好了 usb 裝置和主機間的連線後,需要使用 d+或 d-訊號線上的上拉電阻來檢測裝置的速度。 d+訊號線上的 1.5kω 大小的上拉電阻表示所連線的是乙個全速裝置, d-線上 1.5 kω 大小的上拉電阻表示所連線的是乙個低速裝置,如圖所示。

usb 2.0 裝置經常被誤解為高速 usb 裝置。所有高速裝置都符合 usb 2.0 規範,這是因為 usb 2.0 規範支援高速模式。 usb 2.0 規範還包含了全速和低速裝置。

七、usb電源

作為 usb 電源時,usb 裝置可被劃分為兩種裝置型別:匯流排供電和自供電。

匯流排供電是 usb 設計的乙個優勢。由於裝置通過匯流排供電,因此不需要使用笨重的內部或外部電源,它仍能夠維持自身操作。匯流排可由主機或集線器供電。使用某個匯流排供電的裝置時,使用者將裝置配置為某種狀態前必須考慮其功耗。即裝置列舉完成後,必須在第一次將裝置連線到匯流排到主機將 set_configuration 命令傳輸給裝置的這段時間內檢查其功耗。裝置被配置前不能消耗超過 100 ma 的電流(即 usb 規範中為低速、全速或高速裝置定義為乙個負載單位)。在配置過程中,裝置要求乙個預算功耗。匯流排供電的裝置共有以下兩種:高功耗和低功耗裝置。低功耗裝置最多消耗 100 ma 的電流,高功耗裝置最多消耗 500 ma 的電流。消耗的電流超過 500 ma 的裝置要自供電。

自供電裝置通過使用外部電源(如直流電源介面卡或電池)為自己供電。自供電裝置在進行設計的過程中需要考慮到一些注意事項。usb 規範要求自供電裝置一直監控自己的 vbus線。vbus不存在的時間內,裝置必須斷開提供給 d+/d-線上的上拉電阻的電源,從而防止向主機或集線器供電。 否則,會導致 usb 合規性測試發生失敗。但是自供電集線器能夠從匯流排獲得最多 100 ma 的電流。

裝置還能結合兩種電源模式,並成為乙個匯流排供電和自供電的裝置。常見的例子是裝置使用電池。裝置通常是自供電的;但使用 vbus 給電池充電,並且在電池電量發生變化時給裝置供電。在技術方面,該裝置是乙個自供電裝置,如usb 描述符中顯示,但該裝置仍要求來自主機的預算電源。同自供電裝置相似,這些混合設計中仍需要監控 vbus 大小,並且仍會斷開提供給 d+/d-線上的上拉電阻的電源。在本應用中,需要實現一部分電源管理系統型別,以監控電池的電壓、充電狀態,並控制電池電源和外部電源間的切換。

此外,無論裝置的供電方式如何,所有 usb 裝置都必須考慮到它們的暫停電流。裝置的暫停電流是指在主機處於掛起模式(又稱待機模式)時由 vbus 提供的電流。如果匯流排在 3 ms 時間內沒有進行任意操作,裝置會進入掛起模式。即使沒有進行任意資料傳輸操作,主機仍會發出「幀開始」(sof)令牌,以防止裝置進入掛起模式。但低速裝置卻沒有 sof 資料報,因此這種裝置是乙個例外。匯流排上不進行低速資料的傳輸時,低速裝置每經過 1 m 都會傳送「資料報結束」(eop)訊號,將其作為「保持活動」訊號。匯流排休閒時,裝置必須進入掛起模式,並消耗不大於 2.5 ma 的電流。為滿足該要求,設計師必須保證裝置進入掛起狀態前已經關閉了各個 led 和其他電源庫。一旦檢測到匯流排上發生任何操作,usb 裝置都會退出掛起狀態。如果裝置具有遠端喚醒功能,它可以向主機傳送恢復請求,然後等待主機確認該請求,而不是等待主機進行恢復。

設計師需要了解各種同 usb 電源相對應的 usb 狀態。這些狀態通常出現在 usb 文件中,並適用於 usb 裝置的列舉操作。

usb 規範具有乙個框圖,描述了這些電源模式的相關性和切換性。

對於低速、全速和高速 usb 裝置,usb 的功耗會以 2 ma 的單位進行列舉。例如,需要消耗 100 ma 電流的全速裝置在進行列舉時將傳送數值 50。

開發 usb 設計時,請考慮您的裝置消耗匯流排的電流。根集線器由主機 pc 的電源供電。如果主機被連線到交流電源上,則 usb 規範要求主機為集線器上的每乙個埠提供 500 ma 的電流。這樣能將匯流排供電裝置上的電流消耗限制在500 ma。如果主機 pc 由電池供電,它可以為集線器上的每一埠提供 100 ma 或 500 ma 的電流。將裝置插入到匯流排供電的集線器時,該裝置必須是低功耗裝置,並且消耗電流不能超過 100 ma。匯流排供電的集線器共有 500 ma 的電流可供給所有所連線的裝置使用。

我是USB 學習筆記

乙個介面對應乙個驅動,乙個驅動往往可以支援多個介面!蒲 松 齡 曰 每 個 男 人 的 心 中 都 有 一 個 狐 狸 精 每 個 寫 usb 驅 動 的 人 心 中 都 有 一 個 usb driver。一般來說,我們平時所謂的編寫usb驅動指的也就是寫usb介面的驅動,需要 以乙個struct ...

USB裝置類學習筆記

usb audio class 版本目前有3個版本 分別是1.0,2.0,3.0 1.0針對各個廠家的裝置具有不同的描述符,而2.0則將它們統一簡化,3.0則是最新的,還沒有與2.0作進一步比較 因為要寫的uvc usb video class 是同步傳輸,而官方usb 的中介軟體給出的例程只有au...

學習筆記 5

二 把資料存進session中,並讓資料先儲存在臨時表中 資料過載忽略掉萬年不變的東西,用ajax提交表單,前面禁用了資料庫按鈕,到這裡要啟用資料庫按鈕 把狀態設定為false就可以了。輸出 清空臨時表單,拿到提交表單的路徑到控制器 httppostedfilebase似乎拿來上傳檔案 通過http...