1. CPO开始从"概念"走向"量产",配套的AFE也跟着变了
光模块圈子这几年最热的方向,不用我说大家也清楚——CPO,Co-Packaged Optics,共封装光学。以往光模块是插在交换机面板上的可插拔形态,交换机主芯片和光引擎之间隔着PCB走线、连接器、Retimer,信号损耗和功耗都压不住。CPO的思路很直接:把光引擎直接封装到交换芯片旁边,甚至和交换芯片做在同一个基板上,把电信号互联距离从十几厘米缩短到几毫米,功耗和延迟都能显著降下来。
这个方向听起来很美好,但真做起来,工程上要解决的问题比想象的杂。光引擎里有一堆硅光器件需要精确控制,比如微环调制器靠热光效应来调谐,激光器阵列需要恒温控制,MZ调制器的偏置点也要稳定在特定工作点上。这些控制通道在传统的可插拔光模块里是分散在PCB上的,方案相对成熟;可一旦挪进CPO封装内部,空间、功耗、走线都变得极其紧张,原来的分立方案就不好使了。
这就引出了今天想聊的器件——思瑞浦的TPAFEA006。这是一颗面向CPO系统的高集成度AFE(Analog Front End,模拟前端),标题里给了两个最醒目的参数:32路Heater Bias加热器偏置通道,再加上128路系统监控通道。我拿到消息后翻了不少资料,自己也在脑子里过了一遍这颗芯片在CPO系统里到底是怎么用的,今天把这颗芯片的架构、设计思路和工程落地时要注意的细节一起捋一遍。
这颗芯片适不适合你,其实取决于一件事:你手上做的CPO系统或者光模块系统,是不是已经开始遇到"监控点太多、分立的驱动和采集电路塞不下"的问题。如果你的系统还停留在单通道或几通道的量级,用分立方案完全没问题;但如果光引擎里的加热器、调制器偏置、电源轨监控、温度传感器全都压在一块小基板上,那TPAFEA006这种集成度的AFE几乎是绕不开的选择。
2. 先搞清楚CPO系统里,AFE到底站在哪一层
2.1 CPO架构改了什么,为什么监控通道需求暴涨
CPO封装里最核心的变化,是把交换芯片(对应的光引擎)之间的距离压缩到极致。这个封装内部通常有几颗光引擎(Optical Engine),每个光引擎里又有多路光通道,每路光通道都对应着激光器、调制器、探测器、TIA等器件。以51.2Tbps的交换容量为例,如果采用CPO方案,单颗交换芯片可能需要搭配8到16颗光引擎,每个光引擎8通道或16通道,这样光通道总数一下冲到上百路甚至两百路以上。
这里有个容易忽略的细节:光通道数量一多,需要控制的模拟量就跟着线性增长。每一路硅光调制器可能需要两到四路加热器控制(比如MZM的两个臂各有独立的加热器微调),每一路激光器需要配套的TEC或者加热器来稳定波长,更不用说每个电源域需要监测电压电流、每个光引擎需要监测温度。把这些需求都列出来,几十路Heater驱动加一百多路监测通道的需求就是这么来的。
传统的处理方式是什么样的?一颗DAC芯片管几路输出电压,一颗ADC芯片管几路采样,再用模拟开关做通道扩展,电路板上一片一片堆过去。在可插拔模块那个尺寸下还能玩得转,但到了CPO封装里,基板面积是按平方毫米算钱的,功耗是按瓦特算的,分立方案的劣势非常明显:占面积大、每路都要单独校准、故障率也随着器件数量增加而上升。所以AFE这种把DAC阵列、ADC阵列、多路复用、温度传感器、基准源都集成进去的方案,是CPO走向量产的必要条件。
2.2 系统层级图里,TPAFEA006的物理位置
在CPO系统设计中,TPAFEA006这类AFE通常挂在主控MCU或者管理控制器下面,通过SPI/I2C接口和主控通信。它的一端连接着光引擎里的各路加热器、偏置点、电源轨、温度传感器,另一端用一根串行总线把数据汇报给上层。
这个位置决定了它的两个特性:一是通道数量一定要多,因为光引擎里的模拟节点动不动上百个;二是每通道的精度必须够,加热器偏置稍微偏一点,光模块的眼图就会劣化,后果直接反映到链路的误码率上。
我还想强调一点,这里的AFE和音视频领域的AFE完全不是一个东西,做通信的同行应该不会有歧义,但为避免新入行的朋友搜资料时混淆,我多提一句。本文说的AFE,指的是面向系统模拟信号链路的集成前端,比如偏置生成、电压电流监控、温度采集这些功能。
3. 拆解TPAFEA006:32路Heater Bias、128路监控,每一路都不是凑数的
3.1 32路Heater Bias:给硅光器件"校温度"用的精密电压源
先聊聊这32路Heater Bias。在硅光技术里,微环调制器和MZM调制器都依赖热光效应来调整折射率,从而实现波长选择或者相位调制。硅材料的热光系数不算大,折射率随温度变化的比例是10^-4/K这个量级,所以要实现足够大的相位调节范围,通常需要把局部温度抬高几十度。
实际应用中有两种加热方式。一种是恒流源驱动加热器,另一种是恒压源驱动加热器。TPAFEA006的Heater Bias具体是压控还是流控,详细规格书里会有明确定义,但按照这类AFE的主流设计思路,通常会给一个高分辨率的DAC输出,再配一个片上功放做功率驱动。分辨率一般要做到12位以上,输出范围要覆盖常见加热器的工作区间,比如0到3V或者0到5V可编程。
为什么需要专门的DAC去做这个事,而不是随便用一颗普通的DAC?因为微环调制器的工作点非常窄,偏置电压的微小漂移就会改变谐振波长,进而影响信道的插损和串扰。系统级的要求通常是:Heater Bias的纹波和温漂要控制在毫伏级别,同时每路之间的串扰要足够低。如果32路之间相互影响,调第8路的时候第9路的输出电压跟着轻微波动,在两个相邻光波长上就会表现为通道间串扰恶化。
TPAFEA006把32路集成在一颗芯片里,要解决的核心矛盾就是"通道密度"和"隔离度"之间的矛盾。密集走线的晶圆内,模拟开关和输出缓冲之间的耦合电容很难完全消除,所以这类芯片通常会在关键的信号路径上做屏蔽和版图隔离,并在每个输出通道的驱动能力上做折中。实测中要注意的是,满载时所有通道同时输出大电流,芯片的功耗和温升会比较可观,后面我会专门讲这个散热问题。
3.2 128路系统监控:不光是"测个电压"那么简单
128路系统监控通道,听起来就是一大堆信号采集通道,但其中的门道不少。所谓系统监控,通常包括以下几类信号:各路电源轨的电压和电流、关键器件的温度(通过外部NTC或者片上温度传感器)、各通道的输出回检、以及外部传感器信号。
在CPO系统里,这128路监控通道的实际分配可以按系统需求灵活配置。比如,交换芯片需要监控十几路电源轨的电压电流,光引擎需要监控每个激光器的偏置电流,还要监控每个光引擎的基板温度,这些加起来,通道数很容易超过100路。
TPAFEA006的监控部分,大概率是一个多路复用器加一个高精度ADC的架构。MUX先把128路信号分时选通,送给ADC做转换。这种架构的好处是芯片面积和功耗都能压下来,缺点是扫描一遍所有通道需要一定时间。对于电源监控这类慢变信号,扫描时间在几毫秒甚至几十毫秒都可以接受;但对于突发性的过压或者过流事件,纯靠轮询式监控可能来不及响应。
所以这类AFE通常还配上了一些"外围辅助电路"来兜底,比如窗口比较器。每个通道可以设置上下阈值,一旦电压越限立即拉高一个报警引脚,不用等主控轮询到该通道。这个功能在CPO系统里很重要,因为几十路电源轨只要有任何一个异常,就可能导致整个光链路抖动甚至光口闪断,早1毫秒报警和晚1毫秒报警,运维体验完全不同。
3.3 集成度带来的隐性收益:校准一致性和供应链简洁性
选择高集成度AFE,表面上是省了PCB面积,实际上还有一个很容易被忽略的收益——校准一致性。
分立方案中,每一颗DAC、每一颗ADC都有独立的基准源、独立的校准系数。同一批板上,不同通道之间可能存在数个毫伏的偏差,需要产线逐一校准并写入校准系数,费时费力。而在TPAFEA006这类芯片中,所有DAC和ADC共享同一个片内基准源,通道之间的失配主要取决于版图匹配,可以通过片上校准机制一次性校准全芯片。
这意味着生产测试环节可以大幅简化。原来需要逐通道校准的生产工序,现在只需要校准一颗芯片,所有通道跟着就准了。对于光模块这样毛利率被压得很薄的行业,这种隐性的生产成本降低,有时候比芯片本身的账面价格更有吸引力。
供应链角度也有讲究。CPO系统的硬件团队,最怕的是BOM里几十颗模拟芯片分别来自五六家供应商,每家的封装、footprint、软件驱动、供货周期都不一样。一颗TPAFEA006把DAC、ADC、基准、温度采集这些全包进去,BOM大幅瘦身,采购和库存管理也省心不少。
4. 用TPAFEA006做系统设计,这几个环节要格外上心
4.1 电源分配和去耦:别让32路Heater Bias毁在你的电源上
这类AFE通常需要多组电源供电。数字逻辑部分用1.8V或者3.3V,模拟内核部分可能需要独立的5V或者3.3V,Heater驱动的功率级往往还要单独的电源轨。为什么这么讲究?因为Heater Bias的输出精度直接取决于电源的稳定度。电源上有几百毫伏的纹波,输出端就可能有几十毫伏的纹波,这个量级的波动对微环调制器来说已经足够让谐振点漂移了。
我的建议是把数字电源和模拟电源分开走线,在靠近每个电源引脚的地方放足够容量的去耦电容。特别强调一点,Heater驱动的功率电源要单独走线,不要和模拟基准的电源共用一段PCB走线。大电流在走线上产生的压降噪声,会通过电源内阻耦合到敏感通道。实际调试中我见过不少"芯片没问题、板子走线有问题"的案例,排查到最后都是电源布局的锅。
如果需要从现有的电源域取电,建议加一级LDO给AFE的模拟部分单独供电。LDO的输出纹波比DCDC干净得多,代价是少量功耗,但换来的是稳定的偏置输出,这笔账怎么算都划算。
4.2 SPI/I2C接口:通信失败是调试期最常见的坑
TPAFEA006这种高通道数的AFE,寄存器配置量通常不小。32路Heater输出电压、128路监控通道的量程配置、报警阈值、扫描顺序,这些都要通过串行接口下发。SPI还是I2C取决于芯片设计,但不管哪种,调试初期通信不稳是通病。
经验上有几点:一是时钟频率不要一上来就拉满,先按芯片手册的保守值跑通,再慢慢往上调;二是片选信号和时钟信号的时序长度要测量确认,很多FPGA或者MCU的GPIO模拟SPI存在时序余量不足的问题;三是如果系统里同时挂了多颗AFE,地址配置引脚务必确认好,否则两片芯片同时应答,总线直接乱掉。
寄存器读写验证方面,我的习惯是先写一个已知值到某个只读寄存器,看读回的是不是默认值,确认SPI读写通路没问题再做后续配置。配置完所有寄存器后,再读一遍关键寄存器做回读校验,防止偶发的写失败导致系统在异常状态下运行。
4.3 散热设计:和"自热漂移"做斗争
前面提到高通道数满载时芯片功耗不小。设想一下,32路加热器通道同时驱动几十毫安的电流,加上内部基准、ADC、逻辑电路的工作电流,芯片总功耗很容易到数百毫瓦甚至更高。这会产生一个工程上很讨厌的问题:芯片自热导致温度升高,温度系数再差一点的基准源会跟着漂移,最终表现为Heater Bias输出电压随工作时间缓慢变化。
针对这个问题的落地经验有几条。第一,PCB上给芯片做好散热铜皮,芯片底部如果有散热焊盘,一定要开到足够大的过孔阵列,连接到内层或底层的大面积铜皮。第二,做系统校准的时候,要先让芯片跑一段时间(至少几分钟)达到热平衡后再校准,否则校准时芯片温度和后期的稳定工作温度不一致,校准值就没意义。第三,如果系统对Heater输出的绝对精度要求很高,可以考虑加入温度补偿算法,用芯片内部的温度传感器读数对输出值做软件修正。
温度补偿怎么做?简单说,就是在实验室测出不同温度下通道输出的漂移曲线,拟合出一个补偿系数表,然后在运行过程中根据实时温度查表调整DAC值。这个方法在光模块系统里已经很成熟了,但前提是你用的AFE片内带了温度传感器,TPAFEA006这一类高集成AFE一般不会省掉这个功能。
5. 上电时序、通道分配和校准,产品化之前先想清楚
5.1 多路电源的上电时序
对于同时提供模拟电源和数字电源的AFE,上电时序需要关注。有些芯片要求数字电源先于模拟电源上电,有些则相反,这个必须查数据手册并严格遵守。上电顺序错了,轻则寄存器状态不确定,重则芯片闩锁损坏。
实际应用中,MCU通常在系统上电后需要第一时间配置AFE,避免AFE在上电到配置完成之间的窗口期内,输出端口处于不确定状态。Heater Bias输出端口如果在上电期间出现意外的高电平,可能瞬间灌入过大的电流到光引擎加热器,这个风险在光模块系统里是不可接受的。
两种常见的处理方式:一种是在AFE输出端串联一个负载开关或者用MOS管做输出使能,只有当主控完成配置后,才真正把输出接到光引擎;另一种是利用AFE芯片自带的输出使能引脚,上电默认输出为高阻态,配置完成后拉高使能引脚,再启动正常输出。我比较推荐后者,因为它省掉了外部器件,也让故障排查链路更简单。
5.2 Heater通道分配:先画映射表,再写代码
128路监控通道加32路驱动通道,通道一多,管理就成了一个问题。如果直接在代码里用数字索引去控制通道,过两周自己都记不清第47路接的是哪个传感器。我的建议是,在项目一开始就用Excel或者Google Sheets做一张完整的通道映射表,把芯片物理通道号、PCB网络名、连接的器件、信号类型、量程配置全部列清楚。
这张表有几个直接用途:第一,配置代码可以基于这张表自动生成,减少手工写寄存器的失误;第二,硬件调试时,排查某路信号异常可以直接按图索骥;第三,后续版本升级时,通道调整的影响范围一目了然。我自己编过很多次寄存器配置代码,踩过的坑大多不在代码本身,而在"物理连接和寄存器配置对不上"这种低级错误上。
5.3 量产校准:效率和精度的平衡
前面提过,高集成AFE的校准比分立方案简单很多,但不代表完全不用校准。量产时通常要做的是片内基准校准、温度传感器校准和关键通道的端到端校准。端到端校准是把AFE输出端到光引擎加热器两端的完整通路都测一遍,把导线电阻带来的压降也考虑进去。这一步不能省,尤其是加热器远端走线较长时,PCB走线的电阻率差异会导致不同单板之间实际施加在加热器上的电压有差异。
量产校准在CPO系统里还有个特殊挑战:光引擎通常是和交换芯片封装在一起的,整机测试时才能进行光性能测试。如果等到整机阶段才发现某个通道的输出偏了,返工成本非常高。所以更合理的做法是在板级测试阶段就完成AFE全通道的电气参数校准,到整机阶段只做光链路的调优和验证。
6. 调试中的常见问题和排查思路
我在实际的AFE use case里积累了一份问题排查清单,虽然不能保证覆盖TPAFEA006的所有坑,但对于这类高集成AFE基本通用,整理出来供参考。
| 问题现象 | 可能原因 | 排查顺序 |
|---|---|---|
| 某一路Heater输出无电压 | 寄存器配置未下发或通道被禁用 | 先读寄存器确认配置,再量输出电容两端电压 |
| 所有Heater输出整体偏高/偏低 | 基准源配置异常,或者供电偏高/偏低 | 先量模拟电源,再检查基准寄存器配置 |
| 监控通道读数恒为0 | MUX配置错误,或外部传感器信号没有接入 | 检查通道选择寄存器和PCB连接 |
| 监控通道读数毛刺大 | 采样时序不匹配,或外部信号源阻抗过高 | 加大采样保持时间,检查前端RC滤波 |
| SPI通信偶尔失败 | 时钟频率过高、走线过长、电平不匹配 | 降频、加长片选低电平时间、检查电平转换 |
| 工作一段时间后Heater输出漂移 | 芯片自热或基准温漂 | 改善散热,做温度补偿 |
| 某个通道输出明显异于其他通道 | 该通道负载异常,或对应输出级损坏 | 断开负载测试空载输出电压,判断是芯片还是负载问题 |
排查这类问题,我有个根深蒂固的习惯:先确认寄存器配置无误,再怀疑电路。因为AFE这种芯片,90%的"故障"其实是软件配置问题,真正芯片损坏或者PCB连错的情形反而少。调试时用好SPI回读功能,把关键的寄存器状态打印出来,比对数据手册的预期值,能省下大量时间。
还有一个小技巧值得分享:在调试早期,不要一次性开启所有通道。先开一两路,确认输出幅度、极性、精度都正确,再逐步增加通道数量。这种"先单路后多路"的排查方式,能非常有效地定位问题是出在芯片本身,还是出在多通道协同时的交叉干扰。
7. 选型时,别只盯着通道数
最后聊两句横向选型的话题。很多硬件工程师看AFE芯片,第一眼看通道数,第二眼看分辨率,第三眼看价格,这三个指标确实重要,但针对CPO这类特殊场景,我认为还要多看几个维度。
第一个是通道密度和封装的匹配度。同样是128路监控和32路驱动,做成15mm乘15mm的QFP和做成8mm乘8mm的BGA,在CPO基板上的可用性差别巨大。CPO封装内部的可用面积寸土寸金,封装尺寸大一点,布线就会非常痛苦。
第二个是软件生态和参考设计。高集成AFE如果只给一颗裸芯片,没有配置库、没有参考驱动、没有应用笔记,开发周期会显著拉长。思瑞浦在模拟芯片领域积累了不少参考设计经验,类似TPAFEA006这样的新品一般会配评估板和驱动代码,做方案预研时务必把这块评估进去。
第三个是供应链和长期供货能力。CPO系统从设计到量产往往跨越好几年,AFE这类关键器件如果中途换供应商,整个系统的校准数据和监控策略都要重新验证,代价极大。国产模拟芯片厂商在供应链安全上的优势,这几年大家应该都有切身体会。
TPAFEA006这颗芯片,从参数上看抓的点非常准——32路Heater Bias正好对应CPO光引擎中"大量微环调制器需要热调谐"的现实需求,128路监控也覆盖了系统电源和温度巡检的主要场景。它不是一颗猎奇性质的炫技芯片,而是扎扎实实为CPO量产服务的配套芯片。
就我个人的体验来说,CPO系统的硬件设计和传统可插拔光模块最大的区别,就是"所有事都得在更小的空间和更严的功耗预算内完成"。TPAFEA006这种单片高集成AFE,恰好是这套约束条件下最务实的答案。如果你正在做CPO相关的系统设计,或者正在为光引擎的加热控制和监控通道犯愁,这颗芯片值得列入你的选型清单。
最后分享一个实操中的体会:拿到任何新AFE芯片,第一件事不是画板子,而是先搭一个最小评估系统,用它的寄存器配置界面把每个通道手动点一遍,确认硬件的通道映射和软件一致。这一步走顺了,后面整个设计都会顺利很多。