あるMOSFETのしきい値が1 Vと記載されていても、3.3 VのGPIOで駆動すると発熱する可能性があります。ゲートには直流電流がほとんど流れませんが、高速スイッチング時にはアンペア単位の瞬時電流をドライバが必要とすることもあります。これらは矛盾していません:しきい値は弱導通のテスト点を表し、ゲート電荷は切り替え時の動的負荷を表します。ここではまずチャネル、動作領域、端子を明確にし、駆動と損失をまとめて計算します。
問題 重要な違い 参照箇所
ゲートは電流をどのように制御するか 反転層とボディ領域 4端子構造とタイプ
飽和は最も充分に導通しているか MOSFET飽和とBJT飽和 動作領域と平方則の境界
3.3 Vで駆動できるか しきい値テストとR_DS(on)の保証 データシートの読み方
遮断後もなぜ逆方向に電流が流れるか チャネルとボディダイオード 双方向電流と単方向遮断
ゲートにどのくらいの電流を供給するか 総電荷、ミラー領域、ループインピーダンス ゲート駆動の例題
定格電流が十分なのにどうして損傷するのか 温度、SOA、動的ストレス 損失と動作範囲
4端子構造とタイプ
平面増幅型NMOSを教育モデルとします:P型ボディ領域内に2つのn⁺領域があり、ソースおよびドレイン接触を形成します。ゲートと半導体表面の間には絶縁媒体があります。正のゲート-ソース電圧により表面の正孔が減少し、十分なバイアス下で電子の反転層が形成され、ソースとドレイン間の導電性が向上します。
n⁺ ソース領域 n⁺ ドレイン領域 P型ボディ領域 / 基板 G:ゲート ゲート媒体 電子反転層(導通時) S D B:ボディ端子、独立した接触を示す 平面増幅型NMOSの模式図:ゲートが表面の反転層を制御し、ボディ領域が第4の 端子 図は寸法比で描かれていません。離散パワーMOSFETは通常垂直構造であり、ボディ領域は内部でソースに接続されている ことが多いです。
ゲート、ソース、ドレイン、ボディはそれぞれG、S、D、Bの4つの端子です。集積回路ではボディ端子の接続がしきい値や寄生接合に影響を与えます。離散パワーNMOSでは、内部でボディ領域がソースに接続されており、垂直構造を採用していることが多く、この平面図をすべてのパワーデバイスの実際の断面図として扱うことはできません。
V_GSがしきい値以下であっても、ゲート下に電界が存在し、亜しきい値導通が発生する可能性があります。「電界がない」わけではありません。しきい値は、特定の状態またはテスト電流点を示すものであり、デバイスの挙動を絶対的なゼロ電流と充分な導通の2つに明確に分割するものではありません。
タイプ V_GS = 0 のときの通常状態 主な制御方向
Nチャネル増幅型 常閉 正のV_GSを増加させて導通を強化
Pチャネル増幅型 常閉 V_GSをより負にして導通を強化
Nチャネル減衰型 常開 十分な負のV_GSを印加して遮断
Pチャネル減衰型 常開 十分な正のV_GSを印加して遮断
上記はいずれも特定の定格範囲の影響を受けます。NMOSにおいてV_DS>0の一般的な方向では、ドレイン電流はDからSへ、電子は主にSからDへ流れると定義されます。PMOSでは電圧と電流の符号を適切に処理する必要があり、無符号の「Vthの大きさ」をすべての条件に適用しないでください。
動作領域と平方則の境界
長チャネル、強反型、勾配チャネル、および近似一定の移動度を仮定したNMOSモデルでは、k = μ_nC_ox(W/L)、過駆動電圧 V_ov = V_GS−V_th と定義します。チャネル長変調を無視すると:
領域 条件 理想モデル
トランジスタ / オーム領域 V_ov>0、0≤V_DS<V_ov I_D = k(V_ovV_DS−V_DS²/2)
飽和領域 V_ov>0、V_DS≥V_ov I_D = kV_ov²/2
弱反型 / 亜しきい値 強反型しきい値に近いか、それ以下 上記の強反型平方則では直接表現できない
オーム領域ではV_DSが十分に小さいため、2次項を無視でき、デバイスはゲート電圧で制御される抵抗として近似できます。V_DSが増加すると、ドレイン端の局部ゲート-チャネル過駆動が減少し、ピンチオフ領域が発生します。電流は高電界領域を経てドレインに流れ続けることができ、ピンチオフは電流を完全に遮断するものではありません。
この理想モデルでは、飽和領域はV_DSに敏感ではありませんが、V_ovに対して平方則の関係にあります。I_DがV_ovに比例するわけではありません。k = 1 mA/V²、V_ov = 2 V、V_DS = 0.5 V の場合、I_D = 0.875 mA となります。V_DS≥2 V 以降、理想飽和電流は 2 mA になります。V_ov が 4 V に増加すると、8 mA になります。これは解析モデルの例示であり、パワーデバイスの一般的なフィッティングではありません。
短チャネル、速度飽和、移動度の劣化、チャネル長変調、およびパワーデバイスのドリフト領域は、これらの関係を変化させます。実際の飽和電流は厳密に水平ではなく、g_m=2I_D/V_ov も平方則の条件が満たされる場合にのみ成立します。
「飽和」と「リニアモード」は文脈を明確にする必要がある
BJTの飽和は低電圧降下スイッチの導通によく使われます。MOSFETが低損失スイッチとして充分に導通している場合、通常は低V_DSのオーム領域を望みます。両者の「飽和」は同じ目標ではありません。
パワー文書で言われるリニアモードは、デバイスが制御可能な損失素子として動作し、大きな電圧と電流を同時に承受し、教科書的なMOSFET飽和領域にある可能性を指すこともよくあります。例えば、熱挿入時の電流制限では、起動損失全体を単純に「オーム領域の導通抵抗」で推定することはできません。Infineon:MOSFETリニア動作とSOA
ピンチオフしても電流が止まらない理由は?
縦線は VDS=Vov。電流と勾配は連続で、その先が平坦なのはチャネル長変調を無視したため。低損失スイッチで主に見るのは左側の小 VDS 領域で、BJT の飽和との類推はできない。
図を準備しています 再読み込み
ピンチオフしても電流が止まらない理由は? 長チャネルモデルでは VDS=Vov で連続的に飽和へ入り、ピンチオフ後も電流が流れる。
{"id":"mosfet-region-continuity","title":"ピンチオフしても電流が止まらない理由は?","summary":"長チャネルモデルでは VDS=Vov で連続的に飽和へ入り、ピンチオフ後も電流が流れる。","height":1000,"html":"<h2 data-i18n=\"heading\"></h2><p class=\"intro\" data-i18n=\"intro\"></p><div class=\"control\"><label for=\"ov\" data-i18n=\"ov\"></label><output for=\"ov\" id=\"ov-value\"></output><input id=\"ov\" type=\"range\" min=\"0.5\" max=\"4\" value=\"2\" step=\"0.1\"></div><div class=\"control\"><label for=\"ds\" data-i18n=\"ds\"></label><output for=\"ds\" id=\"ds-value\"></output><input id=\"ds\" type=\"range\" min=\"0\" max=\"5\" value=\"0.5\" step=\"0.01\"></div><div class=\"chart-wrap\"><div class=\"chart-label\" data-i18n=\"plot\"></div><svg id=\"plot\" class=\"curve\" viewBox=\"0 0 360 210\" role=\"img\" data-i18n-label=\"plot\"></svg></div><div class=\"metrics\"><div><span data-i18n=\"current\"></span><strong id=\"current\"></strong></div><div><span data-i18n=\"region\"></span><strong id=\"region\"></strong></div><div><span data-i18n=\"slope\"></span><strong id=\"slope\"></strong></div></div><p id=\"eq\" class=\"formula\"></p><details class=\"scope\"><summary data-i18n=\"scopeLabel\"></summary><p data-i18n=\"scope\"></p></details>","css":".intro{margin:8px 0 18px;color:var(--muted);font-size:14px}.caption,.hint{font-size:12px;color:var(--muted);margin-top:12px}.control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:14px 0;font-size:13px}.control label{font-size:13px}.control output{color:var(--accent);min-width:5em;text-align:right;font-variant-numeric:tabular-nums}.control input{grid-column:1/-1;width:100%;margin:0}.presets{display:flex;gap:4px;align-items:stretch}.presets button{flex:1 1 0;min-width:0;overflow-wrap:anywhere;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.actions button{flex:1;min-width:0;font-size:13px;min-height:42px}.copy{display:grid;font-size:14px;margin:16px 0}.copy>*{grid-area:1/1;margin:0}.reserve{visibility:hidden}.scope{margin-top:14px;color:var(--muted);font-size:12px}.scope summary{padding:8px 0;cursor:pointer}.scope p{margin-top:10px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.card{border:1px solid var(--rule);border-radius:9px;padding:14px;min-width:0}.card header{font-size:14px;font-weight:600;margin-bottom:10px}.card button{font-size:12px;width:100%;min-width:0}.card small{display:block;font-size:12px;color:var(--muted)}.card code{font-size:12px;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.metrics>div{border-left:2px solid var(--accent);padding-left:10px;min-width:0}.metrics span{display:block;min-height:3.2em;color:var(--muted);font-size:12px}.metrics strong{font-size:23px;display:block;font-weight:550;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.formula{border-top:1px solid var(--rule);padding-top:12px;margin-top:14px;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.value{font:550 20px ui-monospace,monospace}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin:12px 0}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:6px}.legend .second:before{background:var(--second)}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0}.check input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}select,input[type=text],input[type=number]{background:var(--paper);color:var(--ink);font:inherit;font-size:13px;padding:10px;border:1px solid var(--rule);border-radius:7px;max-width:100%;min-width:0}select{width:100%;min-height:42px}.band{height:20px;display:flex;background:var(--surface);border-radius:4px;overflow:hidden}.band i{height:100%;display:block;background:var(--accent);transition:width .25s}.band i.second{background:var(--second)}button:disabled{cursor:default}.status{font-size:13px;min-height:4.8em}.mono{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}\n@media(max-width:480px){.two{gap:8px}.card{padding:12px 9px}.actions button,.presets button{font-size:12px}.metrics strong{font-size:20px}.metrics{gap:8px}}\n@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}\n.track-row{margin:16px 0}.track-row>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.track{display:flex;gap:5px;min-width:0}.cell{flex:1;min-width:0;min-height:48px;border:1px solid var(--rule);border-radius:5px;background:var(--surface);display:flex;align-items:center;justify-content:center;text-align:center;padding:5px 3px;font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cell.on{background:var(--accent-soft);border-color:var(--accent)}.cell.gold{background:var(--second-soft);border-color:var(--second)}.cell.empty{border-style:dashed;color:var(--muted)}.cell.error{border-color:var(--second);text-decoration:line-through}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0}.choices button{min-width:0;padding:10px 4px;font-size:12px;overflow-wrap:anywhere}.choices button[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.relation{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:6px;margin:12px 0}.relation .cell{min-height:72px}.relation>i{text-align:center;font-style:normal;color:var(--accent)}.readout{font-size:13px;white-space:pre-line;min-height:6.4em;overflow-wrap:anywhere}.plot{position:relative;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin:18px 0}.plot-row{height:28px;position:relative;margin:4px 0;background:var(--surface)}.plot-row i{position:absolute;inset-block:5px;background:var(--accent);min-width:2px;transition:width .2s,left .2s}.plot-row b{position:relative;padding:4px 6px;font:11px/28px ui-monospace,monospace;background:var(--paper);border-radius:3px}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}\n\n/* Action labels must remain readable across locales and narrow embeds. */\n.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.actions button{overflow-wrap:anywhere;white-space:normal;min-height:58px;padding:8px}\nbutton{overflow-wrap:anywhere}\n@media(min-width:640px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}\n\n.metrics span{overflow-wrap:anywhere}\n.panel{border:1px solid var(--rule);border-radius:9px;padding:12px;margin:14px 0;min-width:0}.panel h3{font-size:13px;margin:0 0 10px;color:var(--muted)}.source{font:13px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.source mark{background:var(--accent-soft);color:var(--ink);border-bottom:2px solid var(--accent)}.source .fault{background:var(--second-soft);border-color:var(--second)}.diagram{display:block;width:100%;height:auto;max-height:320px;margin:14px 0;overflow:visible}.diagram text{fill:var(--ink);font:12px ui-monospace,monospace}.diagram .edge{stroke:var(--muted);stroke-width:1.5;fill:none}.diagram .edge.on{stroke:var(--accent);stroke-width:3}.diagram .node{fill:var(--surface);stroke:var(--rule);stroke-width:1.5}.diagram .node.on{fill:var(--accent-soft);stroke:var(--accent)}.diagram .node.gold{fill:var(--second-soft);stroke:var(--second)}.log{font:12px/1.8 ui-monospace,monospace;white-space:pre-line;overflow-wrap:anywhere;min-height:7.2em}.table{display:grid;gap:5px;margin:14px 0}.table .tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.table .tr>*{padding:8px 5px;background:var(--surface);border-radius:4px;min-width:0;overflow-wrap:anywhere;font-size:12px}.table .tr .on{background:var(--accent-soft)}.table .tr .gold{background:var(--second-soft)}.choices button{min-height:44px}.metrics strong{min-height:1.6em}.code-line{display:block}.code-line.on{background:var(--accent-soft);border-left:2px solid var(--accent);padding-left:6px}.status-badge{font-size:12px;color:var(--accent)}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile-grid .cell{min-height:40px}.actions button{min-height:48px}.form-field{display:grid;gap:8px;margin:14px 0;font-size:13px}.form-field input{width:100%;font-family:ui-monospace,monospace}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formula{min-height:3.2em}.presets{flex-wrap:wrap}.presets button{flex-basis:25%;min-height:44px}\n\n.budget{display:flex;height:28px;margin:16px 0;background:var(--surface);border-radius:5px;overflow:hidden}.budget i{display:block;background:var(--accent);transition:width .2s}.budget i.gold{background:var(--second)}.intervals{margin:16px 0}.interval{position:relative;height:36px;background:var(--surface);margin:6px 0;border-radius:4px;overflow:hidden}.interval i{position:absolute;height:100%;background:var(--accent-soft);border-left:2px solid var(--accent)}.interval i.gold{background:var(--second-soft);border-color:var(--second)}.interval span{position:relative;z-index:1;font:12px/36px ui-monospace,monospace;padding-left:7px}.table .tr>*{min-height:4.8em}.formula{white-space:pre-line;min-height:7.2em}.actions:has(>button:only-child){grid-template-columns:1fr}.metrics strong{min-height:3.2em}.rangegrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin:14px 0}.rangegrid .cell{min-height:30px;padding:3px 1px;font-size:10px}.message{min-height:7.2em;white-space:pre-line;font:13px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}\n/* Allow CJK hanging punctuation without overflowing a metric's border box. */\n.metrics>div{padding-right:4px}.metrics span{line-break:anywhere}\n\n.chart-wrap{margin:18px 0}.chart-label{font-size:12px;color:var(--muted);min-height:3.2em}.curve{display:block;width:100%;height:auto;max-height:320px;overflow:visible}.curve text{font:11px ui-monospace,monospace;fill:var(--muted)}.gridline{stroke:var(--rule);stroke-width:1}.metrics strong{font-size:20px;min-height:3.2em}.formula{font:12px/1.8 ui-monospace,monospace;min-height:9em}.readout{min-height:8em}.presets button{flex-basis:30%}.scope p{overflow-wrap:anywhere} .unit-note{font-size:12px;color:var(--muted);margin:10px 0}\n\n.metrics span{word-break:break-all;line-break:strict}.metrics>div{padding-right:6px}\n\n","js":"const $=s=>document.querySelector(s);const set=(id,v)=>$('#'+id).textContent=v;const t=k=>viz.t(k);function cells(id,values){$('#'+id).replaceChildren(...values.map(v=>{const e=document.createElement('div');e.className='cell '+(v.cls||'');e.textContent=v.text;e.title=v.title||v.text;return e;}));}function pressed(mode){document.querySelectorAll('[data-mode]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.mode===mode)));}const esc=s=>String(s).replace(/[&<>\"']/g,c=>({'&':'&','<':'<','>':'>','\"':'"',\"'\":'''}[c]));const fmt=s=>'{'+[...s].sort().join(', ')+'}';function graph(id,nodes,edges){const el=$('#'+id);el.setAttribute('viewBox','0 0 360 200');el.innerHTML='<defs><marker id=\"arrow-'+id+'\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"var(--muted)\"/></marker></defs>'+edges.map(e=>{const a=nodes[e[0]],b=nodes[e[1]],dx=b.x-a.x,dy=b.y-a.y,d=Math.hypot(dx,dy)||1;if(edges.some(r=>r[0]===e[1]&&r[1]===e[0])){const nx=-dy/d,ny=dx/d;return '<path class=\"edge '+(e[2]?'on':'')+'\" d=\"M '+(a.x+dx/d*22+nx*12)+' '+(a.y+dy/d*22+ny*12)+' Q '+((a.x+b.x)/2+nx*38)+' '+((a.y+b.y)/2+ny*38)+' '+(b.x-dx/d*25+nx*12)+' '+(b.y-dy/d*25+ny*12)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}return '<line class=\"edge '+(e[2]?'on':'')+'\" x1=\"'+(a.x+dx/d*25)+'\" y1=\"'+(a.y+dy/d*25)+'\" x2=\"'+(b.x-dx/d*28)+'\" y2=\"'+(b.y-dy/d*28)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}).join('')+nodes.map(n=>'<g><circle class=\"node '+(n.cls||'')+'\" cx=\"'+n.x+'\" cy=\"'+n.y+'\" r=\"25\"/><text x=\"'+n.x+'\" y=\"'+(n.y+4)+'\" text-anchor=\"middle\">'+esc(n.name)+'</text>'+(n.sub?'<text x=\"'+n.x+'\" y=\"'+(n.y+43)+'\" text-anchor=\"middle\">'+esc(n.sub)+'</text>':'')+'</g>').join('');}function table(id,rows){$('#'+id).classList.add('table');$('#'+id).replaceChildren(...rows.map(r=>{const row=document.createElement('div');row.className='tr';row.style.gridTemplateColumns='repeat('+r.length+',minmax(0,1fr))';r.forEach(x=>{const c=document.createElement('div');if(typeof x==='object'){c.textContent=x.text;c.className=x.cls||'';}else c.textContent=x;row.append(c)});return row;}));}function band(id,parts,total){$('#'+id).replaceChildren(...parts.map((p,i)=>{const e=document.createElement('i');e.style.width=(100*p.value/total)+'%';e.className=i%2?'gold':'on';e.title=p.name+': '+p.value;return e}));}function intervals(id,items,total){$('#'+id).replaceChildren(...items.map(p=>{const row=document.createElement('div');row.className='interval';const bar=document.createElement('i');bar.style.left=(100*p.start/total)+'%';bar.style.width=(100*(p.end-p.start)/total)+'%';bar.className=p.cls||'';const label=document.createElement('span');label.textContent=p.label;row.append(bar,label);return row;}));}function plot(id,series,xr,yr,opts={}){const e=$('#'+id),X=x=>42+(x-xr[0])/(xr[1]-xr[0])*298,Y=y=>175-(y-yr[0])/(yr[1]-yr[0])*148;let out='<defs><clipPath id=\"clip-'+id+'\"><rect x=\"42\" y=\"27\" width=\"298\" height=\"148\"/></clipPath></defs>';for(let i=0;i<3;i++){let x=xr[0]+i*(xr[1]-xr[0])/2,y=yr[0]+i*(yr[1]-yr[0])/2;out+='<path class=\"gridline\" d=\"M '+X(x)+' 27V175M42 '+Y(y)+'H340\"/><text x=\"'+X(x)+'\" y=\"194\" text-anchor=\"middle\">'+esc(opts.xfmt?opts.xfmt(x):Number(x.toFixed(2)))+'</text><text x=\"36\" y=\"'+(Y(y)+4)+'\" text-anchor=\"end\">'+esc(opts.yfmt?opts.yfmt(y):Number(y.toFixed(2)))+'</text>';}out+='<g clip-path=\"url(#clip-'+id+')\">';for(const s of series){out+='<path fill=\"none\" stroke=\"'+(s.color||'var(--accent)')+'\" stroke-width=\"2.5\" '+(s.dash?'stroke-dasharray=\"5 4\"':'')+' d=\"'+s.pts.map((p,i)=>(i?'L':'M')+X(p[0]).toFixed(2)+','+Y(p[1]).toFixed(2)).join(' ')+'\"/>';}for(const p of opts.points||[])out+='<circle cx=\"'+X(p[0])+'\" cy=\"'+Y(p[1])+'\" r=\"4\" fill=\"var(--second)\" stroke=\"var(--paper)\" stroke-width=\"1.5\"/>';if(opts.cursor!==undefined)out+='<path d=\"M'+X(opts.cursor)+' 27V175\" stroke=\"var(--muted)\" stroke-dasharray=\"3 3\"/>';e.innerHTML=out+'</g>';e.dataset.curves=JSON.stringify(series.map(s=>s.pts));}const curve=(fn,lo,hi,n=120)=>Array.from({length:n+1},(_,i)=>{const x=lo+(hi-lo)*i/n;return[x,fn(x)]});function inputs(draw){document.querySelectorAll('input,select').forEach(e=>{e.addEventListener('input',draw);e.addEventListener('change',draw)});draw()}const n=id=>+$('#'+id).value;const show=(id,v,d=3)=>set(id,Number(v.toFixed(d)));function draw(){let ov=n('ov'),ds=n('ds'),fn=v=>v<ov?ov*v-v*v/2:ov*ov/2;show('ov-value',ov);show('ds-value',ds);plot('plot',[{pts:curve(fn,0,5)}],[0,5],[0,8],{cursor:ov,points:[[ds,fn(ds)]]});show('current',fn(ds));set('region',t(ds<ov?'triode':'sat'));show('slope',Math.max(ov-ds,0));set('eq',ds<ov?'ID = k(Vov VDS − VDS²/2)\\n= '+fn(ds).toFixed(4)+' mA':'ID = k Vov²/2\\n= '+fn(ds).toFixed(4)+' mA');$('#region').dataset.state=ds<ov?'triode':'sat';}inputs(draw);","audio":false,"strings":{"current":"ID(mA)","ds":"VDS(V)","heading":"ピンチオフしても電流が止まらない理由は?","intro":"過駆動電圧とドレイン電圧を変え、区分式の接続を見る。","ov":"過駆動 Vov(V)","plot":"横軸 VDS(V)、縦軸 ID(mA)","region":"動作領域","reset":"リセット","sat":"飽和領域","scope":"k=1 mA/V²、強反転の長チャネル NMOS。チャネル長変調、サブスレッショルド、パワー素子構造は省略。","scopeLabel":"モデルの範囲と前提","slope":"∂ID/∂VDS(mS)","triode":"三極管領域"}}
データシートの読み方:しきい値は駆動の保証ではない
V_GS(th) は通常、非常に小さい規定のドレイン電流で測定されますが、アプリケーションでは数アンペアを通過させる必要があります。3.3 Vの駆動が適切かどうかを判断するには、しきい値が3.3より大きいことを確認するだけでなく、実際に保証されるV_GS下でのR_DS(on)または導通仕様を見つけ、温度降下と電圧降下を考慮する必要があります。
パラメータ 付随すべき条件 誤解されやすい点
V_GS(th) テストI_D、V_DS、温度、上限・下限 定格電流達成に必要なゲート電圧ではない
R_DS(on) V_GS、I_D、接合温度、保証値/典型値 10 V駆動仕様を3.3 Vに適用できない
I_D 定格 接合温度、ケース温度/基板温度、パッケージ、放熱 熱条件を無視した使用可能な継続電流ではない
V_DS、V_GS 定格 正負ピーク、リンギング、トランジェント 波形検証に固定された2倍の電源電圧で代用しない
Q_g、Q_gd ドレイン電圧、ドレイン電流、最終ゲート電圧 任意の動作点で単一のQ_gのみで比較できない
C_iss、C_oss、C_rss バイアス、測定周波数 非線形容量であり、固定コンデンサではない
一般的な小信号容量は、C_iss=C_GS+C_GD、C_oss=C_DS+C_GD、C_rss=C_GD と定義されます。大幅な電圧変換に必要な電荷は、電圧変化に沿って積分する必要があり、C_iss×V_GS の一点値でQ_gを常に代用することはできません。Nexperia:パワーMOSFETデータシートパラメータ
双方向電流と単方向遮断
一般的なボディ-ソース内部短絡の離散NMOSでは、ボディ領域とドレイン領域は寄生ダイオードを形成します:アノードはS/ボディ領域、カソードはD 。この構造ではこれらの端子がすでに接続されているため、「BodyとSourceの間にボディダイオードがある」という表現は正しくありません。PMOSのボディダイオードの向きは逆です。
ゲートが遮断されている間、このダイオードによりS→D方向の電流が流れる可能性があります。チャネルが充分にオンになると、適用可能なバイアス範囲内ではチャネルが双方向に導通でき、逆方向電流がすべてボディダイオードを流れるわけではありません。双方向遮断を実現するには、通常、2つのMOSFETを逆直列に接続し、駆動とボディダイオードの向きを正しく配置します。
ボディダイオードには順方向電圧降下、リカバリ電荷、熱、およびコンミューテーション条件があり、継流に無限に耐えられると仮定してはいけません。ハイサイドNMOSではソース電位が負荷ノードとともに上昇するため、ゲートはソースに対して 必要な駆動電圧を維持する必要があります。ゲートをグランドに対して5 Vに引き上げても、ソースがすでに5 Vに近い場合、V_GSを5 Vに維持することはできません。
ブートストラップハイサイド駆動は、充電および更新条件を満たす必要があり、100%デューティ比で連続的にオンを維持できるとは限りません。電荷ポンプまたは絶縁型電源駆動には異なる能力の限界があります。ソース公共インピーダンス上の瞬時電圧降下も、チップ内部で観測されるV_GSを変化させます。
ゲート駆動の例題:平均電流が小さいからといってピーク電流が小さいわけではない
ゲート絶縁体により、安定した直流リーク電流は通常小さいですが、切り替えのたびに電荷を移動させる必要があります。ある動作点でQ_g = 20 nC、駆動振幅 5 V、周波数 200 kHz の場合、通常の抵抗式充放電駆動における供給平均電流は Q_gf = 4 mA 程度、駆動電源に関連するエネルギー電力は Q_gV_drivef = 20 mW 程度となります。この電力はドライバおよびゲート抵抗などの経路に分散されるため、すべてをMOSFETチップ内部の熱損失として計算することはできません。
VGS 累積 Qg チャネル形成 ミラー領域 駆動電圧をさらに上昇 Qgd:VDSの大幅な変化を伴うことが多い ゲート充電プロセス中、一部の電荷はドレイン電圧の変化に使用される 形状は負荷、VDS、ID、および駆動条件に依存します。プラットフォームは固定しきい値ではなく、厳密に水平であるとも 限りません。
約 50 ns のうちに 20 nC の電荷を移動させたい場合、総電荷を時間で割った平均スイッチング電流は 0.4 A となります。ミラー領域は個別に分析する必要があります:Q_gd = 6 nC と仮定し、この段階で利用可能なゲート電流が約 0.2 A であるとすると、持続時間は約 30 ns となります。ドライバのデータシートに記載されているピーク電流は、プラットフォーム期間中にも同様の電流を提供できることを保証するものではなく、実際の値は駆動電圧、プラットフォーム電圧、および総ループインピーダンスによって決定されます。TI:高速MOSFETゲート駆動
ミラープラットフォームは、電荷変化とドレイン電圧変換が結合する段階に対応し、プラットフォームの高さは負荷電流、デバイス、および駆動条件に応じて変化し、別の固定しきい値ではありません。ドレインの高速な dv/dt は C_GD を介して遮断されたゲートに結合し、誤ったオン状態を引き起こす可能性があります。遮断時のプルダウン能力、ループインダクタンス、および必要に応じたミラークランプは、回路分析と組み合わせて検討する必要があります。
直列ゲート抵抗は充放電速度を調整し、減衰させるために使用されますが、自動的に「振動を除去する」ことを保証するものではありません。抵抗を増やすことでエッジ速度とEMIを低減できますが、スイッチング重なり損失が増加します。もう一つのゲート-ソースプルダウン抵抗は、駆動が高インピーダンスのときにデフォルトの遮断状態を確立するために使用され、その役割は直列ゲート抵抗とは異なります。
プラトー中の電荷はどこへ?
既定の 0.2 A では 40–70 ns がプラトーで、青は一定でも金は低下する。電流を増やすと時間が縮むが、このモデルの Qgd は減らない。実際の電流はプラトー電圧とループ抵抗にも依存する。
t M i ll er ≈ I g Q g d
図を準備しています 再読み込み
プラトー中の電荷はどこへ? ミラープラトーではゲート電圧がほぼ一定でも電荷は移動し、ドレイン電圧が低下する。
{"id":"gate-charge-miller-time","title":"プラトー中の電荷はどこへ?","summary":"ミラープラトーではゲート電圧がほぼ一定でも電荷は移動し、ドレイン電圧が低下する。","height":1000,"html":"<h2 data-i18n=\"heading\"></h2><p class=\"intro\" data-i18n=\"intro\"></p><div class=\"control\"><label for=\"ig\" data-i18n=\"ig\"></label><output for=\"ig\" id=\"ig-value\"></output><input id=\"ig\" type=\"range\" min=\"0.1\" max=\"0.5\" value=\"0.2\" step=\"0.01\"></div><div class=\"control\"><label for=\"time\" data-i18n=\"time\"></label><output for=\"time\" id=\"time-value\"></output><input id=\"time\" type=\"range\" min=\"0\" max=\"200\" value=\"50\" step=\"0.5\"></div><div class=\"chart-wrap\"><div class=\"chart-label\" data-i18n=\"plot\"></div><svg id=\"plot\" class=\"curve\" viewBox=\"0 0 360 210\" role=\"img\" data-i18n-label=\"plot\"></svg></div><div class=\"metrics\"><div><span data-i18n=\"charge\"></span><strong id=\"charge\"></strong></div><div><span data-i18n=\"plateau\"></span><strong id=\"plateau\"></strong></div><div><span data-i18n=\"vg\"></span><strong id=\"vg\"></strong></div><div><span data-i18n=\"vd\"></span><strong id=\"vd\"></strong></div></div><p id=\"eq\" class=\"formula\"></p><details class=\"scope\"><summary data-i18n=\"scopeLabel\"></summary><p data-i18n=\"scope\"></p></details>","css":".intro{margin:8px 0 18px;color:var(--muted);font-size:14px}.caption,.hint{font-size:12px;color:var(--muted);margin-top:12px}.control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;margin:14px 0;font-size:13px}.control label{font-size:13px}.control output{color:var(--accent);min-width:5em;text-align:right;font-variant-numeric:tabular-nums}.control input{grid-column:1/-1;width:100%;margin:0}.presets{display:flex;gap:4px;align-items:stretch}.presets button{flex:1 1 0;min-width:0;overflow-wrap:anywhere;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.actions button{flex:1;min-width:0;font-size:13px;min-height:42px}.copy{display:grid;font-size:14px;margin:16px 0}.copy>*{grid-area:1/1;margin:0}.reserve{visibility:hidden}.scope{margin-top:14px;color:var(--muted);font-size:12px}.scope summary{padding:8px 0;cursor:pointer}.scope p{margin-top:10px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.card{border:1px solid var(--rule);border-radius:9px;padding:14px;min-width:0}.card header{font-size:14px;font-weight:600;margin-bottom:10px}.card button{font-size:12px;width:100%;min-width:0}.card small{display:block;font-size:12px;color:var(--muted)}.card code{font-size:12px;overflow-wrap:anywhere}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.metrics>div{border-left:2px solid var(--accent);padding-left:10px;min-width:0}.metrics span{display:block;min-height:3.2em;color:var(--muted);font-size:12px}.metrics strong{font-size:23px;display:block;font-weight:550;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.formula{border-top:1px solid var(--rule);padding-top:12px;margin-top:14px;font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.value{font:550 20px ui-monospace,monospace}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--muted);margin:12px 0}.legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:6px}.legend .second:before{background:var(--second)}.check{display:flex;align-items:center;gap:8px;font-size:13px;margin:12px 0}.check input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}select,input[type=text],input[type=number]{background:var(--paper);color:var(--ink);font:inherit;font-size:13px;padding:10px;border:1px solid var(--rule);border-radius:7px;max-width:100%;min-width:0}select{width:100%;min-height:42px}.band{height:20px;display:flex;background:var(--surface);border-radius:4px;overflow:hidden}.band i{height:100%;display:block;background:var(--accent);transition:width .25s}.band i.second{background:var(--second)}button:disabled{cursor:default}.status{font-size:13px;min-height:4.8em}.mono{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}\n@media(max-width:480px){.two{gap:8px}.card{padding:12px 9px}.actions button,.presets button{font-size:12px}.metrics strong{font-size:20px}.metrics{gap:8px}}\n@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}\n.track-row{margin:16px 0}.track-row>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.track{display:flex;gap:5px;min-width:0}.cell{flex:1;min-width:0;min-height:48px;border:1px solid var(--rule);border-radius:5px;background:var(--surface);display:flex;align-items:center;justify-content:center;text-align:center;padding:5px 3px;font-size:12px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cell.on{background:var(--accent-soft);border-color:var(--accent)}.cell.gold{background:var(--second-soft);border-color:var(--second)}.cell.empty{border-style:dashed;color:var(--muted)}.cell.error{border-color:var(--second);text-decoration:line-through}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:14px 0}.choices button{min-width:0;padding:10px 4px;font-size:12px;overflow-wrap:anywhere}.choices button[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.relation{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:6px;margin:12px 0}.relation .cell{min-height:72px}.relation>i{text-align:center;font-style:normal;color:var(--accent)}.readout{font-size:13px;white-space:pre-line;min-height:6.4em;overflow-wrap:anywhere}.plot{position:relative;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin:18px 0}.plot-row{height:28px;position:relative;margin:4px 0;background:var(--surface)}.plot-row i{position:absolute;inset-block:5px;background:var(--accent);min-width:2px;transition:width .2s,left .2s}.plot-row b{position:relative;padding:4px 6px;font:11px/28px ui-monospace,monospace;background:var(--paper);border-radius:3px}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}\n\n/* Action labels must remain readable across locales and narrow embeds. */\n.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.actions button{overflow-wrap:anywhere;white-space:normal;min-height:58px;padding:8px}\nbutton{overflow-wrap:anywhere}\n@media(min-width:640px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}}\n\n.metrics span{overflow-wrap:anywhere}\n.panel{border:1px solid var(--rule);border-radius:9px;padding:12px;margin:14px 0;min-width:0}.panel h3{font-size:13px;margin:0 0 10px;color:var(--muted)}.source{font:13px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.source mark{background:var(--accent-soft);color:var(--ink);border-bottom:2px solid var(--accent)}.source .fault{background:var(--second-soft);border-color:var(--second)}.diagram{display:block;width:100%;height:auto;max-height:320px;margin:14px 0;overflow:visible}.diagram text{fill:var(--ink);font:12px ui-monospace,monospace}.diagram .edge{stroke:var(--muted);stroke-width:1.5;fill:none}.diagram .edge.on{stroke:var(--accent);stroke-width:3}.diagram .node{fill:var(--surface);stroke:var(--rule);stroke-width:1.5}.diagram .node.on{fill:var(--accent-soft);stroke:var(--accent)}.diagram .node.gold{fill:var(--second-soft);stroke:var(--second)}.log{font:12px/1.8 ui-monospace,monospace;white-space:pre-line;overflow-wrap:anywhere;min-height:7.2em}.table{display:grid;gap:5px;margin:14px 0}.table .tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.table .tr>*{padding:8px 5px;background:var(--surface);border-radius:4px;min-width:0;overflow-wrap:anywhere;font-size:12px}.table .tr .on{background:var(--accent-soft)}.table .tr .gold{background:var(--second-soft)}.choices button{min-height:44px}.metrics strong{min-height:1.6em}.code-line{display:block}.code-line.on{background:var(--accent-soft);border-left:2px solid var(--accent);padding-left:6px}.status-badge{font-size:12px;color:var(--accent)}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tile-grid .cell{min-height:40px}.actions button{min-height:48px}.form-field{display:grid;gap:8px;margin:14px 0;font-size:13px}.form-field input{width:100%;font-family:ui-monospace,monospace}.metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formula{min-height:3.2em}.presets{flex-wrap:wrap}.presets button{flex-basis:25%;min-height:44px}\n\n.budget{display:flex;height:28px;margin:16px 0;background:var(--surface);border-radius:5px;overflow:hidden}.budget i{display:block;background:var(--accent);transition:width .2s}.budget i.gold{background:var(--second)}.intervals{margin:16px 0}.interval{position:relative;height:36px;background:var(--surface);margin:6px 0;border-radius:4px;overflow:hidden}.interval i{position:absolute;height:100%;background:var(--accent-soft);border-left:2px solid var(--accent)}.interval i.gold{background:var(--second-soft);border-color:var(--second)}.interval span{position:relative;z-index:1;font:12px/36px ui-monospace,monospace;padding-left:7px}.table .tr>*{min-height:4.8em}.formula{white-space:pre-line;min-height:7.2em}.actions:has(>button:only-child){grid-template-columns:1fr}.metrics strong{min-height:3.2em}.rangegrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin:14px 0}.rangegrid .cell{min-height:30px;padding:3px 1px;font-size:10px}.message{min-height:7.2em;white-space:pre-line;font:13px/1.8 ui-monospace,monospace;overflow-wrap:anywhere}\n/* Allow CJK hanging punctuation without overflowing a metric's border box. */\n.metrics>div{padding-right:4px}.metrics span{line-break:anywhere}\n\n.chart-wrap{margin:18px 0}.chart-label{font-size:12px;color:var(--muted);min-height:3.2em}.curve{display:block;width:100%;height:auto;max-height:320px;overflow:visible}.curve text{font:11px ui-monospace,monospace;fill:var(--muted)}.gridline{stroke:var(--rule);stroke-width:1}.metrics strong{font-size:20px;min-height:3.2em}.formula{font:12px/1.8 ui-monospace,monospace;min-height:9em}.readout{min-height:8em}.presets button{flex-basis:30%}.scope p{overflow-wrap:anywhere} .unit-note{font-size:12px;color:var(--muted);margin:10px 0}\n\n.metrics span{word-break:break-all;line-break:strict}.metrics>div{padding-right:6px}\n\n","js":"const $=s=>document.querySelector(s);const set=(id,v)=>$('#'+id).textContent=v;const t=k=>viz.t(k);function cells(id,values){$('#'+id).replaceChildren(...values.map(v=>{const e=document.createElement('div');e.className='cell '+(v.cls||'');e.textContent=v.text;e.title=v.title||v.text;return e;}));}function pressed(mode){document.querySelectorAll('[data-mode]').forEach(e=>e.setAttribute('aria-pressed',String(e.dataset.mode===mode)));}const esc=s=>String(s).replace(/[&<>\"']/g,c=>({'&':'&','<':'<','>':'>','\"':'"',\"'\":'''}[c]));const fmt=s=>'{'+[...s].sort().join(', ')+'}';function graph(id,nodes,edges){const el=$('#'+id);el.setAttribute('viewBox','0 0 360 200');el.innerHTML='<defs><marker id=\"arrow-'+id+'\" viewBox=\"0 0 10 10\" refX=\"8\" refY=\"5\" markerWidth=\"5\" markerHeight=\"5\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 5 L 0 10 z\" fill=\"var(--muted)\"/></marker></defs>'+edges.map(e=>{const a=nodes[e[0]],b=nodes[e[1]],dx=b.x-a.x,dy=b.y-a.y,d=Math.hypot(dx,dy)||1;if(edges.some(r=>r[0]===e[1]&&r[1]===e[0])){const nx=-dy/d,ny=dx/d;return '<path class=\"edge '+(e[2]?'on':'')+'\" d=\"M '+(a.x+dx/d*22+nx*12)+' '+(a.y+dy/d*22+ny*12)+' Q '+((a.x+b.x)/2+nx*38)+' '+((a.y+b.y)/2+ny*38)+' '+(b.x-dx/d*25+nx*12)+' '+(b.y-dy/d*25+ny*12)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}return '<line class=\"edge '+(e[2]?'on':'')+'\" x1=\"'+(a.x+dx/d*25)+'\" y1=\"'+(a.y+dy/d*25)+'\" x2=\"'+(b.x-dx/d*28)+'\" y2=\"'+(b.y-dy/d*28)+'\" marker-end=\"url(#arrow-'+id+')\"/>';}).join('')+nodes.map(n=>'<g><circle class=\"node '+(n.cls||'')+'\" cx=\"'+n.x+'\" cy=\"'+n.y+'\" r=\"25\"/><text x=\"'+n.x+'\" y=\"'+(n.y+4)+'\" text-anchor=\"middle\">'+esc(n.name)+'</text>'+(n.sub?'<text x=\"'+n.x+'\" y=\"'+(n.y+43)+'\" text-anchor=\"middle\">'+esc(n.sub)+'</text>':'')+'</g>').join('');}function table(id,rows){$('#'+id).classList.add('table');$('#'+id).replaceChildren(...rows.map(r=>{const row=document.createElement('div');row.className='tr';row.style.gridTemplateColumns='repeat('+r.length+',minmax(0,1fr))';r.forEach(x=>{const c=document.createElement('div');if(typeof x==='object'){c.textContent=x.text;c.className=x.cls||'';}else c.textContent=x;row.append(c)});return row;}));}function band(id,parts,total){$('#'+id).replaceChildren(...parts.map((p,i)=>{const e=document.createElement('i');e.style.width=(100*p.value/total)+'%';e.className=i%2?'gold':'on';e.title=p.name+': '+p.value;return e}));}function intervals(id,items,total){$('#'+id).replaceChildren(...items.map(p=>{const row=document.createElement('div');row.className='interval';const bar=document.createElement('i');bar.style.left=(100*p.start/total)+'%';bar.style.width=(100*(p.end-p.start)/total)+'%';bar.className=p.cls||'';const label=document.createElement('span');label.textContent=p.label;row.append(bar,label);return row;}));}function plot(id,series,xr,yr,opts={}){const e=$('#'+id),X=x=>42+(x-xr[0])/(xr[1]-xr[0])*298,Y=y=>175-(y-yr[0])/(yr[1]-yr[0])*148;let out='<defs><clipPath id=\"clip-'+id+'\"><rect x=\"42\" y=\"27\" width=\"298\" height=\"148\"/></clipPath></defs>';for(let i=0;i<3;i++){let x=xr[0]+i*(xr[1]-xr[0])/2,y=yr[0]+i*(yr[1]-yr[0])/2;out+='<path class=\"gridline\" d=\"M '+X(x)+' 27V175M42 '+Y(y)+'H340\"/><text x=\"'+X(x)+'\" y=\"194\" text-anchor=\"middle\">'+esc(opts.xfmt?opts.xfmt(x):Number(x.toFixed(2)))+'</text><text x=\"36\" y=\"'+(Y(y)+4)+'\" text-anchor=\"end\">'+esc(opts.yfmt?opts.yfmt(y):Number(y.toFixed(2)))+'</text>';}out+='<g clip-path=\"url(#clip-'+id+')\">';for(const s of series){out+='<path fill=\"none\" stroke=\"'+(s.color||'var(--accent)')+'\" stroke-width=\"2.5\" '+(s.dash?'stroke-dasharray=\"5 4\"':'')+' d=\"'+s.pts.map((p,i)=>(i?'L':'M')+X(p[0]).toFixed(2)+','+Y(p[1]).toFixed(2)).join(' ')+'\"/>';}for(const p of opts.points||[])out+='<circle cx=\"'+X(p[0])+'\" cy=\"'+Y(p[1])+'\" r=\"4\" fill=\"var(--second)\" stroke=\"var(--paper)\" stroke-width=\"1.5\"/>';if(opts.cursor!==undefined)out+='<path d=\"M'+X(opts.cursor)+' 27V175\" stroke=\"var(--muted)\" stroke-dasharray=\"3 3\"/>';e.innerHTML=out+'</g>';e.dataset.curves=JSON.stringify(series.map(s=>s.pts));}const curve=(fn,lo,hi,n=120)=>Array.from({length:n+1},(_,i)=>{const x=lo+(hi-lo)*i/n;return[x,fn(x)]});function inputs(draw){document.querySelectorAll('input,select').forEach(e=>{e.addEventListener('input',draw);e.addEventListener('change',draw)});draw()}const n=id=>+$('#'+id).value;const show=(id,v,d=3)=>set(id,Number(v.toFixed(d)));function draw(){let ig=n('ig'),time=n('time'),q=t=>Math.min(20,ig*t),vg=t=>{let a=q(t);return a<8?3*a/8:a<14?3:3+2*(a-14)/6},vd=t=>12*(1-Math.max(0,Math.min(1,(q(t)-8)/6)));show('ig-value',ig);show('time-value',time);plot('plot',[{pts:curve(vg,0,200,240)},{pts:curve(vd,0,200,240),color:'var(--second)'}],[0,200],[0,12],{cursor:time,points:[[time,vg(time)],[time,vd(time)]]});show('charge',q(time));show('plateau',6/ig);show('vg',vg(time));show('vd',vd(time));set('eq','Q(t) = min(Ig t, 20 nC)\\ntMiller = Qgd / Ig = '+(6/ig).toFixed(2)+' ns\\nttotal = Qg / Ig = '+(20/ig).toFixed(2)+' ns');}inputs(draw);","audio":false,"strings":{"charge":"移動電荷(nC)","heading":"プラトー中の電荷はどこへ?","ig":"ゲート電流(A)","intro":"ゲート電流と時刻を変え、ゲート電圧・ドレイン電圧・電荷を対応させる。","plateau":"プラトー時間(ns)","plot":"横軸 ns、青:VGS、金:VDS(V)","reset":"リセット","scope":"区分的な学習曲線:Qg=20 nC、Qgd=6 nC(8–14 nC)、ゲート終値5 V、ドレイン12 V、定ゲート電流。実素子の近似ではない。","scopeLabel":"モデルの範囲と前提","time":"時刻(ns)","vd":"VDS(V)","vg":"VGS(V)"}}
損失と動作範囲
充分に導通している場合、抵抗損失は近似式 P_cond = I_rms²R_DS(on,T) で表されます。ここでいう I_rms は、デバイスの導通波形を用い、どの周期区間で平均するかを明確にして計算する必要があります。もし導通時の一定 5 A、デューティ比 D のみを使用する場合、全周期の平均損失は D·25R となります。
例:動作温度下で R_DS(on)=30 mΩ、全周期RMS電流が 5 A の場合、導通損失は約 0.75 W となります。さらに硬いスイッチング条件で V = 12 V、I = 5 A、電圧と電流の重なり変換時間の合計が 50 ns、周波数 100 kHz の場合、一般的な簡易的な三角重なり推定では P_sw≈½VI(t_r+t_f)f = 0.15 W となります。
このモデルは、実際のコンミューテーション形状、C_oss のエネルギー、ボディダイオードのリカバリ、デッドタイム、および駆動の変化を無視しており、総スイッチング損失の正確な測定と呼ぶことはできません。その役割は、R_DS(on) を下げても総損失が減少することが保証されないことを示すことです:より大きなチップではより多くの駆動電荷が必要となる可能性があり、異なる世代のデバイスではこのトレードオフが変化する可能性があります。
SOAは、与えられた時間と熱条件下で許容される電圧-電流の組み合わせを記述します。電流制限、ソフトスタート、および短絡中には、V_DS と I_D の両方が同時に大きくなる可能性があり、それらが個別の定格値を下回っているかどうかのみをチェックすることはできません。熱定常状態では、適用される設置条件における熱抵抗で概算できますが、短パルスでは瞬時熱抵抗とSOAを参照する必要があります。正の温度係数は、充分に導通された並列接続条件下で電流均流に役立ちますが、すべてのバイアス下で局所的な熱不安定が発生しないことを保証するものではありません。
from math import isclose
k , overdrive = . 001 , 2
linear = k * ( overdrive * . 5- . 5* * 2 / 2 )
saturation = k * overdrive * * 2 / 2
assert isclose ( linear , . 000875)
assert isclose ( saturation , . 002)
qg , frequency , drive = 20e-9 , 200e3 , 5
assert isclose ( qg * frequency , . 004)
assert isclose ( qg * frequency * drive , . 02)
assert isclose ( 6e-9 / . 2, 30e-9 )
conduction = 5 * * 2 * . 03
switching = . 5* 12 * 5 * 50e-9 * 100e3
assert isclose ( conduction , . 75) and isclose ( switching , . 15)
print ( " 長チャネル例:0.875/2 mA;駆動推定:4 mA、20 mW、ミラー段階 30 ns" )
print ( f " 導通損失 { conduction :.2f } W、簡易重なり損失 { switching :.2f } W" )
原理から選定に至るまで、実際のV_GS、導通およびコンミューテーション波形、温度、および故障動作範囲を順に決定し、その後で保証パラメータとモデルを照合する必要があります。次の記事 パワーデバイス総覧 では、これらの条件をIGBT、SiC、GaNなどのデバイスに拡張し、単一の材料名で「より高速」または「より省エネ」と判断しません。