This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

如何使用单片机读取BQ24610EVM板块上STAT1,STAT2,PG的状态信号?

Other Parts Discussed in Thread: BQ24610EVM

各位TI的工程师以及论坛的朋友们好。

我手头有一块BQ24610EVM的验证板。通过这块验证板我也自己做了一块板子出来。使用都很不错,一切挺正常的。

但是由于项目需要,想要通过单片机判断充电器所处的状态,而不再通过LED来判断

BQ24610EVM验证板上,STAT1,STAT2,PG的电路如下:

可以看到,状态LED灯是通过芯片自身的基准电压来驱动的,为3.3V。

LED负极连接芯片上对应控制LED灯的引脚。

起初我以为当PG,STAT1,STAT2引脚给高电平(3.3V)的时候LED灯就灭。给低电平(0V)的时候LED就亮。

鉴于以上的理解,于是我进行了如下的测试:

 

1.去除PG,STAT1,STAT2LED和VREF连接的所有元器件

我想通过单片机直接读取PG,STAT1,STAT2板子目前所处的状态。

但是发现奇怪的问题。

a.灯的状态下,PG,STAT1,STAT2引脚的电压为 0V

b.灯的状态下,PG,STAT1,STAT2引脚的电压为 0.1V。

这就很尴尬了,这种情况单片机肯定识别不出来的。也不可能用ADC引脚判断电压变化,这样效率很差。而且一块单片机上也不可能有足够的引脚来做ADC。

 

2.保持上图的电路(有电阻有LED,使用VREF驱动),检测PG,STAT1,STAT2引脚上的电压

状态如下。

a.灯的状态下,PG,STAT1,STAT2引脚的电压为 0V

b.灯的状态下,PG,STAT1,STAT2引脚的电压为 1.8V(BQ24610EVM板)和1.34V(自己做的板)

自己做的板子与Ti官方的EVM测试板在灯灭的情况下的电压差距应该是发光二极管自身内阻差别影响的。

但主要问题是,1.34V,1.8V单片机也不能直接识别为高电平。

尝试着使用这两个电压(1.34V,1.8V)去驱动一个三极管(ss8050),想通过三极管来引入3.3V的电压给单片机。但是也失败了。电路如下图:


现在就还差测试能不能驱动光耦了....想问问论坛里各位Ti的工程师以及各位朋友们,还又什么好的解决方法吗!?