手头有个高通QC2.0的电源适配器,请问怎么能取出9V或12V来用
手头有个高通QC2.0的电源适配器,请问怎么能取出9V或12V来用 你得知道高通QC2.0的握手协议,否则只能当成普通的5V电源适配器使用。 QC2.0的握手协议是通过D+,D-的脉冲来握手的。 拆开,里面应该有一个QC2.0的协议芯片你可以将这个协议芯片拿掉,查他的资料看9V或12V哪些口是什么状态,出0的状态你就接到VSS. QC2.0握手协议,资料有吗?
可以用单片机IO来模拟吗? jiwx2011 发表于 2015-11-13 16:49
QC2.0的握手协议是通过D+,D-的脉冲来握手的。
QC2.0握手协议,资料有吗?
可以用单片机IO来模拟吗?
在网上没找到详细的一些说明 按网上说法是:
连接后,受电方D+输出0.6V;之后受电方检测D-电压,当D-下降至0.325V以下后,受电方同时在D+和D-上输出:
9V: D+=3.3V, D-=0.6V;
12V: D+=0.6V, D-=0.6V。 时序是怎么样的,没搞清楚。
还有单片机普通IO是否可以模拟这些时序? miaoxun206 发表于 2015-11-14 12:36
时序是怎么样的,没搞清楚。
还有单片机普通IO是否可以模拟这些时序?
高通Quick Charge 2.0 快速充电原理分析
http://www.eefocus.com/uniquecndzz1241488/blog/14-06/303956_afcc6.html
支持QC 2.0快充的充电器根据手机端在micro USB接口DP/DM上加载的电压值来调整自身AC/DC的输出电压和电流,其对应关系如表1所示:
D+ D- Output
0.6V 0.6V 12V
3.3V 0.6V 9V
3.3V 3.3V 20V
0.6 GND 5V(default)
表1
注: 所有0.6V代表0.325-2.000V, 所有3.3V代表大于2.000V, 在此范围内即可正确申请QC 2.0握手协议.
具体调整原理如下:
当将充电器端通过数据线连到手机上时,充电器默认的是将D+和D-短接的,这样手机端探测充电器类型是DCP(参见本人另一篇博文《高通平台USB2.0和3.0接口充电器识别原理》),
手机以默认的5V电压充电,接着过程如下:
1) 如果手机端使能了快速充电协议,Android用户空间的hvdcp(high voltage dedicated charger port)进程启动,并且在D+上加载0.325V的电压维持超过1.25s上;
2) 充电器检测到D+上电压0.325V维持超过了1.25s,就断开D+和D-的短接,由于D+和D-断开,所以D-上的电压不再跟随D+上的电压0.325V变动,此时开始下降;
3) 手机端检测到D-上的电压从0.325V开始下降维持1ms以上时,hvdcp读取/sys/class/power_supply/usb/voltage_max的值,如果是9000000mV,就设置D+上的电压为
3.3V,D-上 的电压为0.6V,否则设置D+为0.6V,D-为0V;
4) 充电器检测到D+和D-上的电压后,就调整充电器输出电压到9V.
协议过程
1.将D+和D-短接,重置1.25秒定时器.
2.检测D+上电压,如果此电压超过0.325V小于2.0V超过1.25S,下一步,否则重置1.25秒定时器.
3.断开D+,D-连接,由于D+和D-断开,所以D-上的电压不再跟随D+上的电压0.325V变动,此时开始下降;
4.检测D+,D-电压以修改输出电压值.
D+ D- Output
0.6V 0.6V 12V
3.3V 0.6V 9V
3.3V 3.3V 20V
0.6 GND 5V(default)
注: 所有0.6V代表0.325-2.000V, 所有3.3V代表大于2.000V, 在此范围内即可正确申请QC 2.0握手协议.
现在你要做的是手机端的才行. liufabing 发表于 2015-11-14 13:22
高通Quick Charge 2.0 快速充电原理分析
http://www.eefocus.com/uniquecndzz1241488/blog/14-06/303956_ ...
谢谢,这个我也在网上看到了。时序按照这个
单片机如何弄出0.6V和3.3V间切换呢?用电阻分压? 单片机3.3V供电,IO接10K, 2.2K的电阻分压,用4个IO就可以完整模拟出ID_-D-需要的0V, 0.6V, 3.3V电压。 不用这么麻烦吧,拆开找到反馈分压电阻短路一下或者修改都可以的 合泰有现成的方案. 淘宝有专门的握手模块,自己买一个就行 {:lol:}{:lol:}{:lol:} miaoxun206 发表于 2015-11-14 16:51
谢谢,这个我也在网上看到了。时序按照这个
单片机如何弄出0.6V和3.3V间切换呢?用电阻分压? ...
用AD DA啊,我用STM32就成功测试过QC2.0的协议。 rqiang 发表于 2015-11-14 17:35
单片机3.3V供电,IO接10K, 2.2K的电阻分压,用4个IO就可以完整模拟出ID_-D-需要的0V, 0.6V, 3.3V电压。 ...
电阻分压可以,那就简单了,手动单片机板多
你做过这个? upli 发表于 2015-11-15 09:43
用AD DA啊,我用STM32就成功测试过QC2.0的协议。
这个麻烦,手头单片机板都有AD,但是都没有DA。
握手就一次吧,成功不成功要做判断吗? miaoxun206 发表于 2015-11-14 12:36
时序是怎么样的,没搞清楚。
还有单片机普通IO是否可以模拟这些时序?
从机这边其实几乎没什么时序,就是判断一下D-的下降。
我用逻辑器件做过:
http://blog.csdn.net/K_O_Carnivist/article/details/49874921
0.6V可以用电阻分压。用单片机IO的话应该没什么问题。 miaoxun206 发表于 2015-11-16 11:42
这个麻烦,手头单片机板都有AD,但是都没有DA。
握手就一次吧,成功不成功要做判断吗? ...
你要模拟D+,D-上的电压协议,必须要有DA的。至于AD,用来检测D+上施加了0.6V的电压,以及最终VBUS有没有按要求输出9V/12V。这样的话,需要2路DA,3路AD,才能做一个健全的系统吧。
我当时是这样做的:
K.O.Carnivist 发表于 2015-11-17 00:10
从机这边其实几乎没什么时序,就是判断一下D-的下降。
我用逻辑器件做过:
http://blog.csdn.net/K_O_Car ...
看来分压实现没问题 可以用单片机来模拟IO口,D+ D-所需电压用电阻分压实现。 路过 QC2.0的四个步骤:
1. 供电方短接D+和D-,这是充电器或移动电源要完成,不在诈骗器的范围;
2. 受电方插入后,在D+输出0.6V,这是手机或是我们将要做的诱骗器完成;
3. 供电方检测到这个电压1.25秒后,把D-与D+断开,并将D-下拉至0V,这是充电器或移动电源要完成;
4. 受电方检测到D-下降后,按需要的电源电压在D+和D-上输出
页:
[1]