集成MEMS表面硅加工:LPCVD多晶硅、牺牲层释放与抗粘附
简介围绕MEMS表面硅加工技术的PPT课件面向微电子、微机电系统方向的学生与工程技术人员用于梳理表面微机械加工的核心工艺脉络。内容覆盖微加工工艺分类、表面微加工与IC工艺的区别重点讲牺牲层腐蚀原理及二氧化硅、磷硅玻璃、铝等牺牲层材料的腐蚀速率对比同时给出从氧化掩模、光刻、体硅腐蚀到结构层淀积、牺牲层释放的完整流程以及层间黏附、界面应力、静态阻力三类力学问题与防粘连处理思路。资源包为单个pptx文件约1.36MB可直接用于课程复习、组会分享或工艺方案速查。已有104人学习下载。对于需要理解牺牲层材料选择、腐蚀速率与热膨胀系数匹配等细节的读者课件把概念、流程与对比表格集中呈现可当作表面硅加工入门与工艺要点复盘的精简参考。1. 表面硅加工技术为什么成为集成 MEMS 的主流路线一块 60 μm 见方的多晶硅微镜HF 释放、烘干之后有三成直接贴在衬底上再也起不来。这不是版图画错了而是表面硅加工surface micromachining绕不开的一道坎它和体硅加工的思路正好相反——不从硅片里掏结构而是在衬底表面一层层沉积、图形化再把中间的牺牲层腐蚀掉把可动结构叠出来。这条路线最大的价值是能往 CMOS 产线上靠。结构层厚度通常 12 μm横向线宽交给光刻决定亚微米线条、大规模阵列、片上集成几乎是天然的。代价是机械性能全部押在薄膜上残余应力、应力梯度、释放孔排布、干燥时的毛细力每一项都得在工艺卡和版图阶段就定死后期基本没有修补的余地。做电容式加速度计、陀螺、微镜、RF 开关的人工作内容大多逃不出这套框架微镜这类光学器件对表面平整度的要求又会把应力梯度问题放大好几倍。下面按膜层堆叠、图形化刻蚀、牺牲层释放、抗粘附干燥、片上验证的顺序把能直接填进工艺卡的数字和判断依据讲清楚。2. 表面硅膜层堆叠隔离层、PSG 牺牲层与 LPCVD 多晶硅参数怎么定2.1 隔离层—牺牲层—结构层的最小堆叠表面硅加工的结构是在衬底上搭起来的所以第一层永远是隔离层。它干两件事把后续的可动结构在电学上隔开同时挡住释放用的 HF别让它把衬底或下层结构啃掉。常见做法是 0.30.6 μm 的热氧化硅或者 0.150.3 μm 的 LPCVD 氮化硅。氮化硅在 HF 里几乎不动但自身应力和热膨胀系数差都大做厚了容易裂所以纯氮化硅隔离层的厚度一般压在 0.3 μm 以内。牺牲层决定可动结构的活动空间也就是结构层离衬底有多高。用得最多的是 PSG磷硅玻璃LPCVD 在 400450 ℃ 下由 SiH4、PH3 和 O2 反应沉积厚度 1.52 μm。选 PSG 而不是热氧化硅有两个理由磷掺杂让它在 HF 里的腐蚀速率比热氧化硅快一个数量级左右1050 ℃ 附近的退火还能让它轻微回流把下层的台阶抹平一些结构层的台阶覆盖会好很多。结构层就是最后要动的那层绝大多数情况是多晶硅。LPCVD 在 580650 ℃ 下由 SiH4 分解沉积厚度 1.52 μm。它必须导电否则电容式加速度计的检测电极、静电驱动的微镜都没有现成电极可用掺杂一般走 POCl3 扩散或沉积时原位掺磷方块电阻做到 1030 Ω/sq 这一档。2.2 LPCVD 多晶硅与 PSG 的关键参数对照膜层材料典型厚度沉积方式关键控制量隔离层热氧化 SiO20.30.6 μm10001100 ℃ 干氧/湿氧针孔密度、击穿场强隔离层备选LPCVD Si3N40.150.3 μm750800 ℃DCS NH3膜应力、HF 耐受性牺牲层 1PSGP 68 wt%1.52 μmLPCVD 400450 ℃磷含量、HF 腐蚀速率结构层 1多晶硅1.52 μmLPCVD 580650 ℃应力梯度、表面粗糙度牺牲层 2PSG0.51.5 μmLPCVD 400450 ℃台阶覆盖、厚度均匀性结构层 2多晶硅11.5 μmLPCVD 580650 ℃与结构层 1 的应力匹配多晶硅的沉积温度是最容易踩的坑。580 ℃ 附近容易长成非晶/微晶混合相退火后晶粒异常长大表面粗糙度直接反映到光学器件上650 ℃ 以上沉积速率快但柱状晶明显、内应力大。620 ℃ 左右是多数产线在速率和形貌之间的折中点具体速率随炉型和 SiH4 流量在每分钟几纳米到十几纳米之间浮动2 μm 膜厚意味着单炉时间在小时量级。2.3 应力梯度决定结构层能不能用的隐形指标薄膜应力要分成两部分看平均应力会让微桥整体拱起或屈曲应力梯度则沿厚度方向变化直接让悬臂梁、微镜发生弯曲。悬臂梁没有下半部分的约束梯度带来的弯曲完全释放出来端部挠度跟梁长平方成正比长度翻倍挠度就翻四倍——这就是为什么长梁结构对梯度最敏感而同一片晶圆上的短梁看起来一切正常。对厚度 t、线性应力梯度 Γ 的自由膜曲率半径有解析关系κ Γ(1-ν)/E端部挠度 δ κL²/2。拿它当设计前的预算比流完片再拿 SEM 去猜要省事得多。# stress_gradient.py # 用多晶硅应力梯度预算释放后悬臂梁的端部挠度 E 160e9 # 多晶硅杨氏模量 Pa随晶粒取向大致落在 130~170 GPa nu 0.22 # 泊松比 Gamma 5e12 # 应力梯度 Pa/m5 MPa/um 换算为 5e12 Pa/m def tip_deflection(L_um, gammaGamma): kappa gamma / (E / (1 - nu)) # 弯曲曲率 1/m R 1.0 / kappa # 曲率半径 m L L_um * 1e-6 delta kappa * L**2 / 2.0 # 端部挠度 m return R * 1e3, delta * 1e6 # 输出 mm 与 um for L in (50, 100, 200, 400): R, d tip_deflection(L) print(fL{L:3} um R{R:7.1f} mm 端部挠度{d:6.3f} um)逻辑说明kappa是自由膜在梯度作用下的曲率与梯度成正比、与双轴模量 E/(1-ν) 成反比delta用纯弯曲的抛物线近似在小挠度下够用。参数说明Gamma是最需要实测的量退火后的多晶硅常在几 MPa/μm 量级未退火或掺杂不均时能高一个数量级E取 160 GPa 是常见中值晶粒取向明显偏向 (110) 时实际值会更低预算时按 ±20% 留余量。提示按 5 MPa/μm 计算200 μm 长的悬臂梁端部会翘起约 0.5 μm。对微镜阵列来说这已经是不可接受的像差量级所以梯度和平均应力必须分开测不能用一个应力值糊过去。2.4 退火与掺杂把应力和电阻一起压下去10501100 ℃、N2 或 N2/H2 气氛、3060 min 的退火是表面硅流程里唯一一次能同时修多个指标的机会致密化 PSG、激活掺杂原子、释放沉积残余应力、让多晶硅重结晶。退火后应力梯度的下降通常很明显掺杂的方块电阻也会从几百 Ω/sq 掉到几十 Ω/sq 以内。代价在另一边。温度过高或时间过长PSG 回流过度会把细小的锚点台阶抹圆锚点成形变差同一炉里不同位置的温度差会让应力和腐蚀速率都出现片内不均这个不均匀在后面释放步骤会直接变成有的片子释放完了、有的还没开孔。经验做法是把退火当作一个独立的设计变量先固定时间调温度确认应力和方块电阻都在窗口内再回头动沉积参数。3. 结构层图形化与释放孔版图RIE 刻蚀参数和 DRC 约束怎么配合3.1 结构层刻蚀的掩模选择与选择比多晶硅的干法刻蚀主要有两条路线Cl2/HBr 体系侧壁垂直、各向异性好但刻蚀后氯残留需要额外处理否则后续在潮湿环境下会腐蚀结构SF6/O2 体系速率快、对设备友好但侧壁钝化靠氧气控制很容易刻出正梯形或侧壁粗糙。释放孔是深宽比不高的孔SF6/O2 通常够用0.5 μm 以下的细线条还是得上 Cl2 体系。掩模的选择直接决定能刻多细掩模多晶硅/掩模选择比适用线宽代价光刻胶3:15:1≥1.5 μm胶要厚边缘易流动变形LPCVD SiO2 硬掩模10:120:1≤1 μm增加沉积和去掩模两步LPCVD 氮化硅15:125:1≤1 μm膜应力大去除速率慢2 μm 的多晶硅配 5:1 选择比就意味着要 0.4 μm 以上的胶厚显影后的胶边缘形状本来就不好图案保真度会拖后腿。所以只要线宽要求到 1 μm 附近基本都换成 SiO2 硬掩模多两步工序换图形精度这笔账通常是划算的。刻蚀结束后的三个高发问题微掩模形成的草状硅残留、侧壁聚合物让释放孔实际开口小于设计值、过刻蚀把锚点下方的隔离层掏空。3.2 释放孔排布孔径、孔距与牺牲层厚度的三角关系HF 只能从释放孔进去再侧向腐蚀到孔与孔之间的中点所以孔距的上限由牺牲层厚度决定。经验区间是孔距不超过牺牲层厚度的 510 倍对 2 μm 的 PSG孔径 24 μm、孔距 1525 μm 是最常见的一组值。孔距再放大释放时间会指数级变长而且中点的残留牺牲层很难被彻底清掉。孔距也不是越小越好。每加一个孔结构层的局部刚度就掉一块微镜的有效反射面积也会被孔占掉。光学器件常见的做法是把释放孔放在结构的非功能区比如镜面的支撑梁角落或者四周的边框上让主反射面保持完整。孔径同样有下限。孔径接近牺牲层厚度时2 μm 的 PSG 配 2 μm 的孔孔内的扩散限制非常明显有效腐蚀速率可能只有大孔的 30% 左右小于 1 μm 的孔还可能被反应产生的气泡堵住释放过程直接停住。3.3 用 KLayout DRC 把释放孔和锚点规则卡住版图规则光写在文档里没用必须变成可执行的检查。下面这段是按 KLayout 深模式写的 DRC 片段写的是约束意图实际跑之前按你们产线的 KLayout 版本核对一遍方法名。# release_hole_check.drc —— 释放孔与锚点的最小约束检查 source(mems_top.gds) report(release_hole.lyrdb) holes input(5, 0) # 释放孔层 5/0 anchor input(6, 0) # 锚点开窗层 6/0 poly input(4, 0) # 结构层 4/0 # 1) 同层释放孔间距下限太密会把结构切碎刚度掉得不划算 holes.space(6.um).output(释放孔间距小于 6um) # 2) 释放孔与锚点边缘的最小间距避免锚点下方被侧向掏空而失去支撑 poly.not_interacting(anchor).edges.space(3.um, holes).output(释放孔离锚点过近) # 3) 释放孔最小面积太小会在 HF 里被气泡堵住 holes.with_area(0, 4.0).output(释放孔面积小于 4um2)三条规则分别对应三件不同的事第一条管机械刚度孔距太密结构容易在释放后变形第二条管锚点完整性锚点是结构层唯一与基底连接的地方孔靠得太近HF 会从侧面把锚点底下的隔离层一起掏掉释放完直接脱落第三条管工艺可行性面积过小的孔在实际释放中不起作用版图上看着有孔但等于没有。规则里的6.um、3.um、4.0都要按你的牺牲层厚度和 HF 工艺实测值来定不能照抄。3.4 锚点台阶结构层断线的高发位置锚点开窗之后结构层要跨过一段从衬底到牺牲层顶面的陡坡。这个台阶的坡度通常在 45°80° 之间多晶硅在台阶侧壁的台阶覆盖率只有平面的 60%80%锚点根部是整个结构最脆弱的位置拉力一大就从这里断。常见的三个改善手段锚点开窗边缘做倒角或斜边把坡度降下来台阶处把牺牲层减薄降低台阶高度把锚点布置在结构整体应力最小的区域避开应力集中点。同样的台阶问题也出现在结构层之间的堆叠处。两层结构层之间通过过孔连接时下层结构层的边缘就是台阶过孔处的多晶硅同样会减薄。做法是过孔处不要放细梁和焊盘连接点做宽让电流和应力都有地方分散。4. 牺牲层释放HF 湿法腐蚀的时间窗口与毛细力预算4.1 HF 溶液怎么选49% HF、BOE 与 HFHCl 的差别释放工艺第一件事是选溶液核心看两个数对 PSG 的腐蚀速率以及对隔离层和衬底氧化层的选择比。溶液对 PSGP 68%对热氧化硅特点49% HF约 13 μm/min约 0.10.5 μm/min速率快毛细力大必须严格计时BOE6:1约 0.20.5 μm/min约 0.050.1 μm/min温和可控但耗时长边缘钻蚀小HF HCl与纯 HF 接近明显降低HCl 抑制对热氧化硅的腐蚀气相 HF约 0.050.3 μm/min更低无液相抗粘附首选这些数字只是数量级参考。PSG 的腐蚀速率对磷含量极其敏感6 wt% 和 8 wt% 能差出两倍退火致密化程度也会显著改变速率。所以释放时间必须用陪片或在线膜厚仪标定过才能用不能直接抄表。注意同一个炉次不同位置的 PSG 腐蚀速率能差 23 倍。用居中位置的速率去算边缘片的释放时间结果往往是中间过腐蚀、边缘没释放。4.2 释放时间估算横向扩散限制下的过腐蚀余量释放时间不能只按纵向速率除一下了事。HF 进到孔里之后是侧向推进孔越小、越深扩散限制越重有效横向速率要乘一个折减系数。# release_time.py # 估算牺牲层完全释放所需时间一维近似 def release_time(pitch_um, t_sac_um, v_v2.0, eta0.4, over1.3): pitch_um : 释放孔间距 um t_sac_um : 牺牲层厚度 um v_v : 大开口下的纵向腐蚀速率 um/min按你的 HF 实测 eta : 有效横向速率系数孔大取 0.6孔与厚度同量级取 0.3 over : 过腐蚀余量系数一般 1.2~1.5 half pitch_um / 2.0 # 最坏点是两孔中点 v_lat v_v * eta # 有效横向腐蚀速率 um/min return half / v_lat * over for p in (10, 20, 30, 40): print(f孔距 {p:2} um - 估算释放时间 {release_time(p, 2.0):5.1f} min)逻辑说明half是 HF 必须走完的最长横向距离除以有效横向速率得到基准时间再乘过腐蚀余量保证中点残留被清掉。参数说明eta是这套估算里最不确定的量孔距小、孔数多的时候扩散通道拥挤取 0.3孔距大、孔径也大时可以取到 0.6。稳妥的做法是用陪片区做 4 个时间点的梯度比如 5/8/12/18 min破面看横向腐蚀前沿反推eta下一次流片就有本地化的数据可用。4.3 毛细力预算为什么 DI 水直接烘干必塌释放完漂洗之后空腔里全是液体。烘干时液体从空腔排出会在结构层和衬底之间留下液桥液桥的毛细压力把结构层往下拉# capillary.py # 估算干燥时液桥产生的毛细压力 import math liquids {DI水: 0.072, IPA: 0.022, 甲醇: 0.023, 乙醇: 0.022} def capillary_kpa(gamma, r_um, theta_deg0.0): theta math.radians(theta_deg) # 0 表示完全润湿最坏情况 r r_um * 1e-6 return 2 * gamma * math.cos(theta) / r / 1000.0 # kPa for name, g in liquids.items(): print(f{name:4} r1.0um - {capillary_kpa(g,1.0):7.1f} kPa f r0.3um - {capillary_kpa(g,0.3):7.1f} kPa)逻辑说明毛细压力与液体表面张力成正比、与间隙半径成反比。参数说明r_um是结构层下表面的间隙对 2 μm 牺牲层的结构通常是 μm 量级theta_deg取 0 是保守假设若表面已做疏水处理接触角到 110° 时 cosθ 变成负值毛细压力方向反转结构反而被推开。按上式DI 水在 1 μm 间隙下产生约 144 kPa 的负压比一个大气压还高远超过一般悬臂梁的弹性恢复力烘干必塌。换成 IPA 后降到约 44 kPa能缓解但不能根治间隙缩到 0.3 μm 时 IPA 也有 147 kPa。真正解决问题的办法只有一个——让空腔里根本不存在气液界面也就是超临界干燥或者气相释放。5. 抗粘附工艺超临界 CO2 干燥与气相 HF 释放的参数设置5.1 超临界 CO2 干燥的升压—置换—降压流程CO2 的临界点是 31.0 ℃、7.38 MPa。在这个点以上CO2 既不是液体也不是气体密度接近液体、黏度接近气体而且从超临界态降压到气态可以完全不经过相变空腔里不会出现液桥毛细压力这一项直接归零。这就是超临界干燥的全部原理剩下的都是怎么把工艺参数压在单相区里。阶段温度压力时间/速率目的IPA 置换室温常压3 次 × 5 min把空腔里的水换成 IPA升压3540 ℃→ 810 MPa510 min越过临界点进入单相区超临界置换40 ℃810 MPa5 倍腔体积用 scCO2 把 IPA 溶走降压40 ℃→ 常压0.30.5 MPa/min保持单相避免液滴成核# scCO2_dry.yaml —— 超临界 CO2 干燥的典型流程参数 steps: - name: solvent_exchange # 水 - IPA水和 CO2 几乎不互溶必须先换 solvent: IPA cycles: 3 soak_min: 5 - name: pressurize # 升压到超临界以上 pressure_mpa: 8.5 # 需 7.38 MPa temperature_c: 40 # 需 31.0 C ramp_min: 10 - name: purge # 超临界 CO2 持续置换 IPA flow_ml_min: 20 exchange_volume_times: 5 temperature_c: 40 - name: depressurize # 关键步骤全程不能掉回液态 rate_mpa_min: 0.5 temperature_c: 40逻辑说明整个序列的约束是任意时刻的 (T, P) 都在临界点之上。solvent_exchange之所以必要是因为水在超临界 CO2 里的溶解度极低不换成 IPA 就直接升压水会留在空腔里降压时还是会产生液桥。purge用腔体积倍数而不是固定分钟数来计量是因为不同设备的腔体容积差别很大。depressurize的rate_mpa_min是这套流程最容易翻车的地方。注意温度一旦掉到 31 ℃ 以下即使压力仍在 7.38 MPa 以上也可能发生液化。大腔体设备的降温滞后明显控制点要取腔壁温度而不是出口温度。5.2 气相 HF 释放的工艺窗口与材料兼容性气相 HF 走的是另一条路不经过液相从牺牲层腐蚀到干燥一步完成。常用的配方是无水 HF 加醇类甲醇或乙醇蒸汽醇既做催化剂也做水分的载体也有用 HF/H2O 蒸汽的但水含量一高毛细力问题就又回来了。典型工艺窗腔体总压 150 kPaHF 分压按选择比调温度 2550 ℃采用腐蚀—抽气脉冲循环每轮几分钟防止反应生成的水在结构表面累积。它的优势很实在完全没有液相粘附风险从源头消失对 PSG 的选择比高隔离层和衬底氧化层几乎不动。短板同样明确腐蚀速率比液相 HF 慢一个数量级2 μm 的 PSG 释放常常要几十分钟更麻烦的是材料兼容性气相 HF 对铝互连几乎是毁灭性的走这条路的结构层互连要换成 Mo、W、TiN 或者金整个后段工艺都得跟着改。5.3 表面改性与机械凸点降低粘附的第三种手段如果暂时上不了超临界设备也可以在表面上做文章思路是让结构层即使接触了也不容易粘住。三种常见手段可以叠加使用自组装单分子膜SAM比如 OTS 或 FDTS靠气相或液相涂覆在释放后的表面上把接触角从接近 0° 推到 110° 以上毛细压力方向反转湿法干燥也能勉强过关。短板是热稳定性300 ℃ 以上的封装工艺会让它分解只能用在中低温封装的产品上。表面粗糙化用 HF/HNO3 体系或者刻蚀后的织构处理把结构层下表面做成粗糙面实际接触面积在同样名义接触下降低一个数量级以上范德华力随之下降。代价是光学器件的反射面不能这么做只能用在非光学区域。机械凸点dimple/stub在结构层下表面光刻出小凸起让接触从整面贴变成几点接触。这一招不需要额外材料也不影响反射面质量是微镜类器件里最常用的组合手段之一但凸点尺寸要跟释放孔一样进 DRC 检查太小会被刻蚀掉太大又会在释放后成为新的粘附点。6. 表面硅工艺的验证与失效排错从曲率法到悬臂梁阵列6.1 用 Stoney 公式和测试结构族量化应力与梯度释放之后的每一片晶圆都该先量两个数平均应力和应力梯度。平均应力用晶圆曲率法镀膜前后各扫一次曲率半径代进 Stoney 公式# stoney.py # 由镀膜前后的晶圆曲率变化反推薄膜平均应力 E_s, nu_s, t_s 130e9, 0.28, 725e-6 # (100) 硅衬底模量、泊松比、厚度 725 um t_f 2.0e-6 # 多晶硅膜厚 2 um def stress_from_curvature(R_before, R_after): k 1.0 / R_after - 1.0 / R_before # 曲率变化R 单位为 m sigma E_s * t_s**2 * k / (6 * (1 - nu_s) * t_f) return sigma / 1e6 # 换算成 MPa print(round(stress_from_curvature(1e9, 50.0), 1), MPa)逻辑说明Stoney 公式建立在膜厚远小于衬底厚度、膜应力均匀、衬底弹性变形的前提下本场景下 t_s/t_f 超过 300适用性没问题。参数说明E_s/(1-ν_s)是衬底的双轴模量取 (100) 硅的常见值R_before、R_after用激光扫描或干涉法测量程要覆盖到几十米级别量程不够会把小曲率直接读成无变化。曲率法只给平均应力梯度要靠测试结构族一组 50/100/200/400 μm 的悬臂梁看端部挠度反推梯度一组微桥看屈曲临界长度反推压应力再加游标结构量套刻偏差、扇形电容表量电学间隙。这套结构族占不了多少面积但能把结构塌了这种笼统现象拆成具体的数值。6.2 失效模式与排查顺序现象大概率原因先查什么结构整体贴底干燥毛细力、漂洗不到位置换不彻底改 IPA 置换 超临界核对释放孔数量与孔径只有长梁塌应力梯度偏大退火温度/时间曲线、掺杂浓度、沉积温度微桥中间拱起或屈曲平均压应力过大曲率法测平均应力调退火锚点根部断裂台阶覆盖差、锚点边缘应力集中SEM 破面看锚点剖面加倒角并降低台阶牺牲层残留、结构动不了孔距过大或释放时间不足陪片做时间梯度确认孔的实际开口尺寸结构层有草状硅RIE 微掩模检查刻蚀后的除渣步骤适当加过刻蚀排查顺序建议固定成一条链先看形貌SEM 破面判断是断裂、屈曲还是粘附再量平均应力曲率法再量梯度悬臂梁阵列最后才动 recipe。顺序颠倒的代价很大——在没确认是梯度问题之前就去改 HF 释放时间通常只是把一批片子从翘改成塌。一个能省下好几轮流片的做法在同一片晶圆上同时布置两档释放孔径例如 2 μm 和 4 μm和一组不同孔距的测试结构用梯度时间做 4 个释放点一次流片就能同时标定横纵腐蚀速率比、有效横向速率系数和过腐蚀上限后面所有释放时间都能从这一组数据里推出来不用再靠 SEM 猜。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联
返回资讯列表 →