说句实在话Altium Designer 23 的界面和操作逻辑跟十年前那一套相比变化不大真正难住新人的从来不是哪个按钮在哪里而是从零到一这一整条链路封装库建不建得对、DRC 规则设不设得合理、Gerber 出得干不干净。我见过太多人照着视频点完一遍最后打样回来的板子要么短路要么多个网络悬空要么工厂打电话过来说“你文件不全”问题几乎都出在细节上。这篇文章就用 STM32H7 系列最小系统板当完整例子从建工程、做封装、画原理图、布局布线到 DRC 规则和 Gerber 输出按我实际项目的顺序从头讲一遍每一步都写清楚“为什么这么做”。目标是让你拿着这篇保姆级教程在 Altium Designer 23 里从零画出一块能真正送出去打样、回来能上电跑起来的双面板。1. 画板不是摆器件先把“能用”拆成一条条硬指标1.1 双面板凭什么是最通用的选择很多新手一上来就纠结“到底画单面板、双面板还是四层板”。我的回答很简单你先看需求再看钱包最后看自己的调试能力。单面板只有一层铜箔所有走线都得绕STM32H7 这种一百多脚甚至是 BGA 封装的芯片单面板根本走不通哪怕勉强走出来也是一大堆跳线和立体交叉EMI 和信号完整性都很难保证。四层板当然是好东西电源层和地层完整抗干扰能力强但打样价格、设计复杂度、焊接难度都在往上涨对第一块学习板来说性价比不高。双面板卡在中间既有两层铜箔可以大幅缓解布线压力又有成熟的过孔工艺帮你把信号从顶层引到底层打样成本也很便宜。FR-4 材质、板厚 1.6mm、铜厚 1oz这是国内绝大多数打样厂家的默认工艺做双面板最合适。对 STM32H743 这种 480MHz 的 MCU 来说只要你不跑并行总线不做高速差分线双面板完全能胜任入门到中等难度的硬件设计。1.2 “能用”到底指什么我见过不少人把板子画完文件也能打开但一到 DRC 就报几十个错或者发到工厂被退回。所谓“能用”我习惯拆成下面几条硬指标每一条都对应一个检查动作电气上完全正确原理图和 PCB 网络一致没有悬空引脚没有该连没连的线能过 DRC设计规则配置文件里没有违反项至少紧急错误为零符合工厂工艺线宽、间距、过孔、槽孔都在打样厂家的可加工范围内方便焊接和维护丝印不压在焊盘上元件间距足够极性标识清楚上电不冒烟电源极性、电源电压、电容耐压都没超规格功能达到预期晶振起振MCU 能烧录IO 能控制外设。前面三条可以通过软件检查完成后面三条需要你从设计阶段就养成好习惯。很多人画板只盯着“线通没通”忽略了“好不好焊”“好不好修”等到板子回来螺丝刀都伸不进去的时候才知道什么叫返工。1.3 以 STM32H7 最小系统板为实战例子为了让整篇教程不空谈我选了 STM32H743VIT6 这颗芯片做例子封装是 LQFP-100引脚间距 0.5mm是 STM32H7 系列里比较经典、也比较好手工焊接的型号。用它做一个最小系统板需要包含以下功能块电源USB-C 接口输入 5VAMS1117-3.3 稳压到 3.3V输入输出各加 10uF 和 100nF 电容时钟25MHz 晶振加两个 10pF 负载电容另外加一颗 32.768kHz 的 RTC 晶振调试2x5 的 SWD 排针方便用 ST-Link 或 J-Link 烧录外设一组 UART1 排针引出 PA9/PA10八个 LED 通过 330Ω 电阻接 PA0-PA7控制一个复位按键一个 BOOT0 跳线帽方便进入系统 Bootloader尺寸10cm x 7cm 左右正好在常规打样的优惠尺寸范围内。这颗芯片的电源引脚非常多VDD、VDDA、VDDUSB、VDD 等等全都要接 3.3VGND 引脚也不少。这就是为什么要建一个靠谱的封装库——你不可能每次都拿网上的旧库硬套出错概率太高。1.4 画图前的工艺参数速查在开始画之前最好先把你准备用的打样厂家工艺参数翻出来按照它的下限去设 DRC 规则这样设计完成后就不用再大改。我常用的一套保守参数如下参数推荐值原因板厚1.6mm通用 FR-4 标准机械强度好铜厚1oz35um通流和成本最平衡最小线宽6mil0.1524mm多数厂家的工艺下限保守用 8mil 更好焊最小线间距6mil同上过孔最小内径0.3mm低于这个要加钱焊接也不方便过孔最小外径0.7mm保证环形焊环在安全范围最小槽孔宽0.6mm镭射或 CNC 铣削都稳丝印线宽0.2mm太细了丝印会糊阻焊开窗0.08mm3mil比焊盘扩一圈正常工艺能保证不覆盖焊盘这些参数你可以直接抄进 AD23 的规则里也可以后期在 DRC 章节再统一设置。重点是心里先有这个底画的时候你才知道哪些地方要避让、哪些地方可以紧凑。2. AD23 工程搭建和封装库准备LQFP-100 手工建库全流程2.1 第一步把工程目录和 AD23 环境设置好Altium Designer 23 新建工程很简单菜单 File - New - Project - PCB Project这样会生成一个 .PrjPCB 的工程文件。但我强烈建议你在新建之前先在硬盘上建好目录比如STM32H7_MinimumSystem这个文件夹下面再分Libraries、Schematics、PCB、Outputs四个子目录。工程文件单独放根目录后续所有文件都有地方放不然光整理文件就能耗掉你半天。新建完工程后选中项目名称右键 Add New to Project分别新建 Schematic.SchDoc和 PCB.PcbDoc再把你自己建的封装库添加到工程里。就环境设置来说有几点我建议新手先改掉把毫米和密尔的显示单位统一。你习惯用毫米就在 PCB 编辑器里设成 mm否则一会儿看 mil 一会儿看 mm坐标容易乱原理图网格建议设 5mil 或 2.5mil放元件时定位方便PCB 编辑器里打开“DRC Violation”的颜色显示设计者有实时反馈能少走很多弯路。AD23 的默认界面和快捷键跟之前版本基本一致你用久了会发现最频繁的操作还是 P 放元件、T 走线、W 连导线、N 放网络标号。把这些快捷键记熟效率会翻倍。2.2 封装库的三个来源官方在线库、网上下载、自己画封装库是所有画板步骤里最容易被轻视、也最坑人的环节。市面上流传着很多“AD 封装库合集”文件名写着 AD18 或者说支持 STM32H7 系列但下载下来一读很多都是十几年前的 AD 老格式单位混乱、焊盘编号跳号、丝印层位置不对用起来风险很大。AD23 自带的 Manufacturer Part Search制造商器件搜索确实方便联网搜索后可以直接放置器件封装通常也比较正规但它依赖网络和 Altium 账号离线状态或者网络不好的时候就用不了而且用在线库时你很难真正理解这个封装是怎么来的出了问题不好排查。所以我个人的建议是能自己建的常见封装尽量自己建实在复杂比如 BGA、特殊连接器再用官方下载或 IPC 向导生成。自己建封装的意义不光是得到一个可用的文件更重要的是你清楚了封装里每一个层的含义将来封装出问题你能一眼看出来。对小白来说手动画一个 LQFP-100 的功夫比你在网上找一晚上“靠谱封装库”划算得多。2.3 用 IPC 向导生成 LQFP-100 封装并检查参数在 AD23 里建封装最稳妥的路径是用封装库编辑器自带的 IPC Footprint Wizard。步骤是File - New - Library - PCB Library然后在 PCB 库编辑器里打开 Tools - IPC Compliant Footprint Wizard选择 LQFP按下一步输入器件参数。以 STM32H743VIT6 为例它的封装信息在数据手册里写得很明确LQFP-100本体尺寸 14mm x 14mm引脚间距 0.5mm引脚宽度 0.22mm引脚长度 0.5mm。把这些数字填进向导之后向导会自动帮你计算焊盘尺寸、丝印外框、Courtyard 占地面积。完成后别忘了做几件事设置参考原点Edit - Set Reference - Center让封装中心对准坐标原点在焊盘 1 位置放一个方焊盘并把 1 号引脚标识画出来方便焊接时对方向把丝印外框改成 14mm x 14mm 的正方再用短线标出引脚 1 的缺口方向用 Tools - IPC Footprint Wizard 生成的封装一定要跟数据手册的实际尺寸做一次“对账”特别是引脚数量是否 100、丝印框是否压到焊盘别机器给什么就信什么。如果你要手动画封装思路也一样先在空白封装电极编辑器里设置网格 0.1mm用 P 放置焊盘输入坐标和大小再通过编辑菜单的阵列粘贴功能把一排焊盘批量复制出来。这个方法适合你对 IPC 向导不放心的时候逻辑上更直观。2.4 封装里的“挖孔”怎么处理定位孔、散热焊盘、槽孔不少人搜“ad18 封装库挖孔”其实说的就是封装里的开孔一般分三种情况。第一种是金属化安装孔也就是螺丝孔带一圈铜皮可以接地也可以不接地。做法是在封装编辑器里放一个焊盘把孔设为所需直径比如 M3 螺丝用 3.2mm 孔再把焊盘外环设成 4.5mm 左右层属性选 Multi-Layer这样顶层底层都会露出一圈铜环。第二种是非金属化定位孔这种孔不需要导电。更常见的做法是直接放一个焊盘把 Hole Size 设成目标孔内径同时把焊盘铜箔外径也设成和孔一样大并取消“Plated”勾选这样加工出来就是没有铜环的裸孔。也有不少人喜欢在 PCB 编辑器里用 Place - Board Cutout 去切板但 Board Cutout 更适合做异形槽或者天线净空区而单纯的圆孔最好还是用焊盘方式表达因为钻孔文件能直接识别。第三种是槽孔比如某些连接器定位脚需要长条孔。在焊盘属性中把 Hole Shape 改成 Slot输入槽长和宽度即可如果在塑封芯片底部的大散热焊盘上做“挖孔”本质是打一排过孔阵列用来把大焊盘的热量导到背面铜皮上。STM32H7 虽然热量不算夸张但如果芯片底部有 Exposed Pad我建议还是用 0.3mm 孔、0.6mm 外径、0.8mm 间距的过孔阵列把它和底层 GND 铜皮连通这样长时间运行会更稳。2.5 建完库后如何管理一个实用主义库管理方案最后说说库的组织方式。我自己不会把所有封装塞进一个巨大无比的库里那样找起来很痛苦。我习惯按供应商或平台分库比如CAP_0201_1210.IntLib、CONN_USB.IntLib、IC_STM32.IntLib。每个库内部尽量让原理图符号和 PCB 封装一一对应编译成 Integrated Library这样原理图里放完元件封装自动跟随不用全图 CtrlA 再去手动指定。命名规则也很重要我一般按“芯片型号_封装名”的方式命名比如STM32H743VIT6_LQFP-100而不是简单写“MCU”。字段里把 Value、Manufacturer、Package 都填满将来导出 BOM 和做物料清单时能省很多事。STM32H7 系列如果用到的都是同一类 LQFP 封装你可以只建 LQFP-100 一个标准库模板后续换不同型号只是改原理图符号里那个 Device 名称而已。3. 原理图阶段最容易被忽略的细节从库匹配到 ERC 检查3.1 原理图环境与多页图纸的用法原理图在很多人手里就是个“连线工具”总觉得只要把引脚连起来就行其实这里隐藏着一个后面会非常痛苦的坑跨页连接。如果你只是画一张图纸那网络标号随便用。可一旦原理图超过一页Altium 的网络标号默认只在当前 Sheet 内生效不会自动连到另一页的同一个名字上。想在多页之间连通得用两种正规手段一种是放电源端口或 Port然后把它的“连接方向”设成跨页另一种是放 Off Sheet Connector让同名的跨页连接器在逻辑上相通或者干脆用层次原理图的方式。我在实际项目里见过最多的新手报错就是“Net X has fewer than two pins”或者“Net has only one pin”十有八九是因为跨页信号没连过去。AD23 里当你编译整个工程时会给出提示但这些提示往往被忽略直到导入 PCB 才发现某个网络只有一个引脚。所以从原理图一开始就要养成习惯多页图纸之间用端口或跨页连接器而不是想当然地以为“同名就是同一个网络”。3.2 一个“库匹配”的大坑原理图符号和 PCB 封装脱节第二个容易被忽略的地方是原理图符号里的 Footprint 属性和实际封装库里的名字对不上。在 AD 的原理图编辑器里每个元件都要在属性里指定一个 Footprint 名称这个名字必须和你封装库里的封装名完全一致。你可能会想“这么简单指定一下不就行了”但问题在于很多人画原理图时随手放了 Manufacturer Part Search 里的在线元件或者从网上下载的符号库符号里面自带的 Footprint 名称可能是别的一套比如叫ST-MCULQFP100、H743_Package跟你库里的STM32H743VIT6_LQFP-100对不上。解决的办法是在导入 PCB 之前统一做一次 Footprint Manager 检查。在原理图编辑窗口里打开 Tools - Footprint Manager它会列出工程里所有元件你可以批量检查每个元件当前分配的封装并直接替换成你自己库里的正确封装。这个动作我每次都做而且会在“Update PCB”之前做因为一旦封装不对PCB 里就会出现一堆 unknown pins 或者器件飞到莫名位置再回头改就乱了。另外要注意“库匹配”不只是名字对引脚编号也要对。原理图符号的第 5 脚如果封装里实际是第 6 脚PCB 上网络就错了这种错误 DRC 不一定抓得出来只能靠打样回来上电才发现。所以建库和建符号时引脚编号必须拿数据手册逐一对一遍尤其是 LQFP 这种引脚多的芯片串位一个就是灾难。3.3 电源与地用 Power Port、Net Class、去耦电容一次铺好原理图里的电源和地我从来不用普通的导线画横七竖八的长线而是直接用 Power Port 对象。AD 里带电压符号的那个小旗子本质上就是一个网络名称你放一个名为 3V3 的电源端口再在其它地方放另一个同样名字的电源端口它们在电气上就连通了不需要画线连过去。这里有个关键点5V、3V3、GND 的电源端口名称必须全局唯一不要一会儿写3.3V一会儿写3V3一会儿写3V3_这样“看似一家的电源实际是两路”PCB 里会多出好几个孤立网络DRC 又会报错。STM32H7 的电源引脚非常多VDD、VDDA、VDDUSB、VBAT、VREF 等建议你在原理图里把每个电源引脚都用专门的网络标号标出来再统一定义成 Net Class。比如在原理图里放置 Net Label 后可以附加一个参数NETCLASSPWR_3V3或者在 PCB 阶段再按网络名分好类。提前分好类的目的是为了后面设置 DRC 时能对不同网络应用不同线宽和间距。去耦电容这一块新手特别喜欢把所有 100nF 随便一放就算完事。实际上应该每个 VDD 引脚附近至少放一个 100nF 陶瓷电容并且在芯片四周再放 4.7uF 和 10uF 的大电容做储能。原理图里电容位置别看不上它决定了 PCB 布局时你有没有“就近放电容”的依据。电容应该在原理图阶段就画在对应电源引脚边上PCB 布局时照着搬电气效果才最好。3.4 ERC 检查怎么读错误与警告的取舍原理图画完后运行 Design - Validate Project在工程文件上右键 Compile PCB Project 也可以AD 会弹出一个 Messages 面板把所有警告和错误列出来。新手看到红色报错就慌了其实很多“错误”是对规则没理解。常见的几类“Unconnected Pin”某个引脚没连上任何网络。如果是故意不用的引脚应该在这个引脚上放一个 Place - No Connect 的 X 标记否则 ERC 会一直报“Net has only one pin”八成是网络标号悬空、电源端口名称拼错、或者跨页连接器没用对“Duplicate Designator”两个元件位号重复用 Tools - Annotation - Annotate Schematics 重新排号即可“Component has no Footprint”这种必须修不然 PCB 没法导入“Unused pin in Component”如果引脚本身是 NC 引脚在原理图符号里把它设成 No Connect 类型或者加 X 标记就可以消掉。ERC 的最终目标不是追求“零警告”而是每条警告你都知道是什么原因并且确认它不影响设计。我在实际项目里一般容忍三种警告芯片上确实不需要接的 NC 引脚、对外接口的未使用 IO、以及电源引脚因为库里画了两个相同名字端口造成的提示。真正要清零的是“UnRouted Net”和“Clearance”这类会影响生产或连接的条目。4. 布局布线实操一块 STM32H7 双面板的完整走线过程4.1 从原理图到 PCB 前的准备工作原理图检查没问题接下来才进入真正考验耐心的地方PCB 编辑器。首先要把板框定好。AD23 里可以用 Design - Board Shape - Redefine Board Shape直接用鼠标画一个矩形或任意多边形。但我更推荐的方式是先用 Keep-Out 层画闭合线框再选中这些线和弧执行 Design - Board Shape - Define from selected objects让板框和 Keep-Out 完全对齐。Keep-Out 层画线还有一个好处DRC 可以识别它防止元件和走线跑到板子边界外面。板框画完记得设置原点Edit - Origin - Set把原点放在板框左下角后面所有坐标都以它为基准Gerber 和钻孔文件也好对照。然后执行 Design - Update PCB Document把原理图信息导入 PCB。这里会弹出一个 ECO 列表你要检查每一项里有没有红色的“fail”标记。最常见的失败就是前面说的封装找不到解决办法是回到原理图做 Footprint Manager 替换或者先在 Libraries 面板里确认你建的库已经安装到当前工程。导入之后所有元件会堆在板框外别急着自动排列。我通常的做法是先用 “Arrange Components Outside Board” 把元件整齐甩到板框外面然后手动按功能区一个一个拉进去MCU 居中放晶振和去耦电容跟着 MCU 放LED 和按键按外壳要求放排针靠边放。自动布局工具在 Altium 里基本没法用新手别指望它。4.2 布局原则以 MCU 为圆心把晶振和去耦电容焊死布局是双面板设计里最影响成败的一步。很多新手一上来就急着走线结果走完发现元件位置不对又要推翻重来。我建议你在布局阶段就多花一点时间把下面这些原则落实到位。第一MCU 尽量放在板子中心偏上的位置让所有信号往外走有一个自然辐射状避免一堆线挤在一角。放 MCU 时要确认方向对不对最好让 1 号引脚位置和丝印缺口在视觉上一眼能看清方便焊接。第二去耦电容必须贴着 MCU 的电源引脚放。每个 VDD 引脚旁边的 100nF要在空间上尽量靠近那个引脚中间不要隔别的元件走线越短越好。如果实在挤不下可以把电容放到芯片背面的底层通过一个过孔直接接到顶层引脚效果比拉一根长线好得多。第三晶振要贴着 MCU 放两个负载电容分别放在晶振两侧离晶振越近越好千万不要让晶振离 MCU 一大截又绕一大圈走线不然起振不稳定或者根本不起振。晶振和这一类时钟走线周围最好留出干净区域不要让别的信号线贴着它平行走很远。第四接口和排针放在板边。SWD 排针要方便插线UART 排针按实际使用方向摆放按键和 LED 要大、要离板边有一定距离防止外力压坏。我习惯把所有排针方向统一丝印上写清楚引脚定义越直观越好。4.3 双面布线的交规顶层、底层怎么分工走线之前先做一个小规划双面板顶层走横向多底层走纵向多这样层与层之间交叉少过孔用得也少。这个规则对新手特别友好因为你在顶层横着走、底层竖着走看起来会非常整齐排查问题时也容易定位。AD23 里按 P T 开始交互式走线按 Shift W 可以切换线宽按 Shift V 可以快速切换过孔预设按*键可以自动换到另一面继续走而按 Shift R 可以切换“避让障碍物 / 忽略障碍物 / 推挤走线”三种模式。新手最容易栽在“忽略障碍物”模式下线会穿过别的网络却不自知所以我建议先把模式固定在“避让障碍物”Shortest Push Obstacles 那档。走线的时候心里要有优先级电源和地网络尽量粗关键信号比如晶振的两根线尽可能短USB 差分线如果存在要平行走并且长度匹配普通 IO 线只要不绕远就行。过孔不是越多越好但也不要为了省一个过孔去绕一大圈。一般我总是让电源网络用 20mil 线宽普通信号 10mil过孔内径 0.3mm、外径 0.7mm。这个组合既能保证焊接不会漏铜又不会让过孔占太多面积。走完一遍之后打开 Design - Rules Check你会看到很多“Un-Routed Net”别怕这说明还有网络没通。逐条点开错误定位把剩余网络补完。我常遇到的情况是某根线明明已经在旁边但因为中间隔了另一个网络AD 默认不让你跨过去这时需要把中间那条线微微让一让再继续走过去。4.4 电源与地的处理覆铜、过孔阵列和星型供电双面板“能用”和“好用”的一个分水岭就是电源和地的处理。很多新手把所有网络只管走完剩下大片空白区域不覆铜结果地回路又长又细板子工作一不稳定就怀疑是芯片问题其实都是地的问题。电源网络我通常用走线加局部覆铜两种结合。像 3V3 这种核心电源如果只是每个引脚单独拉一根 20mil 线出去线之间互相挤占效果并不好。有条件的话在顶层用一块独立的铜皮覆出来或者用粗的电源主干道把所有引脚连起来再在每个电源引脚旁边放下 100nF 电容。电源走线路径要尽量“星型”也就是从稳压输出端向各个方向散开而不是像串糖葫芦一样把 A 芯片的电源线又引给 B 芯片。地就更简单也更重要了。双面板的做法是信号走完以后把顶层和底层所有空白区域都覆上 GND 铜皮。覆铜操作是 Place - Polygon Pour双击设成 Net GND铜皮和走线直接的间距保持默认 8mil 或按 DRC 来。覆铜完成后再打一圈过孔把两层地铜皮缝合起来这叫 via stitching目的就是让顶层和底层的地电位尽量一致同时给回流信号提供短路径。给 GND 覆铜时还有一个细节SMD 焊盘要不要开热隔离。AD 里 Polygon Connect Style 这个规则决定了铜皮与焊盘的连接方式。对于 SMD 焊盘很多人喜欢用 45°四条腿的热隔离方式认为方便焊接但对芯片底部的地焊盘和大面积 GND 焊盘我更推荐直接用 0° 直连减小阻抗散热也好。手工焊接 0603 这种小元件时热隔离确实更友好所以你需要按器件类型分别设规则不是一刀切。4.5 我踩过的布局布线坑这部分是我最想让你认真看的因为都是真金白银换来的教训。第一个坑自动布线看起来很省事但结果几乎不能直接生产。AD 的自动布线对走线密度不高的简单板子可能凑合能用可对 STM32H7 双面板来说自动布线后往往会绕出一堆奇形怪状的回路电源和地的走线又细又长DRC 绿色了但上电后系统性不稳定。我的建议是新手务必手动布线哪怕慢也能逼你想清楚每条线为什么这样走。第二个坑把过孔打在 SMD 焊盘上。很多新手为了让底层走线方便直接在一个 0603 电阻的其中一个焊盘上打个过孔结果焊接时焊锡顺着过孔流的到处都是。除非你是成熟的 BGA 设计或者板厂明确支持过孔塞孔否则新手尽量不要做 via-in-pad。实在要走通把过孔打在焊盘旁边的空地上然后用一小段铜线连过去。第三个坑丝印文字压焊盘。AD 里放置丝印文字时默认会以“亮黄色”显示但在黑色阻焊板上可能看不太清。DRC 里的“Silkscreen Over Component Pads”规则能帮你查出来报错后把文字挪到焊盘外侧或元件本体上不要让它覆盖焊盘否则工厂可能拒收或者焊接时丝印阻碍上锡。第四个坑所有引脚都急着走线完全没考虑后面覆铜。同一块板子如果信号线把空白区域切得七零八碎覆铜就成了孤岛地回路极其糟糕。所以手动布线时要有“大局观”尽量让走线集中在一个方向把大块空白留给 GND 覆铜。这也是为什么我推荐双面“横平竖直”的原因。5. DRC 规则与打样厂的约束这样设置第一版就能通过5.1 DRC 规则不是越多越好关键是“规则的作用域”Altium Designer 23 的 DRC 规则体系很强大但也让新手望而生畏。其实你只需要理解一个核心概念每条规则都有一个作用域AD 会按优先级匹配。打开 PCB Rules and Constraints Editor左侧能看到 Electrical、Routing、SMT、Manufacturing 等分类。每新建一条规则你都要指定它作用于哪些对象是“All”所有对象、某个“Net Class”、某个“Layer”还是某个“Net”。比如我建一条走线宽度规则作用域是全部网络线宽设为 10mil再建一条高优先级的宽度规则作用域是PWR_3V3这个 Net Class线宽设为 20mil。这样 3V3 网络就会自动变粗而其它信号线保持 10mil。优先级的原则是“越具体的规则优先级越高”。在 AD 里多条规则冲突时会按优先级数字从小到大匹配数字越小优先级越高。所以我的管理习惯是最基础的规则用 All特殊网络用 Net Class 或 Net 作用域并且把特殊规则的优先级调高。5.2 一套打样厂通用的安全参数表下面这套参数我用过很多次送给第一次画双面板的你。注意不同厂家工艺下限略有差异下单前还是要去官网确认一次。DRC 规则设置值备注Clearance间距8mil保守板厂大都支持 6mil但 8mil 工艺余量更大Routing Width信号线宽10mil好走线也好排查短路Routing Width电源网络类20mil降低压降保证载流Routing Via Hole Size0.3mm常规机械钻便宜Routing Via Diameter0.7mm保证环形焊环Solder Mask Expansion0.08mm阻焊开窗比焊盘略大Silkscreen Over Component Pads0.2mm 或关掉丝印不压焊盘优先Minimum Annular Ring0.127mm防过孔焊环断裂Hole Clearance0.3mm防止孔壁间距过近Board Outline Clearance0.5mm铜皮与板边留安全距离你把这张表对照 AD23 的规则面板逐条设置基本就能过滤掉 90% 的生产问题。剩下的 10% 通常是特殊孔、特殊形状需要和工厂提前沟通。5.3 特殊网络规则晶振、USB 差分、电源怎么单独约束通用规则设好之后还要对一些特殊网络做“关照”。晶振网络比如HSE_IN、HSE_OUT这两个网络最容易受干扰。我会单独为它们建两条规则线宽放到 12mil间距放到 12mil让时钟信号周围留出更多净空。如果板子空间允许还可以在晶振下面放一个 Keep-Out 层禁布区避免其他信号从晶振底下穿过。USB 差分线如果存在原理图阶段就要给它加上“Differential Pair”指令生成一对DP和DN的网络类。导入 PCB 后在 Differential Pairs Routing 规则里设目标阻抗通过 Layer Stack Manager 里的阻抗计算器算出线宽和间距。双面板做 USB 2.0 Full Speed 不算太难但要是跑 USB High-Speed 480Mbps双面板的阻抗控制就比较吃力建议升级到四层板这个我在第一章节提过。电源网络服务器则更简单把 5V、3V3、VDDA 这些电源网络归到一个 Net Class设一个统一的高优先级宽度规则再给GND单独开一个规则让它在覆铜时不受限于信号线宽必要时可以用 30mil 甚至更宽的线去缝合不同地岛。5.4 跑一遍完整 DRC错误分类与修复实录所有规则设好后运行 Design - Rules Check - Run Design Rule Check部分版本在 Tools 菜单下AD 会生成一份 DRC 报告。第一次跑出几十个错误很正常重点是你会不会分类。我把常见的 DRC 错误分成三类。第一类是“没走完”报Un-Routed Net这种就是还有导线没接上或者某个引脚没有实际连到任何铜皮。定位到网络后手动把线补完覆铜网络对应的 GND 引脚有时报错检查一下覆铜有没有刷新按 T G A 重新铺铜可能就消掉了。第二类是“间距不够”报Clearance Constraint。有时候是两条线太近有时候是过孔和焊盘太近看错误里的坐标就能定位。如果真的空间很紧张可以把局部规则放宽但要保证不低于工厂下限。第三类是“规则本身写错了”比如Silkscreen Over Component Pads、Minimum Solder Mask Sliver这类制造检查报错。这类错误往往是因为丝印压在焊盘上或者两焊盘之间的阻焊桥太窄。你不一定要回到细节去修补但如果能修就修因为工厂看到一堆制造类报错会提高拒收概率。跑完 DRC 后我还会做一次“眼见为实”打开 PCB 3D 视图转一圈看看元件有没有重叠、插座方向有没有反、丝印有没有明显被盖住。3D 视图在 AD23 里已经做得很好甚至可以加壳体和安装孔位一起看这一步比任何规则都直观。6. 生成 Gerber 与拿到板子后的验证从 AD23 到上电6.1 Output Job 配置Gerber、钻孔、坐标文件一次导齐很多人画完 PCB 不知道最后要发什么文件给工厂要么只导了一个 .PcbDoc要么导出时漏了钻孔文件。记住一句口诀发给打样厂家的永远是 Gerber NC Drill不是 AD 工程文件。在 AD23 里最简单的方法是File - Fabrication Outputs - Gerber Files按向导设置参数。关键选项如下格式RS-274-X也叫 Gerber X2这是目前主流格式绝大多数工厂直接认单位毫米mm精度4:5 或 2:4 都可以推荐跟着你习惯的坐标精度走输出层选择 Used On 可以自动把所有用到的铜箔层、丝印层、阻焊层、助焊层、钻孔层都包含进来。如果你板框画在 Mechanical 1 层记得在 Additional Layers 里手动勾上镜像默认不镜像不要乱勾原点保持“Absolute Origin”或“Device Center”尽量别用浮动原点否则板子位置会漂。Gerber 导完后再执行 File - Fabrication Outputs - NC Drill Files输出钻孔文件。格式选 Excellon单位毫米精度选 2:4这样钻头位置清清楚楚。如果你用 Output Job 功能File - New - Output Job File可以把 Gerber、NC Drill、BOM、Pick and Place 打包成一个任务流程一键全部生成。我是强烈推荐你用这个方式的因为以后改版再出文件就不用重新配一遍参数了。6.2 Gerber 自检用 CAM 文件检查每一层文件导出来之后别急着下单先用 Gerber 查看器自己过一遍。AD23 可以直接打开你刚生成的 .GTL、.GBL 等文件它会进入 CAM 编辑器。这时候你要检查几件事板框是否闭合是不是一个完整的封闭图形所有层位置是否对齐用“全选”方式看是否有一个明显的公共基准点丝印层有没有文字挡在焊盘上阻焊层开口是否正好包住焊盘有没有明显偏大或偏小钻孔符号是否都在焊盘中心。如果你不想打开 AD 的 CAM 编辑器也可以把 Gerber 压缩包上传到在线 Gerber 查看器用那个网页翻一翻每一层。这一步看起来多余但绝对值得做。我遇到过 Gerber 里漏了 Mechanical 层导致板框缺失、工厂打电话问板子外形的情况要是提前看一眼就能发现。6.3 下单前核对清单把 Gerber 包发给工厂前我习惯按下面这份清单扫一遍你也别嫌啰嗦[ ] 层数写的是 2 层材质 FR-4板厚 1.6mm[ ] 铜厚 1oz表面处理选喷锡HASL就够了没必要加钱做沉金[ ] 阻焊颜色、丝印颜色是否是你想要的样板一般用绿色油墨加白丝印[ ] 文件包里有 Gerber、钻孔文件、BOM、坐标文件[ ] Gerber 和钻孔文件的单位都是毫米且坐标原点一致[ ] DRC 报告里没有Un-Routed Net和Clearance Constraint级别的错误[ ] 生产工艺里最小线宽/线距填的参数大于或等于你设计里的最小规则[ ] 如果有非金属孔、槽孔已经和工厂备注清楚位置和规格。这一套检查做完板子到了工厂手里基本就是一键下单的水平不用反复邮件沟通“能不能做”的问题。6.4 样品上电前的快速检测方法板子回来后切记不要直接插电。第一步是外观检查用放大镜或手机微距镜头看焊盘有没有连锡、虚焊芯片方向有没有贴反排针有没有歪。第二步用万用表量电源端3V3 和 GND 之间如果短路表会叫这时绝对不能上电如果不短路再把电源插上但最好用可调电源设定 3.3V、限流 300mA而不是直接拿稳压模块裸奔。上电后先摸芯片温度如果只是轻微温热说明通电电流正常如果烫手或者闻到糊味立刻断电。然后拿示波器量 25MHz 晶振引脚应该能看到稳定的正弦波或方波量不到就查负载电容和晶振走线。如果晶振正常用 ST-Link 或 J-Link 连到 SWD 口看能不能识别到 STM32H7 的内核。能识别后烧一个最简单的 LED 闪烁程序LED 亮了这块板子就算“能用”了。我个人的习惯是烧录程序前先看一遍工程里的 DRC 报告再做一次 Gerber 自检。很多次都是这个动作救了板子因为哪怕原理图是对的库匹配出错、丝印压焊盘、电源网络归类错误这一类“慢性病”都会在实物阶段才暴露出来。最后再分享一个小技巧把这套 DRC 规则导出保存成一个规则模板文件下次新建工程直接导入你就不用每次从头设置线宽间距和过孔参数了。这个习惯一旦养成后续每一块板子的起步质量都会高出一大截。