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 iPhone CDP探测波形
DP线在BC 1.2之后有一个3.3V的高压表明进入了USB device的速度识别阶段。
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双总线架构
由于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
USB BH reset:Bigger Hammer or Brad Hosler,表示warm reset;you may be confused why the USB 3.0 spec calls the same type of reset "warm reset" in some places and "BH reset" in other places. "BH" reset is supposed to stand for "Big Hammer" reset, but it also stands for "Brad Hosler". Brad died shortly after the USB 3.0 bus specification was started, and they decided to name the reset after him. The suggestion was made shortly before the spec was finalized, so the wording is a bit inconsistent
USB SIE:Serial Interface Engine,新的版本命名为Link layer
xECP:xHCI Extended Capabilities Pointer