
第一次把一块STM32控制板从原理图画到PCB再到发去板厂打样、回来焊上器件看到LED按程序亮起来的那一刻我心里其实没有太多惊喜反而是实实在在的后怕——因为在原理图阶段有太多我以为没问题的细节最后全靠运气才没变成废板。学Altium Designer以下简称AD就是这样软件本身并不难难的是把原理图、PCB、元器件库、设计规则这一整条流水线的逻辑理顺。这篇就是我整理出的AD学习笔记写给正在入门、想从画一张原理图一路走到完整出板的人也写给那些画完PCB却总在制板回来后才发现问题的朋友。整个过程我会按真实项目的推进顺序来讲包括每个环节的取舍和踩过的坑。1. 在众多EDA里我为什么最后留在了AD上1.1 EDA选型的现实考量很多新手会纠结第一个EDA工具选什么。这个纠结很正常但别花太多时间。我个人的经历是先后试过嘉立创EDA、KiCad、PADS最后在AD上稳定下来不是因为AD完美而是因为它在学习成本和工程能力之间取了一个很适合单片机和中小型板卡的平衡点。简单说说这几款工具的差异工具上手难度库资源适合场景主要短板嘉立创EDA低在线封装库极丰富简单板、学生项目、快速打样大型复杂板卡项目管理弱KiCad中低开源库质量参差个人项目、对成本敏感商业项目协作资料少AD中自带库各大厂商库消费电子、工控、电源、教育资源占用大正版价格高Cadence/Allegro高偏高速/复杂板卡服务器、手机主板、高速数字学习曲线陡个人用很少PADS中高日系/台系中小公司常用中等复杂度产品交互逻辑老旧资料少如果你做的是单片机控制板、传感器采集板、电源模块、电机驱动这类中等复杂度的板子AD是性价比最高的选择。它不像Cadence那样上下游配套复杂画原理图和画PCB的交互逻辑是一致的不会出现原理图一套操作、PCB另一套操作的割裂感。1.2 AD的一条龙工作流记住AD的核心工作流后面对任何项目都不慌新建工程 → 画原理图 → 编译检查ERC → 导入PCB → 布局 → 布线 → 覆铜 → DRC → 输出制造文件这个过程看起来很线性但实际上很多操作是反复迭代的。比如布局阶段发现某个封装选错了要回原理图改再重新导入PCBDRC报了间距错误要回规则设置里调参数。这就要求从一开始就把工程文件组织好否则后面改一处牵一发动全身。我见过太多新手直接在新打开的文件里画原理图画完发现要导PCB时没有Project的概念结果网络标号全是灰的。记住在AD里Project.PrjPcb是老大原理图、PCB、库、输出文件全部挂在它下面这样才能统一管理网络和封装信息。2. 原理图阶段把这些功课做扎实PCB能省一半力气2.1 新建Project不要从新建图纸开始打开AD后正确的第一步是File → New → Project → PCB Project然后在这个Project下新建原理图Schematic和PCB文件。这么做有两个直接好处一是网络标号自动全局可见。同一Project下的多张原理图只要用相同的网络标签Net Label它们就是同一个网络导PCB时所有引脚连接关系都会自动带过去。二是编译时能查出跨图纸逻辑错误。比如你在一张图纸上用了3V3另一张图上用了3.3V人眼很难发现但编译后AD会提示这是两个独立网络。这种低级错误在真实项目里非常致命轻则板子功能异常重则烧坏器件。新建工程时还要养成一个习惯把文件分类建文件夹。我的固定结构是这样的Project文件夹/ ├── 01_Sch/ # 原理图文件 ├── 02_Pcb/ # PCB文件 ├── 03_Lib/ # 自建原理图库封装库 ├── 04_Outputs/ # Gerber、BOM、贴片坐标等输出 └── 05_Docs/ # 规格书、参考设计PDF文件命名也建议带版本号比如ControlBoard_V1.0_Sch.SchDoc。别笑很多人到最后文件夹里全是Sheet1.SchDoc和NewProject.PrjPcb过两个月自己都分不清哪个是最新版。2.2 元器件库卡住新手最多的地方原理图阶段最花时间的往往不是画图而是找元器件库。AD自带的库虽然数量多但型号偏老旧很多常用芯片找不到。我在学习STM32F103C8T6最小系统时就经历过符号画好了但封装对不上的狼狈。现在靠谱的库来源有三个厂商官网的AD设计资源。ST、TI、NXP这些大厂官网都提供官方符号和封装这是最可靠的来源。比如你要画STM32F103C8T6最小系统直接去ST官网找该型号的CAD资源原理图符号和PCB封装都是验证过的。嘉立创EDA库转AD格式。嘉立创EDA的元件库非常全DHT11温湿度传感器、WS2812B灯珠、TB6612电机驱动这类常用器件都有。在嘉立创EDA里找到元件后可以下载AD格式的库文件导入后直接用。这个方案相当实用我已经用它省了大量手动画库的时间。自己建库。这是必须掌握的技能。复杂器件比如管脚很多的BGA芯片、异形封装和带有明确机械结构要求的器件建议亲手画并严格对照数据手册的封装尺寸。我在绘制4-20mA电流环调理电路时选了一颗小封装运放标准库里的封装引脚间距和实际芯片差0.2mm放上去就立不起来。所以关键器件的封装一定自己核对。建库时有一个地方很坑原理图符号的引脚号和PCB封装的焊盘号必须一一对应。原理图符号里Pin 1是VCCPCB封装里焊盘1也必须是VCC否则导网表后电气关系全乱。检查方法很简单在封装编辑器里打开Pin Map逐项核对。2.3 原理图绘制中必须养成的几个习惯画原理图不只是用线把器件连起来有几个习惯是从PCB阶段倒推出来的电源和地不要乱用符号。很多教材喜欢用VCC、VDD、GND这种电源端口符号但在混合信号电路里一定要区分模拟地和数字地。我画STM32最小系统时会把模拟地AGND和数字地GND分开画在原理图上用0欧电阻或磁珠单点连接这样PCB上地平面才不会互相干扰。网络标号命名要规范。信号名能读出功能比如MCU_TX、MCU_RX、LED1_CTRL、MOTOR_PWM而不是NET1、NET2。AD的交互式布线能显示网络名PCB布局时看到MCU_TX就知道这根线往单片机方向走效率高很多。用子图拆分功能模块。一块复杂板子如果画在一张原理图里密密麻麻的连线会让PCB布局时无从下手。我现在习惯把电源模块、主控模块、接口模块拆成多张Sheet每张内部用网络标签互联。PCB布局时按Sheet分Room整个布局流程会清晰很多。仔细使用错误检查。原理图画完不要以为就完了先Project → Compile PCB Project看Messages面板有没有warning。最常见的警告包括引脚悬空Floating Net Label多个名称指向同一网络重复的元件标号把这些警告一个个点开修正远比导入PCB后对着绿色高亮排查舒服。请相信我这一步是画完原理图立刻做和PCB画到一半才做的区别后者会让你怀疑人生。3. 从图纸到板子PCB导入前的最后一道关口3.1 板框设计结构决定了你能不能装进外壳PCB不是随便画个矩形就行板框直接决定了能不能装进外壳、螺丝孔位置对不对。设计板框有几种方式手工画在机械层Mechanical 1用Place Line按尺寸画矩形或异形再选中边界线执行Design → Board Shape → Define from selected objects。这里注意别用Keep-Out层画板框Keep-Out层是电气限制区用于表示哪些区域不能布线不是板框。DXF导入结构工程师给的DXF文件可以直接导入AD作为机械层定位。这一步能彻底避免板子做好了装不进外壳的悲剧。参考结构件位置如果板框内有定位孔、开窗区域先把这些位置用机械层标记出来再画板框。画完板框建议立刻放几个螺丝孔。散热器、端子台、显示屏固定的孔位通常由结构决定后面再加非常麻烦。螺丝孔别直接用焊盘凑建议用机械层放置的中心孔Keep-Out钻孔标记或者直接用Place → Via加No-Plated属性否则制板时可能做成金属化的。3.2 Update PCB Document导入原理图信息的正确姿势板框画好、原理图编译通过后开始导入网络信息。操作路径是Design → Update PCB Document 文件名.PcbDoc → 执行变更Validate Changes → Execute Changes这一步会把所有元件的封装、网络连接关系、标号全部同步到PCB文件中。AD会自动生成Room原理图子图对应的区域为分组布局提供便利同时自动按封装类型分类生成类Component Class后面批量设置线宽规则会用到。这里有一个新手特别容易卡住的地方元器件导入后封装会堆叠在板框外同一个位置。不要慌这是正常现象。在PCB上选中所有元件右键器件排列 → 在板框内排列即可或者手动逐个拖进板框。3.3 导入后立刻要处理的三个异常我在这个环节几乎每一次都会遇到下面至少一个问题整理出来问题一器件显示绿色高亮。绿色通常表示违反了当前的间距规则但有时候是新封装刚导入系统的规则设置还没跟上。解决思路是先跑一遍DRC看具体报的是什么而不是盲改颜色设置。问题二PCB上器件不能选中。点选时发现元件像锁死了一样选不中。这个一般不是文件坏了而是当前处于某个过滤状态右下角Panels → PCB Filter里的过滤条件清掉或者按快捷键Shift F清除过滤即可。问题三飞线不见了/网络表没导入。检查原理图和PCB是否在同一个Project下并且PCB文件的命名和Update PCB Document里选择的文件一致。很多时候是文件不在Project下导致网络信息没同步过去。导入成功后不要急着布线先去PCB → PCB List面板核对元件数量和网络表数量再开始布局。4. 布局布线与规则设置PCB设计的灵魂4.1 布局的拓扑思维PCB布局不是把元件摆得好看就行核心是按功能模块的电流流向和信号流向摆放让PCB走线短、回路小、干扰少。我以自己画的TB6612电机驱动板为例。TB6612是双路电机驱动芯片两侧各有一组H桥输出工作电流较大。布局时我先确定连接器和功率输出端子的位置把它们放在板子边缘且靠近TB6612输出引脚中间尽量不隔其他元件。这样功率走线短且直避免大电流路径在板内绕圈也不会把干扰带到控制信号区域。具体布局优先级是确定安装结构和连接器电源输入、USB座、排针、电机端子放在板边对应外壳开口处。核心主控STM32或主控放在板中央偏向连接器一侧方便走线到周边功能模块。功率区和信号区分离电机驱动H桥、功率MOS、电源开关这类器件放到板子一侧与传感器、晶振、模拟电路远离。退耦电容紧贴电源引脚每个芯片的VCC附近必须有0.1uF乃至10uF的电容放得太远等于没放。特别注意晶振尽量靠近MCU引脚。这个看似细节却非常影响系统稳定性。晶振到MCU的走线长了轻则时钟抖动重则系统启动异常。4.2 布线规则设置让规则替你盯细节布局完成后布线之前先花30分钟设规则。AD的Design → Rules里有几个必改项Clearance间距默认0.25mm。对小尺寸设计可以设到0.2mm但板厂一般建议最小0.15mm以上。设太小DRC时会报一堆错也会增加生产难度。Width线宽分全局和类别两种。信号线0.2mm~0.3mm电源线1mm以上特殊信号按条件设置。Via过孔默认外径1.27mm、孔径0.7mm有点偏大。常见组合是外径0.6mm、孔径0.3mm制板成本差异不大。Silk to Solder丝印到焊盘的距离防止丝印压到焊盘影响焊接一般设0.25mm。AD的规则还支持按网络或元件类设置。比如把电源网络全部归到PWR类单独设置一个线宽≥1mm的规则把差分对网络单独设间距约束。实测下来这套功能非常省心有时候两三天后回来看PCBAD一直帮你在后台守规则。布线时常用的几个快捷键新人先背下来快捷键功能TM交互式布线模式ShiftW快速切换线宽*切换布线层ShiftS只显示当前层Ctrl滚轮快速缩放L板层设置AD的交互式布线比PADS顺手得多原因是它能自动推挤、自动泪滴、自动修线。不过自动推挤打开后如果PCB太乱反而会卡顿建议前期手动布线为主后期再开启自动修线。4.3 线宽与电流的关系很多新手不看电流就随手给电源线定了0.3mm线宽结果一发板回来通电后电源线发热甚至烧断。线宽与载流能力的关系非常直接。工程上常用的经验值是1oz铜厚35um下一般环境温度25℃、温升不超过10℃时1mm线宽大约对应1A电流。但这是粗略估算准确值还要考虑铜厚、线宽、环境温度、散热条件。线宽mm1oz铜厚估算载流A用途参考0.20.3常规信号线0.30.5普通信号、I2C、UART0.51.0低速电源分支1.02.0电源主干、LED驱动2.04.0功率回路、电机供电3.06.0大电流电源、发热器件这组数据不是绝对标准但作为经验表足够用了。如果你画的是反激式开关电源PCB或者电机驱动板大电流路径还要考虑用覆铜加强比如底层铺一整块GND铜皮既散热又导电。特别提醒过孔也是载流瓶颈。一根2mm宽的电源线到了过孔处如果过孔孔径只有0.3mm铜壁很薄载流能力会大幅下降。大电流路径要么开多个并联过孔要么直接用焊盘做换层。4.4 层叠设计与高低压隔离AD里设置层叠是在Design → Layer Stack Manager这是初学者容易忽略但极其重要的环节。两层板还是四层板直接影响性能和成本。两层板Top Signal / Bottom Signal GND只适合普通单片机电路器件密度不能太高。底层最好大面积铺地铜给信号提供回流路径。四层板Top Signal / GND / PWR / Bottom Signal信号质量上一个大台阶。信号层紧贴参考平面回流路径短EMI好很多是目前主流的中等复杂板卡选择。层叠设置里还有一项介质厚度层叠厚度AD默认的厚度不一定符合你的实际制板需求。比如你希望板厚1.6mm层叠结构中铜厚、介质厚度、阻焊厚度都要相应调整。不同层叠的阻抗特性也不同如果做高速信号比如DDR4必须控制单端50欧、差分100欧这时可以在Design → Layer Stack Manager里设定叠层厚度和参考平面并用阻抗计算工具估算线宽。还有一个容易被忽略的规则高低压隔离。在反激式开关电源、AC-DC电源这类高压侧与低压侧共存的板卡上爬电距离是安全关键。交流220V的高压区域与低压控制区域之间PCB铜皮间距、开槽、爬电距离都要达到安全规范要求。比如AC侧和DC侧之间至少留2mm以上爬电距离具体按应用标准计算必要时在PCB上铣长槽杜绝漏电。这不能省安全绝对不能将就。4.5 回流路径与一些常见信号PCB的地不是随便铺一块铜就行它其实是所有信号的返回路径。高频信号的回流电流会自动走在信号线正下方的参考平面上因为那样回路面积最小、电感最低。所以两层板布线时底层铺地后尽量不要切断它。比如底层被走线划成几块信号回流路径变长EMI会显著恶化。四层板的GND层一般是完整的不存在这个问题。我在画4-20mA电流环采集电路时就吃过亏。传感器输出的模拟小信号和单片机数字地直接大面积共地结果采集数值抖动非常严重。后来把模拟部分单独划出一小块地通过磁珠单点连接到数字地数据立刻稳定了。这个经验后来我应用在DHT11、WS2812B这类单总线通信的板卡上也一样受用——信号走线尽量远离电源开关节点和电机驱动输出避免高频噪声耦合进来。并不是所有信号都要追求高速。像4-20mA、RS485、SPI这类信号重点是干扰隔离和阻抗匹配而不是盲目加大线宽或追求短走线。搞清信号类型比记住一堆规则更重要。5. 覆铜、DRC与生产前的最后一站5.1 覆铜的设计意图和设置覆铜Polygon Pour不只是把空白区域填满它有两个核心目的提供完整的地平面/电源平面给电流提供低阻回路。散热。功率器件下的铜皮面积直接决定热量能不能及时带走。覆铜的操作路径是Place → Polygon Pour然后选择网络通常是GND。设置时注意两点一是连接方式。默认的覆铜与过孔连接方式常见有Solid实心直连和Thermal Relief热焊盘。热焊盘通过4个小细条连接焊接时热量不会全被铜皮带走适合手工焊接但大电流路径上热焊盘会明显减小有效载流所以功率覆铜建议用Solid。我的做法是信号地/小电流区域用热焊盘功率地/电源覆铜用Solid。二是网格还是实心。实心覆铜导电散热最好网格覆铜在高频下有抑制涡流的作用但载流差。普通板子直接Solid即可网格一般用于特殊射频场合。覆铜之后别忘了放几个缝合过孔。这些过孔把顶层和底层的GND铜皮连起来减小回流路径阻抗。在信号密集区域和板框边缘均匀放置一排过孔效果非常明显。5.2 DRC检查的完整链路布线覆铜完毕接下来是Design → Board Clearance之外的真正核心环节运行DRC。快捷键TD或者Design → Run Design Rule Check。运行完看Messages面板常见错误类型及处理思路如下错误类型含义常见处理Clearance Constraint间距不足检查规则设置或重新推挤Short-Circuit短路必改错误定位到具体连线Un-Routed Net有飞线未连接检查隐藏飞线补布线Un-Connected Pin引脚未连接回原理图查网络连接Silk Over Component丝印重叠调整丝印位置Minimum Solder Mask Sliver阻焊桥过窄调整焊盘间距Hole Size Constraint钻孔尺寸超限调整过孔/孔大小DRC报没有错误不代表板子没问题。DRC只能检查规则内的物理连接不能检查电气逻辑和信号完整性。举个例子你把一个0欧电阻的两端连到了同一网络DRC是查不出来的但焊接后这个电路实际上就是错的。所以原理图阶段编译检查做得越扎实PCB后期越省心。还有一个容易踩的坑DRC报错用红色/绿色高亮标记后很多新手不知道怎么取消高亮。按ShiftC清空过滤或者Tools → Reset Error Markers规则检查显示就恢复了。5.3 输出制造文件Gerber、钻孔、BOM、贴片坐标板子设计完成最后一公里是输出制造文件。AD的File → Fabrication Outputs → Gerber Files是常用路径。Gerber输出设置有几处必须注意格式选RS-274X这是目前绝大多数板厂的标准格式不需要再包含内层光绘文件。层选择必须把Top Layer、Bottom Layer、Top Overlay、Bottom Overlay、Solder Mask、Paste Mask、机械层等全部勾选尤其是Solder Mask阻焊层和Paste Mask钢网层容易漏。单位选英制英寸精度设置为2:4或2:5。2:4表示前面2位整数、后面4位小数英寸精度是0.0001英寸足够。有些板厂要求2:5最好提前问一下。还需要输出钻孔文件NC Drill Files和Pick and Place贴片坐标文件。BOM表在原理图里Reports → Bill of Materials导出如果板子需要SMT贴片BOM和坐标文件是必须的板厂会根据坐标文件贴片。我在这个环节踩过一个很经典的坑导出的Gerber里只有部分区域可以看到丝印或走线。很多时候是视图设置里层没全部勾选或者某些元素画在了隐藏层。输出前先在Gerber设置里点击预览逐层检查一遍确认每一层内容都完整再发送给板厂。顺便说下热词里常出现AD导入Gerber转PCB——这个需求一般是想从外部拿到Gerber后反推原文件但Gerber本身就是制造数据丢失了大量原始设计信息转出来的PCB很难编辑。建议直接和提供方要原始PCB文件或者用AD的Import → Gerber查看只读数据。6. 我在真实项目里踩过并整理出的AD高频问题6.1 封装管理引脚错位、异形焊盘、管脚很多的器件封装库管理是个平时不觉得错一次要命的事情。我画过一颗管脚密集的DDR4内存颗粒按数据手册画好所有引脚导到PCB才发现引脚顺序错了——原理图符号的引脚顺序是按功能排列的但封装焊盘是按物理位置排列的两者没对应上。这属于原理图库和PCB库映射错误比画错尺寸更难发现因为原理图编译和DRC都不会报错。解决思路只有一个建库时严格对照数据手册的Pinout表格。画完封装后在封装编辑器里按View → Pin Map逐项核对原理图符号引脚号和PCB焊盘号。这个操作花不了几分钟但能省下一次打样来回的两三百块和一周时间。对管脚很多的器件我的经验是先画封装再画原理图符号。因为封装上的焊盘号是完全按照物理位置来定的原理图符号再去适配它不容易出错。如果反着来画原理图符号时灵活排序后续对映射很痛苦。另外3D模型不是可有可无的东西。在封装里加Step模型后AD的3D视图能帮你直观检查高度干涉、安装方向是否合理。很多器件在官网都能直接下载3D模型和封装库一起导入只需在封装编辑器里Place → 3D Body载入Step文件。6.2 AD日常维护与疑难杂症这里集中回答几个热词里反复出现的常见问题AD如何清理缓存AD用久了会积累大量临时文件导致启动卡顿、界面加载慢。在Settings → System → Data Management里可以设置缓存路径和清理临时文件。实际上更直接的做法是定期删除C:\Users\用户名\AppData\Local\Altium\下的临时目录但注意关掉AD再删。如果只是某个文件特别大也可以用Save As另存为一个新文件往往体积会小很多性能也回来了。PCB上器件不能选中如前面所说大多是被过滤条件绊住了。按Shift F清除过滤或者右下角Panels → PCB里找到清除过滤按钮。如果是单个器件不能选中看看是否被锁定了双击器件取消Locked即可。PADS的PCB文件提示报错自动关闭这不是AD的问题是PADS文件本身损坏或其库文件关联出错。想用AD打开PADS的PCB文件正常流程是File → Import → PADS ASCII先让PADS导出ASCII格式AD才能比较好地处理。直接把.pcb文件拖进AD通常只会看到一团乱甚至直接崩溃。螺丝孔制作普通螺丝孔用Place → Via然后在Properties里把Plated复选框去掉就是非金属化孔孔径按螺丝直径0.3mm左右预留。如果是需要和地相连的安装孔金属外壳接地用则做成金属化过孔孔径和焊环尺寸根据螺丝规格来。AD20导出原理图PDF只有部分区域这通常是打印范围设置问题。导出PDF时在Print Properties里把Scale设为Fit Document On Page或者用Smart PDF向导它能自动识别全图纸并分页导出。6.3 关于AI生成原理图和PCB的一点个人看法最近AD AI生成原理图和PCB的讨论很多。我的看法是AI生成作为辅助框架是有用的比如快速搭出电源电路的拓扑结构、给出标准的参考设计布局能节省大量从头画的时间。但如果你连这个电路的工作原理和设备选型依据都没搞懂AI生成的图是没有灵魂的——你不知道为什么这里是10uF而不是100nF为什么这个电阻取1k而不是10k。我现在用AI工具的方式是让它生成一个候选方案的框架然后自己核对每个器件的选型、封装、关键参数再基于参考手册手动调整。这样既提高了效率也保证了图纸质量。学习阶段我反而建议别过度依赖AI因为手画一遍的过程其实是在把电路原理刻进脑子里。最后分享两个个人经验画了这些年板子最想说的一句话是PCB设计不是画完线就结束而是验证完、思考完、再优化一遍才算结束。每次发板前我都会按照原理图编译 → 元器件选型复核 → 封装核对 → 布局复盘 → DRC → Gerber逐层预览 → BOM核对的顺序走一遍大约需要四十分钟但已经帮我挽回了至少三次打样废板的损失。另外一个很实用的小技巧是保留你的旧版文件。AD的工程结构里每版命名清晰万一最新版改坏了随时能回退上一版而不是靠CtrlZ后悔。很多项目做到后期真正花时间的不是画图而是来回筛选最优方案这时候版本管理就是你最大的底气。最后再补充一句AD的学习路径没有捷径但可以少走弯路。先完整走通一个中小规模的板子——比如一块STM32控制板、一块DHT11传感器采集板、一块TB6612电机驱动板——把原理图到Gerber的全流程经历一遍比看一百篇教程都有用。画板这件事最难的不是软件操作而是你愿不愿意静下心来把每一个细节都做到可控。