在USBIF 裡有測到下列狀況的VBUS電流:
1. USB 有認到時的電流: 100mA/500mA
2. USB 沒(還沒)認到時的電流: 100mA/500mA
3. 電腦 suspend 時的電流: 2.5mA
4. 正常運作時的電流: 100mA/500mA
所以有兩個地方,USB 需通知charging driver
1. 電腦認到 USB 時
2. 電腦 suspend 時
*以下是 Quallcomm 認到通知的flow(quallcomm 是以有被設了new address 才開始充電)
UfnPdd_SetAddress() @Msm_usbhs.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\fn)
-> UfnPDD_NotifyChargerCurrent(), 帶pdd->dChargerCurrent進去,init 在 s_deviceRegParams @Msm_subhs.cpp, 目前設定100, 意思是 100 mA
-> DeviceIOControl 帶IOCTL_OTG_SET_REMOTE_DEV_A_INFO 參數,和要充的電流大小
Cl13611OTG::IOControl() @Cl13611.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\otg)
這裡會收到 IOCTL_OTG_SET_REMOTE_DEV_A_INFO , pBufIn 就是要充的電流大小
*以下是 電腦 suspend 通知的 flow
UfnPDD_NotifySuspend() @Msm_usbhs.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\fn)
這個不是WINAPI ,找不到從哪裡call 來,可能是 Quallcomm 的lib
-> UfnPDD_NotifyChargerCurrent(), 帶current 變數進去,如果是suspend, current=0
如果不是,current=100
-> DeviceIOControl 帶IOCTL_OTG_SET_REMOTE_DEV_A_INFO 參數,和要充的電流大小
Cl13611OTG::IOControl() @Cl13611.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\otg)
這裡會收到 IOCTL_OTG_SET_REMOTE_DEV_A_INFO , pBufIn 就是要充的電流大小
Showing posts with label USB IF. Show all posts
Showing posts with label USB IF. Show all posts
5.05.2009
4.07.2009
測USBIF 注意事項
最近再整理筆記,趁這個機會整理一下測USBIF 的部份
1. 還沒插入USB cable 之前,USB充電應關閉,一直到set configured 之後才可開啟。
2. 用電池的產品,USB充電不可超過100mA(會影響test J/K)。
3. D+D- 的訊號線應離PHY愈近愈好,且不可串接或並接任何東西(例如bead),Handy 用coaxial cable 在機子裡跑是一大敗筆, (影響Rx sensitivity)。
4. Connector 如果可以的話,盡量用標準的USB connector,如果不是標準的,Vbus和Ground 也要先touch 在cable 插入時。
5. 有cable 的產品,再測眼圖時用FAR END來測,沒cable 的產品(大母哥) 用NEAR END測。
6. 連線完cable 拔掉之後,D+ D-應為low。
7. 在Ch9裡, default power 應該為 “BUS/SELF POWER” ,而current power 如果是SELF POWER,則Vbus 的電流不可超過100mA,如果是BUS POWER 則不可超過500mA. 但在PC suspend 時,兩者定義都不可超過2.5mA。
1. 還沒插入USB cable 之前,USB充電應關閉,一直到set configured 之後才可開啟。
2. 用電池的產品,USB充電不可超過100mA(會影響test J/K)。
3. D+D- 的訊號線應離PHY愈近愈好,且不可串接或並接任何東西(例如bead),Handy 用coaxial cable 在機子裡跑是一大敗筆, (影響Rx sensitivity)。
4. Connector 如果可以的話,盡量用標準的USB connector,如果不是標準的,Vbus和Ground 也要先touch 在cable 插入時。
5. 有cable 的產品,再測眼圖時用FAR END來測,沒cable 的產品(大母哥) 用NEAR END測。
6. 連線完cable 拔掉之後,D+ D-應為low。
7. 在Ch9裡, default power 應該為 “BUS/SELF POWER” ,而current power 如果是SELF POWER,則Vbus 的電流不可超過100mA,如果是BUS POWER 則不可超過500mA. 但在PC suspend 時,兩者定義都不可超過2.5mA。
Subscribe to:
Posts (Atom)