首先说一下USB充电,标准充电器,非标准充电器的不同。
USB充电线,D+,D-会有15K的下拉电阻.
标准充电器,D+,D-短接
非标准充电器,D+,D-悬空
MTK芯片内部,D+有1.5K上拉电阻,D-有100K上拉和15K下拉,根据需要选择。
当充电器插入后,MTK芯片内部会打开D-线上的100K上拉电阻,检测D-的状态,D-为低电平,则为USB充电线,因为有15K下拉的缘故。
下一步检测标准和非标准充电器:
打开芯片内部D+的1.5K上拉电阻和D-的15K下拉电阻。检测D-的电压,如果是高电平,则为标准充电器,否则,即为非标准充电器。