Part Number:BQ25703A
Hi,
我们使用BQ25703A充电IC,采用1节电池,电池电压为4.35V。从文档看到,BQ25703A支持otg功能。
当我们在bq25703a vbus端接入鼠标等设备时,bq25703a会切换到otg模式,测量EN_OTG变为高电平,设置寄存器0x35[4]=1。
发现otg功能无效,鼠标不能使用,用示波器测量BQ25703A vbus拉高后又被拉低,读出寄存器0x35[4]也变为0
dump所有寄存器如下:
[ 175.208482] REG0x0 : 0x20e
[ 175.209057] REG0x2 : 0x0
[ 175.209493] REG0x4 : 0x10f0
[ 175.209914] REG0x6 : 0x200
[ 175.210175] REG0x8 : 0xa00
[ 175.210495] REG0xa : 0x0
[ 175.211006] REG0xe : 0xa00
[ 175.211204] REG0x20 : 0x2001
[ 175.211407] REG0x22 : 0x0
[ 175.211653] REG0x24 : 0xa00
[ 175.211856] REG0x26 : 0x0
[ 175.212058] REG0x28 : 0x3
[ 175.212263] REG0x2a : 0x0
[ 175.212465] REG0x2c : 0xd0e
[ 175.212725] REG0x2e : 0x7840
[ 175.213094] REG0x30 : 0x210
[ 175.213294] REG0x32 : 0x2b7
[ 175.213497] REG0x34 : 0x0
[ 175.213714] REG0x36 : 0x4a54
[ 175.214018] REG0x38 : 0x8120
[ 175.214340] REG0x3a : 0xa0ff
[ 175.214542] battery charge current: 0mA
[ 175.214744] battery discharge current: 768mA
[ 175.214946] VSYS volatge: 3712mV
[ 175.215150] BAT volatge: 3776mV
[ 175.215354] SET CHARGE_CURRENT: 0mA
[ 175.215556] MAX_CHARGE_VOLTAGE: 4336mV
[ 175.215760] INPUT_VOLTAGE: 3200mV
[ 175.215962] INPUT_CURRENT: 500mA
[ 175.216165] MIN_SYS_VOTAGE: 3072mV
[ 175.218607] status:
[ 175.218634] AC_STAT: 0
[ 175.218837] ICO_DONE: 0
[ 175.219041] IN_VINDPM: 0
[ 175.219242] IN_IINDPM: 0
[ 175.219447] IN_FCHRG: 0
[ 175.219650] IN_PCHRG: 0
[ 175.219854] IN_OTG: 0
[ 175.220057] F_ACOV: 0
[ 175.220261] F_BATOC: 0
[ 175.220465] F_ACOC: 0
[ 175.220479] SYSOVP_STAT: 0
[ 175.220486] F_LATCHOFF: 0
[ 175.220493] F_OTGOVP: 0
[ 175.220500] F_OTGOCP: 0
谢谢
Johnsin Tao:
Hi
将输入电压的波形传上来看一下?
按照设计,测量EN_OTG变为高电平,设置寄存器0x35[4]=1, 此时就是OTG模式? 输入设置输出5V吗? 负载多少?(或者断开鼠标看看输出电压?)
,
weiguo yuan:
Hi Johnsin Tao,
otg voltage(reg0x06)设为5v, otg current(reg0x08)设为500mA
,
weiguo yuan:
断开鼠标,测量vbus为0v
,
weiguo yuan:
8.3.3 USB On-The-Go (OTG):
讲到otg功能需要的条件:
REG0x05/04()设为4.35v
OTG output voltage is set in REG0x07/06(): 设为5v
output current is set in REG0x09/08(): 设为500mA
插上鼠标后,EN_OTG测量为高电平;
REG0x35[4]设置为1,大约过200ms又会变为0
,
weiguo yuan:
Hi Johnsin Tao,
请问一下输入电压就是电池的电压吧,范围在3.5v ~ 4.35v
,
weiguo yuan:
Hi Johnsin Tao,
有问题需要您确认一下,我们的项目是单节电池,电池满电电压为4.35v
请问bq25703支持单节电池otg功能吗?
,
weiguo yuan:
Hi Johnsin Tao,
请教一下,bq25703a中的VDDA是固定的吗?
我测试了一下,当主板typec口插上充电器时,VDDA有6.1v;当主板typec口插上鼠标时,VDDA有3.7v,随电池电压变化,鼠标不能用;
给一个扩展坞先插上充电器,然后把扩展坞接到主板typec口,VDDA有6.1v,在扩展坞插入鼠标可以识别。
,
weiguo yuan:
,
Johnsin Tao:
HI
BQ25703即便单节电池也 支持OTG的,见datasheet第五页说明。
,
weiguo yuan:
Hi,
我现在typec口接上鼠标不能使用是什么原因呢?EN_OTG脚已经为高了,但是寄存器0x35[4] EN_OTG写1后,又某不知明的原因置0了。
,
Johnsin Tao:
Hi
确认写成1实现了OTG(从波形上看有输入升压上去)? 然后异常了掉下来?
能够将这个时候的输入电压,电池电压波形传给我看一下,同时确认一下OTG的其他配置或者不带鼠标带其他负载看看? 我觉得应该是保护了
,
weiguo yuan:
Hi
我在邮件中上传了vbus波形视频。
黄色: 电池电压大概4v左右蓝色: VBUS 插上鼠标时,vbus上升到大约3.5v,然后掉到0
,
weiguo yuan:
hi,
请问您说的保护了,指的是bq25703保护了吗?是因为Minimum System Voltages设置不对造成的吗?
,
weiguo yuan:
邮件中发的波形视频被退回了,能加微信吗?沟通方便一些。
微信号:yuanweiguo_0122
电话:18926775521
,
weiguo yuan:
接u盘,vbus也是上升到大约3.2v,然后掉落到0v
,
Johnsin Tao:
Hi
电池是4V左右,要升压到5V。
波形可以直接贴上来(见下面的“插入”)
,
weiguo yuan:
(function(id)
{var v = document.getElementById(id);var op = v.style.position, ol = v.style.left, or = v.style.right, fe = [];var nodeLimit = 50;checkVideo = function() {if (!v.canPlayType || v.error) {var bound = 0;while (v.childNodes.length > 0 && bound < nodeLimit) {bound++;if (v.childNodes[0].nodeName != 'SOURCE') {v.parentNode.insertBefore(v.childNodes[0], v);}}v.parentNode.removeChild(v);} else if (v.readyState == 0) {window.setTimeout(checkVideo, 249);}},checkVideoRendered = function() {if (v.networkState == 1 && v.readyState == 4) {v.style.position = op;v.style.left = ol;v.style.right = or;for (var i = 0; i < fe.length; i++) {fe[i].parentNode.removeChild(fe[i]);}} else {window.setTimeout(checkVideoRendered, 249);}}if (navigator.userAgent.indexOf('iPad') == -1 && navigator.userAgent.indexOf('iPhone') == -1 && navigator.userAgent.indexOf('iPod') == -1) {window.setTimeout(checkVideo, 249);}
})('v_c2f479685e12412a8079b92a186bd1c3');
,
weiguo yuan:
1bq25703.pdf
,
weiguo yuan:
Hi,
请帮忙看看电路图有无错误。谢谢
,
Johnsin Tao:
Hi
电路参考datasheet即可,而且如果充电正常。
用示波器看看2个sense电压是否异常? 同时配置上是否有问题,除了OTG启动外,应该还有输出电压配置,电流限制配置之类。
,
weiguo yuan:
Hi,
充电正常。
max charge voltage设为4.35v;otg output voltage设为5V;otg output current设为500mA;minisys voltage设为3328mV
,
weiguo yuan:
Hi,
您说的两个sense电压指的是哪里的电压?
,
Johnsin Tao:
Hi
datasheet 第25页8.33 有相关配置,从你描述看并没有问题。
sense电阻对应ACN/ACP, SRP/SRN, 主要看这里的电流是否有异常过大?
,
weiguo yuan:
Hi,
按照我们当前的单节电池(例如电压为3.8v),ACN/ACP, SRP/SRN电压正常应该是多少?
我们测量ACN/ACP的电压,当插入鼠标时和vbus一样升到3.4v,又降为0v; SRP/SRN一直为3.8v不变。
,
Johnsin Tao:
Hi
空载下能正常输出5V?
或者你在美国E2E上问一下:https://e2e.ti.com/ 能要注意的问题,应该都注意到了,看看美国那边有更好的建议。
,
weiguo yuan:
没招数了。
我们还有一款产品,是rk3399 android7.1平台的,是双节电池,8.75V。驱动都不需要做任何特殊设置,插上鼠标就可以自动切换到otg模式,鼠标可以正常使用。
比较了两个平台的驱动,fusb302和bq25703都相同,唯一的差别是rk3399 android9.0产品是单节电池,max charge voltage寄存器设的是4.35v;rk3399 android7.1产品是双节电池,max charge voltage寄存器设的是8.75v;
,
Johnsin Tao:
Hi
在美国E2E上问一下,我也觉得很奇怪,如果不带鼠标带其他负载能正常吗?
,
weiguo yuan:
插u盘也不行
,
Johnsin Tao:
Hi
用电子负载试,我觉得可能是干扰问题。
,
weiguo yuan:
Hi 你好
电子负载是什么东东?你的意思是负载有干扰?
,
Johnsin Tao:
Hi
有可能,所以建议用电子负载试一下。
,
weiguo yuan:
Hi,
请问上面这个指的是什么?是接入负载前vbus要小于V VBUS_UVLO?
V VBUS_UVLO在哪里设置的?
,
weiguo yuan:
或者这样问,在切换otg前,vbus要小于V VBUS_UVLO,才能切换过去?
,
Johnsin Tao:
Hi
这个不需要设置,Vbus_uvol 规格见datasheet 参数表page14.
,
weiguo yuan:
Hi,
把OTG Current Register (09/08h)设置为0,插鼠标可以用。测量vbus为4.9v;但是插u盘不能用,vbus为0v
,
Johnsin Tao:
HI 这个是设置输出OTG输出电流的,你需要确认鼠标和键盘的电流需求。
,
weiguo yuan:
Hi,
在切换otg之前OTG Current Register (09/08h)一定要设置为0,切换otg成功后,再设置OTG Voltage Register (07/06h)和OTG Current Register (09/08h):
插鼠标可以直接使用;
插u盘不识别。要先插otg转接头,切换到otg模式,然后插上u盘,才可以识别;
,
Johnsin Tao:
HI
应该还有系统上的问题,因为配置上没有问题,但是感觉受其他影响了。
,
weiguo yuan:
Hi,
要根据板子带的负载来设置相应的otg电流。例如:
裸板,设otg电流为500mA,可以识别鼠标,2.0/3.0 u盘;
整机,就要设置较大的otg电流,例如otg电流设为3000mA,才可以识别鼠标,2.0/3.0 u盘;
,
Johnsin Tao:
Hi
好的。