高通平臺USB 2.0和USB 3.0接口充電器識別原理

1 BC 1.2
1.1 充電器類型探測
1)DCD:DP上有150mV(= 10uA x 15K歐姆下拉電阻)的電壓,DM上電壓爲0
2)Primary Det(DP發起檢測DM):
- DP上加載0.6V電壓,DM上電壓爲0,充電器類型是SDP
- DP上加載0.6V電壓,DM上電壓爲0.6V,進入Secondary Det
3)Secondary Det(DM發起檢測DP):
- DM上加載0.8V電壓,DP上電壓爲0,充電器類型是CDP
- DM上加載0.8V電壓,DP上電壓爲0.8V,充電器類型是DCP
注:VDAT_REF=0.6V,數據線參考電壓
VLGC=0.8V,邏輯電壓
Figure 1-1 CDP探測波形express

1.2 USB 2.0 ULPI PHY
高通平臺的USB 2.0的PHY框圖如Figure 1-2所示。
Figure 1-2 USB 2.0 PHY架構

高通平臺的USB 2.0接口因爲採用了ULPI PHY接口,因此將BC 1.2的探測寄存器放到了ULPI寄存器空間,標準的ULPI寄存器空間地址範圍0x00-0x2f,這部分是公規(地址偏移不容許芯片製造商更改),從而高通將充電器探測寄存器的地址放到了這些公規寄存器地址以外了。

1.3 USB 3.0 UTMI and PIPE PHY
高通平臺USB 3.0的PHY框圖如Figure 1-3所示。
Figure 1-3 USB 3.0雙總線架構ide

因爲USB 3.0是雙總線架構,既包含了USB 2.0的數據線也包含了USB 3.0的數據線,因此USB 3.0的物理層是有兩個部分的。高通MSM8974的USB 3.0的LS/FS/HS物理層用的是UTMI接口,SS用的PIPE3接口(參看phy-interface-pci-express-sata3-usb30-archectures.pdf),而且這兩種PHY接口是沒有內置寄存器的,故而高通將BC 1.2的充電探測寄存器放到了AHB地址空間(見圖)。識別原理主要經過UTMI PHY控制寄存器,PIPE3 PHY接口是不用來作充電器識別的。

2 Q & A
Q:USB_VBUS管腳的47K電阻的做用?
A:使得USB_VBUS上的電壓快速充放電,從而識別出外部電源已拔走,快速關斷三極管,避免異常時電流倒流的狀況。

3 Abbreviations
ARC:Argonant RISC Core
AT91SAM9260:SAM means Smart ARM-based Microcontroller
ATMEL SAMBA:ATMEL Smart ARM-based Microcontroller Boot Assistant
CC2530:TI ChipCon2530
DCD:Data Contact Detect
DWC2:Design Ware Controller 2,Apple的嵌入式設備,包括iPad和iPhone都是使用的DWC2
ISP1161:Philips' Integrated host Solution Pairs 1161,「Firms introduce USB host controllers」,https://www.eetimes.com/document.asp?doc_id=1290054
Quirks:the attributes of a device that are considered to be noncompliant with expected operation
SL811HS:Cypress/ScanLogic 811 Host/Slave,性能上與ISP1161(Integrated host Solution Pairs 1161)至關
TDI:TransDimension Inc.,該公司首先發明瞭將TT集成到EHCI RootHub中的方法,這樣對於嵌入式系統來講,就省去了OHCI/UHCI的硬件,同時下降了成本,做爲對該公司的記念,Linux內核定義了宏ehci_is_TDI(ehci);產品UHC124表示USB Host Controller;收購了ARC USB技術;現已被chipidea收購,chipidea又被mips收購
TLV:TI Low Value,高性價比
TPS:TI Performance Solution
TT:Transaction Translator(事務轉換器,將USB2.0的包轉換成USB1.1的包)
usb3_mifgen:Altera Memory Initialization File
xECP:xHCI Extended Capabilities Pointer性能