多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Altium Designer从原理图到PCB同步:封装匹配与工程变更实战

Altium Designer从原理图到PCB同步:封装匹配与工程变更实战 1. 项目概述从原理图到PCB的工程化思维上次我们聊了Altium Designer后文简称AD的软件安装、界面初识和第一个简单原理图的绘制。很多朋友反馈说画个符号、连根线感觉挺简单但一到要把图纸变成能实际打样、焊接的电路板就有点懵了不知道从何下手。这种感觉非常正常因为从原理图到PCBPrinted Circuit Board印刷电路板本质上是从“逻辑设计”到“物理实现”的跨越需要引入一套完整的工程化思维和流程。今天这篇笔记我们就来啃下这块硬骨头完成一个完整电子设计项目中最核心的环节将绘制好的原理图转化为可以进行布局布线的PCB设计文件。这个过程AD里称之为“设计同步”或“导入变更”。听起来只是点几下鼠标但背后涉及到元器件封装匹配、工程文件管理、设计规则约束等一系列关键概念。我会结合一个具体的案例——一个基于STM32微控制器的核心板——来一步步演示并分享那些官方教程里不会细说但实际工作中一定会遇到的“坑”和技巧。无论你是想自己做个小玩意还是希望理解硬件开发的基本流程这篇内容都能帮你建立起清晰的框架。2. 核心概念解析封装、工程与同步在动手操作之前我们必须先理解三个基石性的概念。磨刀不误砍柴工这部分理解透了后面的操作才会顺畅不至于出现一堆令人头疼的报错。2.1 元器件封装原理图符号的物理化身你可以把原理图里的符号Symbol理解为元器件的“身份证”它只说明这个元件是谁、有什么电气连接引脚。而封装Footprint则是这个元器件的“房子”或“身体”它定义了该元件在实际PCB上的物理形态占多大地方、焊盘Pad在哪里、是什么形状、间距多少。关键对应关系一个原理图符号如一个电阻RES可以对应多种封装如0805贴片封装、AXIAL-0.3直插封装。在将原理图导入PCB时AD必须明确知道每个符号具体用哪个封装。封装库来源AD自带大量常用封装库Miscellaneous Devices.IntLib等但对于STM32这类现代芯片通常需要自己绘制或从可靠来源获取。我会在后续步骤中演示如何为STM32F103C8T6一种常见的32位ARM芯片添加封装。注意封装画错是新手“翻车”的主要原因之一。焊盘画小或间距画错会导致芯片根本无法焊接。务必以元器件官方数据手册Datasheet中的机械尺寸图Mechanical Drawing为准。2.2 项目工程文件一切设计的容器AD是强工程导向的软件。所有相关文件原理图、PCB图、库文件、输出文件等都应该被一个工程文件.PrjPcb管理起来。单独打开或编辑一个原理图文件.SchDoc而不在工程内很多功能会受限或出错。工程结构的好处确保文件关联正确同步变更时不会混乱也便于版本管理和团队协作。本次操作前提假设你已经按照上一篇笔记创建了一个名为MySTM32CoreBoard.PrjPcb的工程并在其中绘制了一张包含STM32最小系统芯片、晶振、复位、电源、调试接口、GPIO引出的原理图。2.3 设计同步连接逻辑与物理的桥梁这是本篇的核心操作。其本质是AD比较原理图逻辑和PCB物理之间的差异并根据你的指令将原理图中的网络连接Net、元器件Component及其封装信息更新到PCB文件中。单向与双向通常我们是从原理图向PCB更新正向同步。AD也支持从PCB反标回原理图反向同步但在初期不建议使用容易混淆。“差异”引擎同步过程依靠一个“工程变更订单”Engineering Change Order, ECO来列出所有待执行的动作如添加元件、添加网络、删除元件等。你需要审查并执行这些变更。3. 实操准备为元器件匹配封装在同步之前我们必须确保原理图中的每一个元器件都有正确的封装指定。这是同步成功的关键。3.1 检查与补充封装信息打开原理图在工程面板中双击打开你的主原理图文件。检查元件属性双击原理图中的任何一个元件比如STM32芯片打开其属性面板。在面板中找到Models for ...区域。这里会列出该符号关联的模型最重要的就是Footprint。为STM32添加封装假设你的STM32F103C8T6原理图符号没有关联封装。点击Add...按钮选择Footprint。在弹出的对话框中点击Browse...。如果已有合适的封装库被安装可以在此查找。但对于这款芯片我们更常自己准备。更实用的方法点击...按钮在封装名旁边进入PCB封装库浏览界面。如果你没有现成库可以点击从现有库中添加或使用快捷键P-F但更推荐事先准备好封装库文件.PcbLib。封装来源建议对于STM32这类标准芯片我强烈建议从芯片制造商的官网或知名的社区库如SnapEDA、Ultra Librarian下载现成的封装然后加载到AD中使用。这比手动绘制更精确高效。假设我们已经有一个包含了LQFP-48_7x7mm_P0.5mm封装的库文件。3.2 统一检查所有元件逐个检查效率低。AD提供了批量检查和管理功能。打开封装管理器在原理图界面点击菜单工具-封装管理器。查看全局状态管理器会列出工程中所有元件、使用的符号及其当前分配的封装。你可以在这里一目了然地看到哪些元件缺少封装会显示No Footprint。批量分配封装在列表中选择一个元件如一个10uF的电容。在右侧的封装区域点击...按钮为其选择封装例如贴片电解电容可能选用CAPAE-5x6.5而0603封装的瓷片电容选用CAPC0603。如果多个同类型元件使用相同封装可以按住Ctrl键多选然后一次性为它们分配同一个封装。验证封装可视化为元件分配封装后在原理图界面将鼠标悬停在元件上按快捷键ShiftV或CtrlV取决于版本可以快速预览该封装的3D模型如果可用这是一个非常直观的检查手段。实操心得在项目初期花时间建立一个自己常用的、经过验证的封装库.PcbLib和原理图库.SchLib会极大提升后续所有项目的设计效率和可靠性。我习惯按器件类型IC、电阻电容、接插件或按项目来分类管理我的库。4. 核心流程从原理图到PCB的同步当所有元件都有了封装我们就可以开始正式的同步流程了。4.1 创建PCB文件并导入板框新建PCB文件在工程名上右键 -给工程添加新的-PCB。这将在工程内创建一个新的PCB1.PcbDoc文件将其重命名为MySTM32CoreBoard.PcbDoc。定义板子形状板框这是PCB的物理边界。切换到Keep-Out Layer禁止布线层快捷键L打开层设置视图确认。使用放置-走线或快捷键P-T工具绘制一个闭合的矩形框。这个框定义了板子的外形。绘制完成后选中所有框线点击菜单设计-板子形状-按照选择对象定义。你会发现板子颜色区域变成了你绘制的形状。4.2 执行第一次设计同步这是最关键的一步。确保所有原理图已保存。在原理图编辑器中点击菜单设计-Update PCB Document MySTM32CoreBoard.PcbDoc。或者在PCB编辑器中点击设计-Import Changes From MySTM32CoreBoard.PrjPcb。两者效果相同。弹出“工程变更订单”窗口这个窗口列出了所有待执行的变更。左侧是修改项添加元件、添加网络等中间是状态。先不要急着点“执行变更”。仔细检查变更列表Add Components检查是否列出了所有你期望的元件数量是否正确。Add Nets检查生成的所有网络名如GND3V3PA0等是否正确。Add RoomsAD可能会为每张原理图生成一个Room房间这是一个用于元件分组管理的虚拟框对于简单单板可以忽略或后期删除。验证变更点击左下角的验证变更按钮。右侧状态栏下会出现勾号√或叉号×。绿色勾号表示检查通过红色叉号表示有问题。常见验证错误Footprint not found封装未找到。回到第3步检查该元件的封装名是否拼写正确以及对应的封装库是否已正确加载到工程或全局库路径中。Node not found原理图符号的引脚与封装焊盘名称不匹配。比如原理图引脚叫1而封装焊盘叫A。需要修改符号或封装的映射关系。执行变更当所有变更验证通过全是绿勾后点击执行变更按钮。此时软件会真正将元件和网络导入到PCB文件中。4.3 同步后的PCB界面初览点击“执行变更”后你会看到PCB编辑区右侧出现了一个悬浮的元件集合框如果勾选了Only Show Options可能会直接散开所有元件都堆叠在一起并且有许多飞线细的灰线连接着它们。元件堆Room元件被一个虚线框Room包裹着。你可以直接拖动这个Room到板框内。飞线这些线表示元件引脚之间的逻辑连接关系来自原理图是后续布线走线的指引。它们不是实际的铜线。板层标签PCB编辑器下方有层标签如Top Layer顶层通常放置元件和走线Bottom Layer底层Top Overlay丝印层印白色文字Keep-Out Layer禁止布线层我们画板框用的等。5. PCB布局在有限空间内排兵布阵布局的好坏直接决定了布线的难度、板子的稳定性和电磁兼容性EMC。这是最能体现设计者功力的地方之一。5.1 布局的核心原则功能模块化将完成同一功能的元件放在一起。例如STM32核心及它的退耦电容、晶振电路应非常靠近USB转串口芯片及其周边元件应自成一组电源滤波电容应紧贴芯片的电源引脚。信号流走向按照信号的流向放置元件避免输入/输出信号交叉、迂回。例如传感器信号从板边接插件进来经过调理电路进入MCU的ADC引脚。电源路径优先先规划好电源的入口如USB口、转换芯片如LDO、主干道确保大电流路径短而粗。发热器件与敏感器件隔离开关电源芯片、LDO等发热件要预留散热空间并远离晶振、模拟采样部分等温度敏感或噪声敏感电路。考虑装配与维修接插件、开关、指示灯尽量放在板边芯片方向尽量统一贴片元件间留出足够的间距便于焊接和返修。5.2 具体布局操作步骤解散Room对于简单板子可以右键点击Room -操作-剪切然后元件就散开了。或者直接忽略Room从里面把元件拖出来。放置核心器件首先将主芯片STM32拖动到板框中央偏上的位置考虑后续布线空间。放置关键外围将两个晶振8MHz主晶振和32.768kHz RTC晶振及其负载电容通常两个22pF紧贴芯片的OSC_IN/OSC_OUT引脚放置。将NRST引脚的上拉电阻和复位按键放在芯片附近且易于手指操作的位置。将VDDA引脚的去耦电容通常1uF10nF和VDD引脚的去耦电容每个电源引脚一个100nF尽可能靠近对应的芯片引脚放置这是保证芯片稳定工作的关键放置电源模块将USB端口、保险丝、LDO如AMS1117-3.3及其输入输出电容按照电流流向依次排列。输入大电容如10uF靠近LDO的Vin输出电容如10uF100nF靠近LDO的Vout。放置接口与连接器将调试接口SWD/JTAG、GPIO排针、USB座等放在板子边缘并考虑与外部连接的方向。放置其余被动元件将剩下的电阻、电容、LED等根据其所属电路模块就近放置。技巧布局时可以按快捷键N选择隐藏连接-全部网络来暂时隐藏飞线让视野更清晰。需要布线时再显示全部。6. PCB布线让电流与信号各行其道布局完成后飞线就像一团乱麻。布线的任务就是把这些逻辑连接用实际的铜皮走线Track或敷铜Polygon实现出来。6.1 设置设计规则布线的“交通法规”在布线前必须设置规则这是专业设计与业余涂鸦的分水岭。按快捷键D-R打开规则编辑器。电气规则Clearance安全间距设置不同网络导线、焊盘、过孔之间的最小距离。一般设置为0.2mm8mil或以上根据板厂工艺能力调整。电源线之间、高压部分间距要加大。布线规则Width线宽这是最重要的规则之一。需要为不同网络设置不同线宽。创建新规则命名为Power条件Where Net is选择3V3和GND。将线宽设置为0.5mm20mil或更宽如1A电流用0.5mm基本足够可参考线宽电流计算器。创建新规则命名为Signal条件All。将线宽设置为0.254mm10mil作为普通信号线的默认宽度。Routing Via Style过孔尺寸设置过孔的外径和内径。常用尺寸如外径0.6mm/内径0.3mm。电源过孔可以设置得更大。平面层规则如果有多层板Polygon Connect Style敷铜连接方式设置敷铜与焊盘的连接方式。对于散热要求高的焊盘如LDO的GND焊盘可以用“直接连接”对于普通焊盘常用“十字花连接”以降低焊接难度。6.2 手动布线核心技巧切换布线层布线时按小键盘*键可以在顶层Top Layer和底层Bottom Layer之间快速切换并自动添加一个过孔Via。这是实现双面布线的关键操作。电源线优先且加粗根据刚才设定的规则先布3V3和GND这两条最重要的电源网络。走线要短、直、宽。尽量少用过孔。关键信号线晶振走线要短且包地处理在走线两侧或下方铺上GND铜皮进行屏蔽。USB的差分数据线D D-要等长、平行、紧密耦合。普通信号线遵循“横平竖直”或“45度角”走线避免锐角90度角在高频下可能产生辐射。顶层走线以水平为主底层走线以垂直为主可以减少层间干扰。活用过孔当一面走不通时果断打孔换到另一面。但过孔不宜过多会增加寄生电容和制板成本。GND处理对于简单双面板通常不会设置专门的GND层。布线后期需要在所有空白区域大面积敷设GND铜皮操作放置-多边形敷铜并让所有地网络通过过孔或走线连接到这个“地平面”上。这能极大地提高抗干扰能力。6.3 敷铜与DRC检查敷铜在顶层和底层都放置多边形敷铜网络均设置为GND。敷铜与导线、焊盘的间距遵循之前设置的Clearance规则。重新敷铜快捷键T-G-A以覆盖所有新走线区域。设计规则检查布线完成后必须进行DRC。按T-D运行检查。DRC会报告所有违反规则的地方如间距不足、线宽不符、未连接的网络等。必须逐一排查并解决所有错误Error警告Warning可以根据实际情况判断是否忽略。7. 常见问题与排查技巧实录即使按照流程操作新手也一定会遇到各种问题。这里记录几个高频问题及解决方法。7.1 同步失败相关问题问题1验证变更时大量“Footprint not found”错误。排查检查封装库是否已正确安装。在封装管理器或工程变更订单窗口点击错误项查看它搜索的封装路径和名称。解决在封装管理器中手动为出错元件重新选择封装确保封装名完全匹配。检查库路径设计-添加/移除库确保包含所需封装的库文件.PcbLib或.IntLib已在工程或已安装列表中。如果封装是自己在库中画的请确保已将该库文件添加到当前工程中。问题2执行变更后PCB上什么都没有或者只有部分元件。排查检查Room的位置。有时Room被放在了板框之外很远的地方或者被缩小了。解决按快捷键V-F适合所有对象或者V-D适合文档查看整个图纸找到那个包含元件的Room框将其拖入板框内。7.2 布局布线相关问题问题3移动元件时飞线不跟着动显得很乱。解决这是正常现象。飞线表示逻辑连接只要网络没断它就会连接两个焊盘。可以按N-隐藏连接-全部网络暂时隐藏。布局时更应关注模块位置而非飞线形态。问题4布线时线宽突然变细不符合规则。排查当前激活的布线规则可能不是你想用的。或者你正在布线的网络没有匹配到任何规则从而使用了默认规则。解决在布线过程中按Tab键可以实时调出该走线的属性窗口手动修改线宽。更根本的方法是检查你的布线规则设置是否正确确保目标网络如3V3被正确的规则如Power规则所覆盖。问题5DRC检查报告“Un-Routed Net”错误网络未连接。排查这是最常见的DRC错误表示有逻辑连接在PCB上没有用实际的走线或敷铜连接起来。解决在PCB界面按N-显示连接-全部网络让所有飞线显示出来。在PCB面板右下角Panels-PCB中将浏览器类型选为Nets。找到报告错误的网络如NetC1_2右键点击它选择显示-全部。此时该网络的所有飞线会高亮显示。根据高亮的飞线找到未连接的两个焊盘手动为其布线。有时可能是忘记了连接某个去耦电容的地或者某个引出的测试点。7.3 输出与制造相关问题问题6如何检查板子尺寸和定位孔解决板框是在Keep-Out Layer绘制的。确保所有机械轮廓包括缺口、定位孔都在该层用线条清晰定义。定位孔通常是一个焊盘Pad将其网络设置为No Net并放在Keep-Out Layer定义的板框内。可以向板厂单独提供机械层图纸说明。问题7发给板厂打样需要哪些文件标准Gerber文件这是行业通用格式。在AD中通过文件-制造输出-Gerber Files生成。通常需要包含以下层Top Layer,Bottom Layer,Top Overlay,Top Solder Mask,Bottom Solder Mask,Top Paste Mask如果需钢网,Keep-Out Layer或Mechanical 1作为板框层以及Drill Drawing和Drill Guide钻孔图。钻孔文件在Gerber设置中确保同时生成了NC Drill Files。坐标文件用于贴片机。通过文件-装配输出-Generates pick and place files生成。BOM清单通过报告-Bill of Materials生成用于采购元器件。完成以上所有步骤你的第一块真正意义上的PCB设计图就诞生了。从一张逻辑原理图到一张包含精确物理尺寸、连接关系和生产信息的PCB图纸这个过程中你实践了封装管理、工程同步、规则驱动布局布线等核心硬件设计思想。这不仅仅是学习了一个软件的操作更是建立了一套从想法到实物的标准化工作流程。当然这只是一个开始关于多层板、高速信号、阻抗控制、仿真验证等更深入的话题我们可以在后续的笔记中继续探讨。
返回列表