造物笔记/嘉立创EDA 教程(原立创EDA)
基于 嘉立创EDA专业版 V4.1.93
造物笔记 / 嘉立创EDA 教程 / 第 1 章 · Quickstart 实战

B-3 PCB 设计

这一页把原理图变成一块真正的电路板。和案例 A 相同的步骤(转 PCB、拖元件、铺铜)只简单带过;新内容是:圆角矩形板框、天线下方的禁止区域、USB 差分对,以及一个很真实的情况——自动布线没布通,我们要找出原因、手动补上。

⏱ 约 90~150 分钟🖱️ 含天线净空示意📋 含板框、禁止区域、差分对、差分对规则说明表⚠️ 差分对「自动生成」后要点「应用」

B3.1 转到 PCB,画圆角矩形板框#

和 A-3 一样:先 ⌘S 保存,「设计」→「更新/转换原理图到PCB」(⌥I),在「确认导入信息」里点「应用修改」。本例导入了 26 个元件、97 条飞线。

确认导入信息:26 个元件逐个“增加元件”,①点「应用修改」
图 -1确认导入信息:26 个元件逐个“增加元件”,①点「应用修改」

这次的板框是圆角矩形:

  1. 「放置」→「板框」→「矩形」
  2. 在画布原点 (0, 0) 单击作为左上角,移动到右下角大约 (32, -58) 再单击(旁边会实时显示宽和高)
  3. 单击选中板框,在右侧属性面板把尺寸改精确
①板框 → ②矩形
图 -2①板框 → ②矩形
拖出矩形,旁边实时显示宽度(32.004 mm)和高度
图 -3拖出矩形,旁边实时显示宽度(32.004 mm)和高度
矩形板框的属性(红框:宽、高、圆角半径)
图 -4矩形板框的属性(红框:宽、高、圆角半径)
矩形板框属性
编号属性含义(大白话)本例怎么填什么时候需要改
1类型这是一个“板框”对象板框—
2图层板框画在「板框层」上,工厂按它切板板框层不改
3线宽板框线的粗细,只是显示用0.254 mm不改
4锁定锁定后不能被误拖动否定稿后可以锁上
5ID内部编号自动—
6起点X矩形左上角的横坐标0 mm—
7起点Y矩形左上角的纵坐标(往下是负数)0 mm—
8宽板子宽度32 mm🎨 想要宽一点 / 窄一点
9高板子高度58 mm🎨
10圆角半径四个角的圆角半径,0 就是直角2 mm🎨 也可以更圆;SMT 的工艺边要求圆角半径 0.3~2 mm(见 B-4)
11旋转角度整个矩形旋转0—

B3.2 布局与天线禁止区域#

拖元件的方法和 A-5 一样(也可以选中元件后在属性面板里直接输入坐标)。本例的布局思路是“从上往下按信号流排”:

位置(mm,左上角为原点)元件理由
U1 (16, -11),天线朝上贴上板边ESP32-C3 模组天线必须在板边,下面不能有铜(下面讲)
模组左边 (4, -6 / -10 / -14);右边 (27.5, -6 / -10 / -14)C4、C5、R4;R5、R6、C6去耦电容、上拉电阻、RC 延时都紧挨模组的对应引脚
SW1 (6, -22),SW2 (21, -22)RST、BOOT 按键放在一排,手指好按
LED1~3 (5 / 13.5 / 22, -30),电容在各自下方彩灯 + C7~C9🎨 排成一排,在板子中间最显眼
D1 (13.5, -39.5),U2 (13.5, -45),C1 / C2 / C3 在 U2 两边二极管、稳压芯片和电容电源路径:USB → U2 → 模组,电容紧贴 U2 的输入输出脚
USB1 (16, -53.5),口朝下伸出板边Type-C接口在板边(A5.2 原则①)
LED4 (4, -50.5),R3 (4, -54);R1 (23, -52),R2 (25.5, -52)电源指示灯;CC 电阻靠近 USB
J1 (29.5, -30.5),竖放排针贴右板边,方便插杜邦线

为什么天线下面不能有铜#

模组顶部那一段(没有铁壳的部分)是PCB 天线:一段弯弯曲曲的铜线,Wi-Fi 信号从这里发出去。如果天线正下方的底板上有铜(铺铜、导线),铜会把信号挡住、吸收掉一大部分。切换下面的三种情况看看:

天线净空示意
乐鑫在模组规格书的“模组在底板上的位置”一节里,推荐把天线区伸出板边或放在板边,并且天线下方所有层都不要有铜。本例天线朝上、紧贴上板边,下方画禁止区域。

新操作:禁止区域#

怎么保证天线下面一定没有铜?画一个禁止区域,告诉软件“这块地方不许铺铜、不许走线”。之后铺铜、自动布线都会自动绕开它,DRC 也会检查。

  1. 「放置」→「禁止区域」→「矩形」(还有圆形、多边形)
  2. 在模组天线部分拉一个矩形,盖住整个天线区域(本例 14.5 × 6.5 mm 左右,稍微超出上板边也没关系)
  3. 松手后弹出属性对话框,按下表修改,点「确认」
①禁止区域 → ②矩形
图 -5①禁止区域 → ②矩形
在天线上方拉出禁止区域,旁边显示宽 14.478 mm、高 6.477 mm
图 -6在天线上方拉出禁止区域,旁边显示宽 14.478 mm、高 6.477 mm
禁止区域属性:红框是“禁止什么”
图 -7禁止区域属性:红框是“禁止什么”
禁止区域属性
编号属性含义(大白话)本例怎么填什么时候需要改
1类型区域的种类,这里是禁止区域禁止区域—
2图层在哪一层禁止:顶层 / 底层 / 多层(所有铜层)多层只想禁止某一面时选顶层或底层
3锁定防止误拖否—
4元件禁止在区域里放元件不勾(默认是勾上的)见下面的注意
5填充区域禁止放实心铜块☑—
6导线禁止走线(包括自动布线)☑—
7铺铜铺铜到这里会自动挖空☑—
8内电层多层板的内部电源层,本例是双面板没有不勾做 4 层以上的板子时勾上
9起点X矩形左上角 X8.382 mm—
10起点Y矩形左上角 Y0.508 mm—
11宽区域宽度14.478 mm盖住天线即可
12高区域高度6.477 mm—
13确认保存设置点它—

B3.3 USB 差分对#

第 1 步:告诉软件哪两根是一对#

  1. 「设计」→「差分对管理器…」,打开后列表是空的(0/0)
  2. 点左下角「自动生成…」
差分对管理器:一开始是空的,①点「自动生成…」
图 -8差分对管理器:一开始是空的,①点「自动生成…」
  1. 把「正网络特征」从默认的 P 改成 +,「负网络特征」从 N 改成 -,列表里立刻识别出 USB_D(正 USB_D+ / 负 USB_D-)
  2. 点「应用」(不是「确认」!),然后点「取消」关掉这个窗口
自动生成差分对:④⑤改成 + / -,⑥识别出 USB_D,⑦点「应用」才真正生成
图 -9自动生成差分对:④⑤改成 + / -,⑥识别出 USB_D,⑦点「应用」才真正生成
自动生成差分对
编号属性含义(大白话)本例怎么填什么时候需要改
1来源从哪些网络里找:全部网络,或者只找某个网络类全部网络很多、只想处理一部分时
2差分对命名前缀给生成的差分对名字加一个前缀空有多对差分线、想分类时
3创建到差分对组把生成的差分对放进一个组空高速板上有很多对时
4正网络特征网络名里用什么字符表示“正”。默认 P(比如 USB_DP)改成 +按你的命名习惯
5负网络特征表示“负”的字符。默认 N改成 -同上
6结果列表软件按特征配好的对:差分对名称 / 正网络 / 负网络USB_D / USB_D+ / USB_D-没出现说明名字没对上,回去检查网络名
7应用真正把差分对生成到管理器里点它—
8确认本例实测点它没有反应,不会生成别只点它—
9取消关闭这个窗口,回到管理器应用后点它—
差分对管理器里有了①USB_D(正网络 USB_D+,负网络 USB_D-)
图 -10差分对管理器里有了①USB_D(正网络 USB_D+,负网络 USB_D-)

第 2 步:差分对布线 ⌥D#

  1. 按 ⌥D(「布线」→「差分对布线」),在 USB 插座的 D+ 或 D- 焊盘上单击
  2. 移动鼠标,两根线会并排一起走,间距自动保持;单击定拐点,到终点后 Esc 结束
  3. 走线时旁边实时显示「差分对长度误差」(两根线长度差了多少)和下面的色条:小于规则 / 符合规则 / 大于规则
①差分对布线时的提示:长度误差 +4.868 mm,规则 ±0.254 mm,色条落在“大于规则”
图 -11①差分对布线时的提示:长度误差 +4.868 mm,规则 ±0.254 mm,色条落在“大于规则”

不过,本例的 USB 插座让差分布线变得很别扭,原因在下一节。

B3.4 自动布线只布通 85.71%,为什么?#

先试试自动布线(A6.3):第一次结果是布通率 85.71%,有几根线没布上。

第一次自动布线:①布通率 85.71%;②USB 附近的 D+ / D- 没连上
图 -12第一次自动布线:①布通率 85.71%;②USB 附近的 D+ / D- 没连上

把「迭代数量」从 1 改成 5,让它多试几轮:

①迭代数量改成 5
图 -13①迭代数量改成 5
①5 次迭代全都是 85.71%
图 -14①5 次迭代全都是 85.71%

多试几次也没用,说明不是“运气”问题,而是有的地方根本走不通。仔细看没连上的飞线,有两处:

  1. 16P Type-C 的 D+ / D- 焊盘是交错排列的:从左到右是 D-、D+、D-、D+。每个网络的两个焊盘中间都隔着另一个网络的焊盘,焊盘之间的缝又窄得过不了线——在同一层根本没法把两个 D+ 连起来而不碰到 D-。
  2. 模组正中间的 3×3 GND 散热焊盘被一圈引脚包围着,导线从外面钻不进去。

解决:关键的线手动布#

专业工程师的做法本来就是“关键线手动,其余自动”。本例手动处理 USB 和模组中心的 GND:

  1. D+:在顶层,从两个 D+ 焊盘各引一小段往板内走,在焊盘上方用一根横线把它们连起来,再打一个过孔(⌥V)下到底层。
  2. D-:两个 D- 焊盘各自往另一个方向引出,各打一个过孔到底层,在底层把它们连起来。这样 D+ 的连接线在顶层、D- 的在底层,互不交叉。
  3. 在底层,D+ 和 D- 两根线并排往上走到模组旁边,再各打一个过孔回到顶层,接到模组的 IO19(D+)和 IO18(D-)。本例一共 5 个过孔(内径 0.3 / 外径 0.61 mm,默认规则)。
  4. 模组中心 GND 焊盘:在顶层把 9 个小焊盘互相连起来,再打 4 个过孔到底层,接到底层的 GND 铺铜。
  5. 重新运行自动布线,勾选「保留已有导线/过孔」——这次剩下的信号线全部布通;GND 留给铺铜去连。
手动布好的 USB 线(临时隐藏了顶层,只看底层):D+ / D- 从 USB 旁的过孔下到底层,两根线并排往上走向模组
图 -15手动布好的 USB 线(临时隐藏了顶层,只看底层):D+ / D- 从 USB 旁的过孔下到底层,两根线并排往上走向模组
保留手动画好的 USB 走线后再自动布线:信号线全部布通
图 -16保留手动画好的 USB 走线后再自动布线:信号线全部布通

B3.5 铺铜与 DRC 收尾#

和 A-7 一样,顶层、底层各铺一块 GND,⇧B 重建铺铜。天线下方因为有禁止区域,铺铜会自动挖空:

双面铺铜完成:模组天线下方(最上面那一块)没有铜
图 -17双面铺铜完成:模组天线下方(最上面那一块)没有铜

然后运行 PCB 的 DRC(A9.1)。本例前后遇到了三个问题:

问题 ①:差分对长度误差 3.582 mm,超出规则 0.254 mm#

手动布出来的 D+ 和 D- 长度差了 3.582 mm,而默认的差分对规则只允许 0.254 mm。打开「设计」→「设计规则…」,左边找到「差分对」下的 differentialPair:

设计规则 → ①差分对 differentialPair;②差分对长度误差 最大 0.254 mm(默认)
图 -18设计规则 → ①差分对 differentialPair;②差分对长度误差 最大 0.254 mm(默认)
差分对规则 differentialPair
编号属性含义(大白话)本例怎么填什么时候需要改
1线宽差分对里每根线的宽度:最小 / 默认 / 最大,分所有层、顶层、底层0.127 / 0.254 / 2.54 mm(默认)要做阻抗控制时按计算值改
2间距一对线之间的间距最小 0.152 mm(默认)同上
3差分对长度误差 · 最大两根线允许差多长0.254 → 改成 5 mm见下面的解释
提示当差分对规则与安全间距规则、导线规则冲突时,以差分规则为准——
把③差分对长度误差的最大值改成 5 mm,点「确认」
图 -19把③差分对长度误差的最大值改成 5 mm,点「确认」

问题 ②:一段 GND 短线压进了禁止区域#

DRC 报了一段 GND 导线和天线禁止区域冲突。双击错误定位过去,把这段线缩短、退出禁止区域即可。这正是禁止区域的作用:任何铜进了天线区都会被揪出来。

问题 ③:LED4 的“器件标准化”坑#

就是 B2.9 末尾提到的那个:在原理图里把 LED4 标准化成系统库的 KT-0603R(封装 LED-SMD_L1.6-W0.8-R-RD)后,PCB 的 DRC 报了一堆“同网络间距为 0”的错误,自动布线还把 GND 接到了 LED 的 1 脚。

处理方法:回到原理图把 LED4 换回 C2286 原来的 LED0603-RD 封装,然后「设计」→「更新/转换原理图到PCB」,在确认导入信息里能看到 LED4 的“移除元件 / 增加元件”,点「应用修改」,再把 LED4 摆回原位、重新连线:

从原理图导入变更:①LED4 更换器件
图 -20从原理图导入变更:①LED4 更换器件

三个问题都处理完,PCB 的 DRC 显示「未发现问题」,飞线 0 条。

B3.6 丝印:给排针写上引脚名#

这块板子以后要插杜邦线接东西,排针旁边一定要写清楚每只脚是什么,否则每次都得翻原理图:

  • 顶层丝印:排针左边从下到上写 5V、3V3、GND、IO0、IO1、IO3、IO4、IO5;两个按键上方写 RST、BOOT。字高 0.9 mm、线宽 0.15 mm(板子小,字也小;再小就印不清了)。
  • 底层丝印:板子背面写作品名,例如“ESP32-C3 彩灯板 / Quickstart 案例 B”。

放文字的方法和 A8.2 一样。写底层文字时:

  1. 在底部图层快捷栏点「底层丝印层」,把当前层切过去
  2. 「放置」→「文本」,写好内容,放到板子上
  3. 选中这段文字,在右侧属性面板确认它在底层丝印层就行,不用手动去改「镜像」
点工具栏「翻转板子」从背面看:底层丝印「ESP32-C3 彩灯板」是正着读的(再点一次翻回正面)
图 -21点工具栏「翻转板子」从背面看:底层丝印「ESP32-C3 彩灯板」是正着读的(再点一次翻回正面)

B3.7 检查与 3D 预览#

最后看一眼完整的板子,和 3D 预览(A9.2)检查元件方向、排针位置、按键是不是好按:

完成的 PCB(顶层 + 底层铺铜)
图 -22完成的 PCB(顶层 + 底层铺铜)
3D 预览(正面)
图 -233D 预览(正面)
最终 PCB DRC:①DRC检查完成,未发现问题
图 -24最终 PCB DRC:①DRC检查完成,未发现问题
  • 天线贴板边,下方有禁止区域(多层,禁止填充区域 / 导线 / 铺铜),铺铜在这里是挖空的
  • USB 插座口朝外、和板边对齐
  • D+ / D- 已设为差分对,并排走线;长度误差规则已按 USB 全速放宽
  • 去耦电容紧挨模组、稳压芯片、每颗彩灯
  • 飞线 0 条,PCB DRC 未发现问题
  • 排针、按键旁边有丝印;底层文字是镜像的、没有超出板框
  • 改过器件之后重新跑过 PCB DRC