ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Altium Designer实战:从原理图到PCB的完整流程与避坑指南

Altium Designer实战:从原理图到PCB的完整流程与避坑指南 很多刚接触Altium Designer的人往往不是被原理图难倒的反而是一到PCB阶段就卡住封装对不上、飞线满地乱飞、规则不生效、出了Gerber厂家说打不开。我刚开始做硬件那会儿也把这些坑挨个踩了一遍。后来带过几个新人发现大家有个共同的问题——默认“从原理图到PCB只是点一下Update”所以真正出问题的地方全都在按那个按钮之前的准备和检查环节。这篇文章我不想讲一堆零碎的功能说明书而是按我自己做项目时的实际流程把从原理图到印制电路板这条链路完整拆开工程结构怎么搭、原理图怎么画才不容易给PCB阶段埋雷、导入PCB之后怎么一步步处理和检查最后到出Gerber生产文件。整个流程用STM32最小系统、TB6612电机驱动这类常见电路做例子不同基础的读者都能找到直接能用的那部分。1. 开工前先收拾明白工程目录和两套库很多新手上来就新建一个.PrjPcb然后直接放一个原理图就开始画画到一半想加个器件发现库里没有想挪个文件结果整个工程链接全断最崩溃的是一份板子用到的封装散落在各个历史工程里换台电脑就全找不回来。这些问题的根源不在操作而在工程一开始就没立好规矩。1.1 工程文件的推荐组织方式Altium Designer的工程文件*.PrjPcb本质上是一个“链接着一堆源文件的容器”它并不把原理图和PCB都装在同一个文件里。所以如果你在资源管理器里随意移动文档Altium Designer下次打开工程就会提示找不到源文件需要手动重新定位。这在高密度项目里是极度烦人的。我的习惯是给每个项目单独建一个文件夹文件夹内部再按功能分层项目名/ ├── 00_Docs规格书、参考设计、需求文档 ├── 10_Project工程文件.PrjPcb和相关配置 ├── 20_Sch原理图源文件 ├── 30_PcbPCB源文件 ├── 40_Lib该项目专用的原理图库、PCB库、集成库 └── 50_OutputGerber、BOM、坐标文件等交付物这样做的直接好处是任何时候要交接给同事或发出去打样只需要打包整个项目文件夹库和输出都齐别人打开之后不需要手动指向任何一个文件。另外Altium Designer的工程文件里可以配置Output Job指定输出路径统一指向50_Output省得每次出Gerber都满硬盘找文件。1.2 原理图符号与PCB封装的“一对一”关系大多数新手卡在库上的那个“致命点”是没搞清楚一个器件的存在包含两套描述原理图符号Symbol管逻辑连接PCB封装Footprint管物理尺寸。想让一次Update Schematic to PCB之后器件不报错两套描述必须严格对应。很多教程会教你自己画集成库*.LibPkg把原理图库和PCB库打包成一个.IntLib。如果项目不大我也建议至少把最常用的器件做进一个项目专用库方法不难新建Library Package添加SchLib和PcbLib分别画符号和封装最后Compile成集成库。为什么强调这个因为实际项目里官方库器件改名、封装不准确的情况太多了自己建库等于建立了一份额外的“产品数据清单”哪怕只是给电阻电容换一句更清楚的注释后期排查问题都会快很多。实操里还有一个容易忽视的细节原理图库的引脚编号必须和PCB封装焊盘编号一致。比如三极管原理图引脚写B、C、EPCB封装焊盘却是1、2、3导入后网络表会直接报“Footprint not found”或引脚不匹配这种情况在分立器件上尤其常见。所以建完库之后务必做一次Tools - Footprint Manager的对比检查把每个引脚的映射关系看清楚。2. 原理图阶段会影响PCB顺利程度的四个习惯原理图在很多人眼里只是“把器件用线连起来”但做硬件的时间越长我越觉得原理图是一份“设计意图说明书”它的结构直接影响后面PCB布局布线是否顺手。几个特别影响后续流程的习惯值得单独说。2.1 按信号流摆放而不是按元件类型堆画原理图时如果你把电源芯片放在右下角、MCU放在左边、电机驱动放右上角看起来互不干扰但一生成PCB飞线往往乱成一团。这是因为原理图位置信息虽然没有被强制转移到PCB但绝大多数工程师在布局时都会无意识地参考原理图的摆放关系。我的习惯是从左到右严格按照信号流排输入端在左处理器居中输出端在右电源模块单独放在下方或左上角。这样进入PCB阶段后初始布局状态就已经接近最终形态搬器件的时间能省掉一半。DHT11这类传感器模块的接口也尽量安排在最靠近板边的位置对应的网络标签名称直接标注清楚后面布板时IO口不走远路。2.2 网络标签和连线的使用边界很多人喜欢把所有连接都画成实际的线结果原理图密密麻麻连成蜘蛛网检查起来痛苦无比。正确的做法是局部的、物理距离近的连接用实际导线远距离或跨页的连接用网络标签Net Label电源和地直接用电源符号不要画一条长线拉到芯片电源脚。这里有一个新手常踩的坑网络标签的中文和空格问题。Altium Designer虽然能识别中文字符但Gerber层面、坐标文件导出、甚至部分下游系统对非ASCII字符处理并不统一。我自己遇到过坐标文件里的网络名带中文导致SMT贴片设备程序导入报错的情况。所以网络标签、位号、器件的Comment命名一律用英文和数字加下划线不要出现空格和中文。2.3 位号重新标注必须在生成PCB之前做原理图画完元件编号可能乱糟糟比如U1旁边是R7和R3。如果直接进入PCB阶段PCB丝印上的位号也会沿袭这个乱序。等板子打样回来调试时在PCB上找“R23电阻”要对着原理图翻半天。正确做法是在原理图阶段执行Tools - Annotation - Annotate Schemas Quietly让位号按从左到右、从上到下的顺序重新编号。等你觉得原理图不再动了、准备同步PCB之前再做一次位号复位之后PCB上就尽量不要再改动位号否则原理图和PCB来回更新会非常痛苦。2.4 给每个器件填参数尤其是“占位属性”设计阶段的器件参数比如电阻阻值、电容容值、耐压、精度甚至供应商料号都要在原理图阶段填进Parameter。这不是为了好看是后面BOM导出的数据来源。Altium Designer有默认的BOM模板但公司不同BOM格式也不同。我见过太多人因为原理图参数没填清楚最后花一下午手工补BOM。早填十分钟后面能省两小时。3. 从原理图“跳”到PCB别急着动飞线原理图确认无误后所有人都会迫不及待地Design - Update PCB Document然后看到一堆元器件被扔到一个默认黑色框里。但这只是一个开始在移动任何器件之前有三件事值得先做。3.1 编译和ERC是过不去的门槛Altium Designer不像某些在线画图工具那样边画边自动校验是否能进入PCB取决于原理图能不能通过编译Compile和电气规则检查ERC。点击Project - Compile PCB Project之后Messages面板会列出错误和警告。常见的报错有Net has no driving source网络没有驱动源一般是信号源接错或漏接Unconnected pin有引脚没接上Duplicate net name网络名重复Floating power pin电源引脚悬空未接电源符号很多新人看到这些就慌了其实面板里的每一项点进去Altium Designer会直接高亮定位到对应位置。我建议把所有错误项清零再进入PCB警告项也要逐条看尤其是“Unconnected pin”这一类的极有可能是原理图连线漏了一根直接同步到PCB后就是一块引脚悬空的“僵尸元件”。3.2 同步之后先看Room和飞线的合理性执行Design - Update PCB Document之后Altium Designer会弹出一个Engineering Change Order窗口里面罗列着要添加的元件、网络、引脚等变更列表。点Validate Changes确认无误再点Execute Changes最后Close。很多人执行完就关掉直接开始拖器件。我会再多做一步打开PCB编辑器按下键盘的S、Y把散落的器件按Room徽章生成统一排列同时观察飞线Ratsnest的密集程度。如果飞线的密集区域和我在原理图上按信号流排布的预期一致说明PCB接线基本合理如果不一致我大概率会回到原理图看是不是某些模块的接地引脚或电源引脚画在了逻辑区之外。这一步提前堵住的错误比后面布线布到一半再回头改要省力得多。4. 板框、叠层与安装孔物理边界必须提前画死PCB设计不是凭空画线而是要给电路板一个真实存在的物理边界。很多新手先在默认的黑色区域内拖器件线布到一半才想起来这板子到底多大、需要几层、螺丝孔打在哪。结果就是一遍遍返工。4.1 叠层设置先确定你有几层“地”Altium Designer默认新建的是双面板也就是两层信号层Top Layer和Bottom Layer。对大多数入门项目来说双面板完全够用尤其是DHT11传感器、STM32最小系统、TB6612电机驱动这类电路。双面板的优点是成本低、加工周期快缺点是从器件正面到底面只能通过过孔和导线连接布线密度不能太高。如果项目对信号完整性或电源完整性有要求比如要做ADC、DAC电路或者开关电源就需要考虑四层甚至更多层。叠层设置在Design - Layer Stack Manager里调整常见四层板从顶层到底层是信号层、地层、电源层、信号层。注意Altium Designer里“层”不只是在设置里多勾选几层就行你还得在铺铜时给对应层配置网络名称比如内部地平面层分配GND网络电源层分配3V3或5V网络否则它只是一块没有任何电气连接的铜皮。4.2 板框尺寸和Keepout区域的画法板框统一放在Mechanical 1层用Draftsman或者简单的直线工具画矩形。画完后选中板框线条执行Design - Board Shape - Define from Selected ObjectsAltium Designer会按你画的形状生成板子轮廓。不要忽略Keepout层。Keepout层里画的线和区域是“禁止布线区”电气走线和过孔都不能跨越。举例来说USB座的金属外壳下方、板边需要铣槽的位置都要在Keepout层提前限定好。很多板子打样回来发现线离板边太近或者过孔被打掉半个都是因为Keepout层没有设置。还有一个特别容易漏的点是安装孔金属化或非金属化安装孔要在机械层配合焊盘或Keepout做出来最好在板框阶段就放好位置等到布线完成再抠孔位置变动很容易把周围的线全部破坏。4.3 生产端的板厚和铜厚需求先和厂家确认层叠设置里有一项板厚Board Thickness默认是1.6mm。如果你选的是厚铜或多层板这个数值和厂家最终出厂板厚是强制相关的。老实说我在《项目底板的叠层厚度修改记录》里就吃过亏PCB厂家要求设计时把板厚写进文档但Altium Designer默认1.6mm双面板我一开始没改生产回来的板子总厚了0.1mm螺丝锁不上。所以开工前先问清楚加工厂默认参数再回Layer Stack Manager里改对应的铜厚叠层参数。5. 布局不谈运气谈“电源通路和信号回路”布局是整个PCB设计里最靠经验和耐心的一步。很多人喜欢把器件一个一个拉进来看起来在“布局”实际上只是“搬运”搬完之后飞线还是乱布起线来依然寸步难行。5.1 先把“地板”铺好地平面和电源分区Altium Designer里双面板的底层通常整块铺铜接GND顶层走信号必要时局部铺GND。为了实现这个目标布局阶段就必须把电源区域的器件集中放在一侧比如用一片区域专门放LDO或DC-DC把输入电容、输出电容、反馈电阻尽量靠近芯片管脚。别让电源芯片穿越整块板子去给某个传感器供电否则GND回路会拉得很长干扰进来后极难排查。举个具体例子STM32最小系统板常常会有一个3.3V LDO布局时的正确做法是把USB座的VBUS先接到LDO输入LDO输出经过去耦电容后直接进MCU的电源引脚中间不要穿过电流大的电机驱动电路。反过来如果MCU电源网络在板上绕了一大圈等布完线后会发现电源噪声大、MCU容易复位这时候再改布局代价已经不是半小时能收场的。5.2 关键器件优先定位连接器、晶振、去耦电容布局顺序我一般是这样先把连接器和对外接口定死在板框附近这是板子的“物理锚点”。再放有明确位置关系的器件比如晶振要尽量靠近MCU的OSC引脚去耦电容要靠近对应电源引脚。最后放滤波电阻、上拉电阻这类次要器件。为什么晶振要优先因为晶振走线对寄生电容和走线长度敏感放得越远布线的难度和信号出问题的概率越大。去耦电容同理很多工程师布完线之后才想起来给MCU电源脚放一个100nF电容结果找不到位置只能飞线。这在实际项目中是不可接受的。5.3 布局完成后先看一眼“热力图”Altium Designer提供了一个很实用的功能在PCB编辑器中按ShiftS切换单层视图然后打开View - Board Insight - Display Options开启连接密度分析。颜色的深浅能直观反映板内哪些区域飞线密集。如果某个区域红得发紫说明这里的连接关系非常集中布局很可能不够散需要考虑把部分器件挪开或者重新调整接口位置而不是硬着头皮布线。6. 布线阶段规则设定比手动清飞线更值钱很多新手布线的习惯是通过Place - Interactive Routing一条线一条线地拉线拉得慢不说还经常把线塞满一个角落。正确思路是先在规则管理器里把各种间距、线宽、过孔大小定义好再动手拉线让软件替你守住下限。6.1 间距和线宽的推荐起点PCB Rules and Constraints Editor里需要优先配置以下几项Clearance安全间距默认0.2mm基本够用但如果是常规工艺建议设0.25mm或0.3mm生产良率更高。Width线宽普通信号线建议0.2mm到0.3mm电源和地线建议0.5mm以上USB差分线按90欧姆阻抗控制但那需要参考叠层和阻抗计算。Via过孔最小孔径0.3mm外径0.6mm起步低于这个值很多工厂要加钱或不接单。0.3mm的孔打样价格高普通项目直接用0.4mm更省心。Power Plane Connect Style如果做了内电层要设置热焊盘连接方式避免直接整片连接导致焊接时散热太快。为什么不建议把线宽都改成极细因为细线的载流能力和机械强度都弱。比如0.3mm线宽在1oz铜厚下大约能走1A左右的电流如果一个电机驱动的电源线要过2A就得加宽到0.5mm以上或者直接铺铜。PCB布线最怕的是“刚开始一切正常满载跑起来线烧了”这基本都是线宽估算不足造成的。6.2 布线顺序先电源地后信号布线时尽量不要看到哪根飞线近就先拉哪根而是保持稳定的迭代顺序先把电源和地网络走通尤其是主干电源线。再走易受干扰的信号线比如晶振、复位、高速数字信号。最后处理普通IO和辅助连接线。电源线先走通的原因很简单电源和地是所有信号的回流路径它们不顺畅信号线布局再好也白搭。另外一个实用技巧是在走线过程中随时用ShiftW切换线宽规则模板而不是每次都去规则管理器里改。比如拉电源线时用0.5mm规则默认信号线用0.3mm配合快捷键效率高很多。6.3 过孔和回流路径的配合双层板上信号从顶层走到底层一定要打过孔。问题是很多人喜欢就近打孔从一个网络跳到另一个网络结果顶层走了一段信号底层又紧接着走回来形成了“Z”字形。这样的走线会产生较大的回路面积噪声会被天线一样辐射出来。我会刻意减少过孔数量能在一层走完的就不跨层。MCU的每个去耦电容都尽量直接连到顶层地平面不要在电容旁边打一个悬空的过孔。走线距离超过2cm时建议在信号线旁边补一条地线并打地孔给信号提供紧贴的回流路径。这个习惯在DHT11这类传感器信号线、TB6612的PWM信号线尤其重要能明显减少EMI风险。6.4 铺铜不是“最后一步加个大铜皮”很多人布完线就顺手铺一块GND铜皮以为万事大吉。但铺铜处理得好不好差异非常大。铺铜前要确认三件事铜皮网络是否设置成了GND。是否设置了合适的热焊盘Thermal Relief连接方式方便手工焊接。金属化过孔是否希望连接到铜皮上。如果铺铜设置不当最常见的现象是“铜皮把地割断了”。有些新手为了绕开信号线在顶层到处挖空结果地平面变成碎片信号回不了近路噪声剧增。所以铺铜之后要养成一个习惯按D、R运行DRC检查有没有“Starved Thermal”或者铜皮断裂类的警告然后再看单层图确认地平面连贯性。7. 出生产文件前必须做好的“最后三查”很多人觉得板子画完就能直接发Gerber但实际上从PCB文件到生产文件中间还有几个非常关键的步骤。Altium Designer里可以通过File - Fabrication Outputs - Gerber Files生成Gerber也可以通过Output Job统一管理。无论用哪种方式我建议在点生成之前做下面三轮检查。7.1 第?轮DRC设置为生产规则不是默认规则DRC是Design Rule Check很多人只是默认跑一遍绿钩显示0 Error就结束了。但Altium Designer默认的DRC规则可能和厂家实际能力并不一致你需要针对最终生产要求修改规则定义。比如最小线宽/线距是否达到厂家最低能力过孔到焊盘的距离是否符合工艺窗口丝印是否侵占了焊盘区域有无未连通的铜皮具体做法是在Design - Rules中逐项检查然后在Tools - Design Rule Check里点Run Design Rule Check查看Messages里的每个Error。其中有一些Warning是可以容忍的比如“Silk To Solder Mask”但如果出现“Un-Routed Net”或“Short Circuit”绝对不能放过。我遇到过有人DRC明明报了很多错误却只看了顶部的总结行没有展开逐项排查结果发出去后厂家直接退单。7.2 第?轮检查Gerber文件的可读性Gerber文件本身是文本格式不同EDA工具导出的Gerber坐标系统、单位、格式可能有差异。在发给厂家之前建议用Altium Designer自带的CAMtastic或第三方软件比如Gerbv、CAM350的前身打开一遍确认每一层都有内容尤其是Top Layer/Bottom LayerTop Overlay/Bottom Overlay丝印Top Solder/Bottom Solder阻焊开窗Top Paste/Bottom Paste钢网层如果做贴片Drill Drawing钻孔层Board Outline另一个易错点是钻孔文件格式。Altium Designer导出NC Drill时要选择正确的单位公制/英制和前导零/后导零格式否则工厂读出来的孔位会整体偏移或报错。不同工厂要求不同去打样前最好先问一句“你们要哪种钻孔格式”大多数厂家会直接给你模板照着设就行。7.3 第?轮BOM和坐标文件才是贴片厂的“饭碗”如果板子要发SMT贴片仅仅有Gerber是不够的还需要BOM和坐标文件。Altium Designer在File - Assembly Outputs里可以生成Pick and Place文件同时配合原理图里的Bill of Materials导出一份完整BOM。BOM导出时有一个经典问题同一个器件位号在BOM里重复出现多行。比如两个10k电阻一个在原理图里写作“10k”另一个写作“RES_10K”在Excel里看是两行但到了ERP系统里可能是重复料。所以BOM建议按Comment和Footprint分组统计并统一数值格式最好在导出时勾选“Suppress Parameter”和“Group by Footprint”尽量减少人工整理。8. 我实际踩过并觉得最容易复发的几个坑这条链路讲完我再补几个不是操作问题、但比操作问题更影响交付的细节。这些经验来自我自己带项目的过程中反复踩到的“经典坑”。8.1 原理图改了但PCB没同步谁都不记得Altium Designer虽然提供从原理图到PCB的同步但如果你中途手动在PCB里改了网络名比如把一个网络改成了新名字再回头改原理图时两边就出现了分歧。这种“原理图和PCB不一致”的问题DRC是查不出来的。我现在的习惯是每次原理图有任何改动都立刻用Update PCB Document同步一次并同步更新位号如果PCB里必须手工调整网络一定在原理图里同步改回去。绝对不能依赖“我后面会记住”这种想法。8.2 电源网络宽度不够调试时才发现发热我做过一个带TB6612电机驱动的小车板子驱动芯片的VM电源网络用的默认0.3mm线宽板子能跑但跑一会儿芯片就发烫。量电流发现电机堵转时峰值能到2A以上0.3mm线的电阻产生了明显压降功率损耗全变成了热量。改规则、加宽线宽、铺铜之后发热才明显下降。所以建议所有直流电源线尤其是电机驱动、功率放大这类负载回路线宽至少1mm或直接铺铜不要图省事用同一种规则走所有网络。PCB规则里可以对不同的Net Class设置不同的Width比如单独建一个PWR类Width设为1mm这样布线时自动应用。8.3 不要过度依赖“自动布线”Altium Designer的自动布线Auto Route功能看起来很诱人但它在处理电源、地、差分线、EMI敏感信号这些场景时几乎不可能达到手工布线的质量。我见过很多新人布出来的自动布线板子密密麻麻的过孔和绕线调试时各种信号完整性问题。自动布线可以用但仅限两种情况一是验证性工程的快速原型二是对性能要求极低的纯数字控制板。即使在自动布线之后也必须手工重新走一遍关键网络再跑DRC确认所有间距和连接关系。说到底布线不只是“连通”更是“如何连通”的问题。9. 收尾前再提醒几个小操作这套流程并不是说每一步都做到最完美才能打样而是要建立“从工程结构到生产交付都是闭环”的思维习惯。最后再分享两个我一直在用的小技巧。第一个是在出Gerber之前用Altium Designer打开PCB按数字键3切换到3D模式沿板子四周转一圈。很多问题是3D视角下才看得出来的比如某个连接器位号压住了阻焊开窗、某个自锁开关伸出了板边、两个接插件打架。这些在2D视图里很难发现但3D视角下几秒钟就能看清。第二个是在工程文件夹里固定放一个“制造要求.txt”或PDF写清楚板厚、铜厚、颜色、表面工艺比如喷锡还是沉金、是否要测飞针以及最小线宽、最小间距、最小孔径。每次发板厂前把这份说明随Gerber一起提交能省掉大量来回沟通的时间。我发现哪怕已经在Altium Designer里设置了叠层和规则工厂的工程确认环节依然会打电话来问“你们表面工艺有要求吗”。多给一份说明工厂确认得又快又准。从原理图到印制电路板说到底是把想法变成可生产文件的过程。每一步看起来都像是软件操作但背后都是对电路工作原理和生产工艺的理解。把这套流程走顺了你会发现后面再做任何板子都不会再为流程本身浪费精力。
返回列表