背景:
在门锁、水表、燃气表等产品的设计过程中,因低功耗的设计要求,在一些端口的上下拉电路中,通常会选取较大的上下拉电阻,一个典型的应用电路如下图:
图1
上述电路V2端接CPU引脚(GPIO),V1端接装置外部端子,R26接3.3V上拉,预想实现的功能是GPIO输入或者输出模式,高电平时,V1=V2=3.3V,低电平时候,V1=V2=0V,调试过程中发现,CPU输出高电平时,使用万用表实测V1=V2=1.08V。
拆除D7后,V1=V2=2.7V,为了排除V2端GPIO的影响,将V2与CPU之间连线割断,割断后V1、V2电压值无变化
这里出现了两个疑问,
1、 为什么D7拆除后,V1=V2=2.7V?
2、 为什么D7存在时,V1=V2=1.08V?
问题1,用万用表测试时,R27阻值忽略不计,则测量等效模型为:
图2
如果万用表内阻接近无穷大,则此处V1、V2接近开路,电压应为3.3V,但实际电压为2.7V,有可能是万用表的内阻相对于上拉电阻2.2M来说,并非近似无穷大,由此造成了分压现象。
经网上查阅资料,测试时使用的型号为UT33D的万用表直流电压档的内阻为10M(见下图),因此,通过电阻分压可计算出,V1、V2处电压为2.704V,与实际测量结果相符。
图3
通过Multisim仿真,当设置万用表内阻为10M时,上拉结果也为2.7V,与分析结果吻合。
图4
当D7焊接时,等效测量电路为:
图5
查看TVS手册如下图:
图6
上图中反向截止电压 VRWM 为TVS 管不导通的最高电压,在这个电压下只有很小的反向漏电流 IR。
D7反向截止电压 VRWM =5V,典型反向漏电流 IR为400uA,由于上拉电阻阻值较大,为2.2M,在D7上即使存在很小的反向漏电流,也会在R26上引起较大的压降,在本电路中,我们测得V1=1.08V,可推算,R26两端电压为3.3-1.08=2.22V,流过它的电流为2.22/2.2=1uA,也就是说,正是这1uA的漏电流(严格上说,这1uA是TVS漏电流与流过万用表的电流之和)造成了R26电阻上较大的分压,进而引起V1、V2处电压过低,达不到预设的3.3V高电平输出功能。
同样建立仿真模型,万用表内阻仍设置为10M,使用D1替代上述电路中的TVS,D1的仿真模型中,漏电流设置为1uA,实际仿真过程中发现,流过D1的漏电流为0.224uA,经过R1的分压后,R1下端实际输出电压为2.801V,仿真结果与实际电路基本吻合。
图7
经过上述的分析我们可以知道,本质上是因为TVS的漏电流导致了输出电平的过低,我们只需选用漏电流较小的TVS,便可解决这个问题,通过图6可知,SMBJ9.0CA的漏电流仅为10uA,我们在设计过程中可综合权衡对后级电路的保护效果与上拉电平的输出范围,合理选用满足我们产品设计要求的TVS型号。