3. 无源器件(上):硅波导、MMI耦合器、光栅耦合器设计与仿真

各位同学,咱们今天聊聊无源器件。说实话,无源器件是硅光芯片的骨架。你想想看,有源器件再厉害,光信号传不出去、分不开、耦合不进来,那都是白搭。我个人做工艺这些年,踩过的坑有一半都跟无源器件有关。今天咱们就挑三个最基础的来讲:硅波导、MMI耦合器、光栅耦合器。

3.1 硅波导:光的路由器

硅波导,说白了就是光走的“管道”。在硅光工艺里,最常用的是脊形波导和条形波导。我刚开始接触时,总觉得波导不就是刻一条沟嘛,有什么难的?后来发现,单模条件、损耗控制、工艺容差,每一个都是坑。

3.1.1 波导结构设计要点

设计波导,核心就三个参数:芯层厚度、刻蚀深度、波导宽度。以220nm SOI平台为例:

  • 芯层厚度:通常220nm,这是SOI标准厚度。太厚了多模,太薄了光约束不够。
  • 刻蚀深度:脊形波导一般刻70nm(浅刻蚀),条形波导刻到底(220nm全刻)。
  • 波导宽度:单模条件一般在400-500nm。我习惯取450nm,工艺窗口比较宽。

关键点:波导宽度决定了你是单模还是多模。宽度超过600nm,大概率会出现高阶模。我在一个项目中为了降低耦合损耗,把波导加宽到800nm,结果多模干涉严重,最后不得不重新流片。嗯,这个教训挺深刻的。

3.1.2 波导损耗来源

波导损耗主要来自三个方面:

  1. 侧壁粗糙度散射损耗——这是大头。刻蚀工艺越差,侧壁越毛糙,损耗越大。
  2. 衬底泄漏损耗——波导太薄或者上包层太薄,光会漏到硅衬底里去。
  3. 弯曲损耗——弯半径太小,光就“甩”出去了。

我的经验:弯曲半径建议取5μm以上。我曾经为了省面积,把弯半径压到2μm,结果损耗直接飙到3dB以上。后来老老实实改回5μm,损耗降到0.1dB以下。有些东西真不能省。

3.1.3 波导仿真示例(Lumerical MODE)

仿真波导,我一般用Lumerical MODE的FDE求解器。下面是一个简单的脚本,计算450nm宽、220nm厚的条形波导的有效折射率:

# 波导有效折射率计算脚本(Lumerical MODE)
# 条形波导,Si芯层,SiO2包层

switchtolayout;
loadlayout;  # 加载默认布局

# 设置波导几何参数
set("width", 450e-9);      # 波导宽度 450nm
set("height", 220e-9);     # 波导高度 220nm

# 设置材料
set("material", "Si (Silicon) - Palik");
set("cladding", "SiO2 (Glass) - Palik");

# 设置网格精度
set("mesh accuracy", 4);   # 网格精度4,够用了

# 运行求解
run;

# 提取结果
neff = getdata("neff");    # 有效折射率
printf("有效折射率: %f\n", neff);

跑完之后,你会得到TE模和TM模的有效折射率。TE0模一般在2.8左右,TM0模在1.9左右。如果算出来差太多,检查一下材料参数是不是设对了。

3.2 MMI耦合器:光的分配器

MMI耦合器,全称是多模干涉耦合器。它的原理很简单:光进入一个多模波导区,激发出多个模式,这些模式在传播过程中相互干涉,在特定位置形成自映像。你想想看,这不就是光的“分束器”吗?

3.2.1 1×2 MMI设计公式

设计1×2 MMI,核心公式就一个:

L_MMI = 3 * L_π / 2

其中L_π是拍长,计算公式为:

L_π = π / (β₀ - β₁)

β₀和β₁分别是基模和一阶模的传播常数。说白了,就是两个模式之间的相位差走完π长度时对应的距离。

实际设计步骤

  1. 先确定多模波导宽度W_MMI,一般取2-3μm。
  2. 用FDE算出基模和一阶模的有效折射率,算出L_π。
  3. MMI长度取1.5倍L_π。
  4. 输入/输出波导位置:1×2 MMI的两个输出波导对称分布在中心线两侧,间距取W_MMI/2。

3.2.2 我的避坑指南

我曾经设计过一个1×2 MMI,仿真结果完美,分光比50:50,损耗只有0.2dB。结果流片回来一测,分光比变成了60:40。为什么?

  • 原因1:工艺偏差。刻蚀宽度偏了20nm,MMI宽度变了,拍长也跟着变。
  • 原因2:输入波导位置没对准。光没有完美耦合进多模区,高阶模激发比例不对。

注意:MMI对工艺偏差非常敏感。建议在设计时做容差分析,把宽度偏差±20nm、刻蚀深度偏差±10nm都跑一遍。如果分光比变化超过5%,说明你的设计太“脆”了,需要优化。

3.2.3 MMI仿真示例(Lumerical FDTD)

# 1×2 MMI FDTD仿真脚本(简化版)

# 几何参数
W_mmi = 2.5e-6;      # MMI宽度 2.5μm
L_mmi = 8.5e-6;      # MMI长度 8.5μm(根据拍长计算得到)
W_wg = 0.45e-6;      # 输入/输出波导宽度 450nm
gap = 1.25e-6;       # 输出波导间距

# 创建结构
addrect;
set("x", 0);
set("y", 0);
set("x span", L_mmi);
set("y span", W_mmi);
set("material", "Si (Silicon) - Palik");

# 添加输入波导
addrect;
set("x", -L_mmi/2 - 2e-6);
set("y", 0);
set("x span", 2e-6);
set("y span", W_wg);
set("material", "Si (Silicon) - Palik");

# 添加输出波导(两个)
addrect;
set("x", L_mmi/2 + 1e-6);
set("y", gap/2);
set("x span", 2e-6);
set("y span", W_wg);
set("material", "Si (Silicon) - Palik");

addrect;
set("x", L_mmi/2 + 1e-6);
set("y", -gap/2);
set("x span", 2e-6);
set("y span", W_wg);
set("material", "Si (Silicon) - Palik");

# 添加监视器
addpower;
set("name", "output1");
set("x", L_mmi/2 + 2e-6);
set("y", gap/2);

addpower;
set("name", "output2");
set("x", L_mmi/2 + 2e-6);
set("y", -gap/2);

# 运行仿真
run;

# 提取结果
T1 = getresult("output1", "T");
T2 = getresult("output2", "T");
printf("输出1透过率: %f\n", T1);
printf("输出2透过率: %f\n", T2);
printf("分光比: %f : %f\n", T1/(T1+T2)*100, T2/(T1+T2)*100);

3.3 光栅耦合器:光的“天线”

光栅耦合器,说白了就是芯片和光纤之间的“桥梁”。光从光纤出来是垂直的,要耦合进芯片的水平波导,怎么办?靠光栅。光栅把垂直入射的光“拐弯”到水平方向。

3.3.1 光栅耦合原理

光栅耦合器的核心是布拉格条件:

n_eff - n_c * sin(θ) = m * λ / Λ

其中:

  • n_eff:波导模式有效折射率
  • n_c:包层折射率(空气=1,SiO2=1.45)
  • θ:入射角(通常8°-15°,避免反射光回到光纤)
  • m:衍射级次(通常取1)
  • λ:工作波长
  • Λ:光栅周期

我的习惯:设计时先定波长和入射角,然后反推光栅周期。比如1550nm波长,入射角10°,n_eff≈2.8,算出来Λ≈630nm。然后在这个值附近做参数扫描,找到最优值。

3.3.2 光栅结构参数

参数 典型值 说明
光栅周期 Λ 600-700 nm 由布拉格条件决定
占空比 DC 50% 刻蚀部分与周期之比
刻蚀深度 70 nm(浅刻蚀) 全刻蚀耦合效率低,浅刻蚀更好
光栅长度 10-20 μm 太短耦合效率低,太长带宽窄
光栅宽度 10-12 μm 与光纤模场匹配

3.3.3 优化技巧

光栅耦合器的优化,说白了就是跟损耗做斗争。我做过一个项目,初始设计耦合效率只有30%,后来优化到65%。怎么做到的?

  • 加底部反射镜:在光栅下方加一层DBR反射镜,把向下漏的光反射回来。效率能提10-15%。
  • 非均匀光栅:光栅齿的占空比从入口到出口逐渐变化,让光慢慢“漏”出来,而不是一下子全漏。效率能再提5-10%。
  • 加抗反射层:在光栅表面镀一层SiN或SiO2,减少表面反射。

注意:加了底部反射镜之后,工艺复杂度会上升。你需要额外做一次键合或者沉积。如果成本敏感,可以考虑用厚BOX层(3μm以上)代替,效果差一点但工艺简单。

3.4 本章知识体系

下面这张图是我自己整理的,把三个器件的设计流程串起来了。你照着这个思路走,基本不会跑偏。

无源器件设计知识体系 硅波导 MMI耦合器 光栅耦合器 单模条件:宽度450nm,厚度220nm 损耗控制:侧壁粗糙度、弯曲半径 仿真工具:Lumerical MODE FDE 设计公式:L_MMI = 1.5 * L_π 分光比:50:50,工艺容差分析 仿真工具:Lumerical FDTD 布拉格条件:n_eff - n_c*sinθ = λ/Λ 优化方向:底部反射镜、非均匀光栅 仿真工具:Lumerical FDTD 设计流程:确定平台参数 → 单器件仿真 → 容差分析 → 版图绘制 → 流片验证 三个器件是硅光芯片的基础,建议先掌握波导设计,再做MMI和光栅 每个器件都要做工艺容差分析,别等流片回来才发现问题

好了,这一章的内容就到这儿。波导、MMI、光栅,这三个东西你吃透了,无源器件这块就稳了一半。下一章咱们接着聊无源器件的下半部分——阵列波导光栅和微环谐振器。到时候见。


公众号:蓝海资料掘金营,微信deep3321