高通平臺USB2.0和3.0接口充電器識別原理

高通平臺USB2.0和3.0接口充電器識別原理

分類: USB Charger 64人閱讀 評論(0) 收藏 舉報

BCS v1.2的充電器探測原理如下:

當OTG驅動捕獲到VBUS中斷的時候,斷開DP/DM與SIE接口的連接,然後等待數據線的連接(DCD)並設置超時,一般是750ms,如果超時,可啓動usb gadget驅動做識別;否則在DP上加載0.6V的電壓,檢測DM上是否有0.6V的電壓,這裏有兩種情況:

情況一:如果有0.6V電壓,那麼可能是DCP或者CDP充電器,接着在DP上撤銷0.6V電壓並加載0.8V電壓,檢測DM上的電壓,如果是0.8V那麼就是DCP充電器,否則由於CDP充電器對DP上的0.8V電壓不做響應,得出是CDP充電器;

情況二:如果沒有0.6V電壓,那麼就是SDP即是數據線連到了PC上。

探測完畢後,重新打開DP/DM和SIE的連接。

注:VDAT_REF=0.6V,數據線參考電壓

VLGC=0.8V,邏輯電壓


高通平臺的USB 2.0的PHY框圖如圖1所示:

圖1

高通平臺的USB 2.0接口由於採用了ULPI Phy接口,所以將BCS V1.2的探測寄存器放到了ULPI寄存器空間,標準的ULPI寄存器空間地址範圍0x00-0x2f,這部分是公規(地址偏移不允許芯片製造商更改),從而高通將充電器探測寄存器的地址放到了這些公規寄存器地址之外了。

高通平臺USB 3.0的PHY框圖如圖2所示:

圖2

由於USB3.0是雙總線架構,既包含了USB 2.0的數據線也包含了USB 3.0的數據線,所以USB 3.0的物理層是有兩個部分的。高通MSM8974的USB3 .0的物理層2.0用的是UTMI接口,3.0用的PIPE3接口(參看phy-interface-pci-express-sata3-usb30-archectures.pdf),並且這兩種PHY接口是沒有內置寄存器的,故而高通將BCS V1.2的充電探測寄存器放到了AHB地址空間(見圖)。識別原理主要通過UTMI PHY控制寄存器,PIPE3 PHY接口是不用來做充電器識別的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章