KiCad 项目版本管理(包含变体版本管理)v1.0.0
KiCad 项目版本管理(包含变体版本管理)v1.0.0
结合硬件物理特性与软件工程中的语义化版本(Semantic Versioning)思想,本方案采用“硬隔离/强基线控制策略”:将 PCB Layout(物理基板)与变体 BOM(逻辑装配)彻底解耦。
只要物理 Layout(走线、过孔、器件位置、板框)有任何改动,即升级主版本号(MAJOR);次版本号(MINOR)永久锁定为 0;元件参数调整、DNP(不贴片)及变体切换仅升级修订号(PATCH)。
1. 语义化版本控制规范
版本号格式统一为:v<MAJOR>.0.<PATCH>
-
MAJOR(主版本号 / 物理基板):代表 PCB Gerber 物理版本。- 触发条件:任何 Layout 走线微调、过孔移动、板框变更、层叠结构修改。
- 工程含义:裸板必须重新打样;钢网(Stencil)、测试治具(ICT/FCT)可能需要重新制作;硬件库房废弃/隔离旧主版本裸板。
-
0(次版本号 / 锁定位):永久固定为 0。- 工程含义:消除硬件开发中“物理改动”与“逻辑改动”的模糊地带,杜绝因“微调走线仅升 Minor”导致的装配与工装干涉事故。
-
PATCH(修订版本号 / 变体 BOM):代表 BOM 装配与变体版本。- 触发条件:PCB 零改动的前提下,调整阻容参数、更换 Pin-to-Pin 替代料、切换 DNP 变体。
- 工程含义:裸板完全复用;钢网与治具 100% 复用;仅更新 SMT 贴片程序与领料 BOM。
2. 变体 BOM 命名与双重追踪
变体 BOM 采用 “继承主版本 + 变体代号(Variant Slug) + BOM 修订号” 进行唯一标识。
- 变体 BOM 版本结构:
v<MAJOR>.0.<PATCH>-<VARIANT_SLUG> - 项目应用示例:
v1.0.0-IND:基于 v1 版 PCB 的工业级变体 BOM(初版)。v1.0.1-IND:PCB 不变,仅替换工业级 BOM 中的 Pin-to-Pin 滤波电容品牌。v1.0.0-CONS:基于 v1 版 PCB 的消费级变体 BOM(精简 DNP 部分模组)。v2.0.0-IND:PCB 重新走线打样,工业级变体 BOM 基线强制升至v2.0.0。
3. KiCad 工程实施 SOP
A. 原理图与 PCB 标识规范
- PCB 丝印层(Silkscreen):
- 裸板上仅打印主版本号,如
REV: v1.0或HW-v1。 - 原理:同一批打样的
v1裸板可同时供给v1.0.0-IND与v1.0.0-CONS贴片,避免裸板丝印与具体变体绑定导致的库存浪费。
- 裸板上仅打印主版本号,如
- 原理图属性与 DNP 控制:
- 在元件属性中勾选
Do Not Populate (DNP)控制变体留空。 - 添加自定义属性
Variant(值示例:ALL,IND_ONLY,CONS_ONLY)。 - 原理图 Title Block 的
Revision填入v1.0.0,Comment标注变体信息。
- 在元件属性中勾选
B. 自动化导出与产出物规范
通过 KiCad CLI(kicad-cli)与 Python 脚本实现自动化打包,产出物按用途严格隔离:
release/
└── v1.0.1/ # 对应的 PATCH 发布版本
├── PCB_Gerber_v1.0/ # 裸板生产文件(PCB 厂使用,仅含 MAJOR)
│ └── Project_v1.0_Gerber.zip
├── Variant_IND/ # 工业级变体制造包(SMT 厂使用)
│ ├── Project_v1.0.1-IND_BOM.csv
│ ├── Project_v1.0.1-IND_CPL.csv # 贴片坐标文件
│ └── Project_v1.0.1-IND_Fab.pdf # 装配图
└── Variant_CONS/ # 消费级变体制造包
├── Project_v1.0.1-CONS_BOM.csv
└── Project_v1.0.1-CONS_CPL.csv
4. 版本变更决策矩阵
| 变更场景 | PCB Layout 改动 | 原理图 / 属性改动 | 硬件版本号 (HW) | 变体 BOM 版本号 | 钢网/治具状态 |
|---|---|---|---|---|---|
| 微调阻容参数 / 变更 DNP 变体 | 否 | 仅变体参数 | v1.0.0 升级到 v1.0.1 |
v1.0.1-IND |
100% 复用 |
| 主控更换 Pin-to-Pin 替代料 | 否 | 修改 MPN (料号) | v1.0.1 升级到 v1.0.2 |
v1.0.2-ALL |
100% 复用 |
| 优化一处走线 / 调整过孔 | 是 | 无/微调 | v1.0.2 升级到 v2.0.0 |
v2.0.0-IND |
重新制作 |
| 新增/删减电路模组(含重新走线) | 是 | 新增/删除电路 | v2.0.0 升级到 v3.0.0 |
v3.0.0-IND |
重新制作 |
5. Git 仓库管理结构
采用 Git 对 KiCad 工程进行版本追踪与防冲突管理:
Project_Root/
├── .gitignore
├── Project.kicad_pro
├── Project.kicad_sch
├── Project.kicad_pcb
├── scripts/
│ └── export_variants.py # KiCad CLI 变体 BOM/CPL 自动导出脚本
└── release/ # 打包发布归档目录
- Git Tag 规范:
- 仅 BOM 变更打 Tag:
git tag -a v1.0.1-IND -m "BOM: Replace C102 vendor PN" - PCB 重打样打 Tag:
git tag -a v2.0.0 -m "HW: Layout rerouted for EMC optimization"
- 仅 BOM 变更打 Tag:
所有文章为原创,如非授权,请勿转载。
我们要多多支持有创造能力的人,因为那是我们所有人的希望。
同时我们也希望成为有创造能力的人,我们支持开源,同时也支持正版。
🎈数码荔技正版软件商店🎈
【正版】微软 Office 365
【正版】老牌文件对比工具 Beyond Compare
【正版】JetBrains Idea Java IDE
不断学习,慢慢进步,做时间的朋友。
注意力 > 时间 > 金钱。 -- 建伟 F4nniu
我们要多多支持有创造能力的人,因为那是我们所有人的希望。
同时我们也希望成为有创造能力的人,我们支持开源,同时也支持正版。
🎈数码荔技正版软件商店🎈
【正版】微软 Office 365
【正版】老牌文件对比工具 Beyond Compare
【正版】JetBrains Idea Java IDE
不断学习,慢慢进步,做时间的朋友。
注意力 > 时间 > 金钱。 -- 建伟 F4nniu
浙公网安备 33010602011771号