- tags
- [IoT, 量产, 嵌入式, 治具, ICT, FCT, PCBA, BK7258]
- created
- 2026-05-11
- updated
- 2026-05-11
- sources
- [raw/snippets/bk7258-build/mass-production-knowledge-2026-05-11.md, raw/snippets/bk7258-build/mass-production-actual-implementation-2026-05-11.md]
定义¶
IoT 设备从 PCB 到成品的产线由两个工位串成,每个工位配一台治具(jig / fixture)。治具是一块底板 + pogo pin + 气动压板 + PC 连线,把"裸板 / 整机"临时变成可调试可灌入的设备。三元组烧录、固件刷写、电气测试、配网测试、老化测试这些"开机前的事"都在这两个工位上完成。这是后台工程师转 IoT 时最容易看不见的物理工程层——后台 CI/CD 类比里的 build / unit test / integration test 在这里有实物对应物。
为什么后台背景的工程师需要专门一页讲这事¶
iot-platform-fundamentals 已经把"后台 vs IoT"概念对照讲清楚了,但那一层都还在云端 / 设备端的代码视角。本页补产线物理视角——治具长什么样、PCBA 阶段和整机阶段能接到什么物理接口、哪些事必须在哪个工位做、为什么不能等到整机阶段再做。这一层不补,三元组烧录方案设计会从一开始就走偏(譬如设计成"装完外壳后用 USB 灌"——但那时 UART 已经接不到了)。
两个工位的物理形态对照¶
| 工位 | 别名 | 待测形态 | 治具能接到 | 适合做什么 |
|---|---|---|---|---|
| PCBA 治具阶段 | ICT/FCT 治具、首测 | 裸板(焊好元器件,没装外壳/喇叭/电池) | UART、SWD、SPI Flash、所有 GPIO 测试点 | 烧 bootloader、烧固件、烧三元组、电气测试 |
| 整机测试阶段 | 总检、终测 | 已装好外壳的玩具 | USB 充电口、外露按钮、喇叭/麦克风、WiFi/BLE | 配网测试、功能测试、贴标签、老化 |
治具物理形态¶
┌────────────────────┐
│ 气动压板(脚踏触发)│ ← 一踩压下,把 PCB 压到 pogo pin 上
└────────────────────┘
↓
待测 PCB
↓
┌────────────────────┐
│ 底板 + 定位柱 │ ← 定位柱保证 PCB 摆放位置精准
│ + Pogo pin(弹簧探针)│ ← 弹出戳到 PCB 测试焊盘(test point)
└────────────────────┘
↓
PC(USB / 网线) ← 跑烧录工具 + 测试程序
→ 相当于一个临时 USB 调试座,不用焊任何线就能连上 PCB 的 UART/SWD/电源。每片板放上去 → 踩脚踏 → PC 自动跑测试程序 → 蜂鸣器 OK/NG → 取下放下一片,30 秒一片是常见节拍。
CI/CD 类比(后台对照)¶
PCB 厂出板 → 贴片厂上料 → PCBA 治具(治具1)→ 组装厂装喇叭/电池/外壳 → 整机治具(治具2)→ 老化 → 包装
| 后台 CI/CD | IoT 产线 |
|---|---|
git push 触发 build |
PCB 出板贴片 |
| build + unit test | PCBA 治具阶段(关注元器件级正确性 + 烧凭证) |
| integration test + smoke test | 整机测试阶段(端到端功能 + 用户接口) |
| load test | 老化测试(连续 24h 看是否稳定) |
| 容器镜像入 registry | 包装入库 |
→ 治具不是"质检"工具,是产线的部署工具 + 凭证灌入工具 + 测试套件三合一。后台世界的 CI/CD 是"代码到镜像",产线的治具是"PCB 到可上市设备"。
ICT 与 FCT 的工业细分¶
PCBA 治具阶段在传统术语里再分两层:
| 类型 | 全称 | 关注 | 典型测项 |
|---|---|---|---|
| ICT | In-Circuit Test | 元器件级静态参数 | 电阻 / 电容 / 电感 / 二极管 / 短路 / 开路 / 缺件 / 错件 |
| FCT | Functional Circuit Test | 系统级功能动态验证 | 给信号 → 看响应(按键 / LED / 通信) |
当代趋势:元器件 PPM ≤ 50(万分之五故障率)后,ICT 比重在下降,FCT 是产线测试主力——把"刷固件 + 灌三元组 + 跑功能脚本"合并到 FCT 治具一站式做。本页"PCBA 治具阶段"的工程实操更接近 FCT。
治具成本与交期(行业行情):单台 3000~10000 元,3-7 天定制。这个数量级意味着小批量产品(< 1 万台)治具摊销 < 1 元/台,不是显著成本。
测试点设计要求(PCB 设计师与产线对话时的术语):测试焊盘直径 ≥ 0.8mm、间距 ≥ 1.2mm、定位孔精度 ≤ 0.05mm。这些数字写在 PCB 设计阶段,不是产线阶段——PCBA 测试点必须在 PCB layout 时就预留好,否则整批板没法上治具。
为什么三元组必须在 PCBA 工位烧¶
整机阶段外壳合上之后: - UART 拉不出来 - SWD 拉不出来 - 只剩 USB 充电口 + 外露按钮 + 无线接口(WiFi/BLE)
那时再灌三元组,就只能走"产品本身的功能接口"(USB CDC / BLE OTA / 配网时偷偷塞)——所有这些都需要固件已经在跑且能联网,已经晚了。结论:PCBA 工位是唯一同时具备"裸 UART / 已经烧好固件 / 还没装壳"三个条件的窗口,是行业默认的三元组烧录点。
与 Sentino BK7258 项目的具体对接¶
2026-05-11 修正:本节首版写"三元组烧录尚未跑通 / 下一步走 AT+TRIPLE"——代码核查后已修正。
本项目(sentino-iot / bk7258-firmware)的产线现状:
| 维度 | 当前状态 |
|---|---|
| 代工厂 | 宣德 |
| PCBA 工位 UART AT 通道 | 已通(AT+WLMAC 验 MAC 跑通) |
| 三元组烧录代码路径 | 三条路径均已实现——编译期硬编码 / 厂测 AP(!FT@IOT1#)+ UDP 40000/40001 或厂测 MQTT / 动态注册到 mqtt-iot.sentino.jp:1883(v1.0.5 新增)。详见 triple-burning |
| 当前默认 | 编译期硬编码 + 犀云平台测试三元组(AI_TRIPLE_USE=3,临时测试态,不是 Sentino 自家三元组) |
| 真正的产线缺口 | 离线烧录通道——3 条路径全部需要在线(路径 2 要厂测 MQTT/UDP 服务、路径 3 要外网 MQTT),但宣德工厂 WiFi 不能连外网,路径 3 直接不可用,路径 2 要工厂内自建 broker |
在线约束 + 工厂 WiFi 隔离 = 真实的产线工程问题¶
宣德产线生产 Blisoo 产品时已经验证:工厂 WiFi 出于安全策略不能连接外网。这意味着:
- 路径 3(动态注册到 mqtt-iot.sentino.jp:1883)当场不可用 —— 这是 v1.0.5 加入动态注册分支后实测发现的
- 路径 2(厂测 AP + UDP/MQTT)需要工厂愿意配合 —— 让代工厂内部起一台 MQTT broker 跑厂测协议,且物料调度 + 良率回收都要走这台机器,对代工厂 IT 是非平凡的协调成本
- 真正干净的方案是离线烧录通道 —— 治具串口直接喂三元组到固件、固件本地校验后写 FLASH,不依赖任何网络。这是 beken-at-server AT Server 框架的未来潜在应用场景,但当前没实现
详见 triple-burning "真正的产品缺口:离线烧录通道" 段。
决策影响:PCBA 工位 vs 整机工位的能力分配¶
设计产线方案时实际要分配的事:
| 事 | 该哪个工位做 | 为什么 |
|---|---|---|
| 烧 bootloader | PCBA | UART 直接灌,最快 |
| 烧 application 固件 | PCBA | 同上 |
| 烧三元组(每片唯一) | PCBA | UART AT 通道 + 失败回收最容易,整机阶段没 UART |
| 烧 MAC | 不烧——BK7258 efuse 出厂已烧 | AT+WLMAC 直接读 |
| 测电压 / 各 IO | PCBA | 需要测试点 |
| 配 WiFi 测云连接 | 整机 | 需要装好天线 + 喇叭 / 麦克风 |
| 测语音对话端到端 | 整机 | 同上 |
| 老化(24h 通电) | 整机 | PCBA 阶段板还没装电池 / 电源管理 |
| 贴标签 / 印 SN | 整机 | 装完壳才有外露面 |
→ 凡是涉及"外壳里才有的元器件"(喇叭 / 麦克风 / 电池 / 天线)的测试都必须放整机阶段;凡是涉及"裸板才能接到的接口"(UART / SWD / 测试点)的事都必须放 PCBA 阶段。这是产线方案设计的第一性原则。
行业常识与误区¶
- "三元组在云端就生成了,工厂只是烧":是的——三元组池由云平台预生成下发到工厂,工厂治具实时 acquire / 烧 / activate 销账,工厂不持有"颁发凭证"的能力,只持有"烧入凭证"的能力。详见 triple-burning"业界主流做法"段
- "产线的事跟开发关系不大,找代工厂搞就行":错——三元组怎么烧、AT 命令怎么设计、Flash 怎么存,是固件 + 云平台 + 治具三方协议,固件团队必须主动设计,否则代工厂会按他们熟悉的范式(譬如直接写裸 offset)做出不可靠的方案
- "测试点占 PCB 面积太多":这是典型 PCB 设计师 vs 产线工程师的拉扯。真相:现代 BGA 封装下测试点几乎是产线唯一的访问入口,节省测试点的代价是良率不可控。Sentino 这类小批量产品(万级出货)测试点冗余设计回报极高
- "BLE/WiFi 测完就行了不用接 UART":错——BLE/WiFi 在裸板阶段还没装天线,跑不通;UART 是 PCBA 阶段唯一稳定可达的物理通道
- "别假设工厂 WiFi 能连外网"(2026-05 修正补入):业界标杆方案(涂鸦 PMS / 阿里一机一密 acquire/activate / 阿里一型一密动态注册)默认产线在线,但真实工厂经常出于安全策略隔离外网——宣德产线生产 Blisoo 产品时实测:工厂 WiFi 不能连接外网,导致动态注册路径直接不可用、厂测 MQTT 路径要求工厂内部自建 broker(对代工厂 IT 是非平凡协调成本)。含义:选烧录范式时不能只看技术优雅度,要先确认工厂网络拓扑;离线烧录通道(治具串口直接喂三元组、固件本地写 FLASH)是真实产品需求而不是"远期可选"
相关概念¶
- triple-burning — 三元组烧录的三种范式 + 本项目选型推导
- beken-at-server — Beken AT Server 框架,宣德产线烧三元组的具体技术通道
- iot-platform-fundamentals — 上位 IoT 概念对照(本页是其"产线物理层"补全)
- device-lifecycle — 出厂 → 配网 → 绑定 → 日常的完整生命周期(本页补"出厂"前的产线视角)
- tuya-triplet — 涂鸦体系三元组定义;本项目格式是"PID + UUID + SECRET + MAC",对照参照
- bk7258-firmware — 本项目目标芯片
- sentino-iot — 量产链路是 Sentino IoT 走向 OEM 客户的关键缺口