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 标识规范

  1. PCB 丝印层(Silkscreen):
    • 裸板上仅打印主版本号,如 REV: v1.0 或 HW-v1。
    • 原理:同一批打样的 v1 裸板可同时供给 v1.0.0-IND 与 v1.0.0-CONS 贴片,避免裸板丝印与具体变体绑定导致的库存浪费。
  2. 原理图属性与 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"

posted on 2026-08-23 21:09  建伟F4nniu  阅读(26)  评论(1)    收藏  举报

导航