OTG FS ID功能及引申

2022-02-22 10:08:06 字數 2227 閱讀 4391

1. 概要

otg裝置使用插頭中的id引腳來區分a/b device,id接地被稱作為a-device,充當usb host,a-device始終為匯流排   提供電力,id懸空被稱作為b-device,充當usb device,裝置的usb host/usb device角色可以通過hnp(主機交換   協議)切換。otg裝置連線時不能跨越usb hub,如果跨越usb hub則失去hnp功能。a-device/b-device與usb   host/device沒有必然的關係,主機切換完畢後a-device變成usb從裝置,但是仍然為匯流排供電。

2.usb-otg插槽型別

as host only :提供標準的a插座,普通的usb host並帶有tpl(支援裝置列表)

as device only:僅能作為外設的b-device(分為插頭一體和插頭線纜分離的)

3.協議

srp(session request protocol)對話請求協議:srp協議允許adevice在匯流排為使用時通過切斷vbus來節省電源消耗,任何一類adevice都應該能夠響應srp請求,任何bdevice也應該能夠發起srp請求,

adp(attach detection protocol):提供是否有對端裝置插入的檢測,支援任何otg裝置   

hnp(host negotiation protocol)主機交換協議:otg 裝置通過hnp來切換host/device角色,adevice通過查詢bdevice的otg效能描述符來判斷是否支援hnp協議,以判斷 bdevice是否為兩用的otg裝置,如果bdevice支援hnp協議,bdevice將會返回有效的otg效能描述符,隨後adevice產生乙個 setfeature命令告知bdevice:你可以在匯流排掛起時以主機的方式工作,adevice傳送了這個setfeature命令後掛起匯流排,      本次session結束後host回到adevice手裡。    

4.裝置框架

otg描述符

在裝置列舉時,a-device通過getdeor向b裝置請求otg描述符。otg描述符也應當作為getconfiguration()的一部分返回。其中的bmattributes標示b-device是否支援adp/hnp/srp

標準裝置特性,通過setfeature()設定。   

b_hnp_enable設定此特性,顯示b-device被允許進行hnp,a裝置必須在t(host_req_susp)時間內掛起匯流排,此特性在session結束時清除。   

a_hnp_support

早期otg版本的相容特性,設定這個特性指示b-device對端的a-device支援hnp。   

a_alt_hnp_support         該標誌已被廢棄   

5.連線方式(host -> device)

as host only 與 僅作為外設的b-device(帶a插頭型)

host端檢測到a插頭插入,停止adp,開啟vbus,因為b-device的a插頭與裝置作為一體,此時b-device必定與a插頭連線,host檢測到外設連線,開始列舉。           as host only 與 僅作為外設的b-device(a插頭為線纜連線)

host 段檢測到a插頭插入,停止adp,開啟vbus,如果b-device是線纜連線完畢在將a插頭插入則整個連線過程與上面無異,因為此 時b-device可能還沒有插入插頭,則裝置連線超時,vbus再次關閉,等待下一次adp的改變(線纜連線完畢),再次開啟vbus,此時開始正常總 線列舉。    

otg device 與 otg device

host端 檢測到插頭插入,則開啟vbus,如果沒有外設檢測到,則關閉vbus,開啟adp probing,device端檢測到插頭插入,則開啟srp,如果線纜沒有插入,則srp超時,device端開始進行adp probing,當線纜連線完畢,device端偵測到adp變化,傳送srp請求host開啟vbus,host回應srp並且開啟vbus,完成裝置 連線。

6.案例分析:

有客戶反饋他們的樣機otg mrio ab插座不能識別u盤,最後查出的原因是客戶樣機的usb的id腳沒有接地,

樣機沒有切換到usb host模式。

constructor功能及用法

我們必須了解的一些概念 functionp const p newp p.constructor p true利用constructor屬性,我們便可以通過乙個例項物件,建立另乙個例項物件。如下 functionp const p newp const p2 newp.constructor p2 ...

MessageDigest的功能及用法

messagedigest 類為應用程式提供資訊摘要演算法的功能,如md5 and sha.資訊摘要是安全的單向雜湊函式,它接收任意大小的資料,並輸出固定長度的雜湊值。messagedigest 物件開始被初始化。該物件通過使用 update 方法處理資料。任何時候都可以呼叫 reset 方法重置摘...

開啟rewrite功能及檢測示例

為你的apache伺服器開啟rewrite功能 rewrite時下很火爆,能提供很多實用功能.apache安裝後預設是不支援rewrite的,可以按照下面的方法啟用 首先確保 目錄支援.htaccess,然後載入rewrite模組即可.在httpd.conf中找到directory設定,如 opti...