ARTICLE DETAIL

资讯详情

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

LVPECL、PECL、LVDS高速接口互连设计:电气特性、转换方案与终端匹配实战解析

LVPECL、PECL、LVDS高速接口互连设计:电气特性、转换方案与终端匹配实战解析 做硬件这么多年调过的板子多了最怕的不是原理图复杂而是那种看似能通、实测翻车的接口。LVPECL、PECL、LVDS这三个词但凡是搞过高速接口、做过FPGA通信或者设计过时钟分配/显示互连的多少都打过照面。这三种差分电平标准单拎出来都各有脾气放一起互连就更讲究。这篇博文就围绕高速接口电平标准互连设计把LVPECL、PECL、LVDS的电气特性、转换方案、终端匹配和常见坑一次性讲透适合正在做FPGA高速接口、时钟树设计、LVDS显示链路或者被“上电没信号、发热严重、误码高”折磨的硬件和嵌入式工程师参考。内容不绕弯子直接讲原理、给参数、上实战最后还会放一份问题速查表照着排查就行。1. 三种电平标准到底差在哪互连设计的前提是先把每一种电平的脾气摸清楚。很多人拿到一个LVPECL器件和一个LVDS器件第一反应是“都是差分直接对接不就行了”结果一接就翻车。原因很简单这三种标准的输出摆幅、共模电压、驱动结构和终端要求完全不是一个量级。1.1 先搞清楚三个关键参数VOD、VCM、VOH/VOL高速差分接口的电气特性本质上就看三样东西差分输出电压VOD决定信号摆幅和接收灵敏度需求、共模输出电压VCM决定两个差分引脚的静态电位、以及输出的高电平VOH和低电平VOL决定单端逻辑阈值和终端网络设计。用一句生活化的话来理解差分信号就像两个人挑担子VOD是担子上下晃动的幅度VCM是两人站立的水平高度而VOH/VOL则决定了站在最高和最低点时扁担两端离地面的距离。三个人挑担子有的晃得猛摆幅大有的站得高共模高你要是直接把两个人的扁担接在一起高度和幅度不匹配担子根本没法平稳交接。这三个标准里LVDS是典型的小摆幅、低共模PECL/LVPECL则是大摆幅、高共模。它们之间的差异直接决定了互连时要不要做电平转换、要不要加偏置、要不要设计衰减网络。1.2 PECL与LVPECL偏置在高电平上的高速老兵PECLPositive-referenced Emitter Coupled Logic和LVPECLLow-Voltage Positive-referenced ECL本质上是一家人区别只在于参考电源。PECL工作电压是5VLVPECL是3.3V。它们的输出结构是射极跟随器也就是发射极开路输出输出管本身就是电流源信号往下拉上面的VCC通过上拉电阻或者外部终端提供回流路径。这里必须先记住一个结论PECL/LVPECL的输出端不能悬空必须有直流回路否则输出管没有任何静态工作点信号直接塌掉。这也是很多新手第一次接LVPECL转LVDS时最容易犯的错误之一。以典型参数来看当LVPECL工作于3.3V时输出高电平VOH大约为VCC减去0.9V也就是2.4V左右输出低电平VOL大约为VCC减去1.7V也就是1.6V左右。差分摆幅单端约800mV差分整体摆幅约1.6Vpp。共模电压约为VCC减去1.3V即2.0V左右。PECL工作于5V时VOH约4.1VVOL约3.3V共模约3.7V。注意这只是一般性的典型值具体器件会有差异但量级固定LVPECL的共模在2V附近比LVDS的1.2V高了近一倍摆幅更是LVDS的四到五倍。这个差距就是互连设计最大的鸿沟。1.3 LVDS低摆幅、低功耗的现代主力LVDSLow-Voltage Differential Signaling低压差分信号目前是高速接口里用得最广的标准FPGA、SerDes、显示接口、ADC/DAC数据链路里到处都是它。LVDS的输出结构是一个恒流源典型电流为3.5mA经过100欧姆差分终端电阻产生约350mV的差分电压。输出共模电压VCM典型在1.2V左右VOD在250mV到450mV之间差分摆幅约350mV。接收端只需检测到超过100mV的差分电压即可认定是“1”所以它抗干扰能力强、功耗低、电磁干扰小。因为LVDS源是恒流驱动所以它对终端有一个硬性要求接收端必须提供100欧姆的差分终端电阻让恒流源的电流返回形成电压。没有这100欧姆LVDS输出就失去了限流参考VOD会飘信号完整性会急剧恶化。1.4 三者参数直观对比为了后面讨论方便我把三种标准的典型电气参数整理成一张表做设计时可以直接对照。参数PECLVCC5VLVPECLVCC3.3VLVDS输出高电平VOH约4.1V约2.4V约1.45V输出低电平VOL约3.3V约1.6V约1.05V输出共模VCM约3.7V约2.0V约1.2V单端摆幅约800mV约800mV约350mV差分摆幅约1.6Vpp约1.6Vpp约350mVpp输出结构射极跟随器需直流回路射极跟随器需直流回路恒流源需100Ω终端典型终端50Ω到VCC-2V50Ω到VCC-2V / 戴维南网络100Ω差分跨接功耗高高低从这张表就可以直观看出PECL和LVPECL是“大力士”摆幅大、共模高、功耗也高LVDS是“轻骑兵”摆幅小、共模低、功耗低。它们各自的设计初衷不同互连时不能图省事直接对接。2. 互连设计的核心矛盾为什么不能直接接如果你问一个老工程师LVPECL和LVDS能不能直接相连他会反问你直流耦合还是交流耦合负载是什么器件电源域怎么划分这三个问题问完答案自己就出来了。2.1 LVPECL到LVDS共模电压“打架”LVPECL的输出共模是2.0VLVDS接收端的输入共模范围一般只有0.2V到2.2V看起来2.0V还在范围内很多人就以为直流耦合可行。但实际上问题远不止共模一个。第一LVPECL差分摆幅约1.6Vpp远超LVDS接收器正常工作所需的350mV。过大的摆幅虽然不一定损坏接收器但会造成过驱动、边缘过冲、EMI增强甚至把输入级推到非线性区。第二也是最要命的LVPECL是射极跟随器输出端必须有一个到地或者到低电位的直流通道。如果你的LVPECL输出直接接LVDS接收器LVDS输入阻抗极高没有给LVPECL输出管提供任何直流偏置电流通路LVPECL瞬间失去工作点要么输出被拉到一个畸形电位上要么器件工作异常。这就是为什么单纯把两者引脚连起来示波器上根本看不到正确波形的原因之一。第三LVDS接收端通常内部没有完善的共模偏置电路外部又只接一个100欧姆电阻跨接在正负端这个电阻不提供共模电位输入端会悬空漂移。在LVPECL驱动强制注入的情况下信号也许能“强推”进去但抗干扰能力极差温漂一上来就误码。所以LVPECL到LVDS的正确思路是交流耦合阻断直流电位然后在LVDS接收端重新建立1.2V左右的共模偏置同时对差分摆幅做适当的衰减或者依赖接收器输入动态范围。2.2 LVDS到LVPECL驱动能力与摆幅问题反过来的情况LVDS输出接LVPECL接收端问题同样存在只是表现不同。LVPECL接收端同样有共模范围要求典型在VCC-1.3V附近也就是2.0V左右。LVDS共模才1.2V直流耦合连接的话LVPECL输入级根本不可能进入最佳工作区信号阈值判断会出错甚至接收端晶体管一直处于截止或饱和状态。同时LVDS输出是恒流源如果接收端没有约100欧姆的差分负载LVDS的VOD会失去稳定参考。LVPECL接收端一般自带上拉到VCC的内部电阻等效阻抗往往不是100欧姆差分结果LVDS源看到的负载阻抗不对输出摆幅和共模都会偏离数据手册标称值。好在LVDS的350mV差分摆幅本身已经满足LVPECL接收器的灵敏度LVPECL差分阈值一般在100mV到200mV量级所以只要把共模偏置做对信号幅度基本够用。但在条件允许的情况下我更推荐加一级缓冲驱动或者专用转换芯片以保证信号裕量和时序余量。2.3 直流耦合还是交流耦合怎么选这是互连设计里一个绕不开的选择题。我的经验可以浓缩成一句话跨电源域、跨电平域优先交流耦合同电源域、同电平域、信号是低频或低速可以直流耦合。直流耦合的好处是电路简单没有电容充放电带来的码型依赖问题低频分量不会丢失DC电平一目了然。坏处是两边的共模电压必须严格匹配否则静态工作点偏移会直接烧毁前端或导致长时间输出错误。而且LVPECL侧需要额外提供直流偏置通路LVDS侧又需要中心抽头偏置整个直流网络设计复杂。交流耦合的好处是能把你管我、我管你的事彻底切开。两个电源域之间、两个电平域之间只要通过隔直电容把直流电位隔离掉接收端就能独立设置自己需要的共模偏置省去一堆匹配计算。坏处是低频成分会被电容截止不能用于低速数据或长时间恒定电平的场景还得处理上电瞬态和电容充电的反向电压。实战中高速接口数据率普遍在几十Mbps以上交流耦合完全够用甚至比直流耦合更稳。所以后面给的转换方案也以交流耦合为绝对主线。除非你的信号是极低频时钟比如1kHz以下或者明确要求DC耦合否则直接走交流耦合方案能省掉至少一半的偏置设计烦恼。2.4 终端匹配的完整方案与电阻计算终端匹配这个词听着抽象其实就是给信号路径一个正确的“归宿”。差分信号的终端匹配要在接收端跨接一个与传输线差分阻抗相等的电阻通常是100欧姆用来吸收入射波、消除反射。但对于LVPECL和LVDS终端网络还要兼顾共模偏置。先看LVDS标准终端是正负引脚之间直接跨接100欧姆。如果接收器需要更高共模稳定度可以在100欧姆中点对地接一个50到100欧姆的电阻或者用一个旁路电容到地来滤除共模噪声。FPGA的LVDS输入一般支持内部可编程终端电阻但外部独享的100欧姆更稳妥。再看LVPECL它需要50欧姆对地等效偏置让射极跟随器的输出管有稳定的静态电流。最简单的理想终端是直接用50欧姆接到VCC减去2V的电源上。但板子上通常没有VCC-2V这个电源所以工程上几乎都用戴维南等效网络替代一只电阻接到VCC一只电阻接到GND两个电阻的并联值等于50欧姆同时分压点要等于VCC-2V。以LVPECL 3.3V为例设R1接到VCCR2接到GND要求并联后等于50欧姆分压点等于1.3V即VCC减去2.0V这里是不是看起来有点绕我再拆开算。戴维南电压公式是VCC乘以R2除以(R1加R2)我们需要它等于VCC减2V也就是1.3V。代入VCC等于3.3V得到R2除以(R1加R2)约等于0.394所以R2约等于0.65倍R1而并联值R1R2除以(R1加R2)等于50欧姆。解这个二元一次方程最接近的标准阻值就是R1取82欧姆R2取130欧姆。这就是LVPECL电路里最常见的那组82欧姆和130欧姆阻值的来源不是谁拍脑袋定的是戴维南等效算出来的。如果是5V的PECL目标分压点同样是VCC减2V也就是3V算出来R1约等于125欧姆R2约等于83欧姆工程上常用120到130欧姆配68到82欧姆的组合最后调试时以波形为准微调。实际布局时这对戴维南电阻要尽量靠近接收端放置距离越近等效阻抗越连续反射越小。对于差分对的两条线每根线各需要一组到VCC和到GND的偏置电阻但接收端正负输入之间通常还要跨接一个100欧姆差分电阻。在交流耦合的场合LVPECL输出端到耦合电容之间同样要接一组终端电阻给射极跟随器提供直流回路否则LVPECL输出管没有电流路径信号根本立不起来。3. 实战FPGA高速接口互连设计与验证原理讲完上实例。选一个最常见也最有代表性的场景FPGA与LVPECL器件之间的高速接口互连中间涉及LVDS和LVPECL双向转换。这个场景几乎涵盖了前文所有知识点做完它其他类似组合就都能举一反三。3.1 场景定义与方案选型假设系统里有一颗LVPECL输出的高速时钟或数据芯片需要送给Xilinx 7系列FPGA的LVDS输入引脚同时FPGA有一路LVDS信号需要送给下一级LVPECL输入的接收芯片。电源域各自独立3.3V给LVPECL器件FPGA的bank电压为2.5V或1.8VLVDS内部逻辑由FPGA负责。这个场景有几个关键选型点。第一能不买转换芯片就不买先用分立阻容网络解决这样可以减少物料、降低板级面积、也方便调试。第二每一个电平转换段都要明确共模偏置从哪来、终端电阻放在哪、耦合电容选多大。第三PCB布线全部按100欧姆差分阻抗要求走线并保证一对差分线的长度差尽量小。如果你对信号质量要求特别高或者时序裕量严格到极点选专用电平转换芯片更省心。常见选择有TI、安森美、NXP的LVPECL转LVDS缓冲器或者通用差分比较器。但分离元件方案能让你真正理解每一个电阻的作用排查问题也要容易得多。3.2 LVPECL转LVDS的完整电路搭建LVPECL器件输出端先各串一个50欧姆电阻这个电阻的作用是匹配LVPECL输出射极跟随器的低阻抗同时对传输线做源端匹配降低过冲。然后每个输出脚接一组82欧姆到VCC和130欧姆到GND的戴维南网络给输出管提供直流工作点。从戴维南网络引出点继续往前走经过一个0.1微法的交流耦合电容连接到FPGA的差分输入引脚。FPGA这两个引脚之间放置一个100欧姆的差分终端电阻。同时重点来了因为交流耦合之后FPGA的输入共模电位是悬空的你必须在FPGA一侧补一个共模偏置网络。这个共模偏置网络的做法是在正负输入引脚各接一个10千欧姆电阻然后中心点共同接到一个干净的1.2V基准源或者更简单的做法用两个1千欧姆电阻从3.3V和GND分压出1.2V左右作为共模参考。19千欧姆的阻值目的只是提供直流偏置而不干扰差分信号实际可根据噪声情况调整。如果你使用的FPGA的LVDS输入内部没有集成共模偏置电路这组外部偏置是必须的否则交流耦合后输入引脚没有直流电位信号无法正确接收。Xilinx的IBUFDS、LVDS输入缓冲器通常需要外部提供合适的共模范围务必查阅对应bank的HR或HP I/O支持的LVDS输入共模范围不同bank电压下支持的共模范围不完全一致。3.3 LVDS转LVPECL的完整电路搭建反向链路FPGA的LVDS引脚输出经过0.1微法交流耦合电容再进入LVPECL接收端。LVPECL接收端的终端网络就是前面介绍的LVPECL标准终端正负引脚各接一组82欧姆到VCC和130欧姆到GND的戴维南网络正负引脚之间再跨接一个100欧姆差分电阻。这里有一个特别值得注意的细节这个戴维南网络从差分角度看正负引脚之间等效阻抗恰好接近100欧姆正好为FPGA的LVDS恒流源提供了完整的差分电流回路从单端看每个引脚又都有到地或到VCC的直流通道LVPECL射极输入的工作点也稳了。一个网络同时满足两个标准的需求这就是它经典的原因。如果LVDS信号较弱或者距离较长、经过连接器导致到达LVPECL接收端的差分摆幅衰减到接近灵敏度边界建议在FPGA端把LVDS驱动模式调到最大摆幅档位或者改为加一级LVPECL驱动缓冲器确保接收端有足够的电压裕量。3.4 耦合电容、阻抗连续性与测试准备耦合电容的选值直接影响低频截止频率。以0.1微法配等效约100欧姆差分负载为例高通截止频率约等于1除以(2π乘以100欧姆乘以0.1e-6法)算出来约16千赫兹。对于几十Mbps以上的高速信号这不是问题但如果要传极低频同步信号或者长时间恒定电平就得把电容加大到1微法甚至10微法或者干脆改用直流耦合。PCB布线时所有差分对从源头到终端全程保持100欧姆差分阻抗控制。LVPECL输出到戴维南网络的走线要短戴维南网络到耦合电容的走线要短耦合电容到FPGA引脚的走线同样要短。差分对之间保持间距避免共面参考层被跨分割。层叠设计时差分线下方必须有连续的地平面不能有电源层分割线。测试准备方面务必预留差分测试点最好是一对一对的过孔或表贴焊盘间距保持在1毫米左右方便示波器差分探头点测。没有差分探头也可以先用单端探头分别测正端和负端再用示波器的A减B数学功能算出差分波形但要注意共模噪声会同时出现在两个通道里测出的差值可能有偏差最好还是用真正的差分探头。3.5 延伸场景RGB转LVDS / MIPI转LVDS / SoC点屏前面讲的都是芯片间互连实际工程里LVDS还大量出现在显示链路中。相关热词里的RGB转LVDS、MIPI转LVDS、还有RK3566点LVDS本质上是同一个主题的延伸并行显示数据怎么通过LVDS高速串行送到屏幕。RGB转LVDS最常见于老式LCD屏和工业屏。主控输出的RGB888并行信号包括24根数据线和像素时钟经过DS90C385这类转换芯片按7比1压缩成4对LVDS数据线和1对LVDS时钟线传输距离能拉长到几米线缆数量大幅减少EMI也显著降低。如果你用FPGA做这层转换关键是正确配置LVDS输出通道的时序业界一般叫LVDS 7比1编码像素时钟的每一个周期内数据线上依次发送7个串行位接收端再解串还原。MIPI转LVDS常用于没有LVDS控制器但只有MIPI DSI接口的SoC平台比如很多消费级AP。做法是SoC的MIPI DSI输出经转换芯片转成并行RGB或直接转成LVDS。转换芯片的视频格式参数、lane数、时钟频率都需要和LVDS面板的分辨率、刷新率、VESA或JEIDA字节序完全对齐否则点屏会出现花屏、偏色、画面左右偏移等问题。RK3566点LVDS这个方向很多做国产化方案的朋友应该很熟。RK3566本身没有标准的LVDS控制器但它的MIPI DSI端口在芯片内部支持LVDS输出模式通过复用配置可以把D-PHY引脚当作并行LVDS引脚使用。设备树里需要正确配置compatible、数据lane映射、时序参数还要特别注意LVDS格式是VESA还是JEIDA两种映射关系它们在每个通道的比特分配上完全不同配错就是花屏或者颜色通道错乱。这一点跟前面芯片间互连其实是同一件事LVDS电平层面的差分对、100欧姆终端、共模偏置依旧存在只是数据组织多了一层显示协议。4. 常见问题与排查技巧实录理论再清楚焊完板子上电那一刻问题可能还是接踵而至。我把自己实际项目中碰到过的典型问题整理一下按现象分类给出排查路径。这些问题如果不知道特征排查起来很费劲知道规律后基本十分钟内能定位。4.1 信号能通但误码率高眼图睁不开这是高速接口调试最经典的“看起来有信号实际没法用”的问题。眼图睁不开通常有三个原因。第一终端电阻位置不对或者阻值不匹配。很多人把100欧姆终端电阻放在两米外的接收端中间还过了连接器结果反射点恰恰出现在连接器处信号来回弹射。第二差分对等长不够或者间距变化太大导致差分阻抗不连续共模转差模噪声叠加到信号上。第三LVPECL侧戴维南偏置网络的等效阻抗偏移严重让输入共模偏离接收器线性区。排查时先断开负载只测源端确认源端波形本身干净再装回负载测量接收端两引脚之间的差分波形观察过冲、振荡和上升沿。如果眼图边缘有密集的振铃优先检查终端电阻靠近程度如果眼图中间有模糊的共模漂移优先检查偏置网络和地平面。4.2 发热严重板卡局部烫手LVPECL和PECL本身就是耗电大户这是它的本质不是故障。但发热严重到局部烫手往往意味着某个终端网络设计出了问题。最常见的错误是戴维南网络等效阻抗没算对导致一路在VCC和GND之间形成了一个接近直通的低阻通路。比如应该用82欧姆和130欧姆结果手边只有50欧姆和82欧姆插上去直流功耗翻了几倍板子不烫才怪。另一个常见问题是引脚配置错误把LVPECL的N引脚和P引脚对调终端网络看起来正常但实际上每一路都接到了错误的参考点功耗异常还会伴随着信号完全错误。排查发热问题先断电用万用表量每个终端电阻的实际阻值确认没有焊错、贴错再把电源域单独上电测各终端节点的直流电压是否与戴维南计算值一致。如果直流电压正常但温度还是高那就是LVPECL本身功耗偏大需要在系统热设计和功耗预算里提前预留。4.3 FPGA的LVDS输入完全无效或者报错FPGA的LVDS输入收不到信号往往不是线路问题而是I/O标准配置和bank电压的问题。Xilinx和Intel的FPGA对不同I/O bank有不同的电压和电平标准映射表LVDS不是随便哪个bank都能直接用的。第一bank的VCCO必须满足该系列FPGA对LVDS电平的要求是2.5V还是1.8V要看数据手册。第二IBUFDS实例的IOSTANDARD要和你实际的电气标准匹配可以用LVDS、LVDS_25等。第三有的bank支持内部终端电阻有的不支持如果内部终端打开外部电阻又存在就会变成两个100欧姆并联等效50欧姆整个LVDS的负载阻抗完全错误。报错信息里如果出现“not supported on this bank”之类的关键字先查bank电压再查IOSTANDARD。如果板卡上FPGA在正常接收但数据全是FF或者全是00优先查是不是在某个位置多放了一个终端电阻。4.4 常见问题速查表把上述问题和更多细节整理成一张表现场调试时打印出来可以省很多时间。现象可能原因排查手段完全没有波形LVPECL输出没有直流回路检查输出端戴维南网络是否放置、是否焊接有波形但电平不对共模偏置网络失效或悬空测接收端共模电压是否在目标范围波形有振铃过冲终端电阻距离接收端太远用差分探头直接量接收端确认振铃来源眼图睁不开差分不等长、阻抗不连续对照PCB走线用TDR测试或放大观察眼图静态功耗异常高终端电阻焊错、阻值不当断电量电阻上电测各节点直流电压FPGA收不到数据bank电压IO标准配置或内部终端冲突查FPGA手册和综合报告画面花屏显示场景LVDS格式VESA/JEIDA不匹配确认转换芯片和面板的映射配置连接器附近信号差连接器处无终端阻抗突变加终端或减少连接器数量缩短走线4.5 示波器测量与验证要点调试高速差分信号测量方法是决定你能否看到真相的关键。普通单端探头夹一根信号线、表笔夹子在远端一夹那是低频模拟电路的测法放到高速差分信号上测出来全是噪声。用差分探头时两个探针要同时接触正端和负端。不要先碰一根再碰另一根否则共模和差模混在一起波形根本没法判断。如果没有差分探头用两个性能一致的单端探头分别接正负端用示波器的A减B功能做差同时抬高垂直分辨率和采样率。测量位置也有讲究。低速电路中大家习惯在源端测波形高速差分电路中接收端的波形才代表信号到达负载后的真实情况。尤其是检查终端匹配是否到位必须在接收端测量因为反射波在接收端叠加后的形态才反映问题。每次硬件改版后有条件的话做一次TDR阻抗测试确认差分对阻抗在目标范围内。没有TDR时也可以用边沿速率测量法和全带宽示波器间接判断但精度有限如果项目周期允许还是找一次阻抗测试最靠谱。5. 一些实际操作后的经验总结最后聊点不太会写在数据手册里的东西。这些年跟LVPECL、LVDS打交道踩过几次坑之后我现在设计这类接口会先做三件事。第一件事是画原理图前先列一张电平转换检查单把每一段信号的源端结构、接收端结构、共模要求、终端电阻要求都写清楚再对照检查。LVPECL射极跟随器没直流回路、LVDS恒流源没100欧姆差分负载、交流耦合后共模悬空这三大问题是高速接口设计里最常见的三个坑每次评审都有人踩。检查单上这几项放在最前面比任何仿真都有用。第二件事是预留了充足的调试手段。戴维南网络和耦合电容的参数不追求一次定型可以先用标准值板子上预留并行电阻焊盘或0欧电阻位置方便调试时微调。差分测试点也全部做成表贴焊盘正负成对放置间距固定探头放上去就能测。实测中这些小小的预留能为回板调试节省大量时间。第三件事是严重重视共模噪声。高速差分接口的差模信号本身抗干扰能力很强但共模噪声会通过不均衡的电路转换成差模噪声这是眼图恶化和误码的隐形杀手。所以敷地要完整、电源滤波要到位、连接到面板或连接器时要有意识的加共模扼流圈尤其是在转换芯片和被驱动屏端。这三种标准如果都能用转换芯片解决那当然省心但人力、成本和供货周期往往不允许。真正理解了LVPECL、PECL、LVDS的电气本质之后你会发现分离阻容网络的设计一点都不难甚至比很多专用芯片方案更灵活。这套方法论不管你是做FPGA高速接口、时钟分配还是显示互连都能直接迁移过去。
返回列表