OTG_FS_ID功能及引申


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(分為插頭一體和插頭線纜分離的)

OTG Dual      :使用Micro AB插座,可以在運行時切換Host/Device。

  OTG Dual  在插頭插入后會先打開VBus,如果沒有設備連接則關閉VBus,並開啟ADP偵測,而EAs Host Only 則   不會再次關閉VBus
   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模式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM