本书是系统讲授开源EDA软件KiCad 9.0全流程电子设计的实战性著作。本书紧跟当前电子设计领域的前沿趋势,以KiCad这一全球增长最快的开源EDA工具为平台,深入浅出地讲解了从原理图设计到PCB生产的完整知识体系。全书共15章,内容涵盖KiCad 9.0全新功能解析、软件安装与配置、符号库与封装库的开发、原理图设计与规范检查、PCB布局布线的核心技巧、多层板设计、信号完整性分析、DRC设置,以及生产文件的输出等关键环节。本书不仅注重基础知识的系统梳理,更强调实战技能的培养。通过2层最小系统板的PCB设计、4层声源智能小车的PCB设计和RK3576 AIoT主板的PCB设计3个由浅入深的完整实例,带领读者亲历产品设计的全过程,并融入了大量来自一线工程师的设计规范、经验技巧与行业标准(如阻抗计算、3W原则、20H原则等)。此外,本书还介绍了FPGA引脚调整、模块复用、PCB与原理图互转等高级技巧,帮助读者全面提升设计效率与项目可靠性。本书可作为高等院校电子、通信、自动化等相关专业的教学用书,也可作为广大电子工程师、硬件开发人员、创客及电子爱好者的自学教程。
郑振宇,凡亿教育创始人,中国电子学会“电子信息人才能力提升工程”专家,电子发烧友论坛专家,Altium原厂特邀讲师。擅长领域:X86,工控类,军工类,通讯类,消费类等高难度产品的pcb设计,长期致力于Altium Designer高速PCB设计软件的应用,对高速互联、高速DDR3\DDR4EMNemc\SNPI等PCB处理技巧有足够的实战经验。著作有《Altium Designer 24(中文版)电子设计速成实战宝典》等多本书籍。
目录
第1章 KiCad 9.0的全新功能 1
1.1 全新功能概述 2
1.2 设计改进 2
1.2.1 智能差分对拓扑优化系统 2
1.2.2 三维层叠架构设计平台 3
1.2.3 导入/导出功能增强 4
1.2.4 智能焊盘生态系统 5
1.2.5 超精密布线辅助系统 6
1.2.6 高级字体与标注引擎 6
1.2.7 模块化设计革命 7
1.3 本章小结 8
第2章 KiCad 9.0配置及电子设计流程概述 9
2.1 KiCad概述 9
2.2 KiCad 9.0的系统配置要求及安装 10
2.2.1 KiCad 9.0的系统配置要求 10
2.2.2 KiCad 9.0的安装 11
2.3 KiCad 9.0的操作环境 12
2.4 中英文版本切换 14
2.5 常用偏好参数设置 15
2.5.1 通用偏好设置 15
2.5.2 符号编辑器偏好设置 17
2.5.3 原理图编辑器偏好设置 19
2.5.4 封装编辑器偏好设置 23
2.5.5 PCB编辑器偏好设置 25
2.6 KiCad偏好设置的保存与调用 29
2.7 KiCad扩展插件的安装与管理 31
2.7.1 通过扩展内容管理器进行安装(推荐方式) 31
2.7.2 手动安装插件(备用方式) 32
2.7.3 插件管理:更新与卸载 33
2.8 电子设计流程概述 33
2.9 本章小结 34
第3章 电子设计工程的组成及完整工程的创建 35
3.1 电子设计工程的组成 35
3.2 完整工程的创建 36
3.2.1 新建工程 36
3.2.2 已存在工程文件的打开与目录查找 37
3.2.3 新建或添加符号库 38
3.2.4 新建或添加原理图 40
3.2.5 新建或添加封装库 41
3.2.6 新建或添加PCB文件 44
3.3 本章小结 44
第4章 符号库的开发环境及设计流程 45
4.1 元件符号概述 45
4.2 符号编辑器 46
4.3 单子件元件的创建 48
4.3.1 新建库 48
4.3.2 新建元件符号 49
4.3.3 绘制元件符号图形 50
4.3.4 放置引脚并设置其属性 50
4.4 多子件元件的创建 52
4.5 元件符号的检查与报告 53
4.6 元件创建实例——电容的创建 54
4.7 元件创建实例——ADC08200的创建 55
4.7.1 手动创建IC类元件符号 55
4.7.2 基于Excel表格快速创建IC类元件符号 56
4.7.3 基于KiCad-华秋版的华秋助手自动生成符号库 57
4.8 元件创建实例——放大器的创建(多子件元件) 59
4.9 符号库的导出和复制 60
4.9.1 通过已有的原理图导出符号库 60
4.9.2 符号库的复制 61
4.10 本章小结 61
第5章 原理图的开发环境及设计流程 62
5.1 原理图编辑 62
5.2 原理图设计准备 63
5.2.1 原理图页尺寸设置 63
5.2.2 原理图栅格设置 64
5.2.3 原理图模板的应用 65
5.3 元件的放置 67
5.3.1 放置元件 67
5.3.2 元件属性编辑 68
5.3.3 元件的选择、移动、旋转及镜像 69
5.3.4 元件的复制、剪切及粘贴 71
5.3.5 元件的排列与对齐 71
5.4 电气连接的放置 72
5.4.1 绘制导线及导线属性设置 72
5.4.2 放置网络标签 72
5.4.3 放置电源和接地 73
5.4.4 放置网络标识符 74
5.4.5 放置总线、总线分支、网络标签、全局标签 75
5.4.6 为原理图添加差分标识 78
5.4.7 放置No ERC检查点 78
5.5 放置非电气对象 79
5.5.1 放置辅助线 80
5.5.2 放置字符标注、文本框、表格及图片 80
5.6 原理图的全局编辑 82
5.6.1 元件的重新编号 82
5.6.2 元件属性的更改 83
5.6.3 原理图的查找 83
5.6.4 华秋助手功能介绍 84
5.7 层次原理图设计 86
5.8 原理图的编译与检查 89
5.8.1 原理图编译设置 89
5.8.2 编译与检查的具体步骤 90
5.9 BOM表 90
5.10 原理图的打印输出 92
5.11 常用快捷命令汇总 93
5.11.1 常用鼠标命令 93
5.11.2 常用视图快捷命令 94
5.11.3 其他常用快捷命令 94
5.12 原理图设计实例——AT89C51 95
5.12.1 工程的创建 95
5.12.2 符号库的创建 95
5.12.3 原理图设计 96
5.13 本章小结 97
第6章 封装库的开发环境及设计 98
6.1 PCB封装的组成 98
6.2 封装编辑器 99
6.3 2D标准封装的创建 101
6.3.1 元件向导法 101
6.3.2 手工绘制法 104
6.4 异形焊盘封装的创建 109
6.5 由PCB文件生成封装库 109
6.6 PCB封装的复制与粘贴 110
6.7 PCB封装的检查与报告 111
6.8 常见PCB封装的设计规范及要求 111
6.8.1 SMD贴片封装设计 111
6.8.2 插件类型封装设计 115
6.8.3 沉板元件的特殊设计要求 115
6.8.4 阻焊层设计 116
6.8.5 丝印设计 116
6.8.6 元件1脚、极性及安装方向设计 116
6.8.7 常用元件丝印图形式样 117
6.9 3D封装的创建 118
6.9.1 软件自带3D封装导入 119
6.9.2 外部3D STEP模型导入 120
6.10 本章小结 121
第7章 PCB设计的开发环境及快捷键 122
7.1 PCB编辑器布局介绍 122
7.1.1 PCB编辑器的交互环境 122
7.1.2 PCB对象编辑窗口 123
7.1.3 PCB设计绘图工具栏 123
7.2 常用系统快捷键 124
7.3 快捷键的自定义 126
7.3.1 菜单选项设置法 126
7.3.2 导入快捷键 127
7.4 本章小结 127
第8章 流程化设计——PCB前期处理 128
8.1 原理图封装完整性检查 128
8.1.1 封装的添加、删除与编辑 128
8.1.2 库路径的全局指定 131
8.2 网表及其生成 132
8.2.1 网表 132
8.2.2 网表的生成 132
8.3 PCB的导入 133
8.3.1 直接导入法(适用于KiCad原理图) 133
8.3.2 间接导入法(适用于Protel、Orcad等第三方软件生成的网表文件) 133
8.4 板框的定义 134
8.4.1 DXF板框结构的导入 135
8.4.2 自定义绘制板框 136
8.5 固定孔的放置 137
8.5.1 开发板类型固定孔的放置 137
8.5.2 导入型板框固定孔的放置 137
8.6 层叠的定义及添加 139
8.6.1 PCB层叠的认识 139
8.6.2 层的添加及编辑 142
8.7 本章小结 144
第9章 流程化设计——PCB布局 145
9.1 常见PCB布局约束原则 145
9.1.1 元件排列原则 145
9.1.2 按照信号走向布局原则 146
9.1.3 防止电磁干扰原则 146
9.1.4 抑制热干扰原则 146
9.1.5 可调元件布局原则 147
9.2 PCB布局的基本思路 147
9.3 固定元件的放置 148
9.4 原理图与PCB的交互设置 148
9.5 模块化布局 149
9.6 布局常用操作 150
9.6.1 全局操作 150
9.6.2 选择 152
9.6.3 移动 153
9.6.4 对齐 153
9.7 本章小结 153
第10章 流程化设计——PCB布线 154
10.1 类及其创建 154
10.1.1 类的简介 154
10.1.2 网络类的创建 155
10.1.3 差分类的创建 157
10.2 PCB配置 159
10.2.1 规则设置界面 159
10.2.2 电气规则设置 159
10.2.3 布线规则设置 165
10.2.4 阻焊规则设置 167
10.2.5 铺铜规则设置 168
10.2.6 区域规则设置 169
10.2.7 差分规则设置 171
10.2.8 规则的导入 173
10.3 阻抗计算 175
10.3.1 阻抗计算的必要性 175
10.3.2 常见的阻抗模型 175
10.3.3 阻抗计算详解 176
10.3.4 阻抗计算实例 178
10.4 PCB扇孔 180
10.4.1 扇孔的推荐做法及缺陷做法 180
10.4.2 BGA扇孔 181
10.4.3 扇孔的拉线 185
10.5 布线常用操作 186
10.5.1 飞线的开关 186
10.5.2 PCB网络的管理与添加 188
10.5.3 网络及网络类的颜色管理 190
10.5.4 层的管理 191
10.5.5 元素的显示与隐藏 192
10.5.6 创建阵列和特殊粘贴法的使用 192
10.5.7 多根走线 193
10.5.8 泪滴的作用与添加 193
10.5.9 自动布线 195
10.6 PCB铺铜 198
10.6.1 局部铺铜 198
10.6.2 异形铺铜的创建 199
10.6.3 全局铺铜 200
10.6.4 多边形铺铜挖空的放置 201
10.6.5 修整铺铜 202
10.7 蛇形走线 203
10.7.1 单端蛇形线 203
10.7.2 差分蛇形线 205
10.8 多种拓扑结构的等长处理 206
10.8.1 点到点绕线 206
10.8.2 T点星形结构 207
10.9 本章小结 210
第11章 PCB的DRC与生产输出 211
11.1 DRC相关内容定义与设置 211
11.1.1 DRC设置 211
11.1.2 电气性能检查 213
11.1.3 可制造性设计检查 213
11.1.4 Stub线头检查 213
11.1.5 丝印上阻焊检查 214
11.1.6 钻孔检查 214
11.1.7 元件间距检查 215
11.2 尺寸标注 215
11.2.1 线性标注 216
11.2.2 圆弧半径标注 217
11.3 距离测量 217
11.4 丝印位号的调整 217
11.4.1 丝印位号调整遵循的原则及常规推荐尺寸 217
11.4.2 丝印位号的调整方法 218
11.4.3 精确定位丝印 219
11.5 PDF文件的输出 219
11.6 生产文件的输出 222
11.6.1 Gerber文件的输出 222
11.6.2 钻孔文件的输出 224
11.6.3 IPC网表的输出 225
11.6.4 贴片坐标文件的输出 225
11.7 本章小结 226
第12章 KiCad高级设计技巧及应用 227
12.1 FPGA引脚的调整方法 227
12.1.1 FPGA引脚调整的注意事项 227
12.1.2 FPGA引脚的调整技巧 228
12.2 相同模块的布局布线方法 231
12.3 死铜移除方法 233
12.4 检查线间距时差分线间距报错的处理方法 234
12.5 快速挖槽方法 235
12.5.1 通过放置钻孔挖槽 236
12.5.2 通过板框层及板切割槽挖槽 237
12.6 外部插件的安装方法 237
12.7 PCB中的Logo导入方法 239
12.8 3D模型的导出 241
12.8.1 3D STEP模型的导出 242
12.8.2 3D PNG的输出 242
12.9 圆形阵列的应用 243
12.10 不同PCB文件的模块复用 245
12.10.1 模块复用功能概述 245
12.10.2 模块复用功能的使用 245
12.11 PCB定制热风焊盘 247
12.11.1 热风焊盘的设置 247
12.11.2 热风焊盘的编辑 248
12.12 Padstack 模式 248
12.13 形状修改 249
12.14 预设层视角设置 250
12.15 导入非KiCad原理图文件 251
12.15.1 将 Altium Designer原理图转换成KiCad原理图 251
12.15.2 将PADS原理图转换成Altium Designer原理图 252
12.15.3 将OrCAD原理图转换成Altium Designer原理图 254
12.16 导入非KiCad PCB文件 255
12.16.1 将Altium Designer PCB转换成KiCad PCB 255
12.16.2 将Allegro PCB转换成Altium Designer PCB 257
12.16.3 将PADS PCB转换成Altium Designer PCB 260
12.17 将Gerber文件转换成PCB 261
12.18 本章小结 264
第13章 入门实例:2层最小系统板的PCB设计 265
13.1 设计流程分析 265
13.2 工程的创建 266
13.3 符号库的创建 267
13.3.1 STM32103C8T6主控芯片的创建 267
13.3.2 LED的创建 268
13.4 原理图设计 269
13.4.1 元件的放置 270
13.4.2 元件的复制及其放置 270
13.4.3 电气连接的放置 271
13.4.4 非电气性能标注的放置 271
13.4.5 元件位号的重新编号 272
13.4.6 原理图的编译与检查 272
13.5 PCB封装的制作 273
13.5.1 TSSOP20 PCB封装的创建 273
13.5.2 TSSOP20 3D封装的放置 274
13.6 PCB设计 275
13.6.1 封装匹配的检查 275
13.6.2 PCB的导入 277
13.6.3 板框的绘制 278
13.6.4 PCB布局 278
13.6.5 类的创建及PCB规则设置 280
13.6.6 PCB扇孔及布线 283
13.6.7 走线与铺铜优化 285
13.7 DRC 286
13.8 生产输出 287
13.8.1 丝印位号的调整和装配图的PDF文件输出 287
13.8.2 Gerber文件的输出 287
13.8.3 钻孔文件的输出 289
13.8.4 IPC网表的输出 290
13.8.5 贴片坐标文件的输出 290
13.9 本章小结 290
第14章 入门实例:4层声源智能小车的PCB设计 291
14.1 实例简介 291
14.2 原理图的编译与检查 291
14.2.1 工程的创建 291
14.2.2 原理图编译设置 292
14.2.3 编译与检查的具体步骤 292
14.3 封装匹配的检查及PCB的导入 293
14.3.1 封装匹配的检查 293
14.3.2 PCB的导入 294
14.4 PCB推荐参数设置、层叠设置、板框的绘制及定位孔的放置 295
14.4.1 PCB推荐参数设置 295
14.4.2 PCB层叠设置 296
14.4.3 板框的绘制及定位孔的放置 298
14.5 交互式布局及模块化布局 298
14.5.1 交互式布局 298
14.5.2 模块化布局 298
14.5.3 布局原则 298
14.6 类的创建及PCB规则设置 299
14.6.1 类的创建及颜色设置 299
14.6.2 PCB规则设置 300
14.7 PCB扇孔 303
14.8 PCB的布线操作 304
14.9 PCB设计后期处理 304
14.9.1 3W原则 305
14.9.2 修减环路面积 305
14.9.3 死铜及尖岬铜皮的修整 305
14.9.4 回流地过孔的放置 306
14.10 本章小结 306
第15章 进阶实例:6层RK3576 AIoT主板的PCB设计 307
15.1 实例简介 307
15.2 结构设计 308
15.3 层叠结构推荐选择及阻抗控制 309
15.3.1 层叠结构推荐选择 309
15.3.2 阻抗控制 310
15.4 通用设计要求 311
15.4.1 走线宽度及过孔 311
15.4.2 3W原则、4W原则 311
15.4.3 20H原则 311
15.4.4 元件布局的规划 312
15.4.5 屏蔽罩的规划 312
15.4.6 铺铜完整性 312
15.4.7 散热处理 312
15.4.8 后期处理要求 313
15.5 PCB模块化设计 313
15.5.1 CPU模块的设计 313
15.5.2 PMU模块的PCB设计 315
15.5.3 存储器LPDDR4的设计 319
15.5.4 eMMC存储器模块的PCB设计要求 322
15.5.5 MIPI Camera摄像头的PCB设计 322
15.5.6 TF/SD Card的设计 324
15.5.7 USB接口布局与布线设计 325
15.5.8 LVDS接口的PCB设计 325
15.5.9 Audio音频模块的PCB设计 327
15.5.10 Wi-Fi/BT模块的PCB设计 328
15.5.11 千兆以太网接口的PCB设计 330
15.5.12 HDMI的PCB设计 333
15.6 RK3576 AIoT主板的设计检查要点 335
15.6.1 结构设计部分的设计检查要点 335
15.6.2 硬件设计部分的设计检查要点 335
15.6.3 EMC设计部分的设计检查要点 336
15.7 本章小结 336