硬件笔记(5)---- USB学习笔记2
六、USB速度
USB 規范已經為 USB 系統定義了以下四種速度模式: 低速(Low-Speed) 、全速(Full-Speed) 、高速(Hi-Speed)和超高速(SuperSpeed) 。 目前,賽普拉斯對 PsoC 器件系列僅支持全速模式,另外對于各種專用 USB 設備則支持低速、高速和超高速等模式。
新型主機一直能同低速設備進行通信。例如,高速主機能夠與低速設備進行通信,但全速主機并不能同高速設備進行通信。
低速、全速和高速設備的速率分別為 1.5 Mb/s、 12 Mb/s 和 480 Mb/s。但是,這些指的是總線速率,并不是數據速率。 實際的數據速率受總線加載速度、傳輸類型、開銷、操作系統等因素的影響。數據傳輸則受以下內容的限制:
- 低速設備
例如:鍵盤、鼠標和游戲等外設
總線速率: 1.5 Mb/s
最大的有效數據速率: 800 B/s - 全速設備
例如:手機、音頻設備和壓縮視頻
總線速率: 12 Mb/s
最大的有效數據速率: 1.2 MB/s - 高速設備
例如:視頻、影像和存儲設備
總線速率: 480 Mb/s
最大的有效數據速率: 53 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 信號(如數據包結束(EOP)信號)。低速和全速 USB 設備使用了頻率為48 MHz 的時鐘執行 SIE 操作,并執行使用其他時鐘源的 USB 操作。該 48 MHz 時鐘和總線速度決定了 USB 位時間:
- 全速: 時鐘頻率/總線速度 = 48 MHz / 12 Mb/s 時, USB 位時間為 4 個時鐘周期。
- 全速: 時鐘頻率/總線速度 = 48 MHz / 1.5 Mb/s 時, USB 位時間為 4 個時鐘周期。
七、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 設備的枚舉操作。
- 連接狀態:當將某個設備插入到主機/集線器,但主機/集線器不給 VBUS線供電時,會出現這種狀態。它通常在集線器檢測到一個過流事件時出現。雖然仍連接著設備,但主機移除了供給它的電源。
- 供電:某個設備被連接到 USB 上并得到供電,但仍未接收到一個復位請求。
- 默認:某個設備被連接到 USB 上、得到供電,并且由主機進行了復位。這時,設備沒有任何設備地址。設備會響應地址 0。
- 地址:某個設備被連接到 USB、得到供電、被復位,并且有一個唯一的地址。但是設備仍未得到配置。
- 配置:設備已經連接到 USB、得到供電、被復位、具有唯一的地址、得到配置,但尚未進入掛起狀態。此時,總線供電設備能夠消耗超過 100 mA 的電流。
- 掛起:如上面所述,設備已經建立好了連接,并且得到配置,但在 3 ms 時間內不會進行任意總線操作。
USB 規范具有一個框圖,描述了這些電源模式的相關性和切換性。
對于低速、全速和高速 USB 設備,USB 的功耗會以 2 mA 的單位進行枚舉。例如,需要消耗 100 mA 電流的全速設備在進行枚舉時將發送數值 50。
開發 USB 設計時,請考慮您的設備消耗總線的電流。根集線器由主機 PC 的電源供電。如果主機被連接到交流電源上,則 USB 規范要求主機為集線器上的每一個端口提供 500 mA 的電流。這樣能將總線供電設備上的電流消耗限制在500 mA。如果主機 PC 由電池供電,它可以為集線器上的每一端口提供 100 mA 或 500 mA 的電流。將設備插入到總線供電的集線器時,該設備必須是低功耗設備,并且消耗電流不能超過 100 mA??偩€供電的集線器共有 500 mA 的電流可供給所有所連接的設備使用。
最后,我想推薦一下我的公眾號,公號現在還沒有內容,以后會慢慢的添加的,博客也會同步更新到公眾號的。其實我是有私心的,就是想練一練寫作能力,也希望關注我的讀者也能和我一起成長。
總結
以上是生活随笔為你收集整理的硬件笔记(5)---- USB学习笔记2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 4417 Super Mario
- 下一篇: Adobe 发布 Flash 转换成 H