2014年5月7日 星期三

USB OTG & USB BC1.2 detection

USB port需要支援BC1.2與OTG,到底硬體是如何去判斷的呢?

USB port要支援OTG需要有下面條件
需要有ID pin的connector
像是Mini AB or Micro AB. 在USB Cable兩端,一端為HOST,要有提供5V的能力。另一端為Device,需要接收5V來運作。
需要有偵測ID pin的電路或IC
在OTG detection的機制中,ID pin被拉low的為HOST端,ID pin floating的為DEVICE。所以
在硬體線路上,需要有偵測ID pin的電路。USB OTG port在還沒接到其他的裝置時,是不輸出
5V的,當電路偵測到本身USB port的ID pin被拉low,才會把自已當成HOST並輸出5V。


BC1.2 detection 需經過下圖的五個步驟


1. VBUS detection
   在PD內部有個VBUS比較器,VBUS電壓要超過VOTG.SESS.VLD
2. Data contact detect
    在PD端會有電流源IDP_SRC由D+流出,當D+被拉到low,並持續TDCD_DBNC的時間。表示USB data pin已經make contact。 如果沒有被拉到low,表示PD所接到的端子是ACA。
3. Primary detection
     在做Primary detecion,PD會在D+上供電VDP_SRC如果D-上的電壓大於VDAT_REF,則是接到CDP或DCP當D-上的電壓小於VDAT_REF,則判斷為SDP
4. Secondary detection
     在做Secondary detecion, PD會在D-上供電VDM_SRC。當D+>VDAT_REF,便判斷為DCP。當D+小於VDAT_REF,則判斷為CDP
5. ACA detection
        當D+ >VLGC_HI,  VDAT_REF<D-<VLGC, ID pin對地阻抗為RID_A, 則判斷為ACA docking。D-< VDAT_REF判斷為ACA with FS B-device, VLGC <D- 判斷為ACA with LS B-device。

下圖為判斷流程圖



Note:
Charging ports exist: charging downstream ports (CDP), supporting data transfers as well, 
Dedicated charging ports (DCP), without data support. 
Accessory charging adapters (ACA) are introduced. By using an accessory charging adapter, a device providing a single USB port can be attached to both a charger, and another USB device at the same time.

Reference data: 
Battery charging specification Revision 1.2

2 則留言:

匿名 提到...

Hi Kevin,
如果在TypeC接口支持BC1.2,由於TypeC中沒有ID pin,請問能實現BC1.2規範中的ACA檢測部分嗎?


Jeff

KevinZheng USB&DSP&Firmware 提到...

Hi Jeff

沒有ID pin就沒有ACA。現在辨識裝置的方式,就要靠CC,Billboard,或是PD溝通了。