请教:USB模式的充电和充电器模式是怎么样检测的?
IC内部枚举设备
IC枚举设备
我知道一点点,欢迎大神指正。一般的是通过区分D+和D-的短接与否来判断是否为非标充电,快充的话每家都不太一样,以高通的QC2.0为例,快充的充电器与手机USB的(D-、D+)上加载电压来进行通讯,调节QC2.0的输出电压,(手机连上充电器,充电器默认通过MOS管让D+和D-短接,此时手机侦测到充电器类型为DCP(专用充电端口模式),此时手机中的HVDCP进程启动,开始在D+上加载0.325V的电压,当这个电压维持1.5s后,充电器断开D+和D-的短接,D-上的电压将下降,手机检测到D-上的电压下降后,HVDCP将获取手机预设的充电器电压值,比如9V,则设置D+上的电压为3.3V,D-上的电压为0.6V,充电头输出9V。另外,现在电脑的USB基本都有限流,USB模式的话最多也只能有400~500 mA左右的电流。
我看过普通的充电器,比如5V/1A、5V/2A的,D+和D-都是直接短接连在一起的。这个时候手机是怎么检测它是短接在一起还是悬空,或者连着电脑?MTK平台好像要求充电器必须是D+和D-短接的。
AC充电器DP/DM是短接的,USB 端口DP/DM都是15K 下拉到地,在USB插入时候平台会对DP/DM做上下拉的一些动作并根据DP或者DM的电压判断,比如:1.是不是非标充电器(DP/DM 悬空)2.如果不是非标,再判断是不是标准充电器(DP/DM 短接)或者USB port。
具体判断方法各家平台做法也不同,以MTK来说,把DP上拉到0.6V电源,DM加100uA下拉,然后看DM是否>0.375V状态判断,如果是标准充电器,DM=DP=0.6V,如果是USB端口,DM=0V
以上只是初步判断是DCP还是SDP,标准充电器一般都是DP/DM短接的,但是也有三星苹果等DP/DM会有内部上下拉,所以平台在做这种充电头判断时候还会多加一些流程
了解了,非常感谢讲解。
是按照usbif充电标准进行检测的
学习了,明白了原理
你看一下BC1.2就知道了,这是协议规定的
长知识了!