hello,大家好!这里是硬件那些事儿,很高兴能与大家在此交流硬件的那些事儿!
加微信[mywxyhq]与作者进群沟通交流。
今天给大家分享一个之前遇到的一个MOS管应用问题?是关于使用mos管做电平转换时遇到的问题,避免大家再踩坑。
说明一下应用背景:我们使用的MOS管完成MDC/MDIO总线的1.8V-2.7V的电平转换。电路图如下:
问题:我们主板系统中,switch与CPU(即mac )之间ping 包不通.因为switch 这端已经能正常工作,端口间可以相互ping 通,所以问题还是锁定在MAC-Switch间,从软件log打印看,连接MAC与SWITCH间的SGMII数量总线已经正常协商,所以基本排除了 SGMII的问题.那么就剩下MDC/MDIO这组控制总线了.于是我们测量了下这组信号的波形.
MHT_MDC (1.8V转换前)
SMI_MDC (2.7V转换后)
从上面两个波形对比,我们可以发现经过如上电平转换电路之后,波形失真严重,并且转换后电平没有达到预期要求(2.7V),我们初步分析原因为,MDC时钟频率为1.56MHZ,开关频率太快了,MOS管的开关速度跟不上。以及DS端的驱动能力不够。于是我们做了如下两个尝试,首先更换R1227电阻阻值为1K。同时更改MOS 管的型号为:BSS138。
首先修改VD上拉的电阻后,波形如下:
这个波形还是有问题,只是上升时间变短了一点,并且相同的时间内,上升的最大电平也比之前变大了一些,接近2.7V。测试检测功能,网口依然ping 不通。
如下是更换MOS管型号为:BSS138。
从上图可以看出,MDC的波形已经比较正常的方波了,最大电平也是达到了2.7V,我们设计的电平值。此时检测网口,ping 包功能已经正常。
到这里,板子的问题已经解决,主要原因还是这两个MOS 的区别,接下来我们看看两颗MOS具体哪些参数影响了。
我们结合以上MOS 管电平转换电路工作原理,MDC时钟波形,由低电平到高电平的转换,其实就是MOS从导通到关断的过程。所以我们需要关注MOS管的输出电容大小。即上面规格书里面的Coss这个参数。
我们知道MOS管是压控器件,不同于三极管是流控器件,但是实际上MOS管在从关断到导通的过程也是需要电流(电荷)的,原因是因为MOS管各极之间存在寄生电容Cgd,Cgs和Cds,如图4所示。MOS管导通条件是Vgs电压至少达到阈值电压Vgs(th),其通过栅极电荷对Cgs电容充电实现,当MOS管完全导通后就不需要提供电流了,即压控的意思。这三个寄生电容参数值在MOS管的规格书中一般是以Ciss,Coss和Crss形式给出,其对应关系为:
反向传输电容:Crss=Cgd;米勒电容
输入电容:Ciss=Cgs+Cgd;
输出电容:Coss=Cds+Cgd。
然而,这三个等效电容是构成串并联组合关系,它们并不是独立的,而是相互影响,其中一个关键电容就是米勒电容Cgd。这个电容不是恒定的,它随着栅极和漏极间电压变化而迅速变化,同时会影响栅极和源极电容的充电。
我们对比上面的规格书发下NCE2302d的输出电容比BSS138的输出电容会大18PF左右,接下来我们通过对电容仿真来看下。两个输出电容的充电时间差别。
先看4.7K,30PF
通过仿真电容的充电时间曲线,对比我们测试的实际波形,发现电容充电时间,是基本吻合。如下图所示:
到此我们通过理论和仿真,实际测试,验证了这个问题,找到了问题的根本原因。通过此案例,我们可以总结下:
MOS应用时,除了通用的一些参数外,特别是在做高频开关(特别是MHZ级别)使用时,我们一定要考虑MOS的寄生电容参数,这几个参数,会影响MOS管的开关速度,以及损耗情况。