news 2026/10/22 11:43:54

1550nm APD功率饱和度仿真:InGaAs/InP与InGaAs/InAlAs优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1550nm APD功率饱和度仿真:InGaAs/InP与InGaAs/InAlAs优化

半年前我帮一个客户评估1550 nm接收模块,那颗APD的小信号特性几乎无可挑剔——暗电流低、击穿电压平坦、增益曲线漂亮。结果一到系统强光测试,输出饱和得厉害,误码率直接抬升。后来我把这个问题归结为"功率饱和度",才意识到一个事实:很多人设计APD时盯着暗电流、增益、带宽,却把功率饱和度漏掉了。偏偏1550 nm InGaAs/InP与InGaAs/InAlAs两种APD体系,在高光功率下的行为差异非常明显,用Lumerical做器件仿真时,如果从一开始不把饱和功率放进优化目标,后面补起来会非常痛苦。

这篇文章就围绕我实际用Lumerical做这两类APD仿真与优化的经验展开,不兜圈子,直接讲清楚三件事:功率饱和的物理根源是什么、在Lumerical里怎么把饱和行为准确复现出来、以及如何通过结构和参数优化把饱和功率顶上去。不管你是刚开始接触APD器件仿真的新人,还是已经在做光接收机联合设计的老手,这篇都能给你一些能直接落地的参考。

1. 功率饱和度为什么是APD设计里最容易被低估的指标

1.1 从一次系统级强光测试说起

APD(雪崩光电二极管)的核心优势是内部增益。光生载流子在强电场区通过碰撞电离产生倍增,让输出光电流放大M倍。于是大家都习惯性地把增益做大、噪声做低,认为这就是好APD。

但光通信接收机的真实工作环境并没有那么温柔。正常工作时信号可能低到-28 dBm,但系统抖动、突发数据、近距离光源耦合等场景下,入射光功率可能瞬间冲到-5 dBm甚至0 dBm。接收端必须有足够大的动态范围,既能把微弱信号拉起来,又不能在强光下"过载"。

强光下APD会暴露一个典型问题:光电流不再随入射光功率线性增长,增益M开始下降,输出信号出现压缩失真。这个现象就是功率饱和。很多实验室里测APD增益都是用小光功率配合锁相放大器,光电流只有微安级,饱和效应根本看不出来。等产品到了系统联调阶段,强光一进来,才发现输出波形都被"削顶"了。

所以功率饱和度不是学术名词,而是实打实的系统级指标。它直接决定接收机的动态范围和链路预算。

1.2 功率饱和的物理源头:空间电荷、欧姆压降、自热

想要在仿真里优化饱和功率,必须先搞清楚饱和是从哪里来的。按我自己的经验,功率饱和的主要原因可以归成三类,它们在物理上经常同时出现,但贡献比例不同。

第一是空间电荷屏蔽效应,这是最核心的机制。倍增区里原本有固定的掺杂电荷和耗尽层电荷,维持着一个很高的雪崩电场。当强光注入后,倍增区内会有大量电子空穴对,这些非平衡载流子形成的空间电荷会抵消掉一部分耗尽层固定电荷,等效于把雪崩电场"压低"了。电场一低,碰撞电离率指数级下降,增益M自然就掉下来。光功率越大,注入的载流子越多,电场被压低得越厉害,饱和就越严重。

打个比方,这就好比你给一个喷泉系统增加用水量,但管道里挤进去太多杂质,反而把水压给堵小了。喷嘴出水速度降下来,喷射高度也就缩水了。

第二是串联电阻压降。光电流在高功率下能到毫安级别,而APD的串联电阻(衬底电阻、接触电阻、体电阻)通常在几十欧姆量级,I×R压降可以吃掉好几伏偏压。倍增区对偏压极其敏感,偏压掉零点几伏,增益就会明显变化,表现为高功率下的增益塌陷。

第三是自热效应。毫瓦级别的连续光入射,结区温度升高,半导体的电离系数会随温度变化,击穿电压和增益也跟着漂移。这个效应在连续光通信场景里不能完全忽略,但它的时间常数比前两个慢,在快速响应分析里可以先放一放。

除了这三类,还有一类经常被忽视:SACM结构里吸收层和倍增层之间的异质结带阶。强光下界面附近堆积的载流子会反过来调制能带和电场分布,这种"界面电荷调制"在某些InGaAs/InAlAs结构里会让饱和来得更早。

1.3 1550 nm波段的特殊性

同样的问题放到1550 nm波段,会变得更尖锐。因为1550 nm对应的光子能量约0.8 eV,而InGaAs吸收层的带隙约0.74 eV,光子能量只是勉强超过带隙。这意味着InGaAs在1550 nm的吸收系数并不算高,典型值在0.6~0.8 μm⁻¹量级,远不如短波段的吸收那么强。

吸收弱就得靠厚度补齐,所以1550 nm APD的吸收层通常要做到2~3 μm甚至更厚。吸收层越厚,高功率下光生载流子的体量和渡越路径就越长,空间电荷积累问题就越突出。相比之下,短波长APD吸收层薄、载流子快速扫走,饱和功率天然容易做得高。

另外1550 nm系统普遍要覆盖很宽的光功率动态范围,尤其是接入网和5G前传这类场景,前级没有光衰减器时,APD可能直接面对强光。所以做1550 nm APD设计时,功率饱和度的重要性一点不比增益和暗电流低。

2. InGaAs/InP与InGaAs/InAlAs:两种材料体系在仿真前的取舍

2.1 SACM结构与两种倍增层的角色

现代通信APD基本都采用SACM结构,也就是分离的吸收层、电荷层、倍增层。这个结构之所以成为主流,是因为吸收层和倍增层在材料上必须分开——InGaAs负责吸收1550 nm光,但它带隙太窄,不能直接承受高电场,否则隧穿漏电会大到无法接受。倍增必须交给宽带隙材料,也就是InP或InAlAs。

InP的带隙约1.35 eV,InAlAs(铝组分为0.48、晶格匹配InP)的带隙约1.45 eV,两种材料在1550 nm都是透明的,适合做倍增层。

电荷层的存在是为了控制电场分配:它要让倍增层里保持高电场用于雪崩倍增,同时让吸收层里的电场尽量低。电荷层的掺杂浓度和厚度,直接决定了倍增电场有多强、以及电场在哪个位置达到峰值。这个细节后面优化时会反复提到。

2.2 电离系数比k值与过剩噪声

两种材料体系最关键的物理差异体现在电离系数比k值上。碰撞电离过程中,电子和空穴的电离系数通常不一样,定义k为两者的比值。k值越接近1,说明电子和空穴都在贡献倍增,雪崩过程越"混乱",过剩噪声因子越大;k值越接近0,说明某一种载流子主导电离,倍增过程更可控,噪声更低。

InP的电子空穴电离系数比较接近,k值大致在0.4~0.5,所以InP基APD的过剩噪声相对偏高。InAlAs则明显更好,k值可以做到0.1~0.2,在相同增益下过剩噪声因子低不少。这也是近些年InAlAs基APD越来越受关注的核心原因。

过剩噪声不是一个独立的性能点,它会直接影响接收机的灵敏度。仿真时,电离系数模型参数的选取直接决定了M曲线和噪声仿真的可靠性,只改几种掺杂、不改材料参数,上看不出两种体系的差别。

2.3 关键材料参数表:仿真输入差一点,结果差很远

在Lumerical里做材料参数设置时,我整理过一张常用的对比表,可以作为仿真初值的参考。注意,具体数据一定要结合你的实际工艺和文献报道做标定,别直接拿这个表当最终值:

参数InGaAs(吸收层)InP(倍增层)InAlAs(倍增层)
带隙约0.74 eV约1.35 eV约1.45 eV
1550 nm处吸收系数0.6~0.8 μm⁻¹透明透明
电子迁移率量级8000~12000 cm²/(V·s)4000~5000 cm²/(V·s)3000~4000 cm²/(V·s)
空穴迁移率量级300~400 cm²/(V·s)约150 cm²/(V·s)约100~150 cm²/(V·s)
电离系数比k不适合做倍增层约0.4~0.5约0.1~0.2
击穿电场量级很低4~5×10⁵ V/cm6~8×10⁵ V/cm

Lumerical材料库里有这些二元和三元的默认折射率、迁移率等参数,但默认的迁移率和复合寿命往往和实际外延材料有差距。我自己习惯的做法是:把Lumerical材料库的数据作为起点,然后用文献里针对同组分材料的实验数据去覆盖关键参数。InAlAs尤其要注意铝组分,组分偏一点,带隙和电离系数就差不少。

3. Lumerical完整建模流程:从FDTD吸收分布到CHARGE雪崩特性

3.1 先算光:FDTD里的结构、网格与光源

Lumerical做APD仿真,通常拆成两段:先用FDTD算光学吸收分布,再用CHARGE算电学输运和雪崩倍增。FDTD部分解决的是光在哪吸收、吸收多强的问题。

结构建模时可以先从二维截面入手。把层结构按SACM顺序搭好:p型接触层、倍增层、电荷层、吸收层、n型接触层。1550 nm的平面波或高斯光从上表面入射。光源功率要设置为实际物理功率,后面归一化时需要。

网格设置是FDTD里最容易影响结果的一步。吸收层需要的网格尺寸建议在30 nm量级或更小,倍增层虽然薄,但它是电场最敏感的区域,同样要局部加密。先用二维结构把参数空间扫一轮,再挑几个关键点做三维验证,这样计算资源压力小很多。

材料折射率也要检查。InGaAs在1550 nm的折射率约3.6,InP约3.2,InAlAs约3.3。折射率差会在异质结界面产生反射,形成法布里-珀罗驻波,吸收分布可能出现周期性调制。如果FDTD里看到吸收分布有明显条纹,别急着怀疑网格,先检查是不是驻波效应,必要时给结构表面加一层近似减反膜。

3.2 光电耦合:吸收功率到载流子产生率的换算

FDTD算出来的是一份空间吸收功率密度分布P_abs(x,y,z)。CHARGE要用的则是光生载流子产生率G,单位是每立方厘米每秒。转换公式其实很简单:

G(x,y,z) = P_abs(x,y,z) / (hν)

也就是把单位体积内吸收的光功率除以单个光子的能量。光子能量hν用1550 nm波长算出来大约是1.28×10⁻¹⁹焦耳。实际数值转换在Lumerical里有现成的analysis工具组,也可以用脚本批量完成。

有一个省时间的技巧:FDTD只算一次吸收分布,之后做功率扫描时,直接把G按入射光功率做线性缩放就行。因为低光功率下吸收分布基本不随功率变化,除非结构里有明显的非线性吸收机制。把0.1 μW到1 mW的功率扫描全部复用同一份G分布,能省下大量FDTD重复计算时间。

3.3 再算电:CHARGE里的材料、掺杂、复合与雪崩模型

CHARGE部分是整个仿真里最需要耐心的地方。结构几何和FDTD保持一致,把掺杂类型和浓度填进去,一张常用的掺杂初值表长这样:

区域掺杂类型浓度范围
p型接触层p1×10¹⁹ cm⁻³
倍增层n-或轻掺杂1×10¹⁵~1×10¹⁶ cm⁻³
电荷层p5×10¹⁶~1×10¹⁸ cm⁻³
吸收层n-1×10¹⁵~5×10¹⁵ cm⁻³
n型接触层n1×10¹⁸~1×10¹⁹ cm⁻³

复合模型要开全:SRH复合、俄歇复合、辐射复合。InGaAs是窄带隙材料,俄歇复合在高注入时尤其重要,它会把高功率下的有效载流子浓度拉低,影响饱和行为。SRH寿命是暗电流仿真的决定因素,实际外延材料的寿命可能远低于理想值,这里建议用和暗电流实测标定过的值。

雪崩电离模型是CHARGE里的重头戏。Lumerical提供了van Overstraeten-de Man等经验模型,公式里需要输入每种材料的电离系数参数。InP和InAlAs的系数取值差别很大,而且不同文献报道的InP电离系数并不完全一致。我在仿真前通常会用暗电流IV或者击穿电压做一个标定:调节电离系数参数,让仿真击穿电压和文献或实验值对上,再继续后面的工作。这一步不做好,后面所有增益和饱和数据都不靠谱。

求解方面,偏压扫描的步长不是均匀的。低偏压区可以大步长,接近击穿电压时步长要切小,比如每0.1 V一步。CHARGE的Newton求解器对于强非线性问题比较敏感,后面我会专门说怎么处理收敛问题。

4. 功率饱和度仿真复现:定义、扫描与结果解读

4.1 饱和功率的两种定义:1dB压缩与增益塌陷

工程上常用两个口径定义功率饱和度。一个是1dB压缩功率P1dB,对应输出光电流相对理想线性响应偏离1 dB时的入射光功率。另一个是增益塌陷点,通常取增益M下降20%~50%对应的功率。哪种口径更合适,取决于你的接收机系统对失真的容忍程度。

仿真方法其实很直接:在固定偏压(比如0.9倍的击穿电压)下,把入射光功率从0.1 μW一路扫到1 mW,按十倍步进切档。每一档等收敛后记录输出光电流,然后绘制对数坐标系下的I-P曲线。理想情况是斜率等于1的直线,功率增大到某个点后曲线开始向下弯曲,这个弯曲点就是饱和的起点。

4.2 参数扫描设计:倍增层厚度、电荷层掺杂、吸收层厚度

功率饱和度不是单一参数决定的,它和倍增层厚度、电荷层掺杂浓度、吸收层厚度、台面尺寸都有关系。我常用的扫描范围如下:

参数扫描范围对饱和的影响方向
倍增层厚度200~600 nm越薄电场越集中,雪崩越陡,但太薄会引入隧穿漏电
电荷层掺杂浓度5×10¹⁶~1×10¹⁸ cm⁻³决定倍增层电场峰值,直接影响空间电荷容忍度
吸收层厚度1~3.5 μm越厚响应度越高,但强光下载流子堆积更严重
台面直径20~80 μm影响串联电阻、电容和单位体积载流子密度

批量扫描可以用Lumerical的脚本/Python API来做,把参数组合循环跑一遍,最后出一张等高线图,横轴是倍增层厚度,纵轴是电荷层掺杂,颜色是饱和功率。这种图很容易看出最优区域在哪,比一个个参数单独试要直观得多。

4.3 从I-V到I-P:把饱和行为完整画出来

只看I-P曲线还不够,我强烈建议把CHARGE算出的能带图和电场分布导出来看。饱和现象最直观的证据,就是倍增区里的电场峰值随光功率增大而下降。

我在仿真里见过非常典型的例子:1 μW光功率下,倍增区电场峰值接近50万V/cm;光功率加到100 μW后,电场峰值被压低了将近20%,对应的增益M直接从10掉到6附近。这就是空间电荷屏蔽效应在CHARGE结果里的直接体现。如果你只盯着I-P曲线,可能只会说一句"它饱和了",但结合电场分布,你就能定位到底是谁在拖后腿。

另一个值得对比的点是两种材料体系的饱和行为差异。在相同几何结构下,InAlAs倍增层因为击穿电场更高、k值更低,单位增益对应的偏压更高,电场也更集中。仿真结果通常显示InAlAs体系的饱和功率比InP体系高几个dBm,这和实验文献里报道的趋势一致。差距的来源在于:InAlAs倍增层可以用更薄的设计达到同样的增益,薄倍增层意味着更小的空间电荷体积,强光注入时电场被屏蔽的幅度更小。

5. 优化出手:把两类APD的饱和功率顶上去

5.1 结构方面的三个杠杆

第一个杠杆是倍增层厚度。减薄倍增层可以让电场更陡、倍增更集中,这是提高增益-带宽积的手段,对饱和功率也有正向帮助。但不能无限减薄,太薄会导致隧穿电流增大,暗电流暴涨。仿真扫描时要把"暗电流"和"饱和功率"两个目标放在一起看,找一个帕累托最优区间。

第二个杠杆是电荷层。电荷层的掺杂浓度和厚度决定了倍增层的电场强度,等于是在给雪崩过程"撑腰"。提高电荷层掺杂,可以让倍增电场更高、更集中,对抗空间电荷屏蔽的能力也更强。但这个方向会让击穿电压升高,高偏压又带来额外的功耗和散热问题。我在几个结构上都试过,电荷层掺杂从2×10¹⁷调到5×10¹⁷ cm⁻³,饱和功率能提高2~3 dBm,代价是击穿电压抬高十几伏,后面要靠偏压方案来消化。

第三个杠杆是寄生电阻。把p型接触层做厚一点、掺杂浓度顶到1×10¹⁹ cm⁻³以上,降低欧姆接触电阻;台面侧壁钝化工艺做好,减少表面漏电通道。寄生电阻小了,强光下IR压降就小,有效偏压稳得住,增益塌陷点自然往后推。

5.2 外加偏压与接收机协同的"动态增益"思路

器件结构做到极限之后,系统层面还有一个大招:动态调整APD偏压。既然低光功率需要高增益,强光功率需要低增益,那就不妨让偏压跟随光功率自动变化。光功率大时主动降低偏压,让M降下来,输出电流保持在线性范围内;光功率小时把偏压顶上去,保证弱光灵敏度。这就是光接收机里常见的APD增益自动控制思路,相当于把"硬件问题"变成"系统策略问题"。

这个思路在仿真阶段就能验证:你把偏压从0.95Vbr按功率档位递减到0.8Vbr,再看I-P曲线,整个动态范围能明显拉宽。这一块和Lumerical的INTERCONNECT系统级仿真配合起来,可以直接看接收机链路的眼图和误码率变化。

5.3 迭代优化与验证闭环

结构优化的过程不是一蹴而就的,我个人习惯是三轮迭代。第一轮用低精度网格大范围扫描,把参数空间大致摸清;第二轮在最优区域加密网格,精算饱和功率、暗电流、带宽几个关键指标;第三轮做三维验证和工艺公差分析,看哪些参数对性能波动最敏感。

我实际做过的一个InGaAs/InP结构,初始设计饱和功率只有-10 dBm左右,系统级测试时强光直接削顶。迭代优化后把倍增层减薄到400 nm、电荷层掺杂调高、接触层重新设计,饱和功率抬到了-3 dBm附近,增益和暗电流没有明显恶化。这套流程里,Lumerical帮了大忙,但真正让你少走弯路的,是每一步都盯着电场分布和能带图,而不是只盯着最终曲线。

6. 仿真阶段最容易翻车的细节记录

6.1 网格收敛性与电离模型标定

网格密度不够,击穿电压可以偏出几十伏。倍增层里电场梯度非常大,网格太稀疏会把电场峰值"抹平",导致仿真出来的击穿电压偏高、增益偏低。我在倍增层厚度方向上会保证至少20个网格点,然后做一次网格收敛测试:把网格尺寸减半,看击穿电压和增益的变化是否小于1%。满足这个标准,网格才算通过。

电离模型标定是另一个大坑。InP的电离系数在不同文献里给出的数值差异很明显,直接套某一个公式,仿真击穿电压和实测可能差好几伏。保险的做法是:先固定结构尺寸,拿一个已知击穿电压的实验数据或文献数据做标定,反推电离模型参数,再用这个参数去做其他结构对比。InAlAs也要同样处理,而且要注意铝组分不同时带隙和电离系数都会变。

6.2 FDTD监视器和CHARGE高功率收敛的坑

FDTD里最容易被坑的是吸收监视器的设置。监视器要包裹住吸收层内部,不能碰到PML边界,否则吸收功率会被人工边界吸收掉一部分。另外二维仿真时,光源极化模式(TE/TM)对吸收分布的驻波形态影响很大,如果工艺上无法确定入射光的偏振,建议用圆偏振或分别算两个极化再取平均。

CHARGE高功率下不收敛是神烦的问题。光功率一大,倍增区的载流子浓度剧烈变化,Newton迭代很容易发散。我的经验是:不要直接从0跳到高功率,先做一次完整的暗电流IV扫描,把每个偏压点的解作为高功率扫描的初始猜测,再逐步增加光源功率。功率分档用十倍步进,从0.1 μW到1 mW也就8档,每档在上一档收敛解的基础上继续算,收敛概率会高很多。

如果还是发散,就检查一下复合模型的参数。俄歇复合系数设得不当,会导致高注入下数值振荡。另外可以把求解器的阻尼系数调大一点,牺牲一点计算速度换稳定性。

6.3 什么情况下必须把热效应请回来

如果入射光功率已经到毫瓦级,而且你关心的是连续光下的稳态饱和特性,自热效应就不能忽略。Lumerical有热求解器可以和CHARGE耦合,算结温对增益漂移的影响。但热耦合计算量大一轮,我通常先跑纯电学版本,如果发现去掉热效应后的仿真结果和实测系统性偏差,再启用热耦合排查这部分差异。

需要提醒的是,在对比两种材料体系时,自热效应的贡献可能还不一样。InP和InAlAs的晶格导热性和温度系数不同,强光下的温度漂移幅度也会有差异。如果目标是选型对比,建议把热效应放在第二轮精细化对比里做,避免第一轮扫描矩阵规模爆炸。

我做了这么多次APD仿真,最大的体会就是:功率饱和度这个指标,一开始不重视,后面一定会来找你麻烦。仿真阶段每省一道工,系统实测阶段可能就要花十倍时间补回来。如果你也在设计1550 nm的InGaAs/InP或InGaAs/InAlAs APD,强烈建议从第一天起就把P1dB放进优化目标里,配合Lumerical的光电耦合仿真流程,把饱和行为做透再做结构冻结。这样后面联调接收机链路的时候,会轻松非常多。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 11:43:04

PE资源表深度解析:从结构原理到图标替换与安全分析实战

1. 从一个“资源表”说起:为什么它值得单独拿出来聊 做Windows平台开发或者逆向分析的朋友,对PE文件结构应该都不陌生。DOS头、NT头、节表、导入表、导出表、重定位表……这些名词几乎成了入门必修课。但有一个东西,平时写业务代码时几乎不会…

作者头像 李华
网站建设 2026/10/22 11:42:29

rea 缩写解析:响应式编程与 React 工程化实践指南

1. 从“rea”这个标题说起:一个被低估的通用缩写第一次看到“rea”这个标题的时候,我脑子里蹦出来的第一反应是——这大概率又是一个被缩写玩坏的项目名。在技术圈混久了你会发现,越是短到只有三个字母的标题,背后藏的东西往往越不…

作者头像 李华
网站建设 2026/10/22 11:40:42

JMeter 安装全指南:JDK 环境、版本选择与三大平台配置实操

JMeter 是后端性能测试绕不开的工具,可它偏偏不是装完双击就能用的那种软件——先得准备合适的 Java 环境,再想清楚装哪个版本,解压目录、环境变量、内存参数这些细节也会一个个跳出来。我见过不少同事卡在“安装”这一步,最后排查…

作者头像 李华
网站建设 2026/10/22 11:40:15

200SMART与ABB510变频器MODBUS RTU多机通讯控制程序全解析

看到“200SMART多台ABB510变频器通讯控制程序”这个标题,很多做设备改造和电控柜集成的同行应该会心一笑——这是一个出现频率极高的需求组合。一台小型PLC(200 SMART)通过自带的RS485口,用MODBUS RTU协议同时控制若干台ABB ACS51…

作者头像 李华
网站建设 2026/10/22 11:39:11

Anaconda Prompt与conda激活机制:环境变量与终端工作原理全解析

双击桌面上那个蓝绿色的“Anaconda Prompt”,或者“Anaconda PowerShell Prompt”,你大概率会看到终端里冒出一个(base),然后顺手敲conda list、python、jupyter notebook就能直接用。但大多数人就这么用了好几年,从来没想过一个问…

作者头像 李华
网站建设 2026/10/22 11:39:06

从CPU特权级到后渗透:系统权限与信息收集完整技术体系

系统权限与信息收集:从CPU架构到后渗透实战的完整技术体系搞安全这么多年,我一直觉得有个现象挺有意思:很多人一上来就盯着“怎么提权”“怎么拿shell”,但对底层那几个基础概念——比如CPU特权级、内核态和用户态的边界、权限模型…

作者头像 李华