
1. 为什么几乎所有MOSFET教材都把线性区电流公式放在最前面如果你刚接触MOS管翻过几本教材或者看过几个视频会发现一个规律不管讲NMOS还是PMOS线性区电流公式总是第一个登场后面才轮到饱和区公式。这和很多人的直觉相反因为现实电路里MOS管当开关用时大部分时间明明工作在饱和区或者深三极管区边缘线性区反而用得少。但教材这么编排是有原因的。线性区电流公式是整个MOS管工作原理的核心入口它把栅极电压、氧化层电容、沟道宽长比、漏源电压这几个最关键的参数全串在了一条式子里。你真正理解了它后面什么饱和区电流、截止区条件、导通电阻、跨导、米勒效应全都能顺藤摸瓜地推出来根本不用死记硬背。这篇文章我尽量用做工程的人习惯的方式来讲先说物理图像再推公式然后拿PMOS和NMOS做一次彻底对比最后结合我在实际电路调试中遇到的问题聊聊这个公式怎么用、怎么把料。不管你是学生、刚入行的硬件工程师还是自学电源设计的爱好者建议把前面推导部分耐心看完这是后面所有应用的地基。2. 线性区公式背后的物理图像比公式本身重要得多2.1 导电沟道是怎么来的VGS必须超过阈值电压MOS管三个极是栅极G、漏极D、源极S它的核心结构可以简单理解成一块平板电容栅极是上极板半导体衬底是下极板中间隔着二氧化硅绝缘层。对于NMOS衬底是P型硅里面多数载流子是空穴。当栅极加上正电压电场会穿过绝缘层把P型衬底表面附近的空穴推开留下带负电的受主离子形成一个耗尽区。继续提高栅压当电压超过阈值电压VTH后栅极正电荷产生的电场足够强会把衬底深处的少数载流子——电子——吸引到表面。这时栅极正下方就形成了一层电子浓度很高的薄层这就是N型沟道像在P型体硅里挖了一条通路。这个过程的日常生活类比可以想成水闸栅极电压是控制水闸的电机阈值电压是电机克服摩擦和重力做功的最小电压低于这个值闸门纹丝不动一旦超过水流电子就开始流过沟道。PMOS则是反过来衬底是N型硅栅极加负电压后把空穴吸引到表面形成P型沟道所以PMOS的导通条件是VGS要低于阈值电压也就是栅极比源极负到一定程度。2.2 沟道里的电荷量、电场和电流三者怎么耦合沟道形成了但源极到漏极之间不一定有电流。要让电流流起来还需要漏源之间加电压VDS。VDS会在沟道长度方向上产生一个横向电场电子在这个电场驱动下源极跑到漏极形成漏极电流ID。现在的关键是沟道里的电荷量是多少以及电子跑得有多快。电荷量由栅极有效电压决定栅氧化层单位面积电容是Cox一个宽度为W、长度为L的管子如果整个沟道下方栅压都处于VGS-VTH的状态那单位面积感应电荷量就是Cox乘以(VGS-VTH)。但真实情况比这复杂因为从源端到漏端沟道电位其实是逐渐变化的。源端靠近源极沟道与源极电位相同这里的实际栅压是VGS所以电荷密度q_s Cox×(VGS-VTH)。漏端靠近漏极电位被抬高了VDS所以栅极和沟道之间的有效压差变成了VGS-VDS电荷密度q_d Cox×(VGS-VDS-VTH)。漏端电荷密度比源端小沟道电荷沿长度方向是梯形分布的。VDS越大梯形越斜VDS小的时候梯形接近于矩形这就是两种近似公式的来源。电子跑多快取决于迁移率μn。迁移率本质上是电子在电场下的“敏捷程度”电场强度E VDS/L所以电子速度v μn×E μn×VDS/L。电流等于单位时间通过截面的电荷量把电荷量和速度乘起来再沿沟道长度方向做积分就能得到电流。详细的数学推导很多教材都有我这里直接给结果对沟道电荷做梯形积分后得到ID μn×Cox×(W/L)×[(VGS-VTH)×VDS - 0.5×VDS²]这就是MOS管完整的三极管区电流公式很多地方也叫线性区或可变电阻区公式。2.3 当VDS很小时MOS管就是一个可调电阻公式前面那项是主导项后面那个0.5×VDS²是最初漏端电荷减速引起的修正项。当VDS远小于2×(VGS-VTH)时也就是管子导通后漏源压降非常小比如开关电路里刚导通、VDS只有几十毫伏这种场景后面这一项完全可以忽略不计公式就简化成ID ≈ μn×Cox×(W/L)×(VGS-VTH)×VDS这个式子极其重要因为它告诉我们一个关键信息在VDS很小的时候ID和VDS近似线性关系比例系数就是1/Ron μn×Cox×(W/L)×(VGS-VTH)也就是说这时的MOS管等效于一个电阻阻值由工艺参数μn×Cox、沟道宽长比W/L、栅极过驱动电压VGS-VTH三者共同决定。栅压越高沟道越厚电子越多导通电阻越小。这也是为什么很多低压MOS管的驱动电路要提供15V甚至更高的栅压就是为了把过驱动电压做大把导通电阻压下来。这里顺便说一个我踩过的坑刚开始用MOS管做开关时我总以为只要VGS超过VTH管子就完全导通了结果实测导通压降很大功耗高得离谱。后来才意识到VGS-VTH只决定了沟道有没有建立起来导通电阻具体多小取决于过驱动电压和W/L的乘积。如果栅极驱动电压只比VTH高0.3V管子虽然导通了但Ron可能还有几百毫欧放过大电流照样发烫。3. PMOS和NMOS的线性区公式对比符号、方向和阈值电压的坑3.1 公式形式几乎一样但符号方向全反了PMOS的线性区电流公式和NMOS在形式上几乎一样区别在于几个符号的取值。完整的公式是ID μp×Cox×(W/L)×[(VGS-VTHP)×VDS - 0.5×VDS²]但PMOS的VTHP是负值VGS通常也是负的VDS按源漏电位定义也取负值。如果你直接用绝对值套公式容易搞混。工程上习惯的做法是先判断PMOS的源极S是接高电位的那一端漏极D是接低电位的一端然后把所有电压都取绝对值来算电流大小电流实际流向是从源极流到漏极。这个方向问题特别容易在仿真里闹笑话。我记得刚用SPICE仿真PMOS开关时定义好源漏后电流显示为负值我盯着波形看了半天最后才明白书本上说的“ID从漏极流向源极”只是参考方向定义PMOS真实载流子运动方向是从源极到漏极也就是电流从S端流入、D端流出。换句话说PMOS的电流方向和NMOS相反这是由载流子极性和电压极性共同决定的。3.2 体二极管方向完全不同这个影响比你想的大MOS管结构里还有一个天然存在的寄生二极管这是很多人忽略但实战中非常致命的东西。NMOS的源漏是N型区衬底是P型区源极和衬底通常短接所以从P型衬底到N型漏极之间天然形成了一个PN结这个体二极管的方向是源极到漏极也就是S指向D。工作正常时漏极电位高于源极这个二极管反偏不导通但如果电路出现异常漏极电位低于源极体二极管就会正向导通。PMOS的源漏是P型区衬底是N型区体二极管方向相反是从漏极指向源极也就是D指向S。仿真模型里默认都带这个寄生二极管很多刚接触仿真的人发现NMOS在VDS为负的时候居然也能“导通”其实就是这个二极管在起作用并不是沟道导通了。这个差异直接影响到防反接电路的设计。PMOS防反接电路是市面上用得最多的方案电源正常接入时体二极管方向和电流方向相同先通过体二极管给负载上电同时栅极被拉低PMOS导通把体二极管短路掉压降大幅下降。如果电源接反体二极管反向截止电路断开起到保护作用。而NMOS做防反接就麻烦得多因为它的体二极管方向天然不利于这种拓扑这也就是为什么电源输入级几乎清一色用PMOS做防反接。3.3 阈值电压的极性差异直接决定了驱动方式NMOS的阈值电压VTH是正值需要VGS VTH才能导通增强型NMOS通常VTH在0.5V到2V之间。PMOS的阈值电压是负值比如-0.7V需要VGS VTH也就是栅极电压要比源极低0.7V以上才能导通。这个极性差异让两种管子的驱动逻辑完全不同。NMOS做低端开关时源极接地栅极只需要提供一个正电压就能导通驱动电路很简单。但NMOS做高端开关时源极接负载导通后源极电位被抬升到接近电源电压这时候栅极必须比电源电压还要高出VTH也就是需要自举电路或者电荷泵来提供额外电压驱动复杂度飙升。PMOS则正好相反。PMOS做高端开关时源极接电源栅极只需要拉低到低于源极电压VTH就可以了一个电阻加一个NPN三极管或者NMOS就能完成驱动非常简单。这就是为什么绝大多数高边开关方案都选PMOS。付出的代价是PMOS迁移率低同样的W/L下导通电阻比NMOS大所以大电流场合通常还是用NMOS加自举驱动。下面把两种管子核心差异整理成一个速查表方便你将来选型时直接对照对比项NMOSPMOS载流子类型电子迁移率高空穴迁移率低阈值电压极性正值负值导通条件VGS VTHVGS VTH电流方向参考D指向S实际电子S到DS指向D体二极管方向S指向DD指向S典型角色低端开关、电平转换高端开关、防反接同等尺寸Ron较小较大约为NMOS的2~3倍驱动难度低端简单、高端复杂高端简单、低端较麻烦3.4 沟道宽度修正为什么PMOS总比NMOS大一圈既然PMOS空穴迁移率只有电子迁移率的三分之一到二分之一在相同宽长比和相同过驱动电压下PMOS的导通电阻自然比NMOS大。为了得到相同的导通电阻PMOS必须把沟道宽度加宽到NMOS的2~3倍。这在实际芯片版图里非常直观一个CMOS反相器PMOS的版图面积总是明显比NMOS大就是为了补偿迁移率差距使两个管子的驱动能力对称。在分立器件选型时你会看到同样封装同样耐压的PMOS导通电阻往往比NMOS大不少如果不看数据手册直接按型号替代很容易翻车。当初我在做一块板子的高边开关时就是没注意这个规律。原来用的NMOS导通电阻18毫欧我觉得PMOS选个25毫欧的应该也没问题结果一算损耗差了快一倍温升完全不可接受。后来老老实实选了个导通电阻10毫欧的高端PMOS面积大了一圈但温度终于压下来了。从那以后我养成了一个习惯凡是做PMOS和NMOS对位的选型导通电阻和Qg一定对着数据手册仔仔细细看不能凭感觉估。4. 线性区公式在工程上的几个典型用法4.1 用公式反推宽长比规划导通电阻做分立器件选型时最常用的就是线性区简化公式反推。假设你选了一颗NMOS数据手册给出VGS10V时最大导通电阻Ron15毫欧但你的系统栅极驱动电压只有4.5V这时导通电阻会变成多少先用已知推算这个管子内部的工艺参数。简化公式Ron 1/[μn×Cox×(W/L)×(VGS-VTH)]同一个管子μn、Cox、W/L不变那么Ron和(VGS-VTH)成反比。假设VTH查手册典型值是1.5V手册标RonVGS10V是15毫欧那10V驱动时过驱动电压是8.5V。4.5V驱动时过驱动电压变成3V所以Ron约等于15毫欧×(8.5/3) 42.5毫欧。实测下来这个估算已经很接近了实际可能是38到45毫欧之间因为迁移率和阈值电压本身也是偏置相关的。这个计算不需要复杂的仿真工具拿手机算一下就能知道系统的导通损耗能不能接受非常实用。4.2 查数据手册时怎么从曲线里读出有效参数很多刚入门的人拿着数据手册不知道从哪看起。其实手册里的输出特性曲线图本身就是线性区公式和饱和区公式的直接呈现。纵轴漏极电流ID横轴VDS每条曲线对应一个VGS。在VDS小的一段曲线几乎是直线斜率就是1/Ron和简化公式对应得特别好。想知道一颗管子的μn×Cox×W/L这个综合值最直接的办法就是在输出特性曲线的线性区找斜率。比如VGS10V那条曲线在VDS0.1V处ID20A那么1/Ron 20A/0.1V 200S也就是Ron5毫欧。再结合已知VGS和VTH就能反推出μn×Cox×W/L 1/[Ron×(VGS-VTH)]。这个方法在做MOS管并联均流评估时很有用。MOS管并联使用时温度系数是正的所以电流会自动均衡但如果两管子的VTH差异过大初始电流分配可能严重不均衡。用手册里的转移特性曲线查VTH分布范围能提前评估风险。4.3 恒流源电路里的线性区应用很多人理解反了还一个容易踩坑的地方是恒流源电路。网上很流行“运放加MOS管做恒流源”的方案很多教程都会画一个电路运放输出接MOS管栅极源极接采样电阻运放反相输入端接采样电阻采样电压同相输入端接设定电压通过负反馈把源极电压稳定住。这条电路在工作时MOS管工作在什么区很多人以为是线性区其实不对。真正工作时只要负载电阻足够大VDS会很大MOS管实际工作在饱和区电流靠VGS精确控制。只有当负载电阻很小、VDS压不下来时MOS管才会进入线性区这时电流公式变了运放的负反馈关系也会变得复杂。这个区分在调试时太重要了。我之前做过一个可调恒流负载设定1A电流结果实测只有0.3A一开始死活想不明白。后来量了一下VDS发现只有0.4V管子早进了线性区漏源电压根本不够支撑饱和区的工作条件。把电源电压从5V提到12V后VDS到5V以上电流立刻稳到1A。线性区公式的适用前提是VDS要足够小而饱和区则要求VDS足够大这两个公式的边界条件一定要记得和负载电阻联系起来不能孤立套公式。5. 常见问题与排查技巧实录5.1 实测电流比公式算出来的小很多先查VDS和VGS公式算得没问题但实测电流小一半这种问题我碰到过好几回基本都是下面几个原因之一。最可能是VDS不够小管子已经不再满足“VDS远小于2×(VGS-VTH)”的线性区条件公式里的负二次项开始显著起作用。这时候你按简化公式算结果当然偏大。第二个常见原因是VGS实际值没到你的设定值。很多驱动电路里栅极串了电阻栅源之间还有结电容如果PWM信号频率高、占空比大栅极电压可能在还没完全充满的时间里就又被拉低有效开启时间远小于理论值等效于VGS打了折扣。第三个原因容易忽略就是源极电位被抬高了。NMOS做低端开关时源极接地没这个问题但如果源极串联了采样电阻电流通过电阻会在源极产生压降VGS实际变成控制信号减去电阻压降这个差值在小电压驱动时可能很致命。排查思路很简单示波器探头分别点G、S、D三个点确认静态电平是否和设计一致再看VDS的波形是否是方波且导通时接近零别一上来就怀疑公式和管子坏了。5.2 波形里的米勒平台和线性区公式有什么关系米勒效应是MOS管开关动态过程中的经典问题。栅极和漏极之间有个寄生电容Cgd开关过程中漏极电压剧烈变化Cgd会把这部分电压变化耦合回栅极导致栅极电压在某个区间里平坦一段时间看起来像台阶这就是米勒平台。有人会问这和线性区电流公式有什么关系其实关系很大。MOS管开关切换时必然从截止区经过饱和区再进入线性区或者反过来。在饱和区VDS很大Cgd电容值小但电压变化大米勒效应最强进入线性区后VDS很小Cgd电容值变大但dV/dt小米勒平台结束。判断一个MOS管驱动电路是否工作在正常状态看波形里的米勒平台宽度就能猜个大概。平台太宽说明栅极驱动电流不够管子开关速度偏慢开关损耗会明显上升。如果平台严重变宽同时管子发热多半就是驱动电阻选得太大。我之前调试一个PWM调光的MOS管电路电阻从4.7欧换到22欧导通和关断波形立刻圆润起来平台宽度翻倍温度也上升了十几度。把电阻改回10欧温度才算正常。5.3 栅极驱动电流不足为什么会看到VGS上升缓慢栅源之间是一个大电容栅极驱动电路本质上是在给这个电容充放电。如果驱动芯片的峰值电流不够或者栅极串联电阻太大VGS的上升沿就会变得很缓慢。这段时间里MOS管半导通工作在线性区VDS很高ID也很大管子上的瞬时功耗约等于VDS×ID可能比完全导通时的稳态损耗大好几个数量级。网上经常看到有人说“PWM接MOS管发热严重”十有八九就是这个问题。PWM频率越高每个周期里开关时间占总周期比例越大开关损耗占比就越高。解决办法是降低栅极驱动电阻、选用峰值电流更大的驱动芯片或者减小PWM频率。要注意的是如果换了更大电流的驱动芯片还是发热就要看是不是死区不够导致上下管直通了那属于另一个层面的问题。我之前调试过一个电机驱动PWM频率15kHz下MOS管高温报警最开始以为散热不够。后来示波器看波形VGS上升沿有1.2微秒的斜坡平台明显。把栅极驱动电阻从51欧降到20欧斜率陡了不少温升直接下来了12度。从那之后我养成一个习惯凡是MOS管发热严重先看栅极波形再谈散热因为大部分发热根源都在开关过程而不是导通稳态。5.4 寄生体二极管导致的神奇“漏电”别慌用万用表电阻档测一个MOS管的D-S两端发现几百欧姆很多人第一反应是管子坏了。其实这时候你很可能测到了体二极管的正向压降。特别是PMOS体二极管从D指向S如果你红表笔接D、黑表笔接S恰好给体二极管加了正向偏置测到几百欧姆完全是正常现象。判断管子是否真正损坏的方法是把万用表切到二极管档测D-S之间应该只有一个PN结的压降特性大约0.5V左右。G-D和G-S之间应该是无穷大如果测出几十欧那栅氧层可能已经击穿管子基本废了。还有一个技巧是在G和S之间接一个电阻把栅极电荷泄放掉再测D-S沟道电阻此时应该非常大接近开路因为沟道还没建立起来。5.5 沟道宽长比选小了电流能力不足怎么办设计分立电路时宽长比已经固定了没法像芯片设计那样改版图。这时如果电流能力不够唯一办法是并联MOS管。并联时要注意每只管子的栅极最好独立串一个10到30欧的小电阻防止并联后栅极寄生振荡。还要注意VTH一致的管子优先VTH差异太大会导致电流分配严重不均有的管子很烫有的管子却很凉。还有一个细节是并联后总Qg会成倍增加驱动电路的电流能力必须重新核算。原来一个管子Qg20nC开关频率100kHz平均栅极电流就是2mA并联三个管子后变成6mA如果驱动芯片只有3mA能力开关损耗就会明显上升。6. 最后分享一点我的个人体会做硬件这几年MOS管是天天打交道的基础器件但越是基础的东西越值得反复琢磨。线性区电流公式表面上只是一条代数式但它把栅极电压、沟道尺寸、迁移率、导通电阻这些参数全部统一在一个框架里。你把它吃透了看数据手册不再是漫无边际地翻页而是能主动预判一个系统大概需要什么样的管子调试电路时也更清楚该往哪个方向找问题。我自己的经验是遇到MOS管相关的问题别急着去搜“最全的MOS管选型指南”之类的文章先拿公式做几次定量估算。多算几次之后直觉自然就有了。公式本身不复杂复杂的是把公式和实际电路场景对应起来这个能力只能靠一次次计算和实测对照慢慢长出来。希望这篇文章能帮你在起步阶段少走点弯路。