1. 烧录良率问题的排查起点先搞清楚不良到底长什么样烧录良率上不去是产线最头疼的问题之一。它不像功能测试那样有明确的fail log很多时候烧录失败就是一句烧录失败或者校验错误信息量极少。我见过太多产线工程师一上来就换烧录器、换线材、换芯片折腾一圈发现是治具针床某个探针氧化了。所以排查的第一步不是动手而是先把不良现象分类。1.1 把烧录失败拆成可观测的几类现象烧录失败在底层其实可以拆成几个阶段连接阶段、握手阶段、擦除阶段、编程阶段、校验阶段。每个阶段失败的表现和根因完全不同。连接阶段失败通常表现为找不到设备unknown device id握手阶段失败可能是时钟配置不对、复位时序不对擦除和编程阶段失败往往是电压不稳、Flash本身有问题校验失败则可能是数据线干扰、时钟太快、或者芯片供电纹波太大。我一般建议产线先做一个简单的分类统计表连续记录200片的不良按现象归类现象分类典型报错可能环节无法识别芯片unknown device id / no target connected连接、供电、复位识别到但握手失败init failed / sync error时钟、协议配置擦除失败erase timeout / erase error供电、Flash寿命编程失败program error / write fail数据线、电压、干扰校验失败verify fail / checksum mismatch信号完整性、时钟速率偶发失败同一片重试可过接触不良、治具、ESD这张表看起来简单但它能直接把排查范围缩小一半。比如unknown device id和verify fail的排查路径几乎不重叠前者查硬件连接后者查信号质量。1.2 为什么不能只看烧录器的报错信息烧录器给的报错信息是结果不是原因。比如ST-Link报unknown device id可能是SWD线太长、可能是目标板没供电、可能是复位脚被拉死、也可能是芯片进入了某种低功耗模式。烧录器只能告诉你我没读到正确的ID但读不到的原因有十几种。我在实际产线里总结过一个经验烧录器的报错信息只能用来分类不能用来定位。定位必须结合硬件测量。比如拿示波器看SWCLK和SWDIO的波形看复位脚的时序看VDD的纹波。很多工程师嫌麻烦跳过这一步结果就是在软件配置里反复改参数改了一天也没找到根因。1.3 良率数据的采集方式决定了排查效率如果产线还在用烧录失败就丢一边的方式那良率永远上不去。正确的做法是每一片不良都要有记录工位号、烧录器编号、治具编号、时间戳、报错信息、重试次数、重试结果。这些数据进ERP或MES系统之后才能做相关性分析。举个真实的例子某产线连续三天烧录良率从99.2%掉到96.5%查MES数据发现不良集中在2号治具且集中在下午班次。进一步查发现2号治具的探针已经用了8万次超过了厂商建议的5万次寿命下午车间温度升高后探针弹性进一步下降接触电阻变大导致校验失败。换探针后良率立刻恢复。如果没有MES数据这个排查可能要花一周。提示良率排查的第一原则是数据先行。没有数据的排查就是盲猜盲猜的成本远高于花半天时间把数据采集链路搭起来。2. 硬件链路排查从烧录器到芯片引脚之间的每一个接触点硬件链路是烧录良率问题的高发区而且是最容易被忽视的。因为硬件问题往往表现为偶发工程师容易归因于芯片批次问题或者烧录器不稳定。实际上从烧录器输出到芯片引脚中间经过线材、治具、探针、PCB焊盘、走线每一个环节都可能出问题。2.1 烧录器与线材最容易被低估的环节烧录线材的影响比大多数人想象的大。SWD协议在高速模式下SWCLK频率可以到4MHz甚至更高这时候线材的分布电容和阻抗不匹配就会导致信号畸变。我实测过同样一根20cm的杜邦线在1MHz下烧录良率99.8%拉到4MHz就掉到95%左右。换成带屏蔽的排线之后4MHz下恢复到99.5%以上。线材排查的几个要点长度SWD线建议不超过15cm超过之后信号质量下降明显。如果治具到烧录器的距离必须很长考虑用差分方案或者降低时钟频率。屏蔽产线环境有电机、变频器、继电器电磁干扰很强。不带屏蔽的排线等于天线会把干扰耦合进SWCLK和SWDIO。接触电阻线材插头反复插拔之后弹片会松动。我见过一个案例烧录器端的排线插座弹片变形接触电阻从0.1欧姆变成5欧姆导致烧录时电压跌落校验随机失败。共地烧录器和目标板必须可靠共地。如果地线接触不良信号参考电平漂移通信必然不稳定。2.2 治具与探针产线良率的隐形杀手治具是产线烧录的核心工装也是问题最集中的地方。探针的寿命、压力、氧化、对准精度每一个都会影响良率。探针的常见问题和对策问题表现对策探针氧化接触电阻增大校验偶发失败定期清洁用无水酒精或专用清洁剂探针磨损针尖变平接触面积增大但压力不足按寿命更换通常5-10万次弹簧疲劳压力下降接触不稳定定期测压力低于规格就换对准偏移探针没打到焊盘中心打到阻焊层定期检查治具定位销和PCB定位孔异物污染助焊剂残留、灰尘每班次清洁治具我特别想强调探针压力这件事。很多产线只关注探针能不能碰到不关注压力够不够。实际上探针需要足够的压力才能刺穿焊盘表面的氧化层形成可靠的金属接触。压力不足时接触电阻可能从几十毫欧变成几欧姆烧录时电流一大就跌落表现就是偶发校验失败。2.3 目标板供电纹波和跌落是校验失败的元凶烧录过程中芯片的Flash编程需要稳定的电压。如果供电纹波大或者编程瞬间电流增大导致电压跌落就会写入错误数据校验时发现不一致。排查供电问题的方法用示波器交流耦合看VDD纹波正常应该在50mV以内。用示波器直流耦合看编程瞬间的电压跌落跌落不应超过5%。检查去耦电容是否靠近芯片引脚容值是否足够。通常建议0.1uF加10uF组合。如果目标板由治具供电检查治具电源的负载调整率和瞬态响应。我遇到过一个典型案例某产品烧录良率只有92%查了两周没找到原因。后来用示波器看VDD发现编程瞬间电压从3.3V跌到2.9V芯片进入欠压状态导致写入失败。根因是治具电源用了劣质的LDO瞬态响应差。换成开关电源加LC滤波后良率直接到99.6%。2.4 复位和启动模式引脚时序不对什么都白搭很多芯片烧录时需要特定的复位时序和启动模式。比如STM32需要BOOT0拉低、复位释放后再发命令ESP32需要GPIO0在复位时拉低进入下载模式。如果这些引脚的时序不对烧录器根本连不上芯片。产线常见的问题复位脚被外部电路拉死烧录器无法控制复位。BOOT引脚被其他电路占用无法在烧录时拉到正确电平。复位电容太大复位释放太慢烧录器已经发命令了芯片还没启动。多个芯片共享复位线一个芯片异常拉低复位导致整条线都烧不了。注意复位和启动模式引脚的时序问题往往表现为同一批板子有的能烧有的不能烧因为电容和芯片的个体差异会导致时序临界。这种问题最难查必须用示波器同时抓复位脚和通信脚。3. 烧录参数与固件配置那些看起来没问题的设置硬件链路没问题之后下一个排查方向是烧录参数和固件配置。这部分的问题特点是看起来都对但就是不行因为很多参数之间有耦合关系单独看每个都合理组合起来就出问题。3.1 时钟频率不是越快越好烧录时钟频率直接影响烧录速度和稳定性。频率越高烧录越快但信号完整性余量越小。产线为了追求产能往往把频率拉到最高结果良率下降。我的建议是做一个频率与良率的对照实验时钟频率烧录时间良率备注500kHz12s99.9%太慢产能不够1MHz8s99.8%平衡点2MHz5s99.3%开始出现偶发失败4MHz3.5s96%线材和治具要求极高找到那个良率开始明显下降的临界点然后往下降一档使用。这样既保证产能又留出足够的余量应对线材老化、探针磨损、温度变化。3.2 擦除策略全片擦除还是扇区擦除全片擦除和扇区擦除的选择会影响烧录时间和Flash寿命。全片擦除快但会擦掉所有数据扇区擦除慢但只擦需要写的区域。如果产线做的是首次烧录全片擦除没问题如果是返修或者二次烧录要注意保留校准数据区。另外擦除次数多了之后Flash的擦除时间会变长甚至出现擦除失败。如果某片板子反复烧录多次擦除失败的概率会上升。这时候要考虑换芯片或者标记报废。3.3 校验方式全校验还是抽样校验校验是保证烧录质量的关键步骤但全校验会拖慢产能。有些产线为了提速改成抽样校验或者只校验部分区域结果不良品流到后段才被发现返工成本更高。我的经验是首次量产必须全校验稳定之后可以评估抽样校验但抽样比例不能低于10%且要覆盖所有关键区域。如果烧录的是安全相关固件必须100%全校验没有商量余地。3.4 固件文件本身的问题固件文件的问题往往被忽视。比如固件文件损坏校验和不对。固件版本搞错烧了旧版本。固件里包含了不该有的调试信息或者密钥。固件大小超过了Flash容量烧录到一半失败。固件地址配置错误烧到了错误的区域。这些问题在烧录器端往往表现为校验失败或者地址越界但根因在固件文件。建议产线在烧录前加一步固件文件的校验和检查确保文件完整且版本正确。4. 环境与操作因素温度、静电、人为失误硬件和参数都排查完之后如果良率还是上不去就要看环境和操作因素了。这部分的问题最隐蔽因为它不是持续性的而是跟时间、人员、季节相关。4.1 温度对烧录良率的影响温度会影响探针的弹性、线材的阻抗、芯片的电气特性。夏天车间温度高的时候探针弹簧变软接触压力下降线材变软位置偏移芯片内部时钟漂移通信余量减小。这些因素叠加起来良率就会下降。我见过一个产线冬天良率99.5%夏天掉到97%。查了一圈发现是治具的探针在高温下压力不足。后来换了耐高温的探针并在治具上加了一个小风扇降温问题解决。4.2 静电防护看不见的杀手ESD对烧录良率的影响是隐性的。静电可能不会立刻打坏芯片但会在芯片内部造成潜在损伤表现为烧录时偶发失败或者烧录成功但功能测试不过。产线的ESD防护要点工位必须有防静电手环且每天检测有效性。治具和烧录器必须可靠接地。芯片周转必须用防静电容器。车间湿度控制在40%-60%太干容易起静电。操作人员必须穿防静电工服和鞋。4.3 操作规范人为失误占比不低产线操作人员的动作规范程度直接影响良率。比如放板时没放到位探针没对准。拿板时手碰到金手指污染或静电损伤。烧录过程中移动板子导致接触中断。烧录失败后不记录直接重试掩盖了真实不良率。我建议产线做一份简单的操作SOP配上图示新员工上岗前必须考核。同时烧录工位加一个放板到位的检测开关没到位就不启动烧录从源头减少人为失误。5. 系统级排查ERP/MES数据怎么用起来前面讲的都是单点排查但真正要把良率从97%提到99.5%以上必须用系统化的方法。ERP和MES系统里的数据是金矿关键是怎么挖。5.1 建立良率的多维度分析模型不要只看一个总良率数字要按维度拆解按烧录器编号看是不是某台烧录器有问题。按治具编号看是不是某个治具需要维护。按班次看是不是某个班次操作有问题。按时间看是不是某个时间段环境有问题。按芯片批次看是不是某批芯片有问题。按固件版本看是不是某个版本有问题。把这些维度交叉分析往往能快速定位根因。比如2号治具下午班次的不良率明显偏高那就重点查2号治具在下午的状态。5.2 设置良率预警线MES系统应该设置良率预警线。比如连续50片不良超过3片就自动报警通知工程师介入。不要等到一批几千片做完才发现良率不对那时候返工成本已经很高了。预警线怎么设我的经验是试产阶段良率低于98%报警。量产稳定阶段良率低于99%报警。高可靠性产品良率低于99.5%报警。预警之后要有响应流程不能报警了没人管。5.3 烧录记录的可追溯性每一片板子的烧录记录都要可追溯烧录时间、烧录器、治具、固件版本、校验结果、操作员。这样当后段发现不良时可以反查烧录记录看是不是烧录环节的问题。有些产品要求更严比如汽车电子烧录记录要保存15年以上。这时候MES系统的数据存储和备份策略就很重要。6. 几个真实案例的排查链路复盘理论讲完了分享几个我亲自处理过的案例看看排查链路是怎么走的。6.1 案例一ST-Link报unknown device id换了三个烧录器都没用某产线用ST-Link烧录STM32突然出现大量unknown device id。工程师换了三个ST-Link换了线材问题依旧。排查链路用示波器看SWCLK和SWDIO发现SWCLK有波形但SWDIO一直是高电平没有响应。查目标板供电3.3V正常。查复位脚发现复位脚一直被拉低。正常应该是烧录器控制复位但这里复位脚被外部电路拉死了。追电路图发现复位脚上接了一个电压监控芯片该芯片在电压低于3.0V时输出复位信号。实测电压3.3V正常但监控芯片的阈值漂移了误触发复位。更换电压监控芯片后问题解决。这个案例的教训是烧录器报错指向通信失败但根因可能在复位电路。排查时不能只看通信线要查所有影响芯片状态的引脚。6.2 案例二校验失败率2%查了两周发现是探针问题某产线烧录良率98%不良全是校验失败。工程师查了烧录器、线材、固件、参数都没问题。排查链路统计不良分布发现集中在3号治具。检查3号治具探针外观正常压力测试发现压力只有规格值的60%。拆开探针发现弹簧已经疲劳换了新探针后良率恢复到99.7%。进一步查探针寿命记录发现3号治具的探针已经用了12万次远超5万次的建议寿命。这个案例的教训是探针是消耗品必须按寿命更换不能等到坏了才换。而且探针压力要定期测不能只看外观。6.3 案例三夏天良率下降根因是车间温度某产线冬天良率99.5%夏天降到97%。查了硬件、参数、固件都没问题。排查链路记录车间温度发现下午温度到35度时良率明显下降。用热成像仪看治具发现探针区域温度更高。测探针压力发现高温下压力下降20%。换耐高温探针并在治具上加散热风扇良率恢复。这个案例的教训是环境因素对良率的影响是季节性的容易被忽视。产线要记录环境温度湿度和良率数据做相关性分析。7. 把良率排查变成日常机制而不是救火最后聊一下怎么把良率排查变成日常机制。很多产线是良率掉了才查查完恢复就不管了下次同样的问题再犯。正确的做法是建立日常维护和监控机制。7.1 烧录工位的日常点检表每天开班前花10分钟做点检烧录器自检是否通过。线材插头是否松动有无氧化。治具探针是否清洁压力是否正常。目标板供电电压是否正常。防静电手环是否有效。烧录一片标准板确认良率正常。这张点检表看起来简单但能拦住80%的突发问题。7.2 定期维护计划探针按寿命更换通常5-10万次。线材每3个月检查一次有氧化或变形就换。治具每季度做一次全面校准。烧录器每年返厂校准一次。电源每半年测一次纹波和负载调整率。7.3 良率数据的持续监控MES系统要能实时显示良率曲线工程师每天上班第一件事就是看昨天的良率数据。发现异常趋势立刻介入不要等到良率掉到底才动手。我在实际产线里体会最深的一点是烧录良率问题90%以上都能在硬件链路和治具上找到根因。软件参数和固件问题占比不到10%。所以排查顺序应该是先硬件后软件先治具后烧录器先测量后猜测。很多工程师习惯先在软件里改参数改了半天没效果最后还是回到硬件排查。与其这样不如一开始就拿示波器和万用表把硬件链路查一遍。另外分享一个小技巧产线常备一片黄金板就是确认能正常烧录的板子。当良率异常时先用黄金板测如果黄金板也烧不过说明是烧录器、线材或治具的问题如果黄金板能过说明是产品板的问题。这一步能快速把问题范围缩小一半。
