ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

电源完整性设计入门:从PDN阻抗到去耦电容与电压跌落分析

电源完整性设计入门:从PDN阻抗到去耦电容与电压跌落分析 1. 电压跌落是怎么发生的芯片电源脚上那微妙的“抢电流”时刻一块新板子打样回来逻辑功能全部正常但一到FPGA从配置完成切到正常工作模式上位机就开始报链路丢失或者DDR读写偶发一位错误排查了三天软件最后发现是核心电源轨在几个纳秒内跌落了近300mV。这类问题并不是芯片本身质量差而是典型的电源完整性Power IntegrityPI问题。它背后牵涉的正是从电源模块到芯片引脚的整条供电网络PDN在高频瞬态电流冲击下的阻抗表现。很多硬件工程师刚接触PI时容易有一个误区以为“电源不稳”就是电源模块不行换个更大电流的DCDC或者多加两个大电容就能解决。但实际工程里高频段电压跌落的主要矛盾往往不是供电能力不够而是电流路径上的寄生电感和寄生电阻在瞬态电流变化时撑不住。换句话说电是供过来了但“送”到芯片引脚那一瞬间路上压降太大芯片看到的电压已经不满足规格。所以做电源完整性设计第一步不是急着加电容而是先把电压跌落这件事本身拆开看明白。1.1 数字芯片的瞬态电流有多猛数字芯片的功耗不是恒定的。一个CMOS门电路翻转时输出从0到1或者从1到0的瞬间PMOS和NMOS会短暂同时导通形成一条从电源到地的低阻通路产生尖峰电流。单个门看着微不足道但现代处理器、FPGA、SoC内部动辄几亿个晶体管一个时钟沿同时翻转的门电路可能达到几百万甚至几千万个。我做一个项目时习惯先查芯片手册里的动态电流参数。举个例子某颗FPGA核心电源VDD为1.0V待机时核心电流约1A配置完成后开始并行处理数据时电流可能在几十纳秒内冲到20A。这意味着电流变化量ΔI约19A变化时间约10ns对应的di/dt高达1.9×10^9 A/s。这个瞬态电流有多夸张如果电源轨和芯片引脚之间存在1nH的寄生电感一段普通PCB走线加上过孔非常容易就有这个量级那么根据V L × di/dt单纯电感效应就能产生约1.9V的压降——比电源电压本身还高。这也就是为什么很多“疑难杂症”到最后都指向PDN芯片不是缺电是瞬态来临时电压被寄生电感瞬间“抽空”了。1.2 电阻性压降与电感性压降两种计算逻辑电源轨上的电压跌落从来不是单一机理造成的。工程上要把它拆成两部分看第一部分是静态IR Drop即V I × R。电流在流经PCB走线、过孔、平面、接插件时遇到直流电阻产生稳定压降。这个压降和电流大小成正比和时间变化快慢无关。对于大电流低电压轨比如核心电压0.8V、电流30A即便整条路径只有5mΩ的直流电阻也会产生150mV压降占总电压的18%以上非常可观。第二部分是动态压降即V L × di/dt更严格的表述是V L × dI/dt如果考虑互感还有更多项。电流变化越快寄生电感上产生的压降越大。它只在瞬态变化时出现频率越高越严重。这也是为什么用万用表量电源轨对地电阻只有几毫欧但高速示波器一抓电压照样能砸出一个大坑。把两者叠加起来芯片引脚处实际观察到的电压跌落是阻性分量和感性分量的综合结果。低频或直流场景下IR Drop主导高频瞬态场景下L×di/dt主导。理解了这个再去看PDN阻抗就会顺很多——因为阻抗本身就是电阻和电抗在不同频率下的综合体现。1.3 用PDN阻抗的视角重新看电压跌落把电源轨看成一个二端口网络源端是VRM电压调节模块负载端是芯片引脚。从负载端向源端看进去整个网络的输入阻抗记为Z(f)它是频率的函数。那么瞬态电流ΔI流过PDN时芯片引脚上产生的电压跌落就是ΔV ΔI × Z(f)这个式子看起来简单却是整个PDN设计的核心。Z(f)不是常数低频段可能只有几毫欧但到了几百MHz可能升到几百毫欧。如果某个频率点上PDN的阻抗过高而负载电流恰好在这个频点上有较大能量电压跌落就会超标。所以PDN设计的目标非常直接在负载可能出现的所有瞬态频率范围内把Z(f)压低到一个可接受的“预算值”之下。这个预算值就是目标阻抗Target Impedance。这也是为什么做电源完整性仿真时最核心的输出不是某个瞬态波形而是那条阻抗曲线——它决定了电源轨在频域上抵抗电压跌落的能力。2. 从VRM到芯片引脚PDN的每一段路径都有自己的“脾气”PDN不是一根单纯的导线而是从VRM出发经过输出电容、PCB平面、去耦电容、封装基板、键合线或凸点最终到达芯片内部电源网络的完整系统。每一段路径都有自己的寄生参数频率响应特性各不相同。做设计时如果只盯着某一级看很容易顾此失彼。2.1 PDN的五段路径和它们的分工PDN层级常见构成有效频率范围主要作用VRM及其输出电容DCDC开关电源、大容量电解或聚合物电容DC ~ 100kHz提供稳态供电响应环路带宽内的负载变化Bulk电容钽电容、铝聚合物、大尺寸MLCC几十到几百uF100kHz ~ 几MHz承接VRM来不及响应的低频瞬态能量PCB去耦电容0402/0603 MLCC容值从1nF到100uF不等几MHz ~ 几百MHz在PCB层面对高频瞬态电流就近供给封装寄生与引脚封装基板走线、键合线、BGA焊球几百MHz ~ 数GHz主要呈寄生电感频率越高阻抗越难压低片上电容芯片内部的去耦电容、电源地网络GHz以上在芯片内部提供最后一级高频电荷这个分层结构可以类比成供水系统VRM是水泵负责把水持续送上来bulk电容是楼顶的水箱水泵反应慢但水箱可以顶住几秒的水压PCB去耦电容是你手边的水壶随手一倒就有水而片上电容则是你嘴里的那口水——真正决定了你口渴瞬间能不能立刻解渴。2.2 为什么VRM“救不了”瞬态跌落很多初学电源完整性的人第一个疑问是DCDC输出能力明明足够大为什么瞬态时电压还是跌关键在于时间尺度。开关电源的反馈环路带宽一般只有几kHz到几十kHz高端一点的设计能做到几百kHz。它检测到输出电压下降、调整占空比、再让电感电流爬升这个过程需要几微秒甚至几十微秒。但数字芯片的瞬态电流变化可能只发生在几纳秒内。在VRM反应过来之前能量必须由各级电容提供。如果电容不够或者路径阻抗太高电压就会在VRM“出手”之前的窗口期内跌穿规格。这里要给一个直观数据假设负载瞬态在10ns内需要额外20A电流就算VRM能立即响应它到负载的路径上如果有1nH电感要使20A/10ns的电流变化速度成立器件两端需要2V的电压差来“驱动”但电源轨总共才1V——物理上根本做不到。所以高频瞬态能量只能靠靠近负载的电容供给。2.3 阻抗曲线才是PDN的“体检报告”把PDN的每一个层级串联起来画成阻抗曲线横轴是频率纵轴是Z(f)你会看到一条先低后高、中间可能起伏的曲线。低频段VRM环路和bulk电容把阻抗压得很低中频段PCB去耦电容群发挥作用高频段陶瓷电容越过自谐振频率后呈感性阻抗开始爬升最终由封装寄生电感和平面本征阻抗决定极限值。这条曲线是判断PDN健康程度的最重要依据。理想情况下整个关心的频率范围内Z(f)都应该低于目标阻抗线。如果某一段超出了就意味着负载瞬态电流在该频段会产生超预算的电压跌落。设计去耦电容、规划平面、调整过孔数量本质上都是在“削”这条曲线的尖峰。这也解释了为什么只靠万用表测电源端对地电阻没有意义——那只是DC状态下的极低频阻抗和MHz以上频段的真实表现完全两码事。3. 先算目标阻抗再谈去耦策略PDN设计必须有“预算约束”PDN设计的起点不是“多放几个电容”而是一道算术题这个电源轨允许跌多少伏瞬态电流会变多少安两者一除得到的就是设计必须满足的阻抗上限。没有这个数后面所有布局、选容值、做仿真都是盲人摸象。3.1 目标阻抗公式与实例计算目标阻抗定义如下Z_target ΔV_ripple / ΔI_transient其中ΔV_ripple是电源轨允许的动态电压变化量通常取芯片手册中VDD容限的一部分ΔI_transient是负载瞬态电流的变化量。举个例子。某FPGA核心电源VDD 1.0V手册要求电压容限±5%也就是±50mV。考虑到系统里还有纹波、温度漂移、测量误差等做动态跌落预算时一般不会占满全部50mV我习惯预留一半给低频纹波和DC误差剩下一半作为瞬态跌落预算也就是ΔV_ripple ≈ 25mV。如果瞬态电流从2A跳到10AΔI 8A那么目标阻抗就是Z_target 25mV / 8A ≈ 3.1mΩ这意味着整个PDN网络从VRM到芯片引脚在关心的频率范围内输入阻抗都要低于约3毫欧。这个数字已经很不好做了需要认真的平面设计和足够的去耦电容。同理如果把ΔV_ripple放宽到50mV目标阻抗可以放宽到6.25mΩ设计难度会下降一个量级。所以前期认真读芯片手册、认真做电压预算是很重要的一步。3.2 ΔI和频率范围怎么取目标阻抗计算里最容易出错的是ΔI怎么取。有人直接用最大电流有人用最大电流减最小电流有人拍脑袋。我的经验是对数字芯片取负载可能出现的最大瞬态电流变化量。如果芯片手册给出动态电流参数就直接用如果没有保守一点用最大电流 - 最低功耗电流作为ΔI同时把瞬态上升时间取短一些给设计留足余量。另一个需要明确的是频率范围。PDN阻抗曲线要看多宽这和负载的工作频率有关。对于DDR4 2400这类系统数据速率1.2GHz以上核心频率几百MHzPDN至少要关心到3GHz对于普通MCU核心电源关心到几百MHz也基本够用。一个实用原则频率上限取系统最高工作频率的2~3倍这样能覆盖瞬态电流的多次谐波。3.3 为什么要留设计裕量理论算出来的Z_target是“及格线”实际设计我会把设计目标再压低一些通常做到目标阻抗的50%~70%。原因有几个一是仿真模型有误差电容模型、封装寄生参数、PCB叠层参数都不可能与实际完全一致二是温度变化时电容容值会衰减X5R在偏压下可能损失30%以上的有效容值三是量产时PCB加工、器件批次的离散性。如果设计目标卡着目标阻抗去做任何一环偏差都可能让实物超标。当然也见过反面案例看到目标阻抗低就不计成本地把每个电源轨都堆满电容。过度设计的代价不只是BOM成本上升还可能因为电容反谐振引入新的阻抗尖峰、占掉太多布局空间、让电源电路复杂化。合理做法是按频段缺口“精准投放”而不是均匀铺开——这正好引出下面去耦电容的话题。4. 去耦电容不是越多越有用频率分区、安装电感与反谐振去耦电容是PDN设计里最常被讨论、也最容易被人“凭感觉”使用的一环。问题在于陶瓷电容在高频下并不是一个理想电容它有自己的谐振频率、寄生电感和等效串联电阻。不加分析地堆电容有时候不但没用还会让事情更糟。4.1 一个电容的完整高频模型实际MLCC等效为一个RLC串联电路理想电容C、等效串联电阻ESR、等效串联电感ESL。它的阻抗表达式为|Z| sqrt(ESR² (ωL - 1/ωC)²)当频率较低时1/ωC主导电容呈容性阻抗随频率升高而下降当频率高于自谐振频率后ωL主导电容呈感性阻抗随频率升高而上升。在自谐振频率SRF处容抗和感抗恰好抵消阻抗降到最低值等于ESR。自谐振频率的计算公式是f_SRF 1 / (2π × sqrt(L×C))不同容值、不同封装的电容参数差异很大下面的表是我常用的估算参考容值典型封装典型ESL典型ESR自谐振频率100uF1210~1.0nH~3mΩ~500kHz10uF0603~0.5nH~2mΩ~2.2MHz1uF0402~0.4nH~5mΩ~8MHz100nF0402~0.35nH~10mΩ~27MHz10nF0402~0.35nH~15mΩ~85MHz1nF0402~0.35nH~30mΩ~270MHz注意表中数据随厂家、电压等级、封装尺寸变化很大实际项目应以具体型号的实测或规格书为准。但它揭示的规律是通用的容值越大自谐振频率越低容值越小越能在更高频段发挥作用。4.2 安装电感比电容自身ESL更“坑”这是很多工程师最容易忽略的一点。电容焊接到PCB上之后从电源平面、过孔、焊盘到电容引脚形成的一个电流环路会产生额外的安装电感。这个安装电感往往比电容本身的ESL还要大有时候大到2~3倍。举例一个0402的100nF电容自身ESL约0.35nH如果过孔离焊盘很远或者从焊盘出来还要走一段细线再过孔安装电感可能达到1nH以上那么有效的自谐振频率就从27MHz被拉低到十几MHz。这意味着你以为它在100MHz附近帮你压阻抗实际上它早就呈感性了不仅不帮忙还可能在某个频点和别的电容形成反谐振。因此去耦电容的摆放有严格要求过孔要尽量贴近焊盘最好一个焊盘直接打两个或以上过孔从电容到过孔的走线越短、越粗越好电源过孔和地过孔要尽量靠近形成小的电流环路面积。把这些做好了比盲目多塞电容有效得多。4.3 不同容值组合的“反谐振尖峰”既然单个电容只在SRF附近的一个窄带内表现为低阻抗那么很自然的思路就是用大电容处理低频用小电容处理高频多个容值并联覆盖更宽的频率范围。这个思路方向正确但存在一个隐患——反谐振Anti-Resonance。两个不同容值的电容并联后在它们各自SRF之间的某个频率点较大电容已呈感性较小电容仍呈容性两者并联可能形成并联谐振造成阻抗尖峰。这个尖峰如果超过目标阻抗线它带来的电压跌落问题丝毫不亚于“电容不够”。比如10uF和100nF并联在十几到几十MHz处经常能看到一个明显凸起。工程上的处理办法是不要堆太多不同的容值通常2~3个容值就够了如果必须跨很宽的频段建议用不同容值交替布局并借助仿真查看整个频段的阻抗曲线确认反谐振峰没有超限。另一个思路是选择低ESL的电容比如反向几何结构、倒装结构MLCC把它们自身的谐振频点分布做得更宽。4.4 高频段别指望电容平面和封装才是天花板很多人算了一笔账之后会惊讶地发现在几百MHz以上的频段普通陶瓷电容基本“无能为力”。算一下一个100nF电容在100MHz时如果已呈感性按ESL0.35nH估算阻抗约为2π×100MHz×0.35nH ≈ 0.22Ω。对于目标阻抗10mΩ甚至几毫欧的电源轨来说这高出整整一个数量级。即便多个电容并联等效ESL会降低但降低幅度受布局制约不可能无限并联。真正在高频段起决定性作用的是电源地平面构成的平板电容和芯片自身的封装电容。平面电容没有过孔、没有额外引线寄生电感极低在GHz频段依然能维持很低的阻抗。这就是为什么说“最后一公里”要靠PCB叠层和平面——去耦电容在低频段出力平面在高频段兜底。5. 平面与过孔PCB叠层才是PDN的“最后一公里”如果去耦电容是PDN的“常规部队”那么平面、过孔和叠层就是负责“最后防线”的工兵。很多仿真报告里阻抗曲线在高频段压不下去问题往往不在电容选型而在PCB物理结构。5.1 电源地平面被低估的分布式电容电源平面与地平面之间存在平板电容效应电容量可以用平行板公式估算C ε0 × εr × A / d其中ε0是真空介电常数约8.85×10^-12 F/mεr是介质相对介电常数FR4一般取4.2左右A是平面重叠面积d是两层之间的介质厚度。举一个真实量级的例子一块4层板电源平面和地平面各为100mm×100mm介质厚度4mil约0.1mm则平面电容约为C 8.85×10^-12 × 4.2 × 0.01 / 0.0001 ≈ 3.7nF3.7nF和一颗大电容比不算大但关键在于它的安装寄生电感几乎是零阻抗在高频段依然保持极低。这在GHz频段意义重大。所以叠层设计时电源层和地层层间距要尽量压小4层板推荐“信号-地-电源-信号”的叠层顺序6层板及以上更要把每一组关键电源和对应地平面做成紧密相邻的对。5.2 平面分割与电流回流多电源轨系统里平面不可避免被分割成多个电压区域。但分割槽对PDN的影响很容易被低估。电流从VRM流向负载时如果路径被分割槽切断它只能绕行绕行的路径会大幅增加环路电感。更麻烦的是如果高速信号跨过分割槽信号回流电流也会被迫绕远既恶化信号完整性又让PDN在高频段出现阻抗尖峰。在实际案例中我见过一块板子在MCU正下方的电源层被走线割开一个大口子仿真显示PDN阻抗在150MHz处抬升到300多毫欧实际工作表现为无线模块偶尔复位。把平面分割重新规划让电流通路放宽之后问题消失。所以平面分割有一条铁律不要在芯片正下方、不要在高速信号下方制造狭窄瓶颈如果实在无法避免至少保证电源电流主通道有足够的平面宽度并辅以多个过孔跨接缝合。5.3 过孔数量和位置给电流开“免费高速路”去耦电容到负载中间要经过过孔。每个过孔都有约0.3~0.8nH的寄生电感单个过孔在高频下就是一条“高阻小路”。改进方式是多个过孔并联等效电感近似按数量下降但要注意过孔之间需要一定间距通常1.5mm以上才能有效降低总电感挨得太近互感会削弱并联效果。我总结的过孔设计经验每个去耦电容的电源端和地端至少各打2个过孔芯片电源引脚附近的电源/地过孔要成组出现最好把电源过孔和地过孔交错排列减小电流环路面积如果电流较大一片BGA芯片下方的电源过孔数量不要省仿真时可以对比4个和8个过孔的阻抗曲线差异常常差别非常明显。5.4 埋盲孔与高阶HDI高阶PCB可以使用盲孔、埋孔甚至盘中孔来缩短电流路径对高频PDN性能有明显帮助。比如把去耦电容直接通过盘中孔打到内层电源平面比“焊盘走一小段线再过孔”少了很多环路电感。这类工艺成本更高不是所有项目都适合但如果在GHz频段PDN阻抗压不下去可以考虑用微孔替代常规过孔或者加一片填充铜的孔盘。对初学者来说先掌握常规通孔的规则再在性能瓶颈时引入HDI是比较稳妥的路径。6. 拿到一份PDN仿真报告后重点看哪几步PDN仿真现在已经不是大厂专属Ansys SIwave、Cadence Sigrity、Keysight ADS等工具都能做。但不少工程师拿到仿真报告后不知道该看什么、哪些东西是重点、什么情况下报告会“骗人”。这里把我看报告的经验拆开讲。6.1 阻抗曲线与目标阻抗的“对账”第一步永远是把Z(f)曲线和目标阻抗线画在一起从左到右逐频段看有没有超出。关注点有三处超出频率范围在哪里、超出的峰值有多高、这个频点是否落在系统关键工作频率附近。如果尖峰恰好落在DDR时钟频率或其奇次谐波上危险系数极高哪怕峰值只超出一点点也可能引发随机性的误码或死机。如果曲线处处低于目标阻抗也不能掉以轻心还要看裕量。我一般要求全频段至少保留30%的裕量特殊频点时钟谐波附近至少50%。没有裕量换个批次电容、温度一变就可能超标。6.2 电流密度图和热点分析PDN仿真除了阻抗曲线还会输出电流密度分布图。它能直接告诉你电流在平面和过孔上是怎么“挤”的。如果某个过孔附近或平面瓶颈处电流密度明显偏高说明这里将成为额外的阻抗贡献点通常伴随局部温升。改版时优先处理热点加过孔、拓宽铜皮、避免电流路径上的细脖子。我见过一块板子电源从VRM出来要经过一个极窄的换层通道仿真电流密度图显示这个通道红得发紫。虽然阻抗曲线看上去勉强达标但实际产品在高温环境下电源纹波明显变大就是因为这个瓶颈处的局部温升让铜皮电阻进一步恶化。处理完瓶颈后整个电源轨的稳定性上了一个台阶。6.3 报告模型的边界条件这是最容易被忽略、也最影响报告可信度的一点。看仿真报告时先确认模型里包含哪些东西是否包含VRM输出级模型和大电容如果不包含低频段阻抗曲线会与实际严重不符。是否包含芯片封装寄生模型高频段几百MHz以上阻抗主要受封装和键合线影响只做PCB级仿真时这个频段完全没有参考价值。电容模型是理想模型还是实际器件SPICE模型理想模型在高频段会明显低估阻抗。实际项目里如果暂时拿不到封装模型我的做法是只看报告里低于100MHz的频段同时给高频段留出更大的设计余量或者用经验值估算封装电感的影响。6.4 分清两类“阻抗”PDN目标阻抗与SI9000算的线阻抗写到这里必须提一个常见误区。很多时候新人在群里问“算阻抗用SI9000行不行我想算PDN阻抗。”这是把两类完全不同的“阻抗”概念搞混了。SI9000Polar这类阻抗计算工具算的是传输线的特征阻抗——微带线、带状线的单端50Ω、差分90Ω或100Ω目的是控制信号反射属于信号完整性SI范畴。而PDN设计要压的是电源分配网络的输入阻抗——从负载端看进去的Z(f)目标是几毫欧到几十毫欧属于电源完整性PI范畴。两者的差异可以这样对比对比项目传输线特征阻抗SI9000计算PDN目标阻抗设计对象信号走线微带/带状线电源网络平面、电容、过孔组合目标值50Ω / 90Ω / 100Ω几毫欧至几十毫欧分析方法2D场求解、经验公式3D场求解、全频段仿真主要影响信号反射、振铃、时序电压跌落、电源噪声典型工具SI9000、Polar、TX LineSIwave、Sigrity、ADS实际上SI9000可以帮你确定信号层线宽、线距、参考层距离做出合格的信号走线但PDN阻抗必须靠平面完整性、去耦电容布局、过孔设计这些系统手段来保证软件层面上要依靠场求解器提取阻抗曲线或者至少用厂商提供的PDN设计工具做简化仿真。6.5 仿真报告检查清单说句实在话一份PDN仿真报告看完如果以下几条都答得上基本就能支撑一次设计评审了目标阻抗是怎么定的ΔV用的多少、ΔI怎么取的频率范围选到多少GHz仿真频率范围内Z(f)曲线是否全部低于目标阻抗线有多少裕量有没有反谐振尖峰如果有它的频点在哪里是否落在关键工作频段电容模型是理想值还是带ESR/ESL的实测模型安装电感是否被计入报告是否包含VRM、封装、插座模型缺失部分用什么方法补偿电流密度热点出现在哪里是否对应过孔数量不够或平面瓶颈不同温度、偏压条件下电容容值衰减后阻抗曲线是否仍然达标我习惯把这些检查项在评审表里逐项打勾而不是笼统地问“仿真过了没有”。因为“过”和“不过”不是终点“在哪里过不了、为什么过不了、怎么改”才是设计价值的真正体现。7. 新板验证示波器实测电压跌落的那点经验PDN设计最终要落在实物上所以实测试验环节也必须重视。这一步不必等到整机跑起来新板贴片回来上电前先规划好测试点第一轮测试就顺手把电源轨的瞬态响应抓出来。测试方法不算复杂用至少1GHz带宽的示波器配上弹簧地线不要用长鳄鱼夹地线把探头尖端扎到芯片旁边去耦电容的电源端焊盘上地线就近压到电容地端焊盘这个位置最接近芯片真实看到电源波形。示波器触发方式设为下降沿触发然后把负载从待机切到满载可以通过运行自检程序或外接动态负载实现。抓到的波形里关注跌落幅度和恢复时间如果跌落幅度超过目标阻抗乘以ΔI算出来的值或者跌落深度接近芯片供电容限那就说明PDN还有短板。实测数据出来后和仿真报告对照非常有意思。如果两者差别大先排查测试方法探头地线环路是不是太大、测试点是不是离芯片太远再回头审视仿真模型的边界条件——大多数对不上的情况问题都出在高频段模型缺失或理想电容假设上。带项目的这几年我见过太多“软故障”芯片偶尔重启、USB识别不稳定、极限温度下死机查到最后都是PDN在高频瞬态下电压跌落超标。与其后期花几周排查不如在原理图阶段就算好目标阻抗在布局阶段落实平面和过孔在新板回来第一天就把示波器扎到电源轨上看一眼。学会了用PDN阻抗的视角看问题很多看起来“玄学”的掉电压现象实际上都是一道清晰的算术题。
返回列表