1. 烧录基础概念:量产烧录、编程与协议

大家好,我是你们的嵌入式硬件讲师。今天咱们开始《量产烧录校验避坑指南》的第一章。说实话,做了十几年嵌入式,我见过太多因为烧录环节出问题导致整批返工的项目。所以这一章,咱们先把基础打牢。

1.1 什么是量产烧录?

量产烧录,说白了就是给成百上千块芯片写入程序的过程。你想想看,实验室里你拿个J-Link给一块板子下载程序,那叫调试。但产线上一天要烧几千片,那就完全是另一回事了。

我个人习惯把量产烧录定义为:在有限时间内,以高可靠性、高一致性为目标,对批量芯片进行固件写入的过程。它有几个关键特征:

  • 批量性:一次操作覆盖多片芯片,通常使用烧录座或治具
  • 自动化:人工干预越少越好,最好一键启动
  • 可追溯:每片芯片的烧录结果、时间、操作员都要记录
  • 校验闭环:烧完必须验证,不能只写不查

核心观点:量产烧录不是"把程序写进去"就完事了。它是一套完整的流程——包括上料、烧录、校验、标记、下料。任何一个环节出问题,都可能造成批量报废。

我记得有一次去一家代工厂支援,他们用某品牌的脱机烧录器,烧完不校验,结果有3%的芯片程序跑飞。查了三天才发现是烧录器电压不稳,导致部分芯片写入不完整。从那以后,我所有项目都强制要求"烧录+校验"双保险。

1.2 烧录与编程的区别

很多刚入行的工程师会把"烧录"和"编程"混着用。其实它们有本质区别:

对比项 编程(Programming) 烧录(Flashing/Burning)
使用场景 开发调试阶段 生产制造阶段
操作对象 单块或少量板卡 批量芯片或PCBA
工具 仿真器、调试器(如J-Link、ST-Link) 量产烧录器、自动化设备
速度要求 不敏感,可单步调试 越快越好,通常以秒计
校验方式 手动验证或IDE自带校验 自动校验+日志记录
失败处理 重新下载或调试 自动标记不良品,记录错误码

你可能会问:"那用调试器给产线烧录行不行?" 嗯,理论上可以,但实际没人这么干。为什么?因为调试器是为调试设计的,它没有批量管理、校验、日志这些功能。产线上用调试器烧录,就像用手术刀切西瓜——能用,但效率低还容易出事。

我的建议:开发阶段用编程器/调试器,生产阶段必须用专用量产烧录器。别混用,血的教训。

1.3 常见烧录协议简介

量产烧录离不开通信协议。目前主流的有三种:SWD、JTAG、UART。咱们一个一个说。

1.3.1 SWD(Serial Wire Debug)

SWD是ARM公司推出的两线调试协议。它只用两根线:SWDIO(数据线)和SWCLK(时钟线)。相比JTAG,它省了两根线,在PCB布局上更灵活。

  • 优点:引脚少、速度快(可达几十MHz)、支持热插拔
  • 缺点:仅ARM内核芯片支持,非ARM芯片用不了
  • 适用场景:Cortex-M系列MCU量产烧录

我在一个智能家居项目里用过SWD批量烧录STM32F103,单芯片烧录时间控制在3秒以内,包括校验。效率还不错。

1.3.2 JTAG(Joint Test Action Group)

JTAG是IEEE 1149.1标准,最早用于PCB边界扫描测试,后来被广泛用于芯片调试和烧录。它需要5根线:TMS、TCK、TDI、TDO、TRST(可选)。

  • 优点:通用性强,几乎所有MCU/FPGA/CPLD都支持
  • 缺点:引脚多,占用PCB空间大
  • 适用场景:FPGA、复杂SoC、多芯片级联烧录

注意:JTAG的时序要求比SWD严格。产线上如果线缆过长(超过20cm),信号容易失真。我曾经遇到过因为JTAG线缆屏蔽不良,导致产线烧录成功率只有85%的情况。后来换成屏蔽双绞线,问题解决。

1.3.3 UART(Universal Asynchronous Receiver/Transmitter)

UART烧录通常利用芯片内置的Bootloader,通过串口把固件传进去。它只需要TX、RX两根线,外加GND。

  • 优点:硬件简单,几乎所有MCU都有UART
  • 缺点:速度慢(通常115200bps,约11KB/s),需要芯片预置Bootloader
  • 适用场景:小容量固件、无线模块(如ESP8266、蓝牙模块)

嗯,这里要注意:UART烧录没有硬件校验,全靠软件协议保证数据完整性。所以如果产线环境有强电磁干扰,UART烧录的失败率会明显上升。我建议在UART烧录时加上CRC校验,别省这一步。

1.4 三种协议对比一览

协议 引脚数 速度 通用性 产线推荐度
SWD 2 高(~50MHz) 仅ARM ★★★★★
JTAG 4~5 中(~20MHz) 广泛 ★★★★
UART 2 低(~115200bps) 广泛 ★★★

我个人在产线上最常用SWD,因为它速度快、引脚少、可靠性高。但如果遇到非ARM芯片或者需要边界扫描测试,我会切回JTAG。UART嘛,只在小批量或无线模块烧录时用。

1.5 本章知识体系

下面这张图帮你理清本章的核心逻辑:

量产烧录基础概念知识体系 量产烧录基础概念知识体系 量产烧录 定义与特征 编程 vs 烧录 烧录协议 批量性 · 自动化 · 可追溯 · 校验闭环 开发调试 vs 生产制造 SWD · JTAG · UART SWD:2线 · 高速 · ARM专用 JTAG:4~5线 · 通用 · 边界扫描 UART:2线 · 低速 · Bootloader 核心原则:量产烧录 = 批量 + 自动化 + 校验闭环 协议选择取决于芯片类型、速度要求和产线环境