ARTICLE DETAIL

资讯详情

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

Altium Designer Room复制功能:多路重复模块PCB布局布线一键搞定

Altium Designer Room复制功能:多路重复模块PCB布局布线一键搞定 画过多通道板子的人大多有过这种经历同一块PCB上摆着七八路一模一样的电路模块每一路都要单独摆放元件、单独拉线。第一路还能耐着性子精细调整到第三路就开始烦躁到第五路基本就是“差不多得了”。结果板子做出来各路模块的走线风格千奇百怪评审会上被问一句“这几路为什么布局不太一致”场面就很尴尬。Altium里的Room功能就是专门解决这个问题的。尤其Altium Designer 16里的Room复制布局走线功能能让相同重复模块的PCB布局做到“一键复制”把已经调好的一个模块的元件位置、走线方式、过孔布局原封不动搬到其他模块上。这篇东西我结合自己画多路电源板、多路ADC采集板的经验把Room从创建、分配到复制走线的完整流程捋一遍顺手把容易踩的坑也一并列出来给正在画重复模块板子的朋友做个参考。1. Room功能到底是什么为什么重复模块必须用它1.1 Room的本质把一群元件装进一个“透明箱子”Room在Altium里的表现形式就是一个矩形区域这个区域可以框住一组元件、走线、过孔甚至铜皮。你可以把它理解成一个透明的整理箱箱子里装的是某个功能模块的全部PCB元素箱子本身可以整体移动、整体旋转、整体镜像箱子里所有元件的相对位置关系始终保持不变。这个特性天然适合重复模块场景。一个多路电源板每一路降压电路的结构完全一样包含控制器、电感、输入输出电容、反馈电阻等十来个元件。如果不用Room每路都得从零开始摆放不仅耗时还很难保证各路的一致性。而用Room只需要把第一路的元件摆好、线布好剩下的路数直接复制格式几秒钟就能获得和第一路完全一致的布局布线。1.2 用Room复制的核心逻辑不是“重新画线”而是“搬格式”很多人第一次接触Room复制会误以为它是把元件复制一份出来。实际上Copy Room Formats这个命令干的不是复制元件而是复制“格式”——把一个Room里元件的相对坐标、走线的形状和路径、过孔的位置这些信息作为模板套用到另一个Room里的对应元件上。打个比方你有一张装修图纸上面标好了每个家具的位置、每一根管线的走向。Room复制就是把这张图纸复印若干份交给另外几间结构完全相同的房间让工人照着图纸施工。关键前提是“房间结构完全相同”——对应到PCB上就是目标Room里必须有和源Room里数量相同、网络对应的元件。元件调用的封装可以不一样但网络连接关系必须一一对应。这也解释了为什么Room复制比单纯的CtrlC/CtrlV可靠。复制粘贴只是复制图形对象粘贴后网络连接很容易错乱Room复制是基于网络逻辑映射来搬运布局格式只要原理图的模块结构一致复制结果就是逻辑正确的。2. 动手前的准备AD16中必须做好的三件事2.1 原理图侧模块命名和网络命名必须先规整Room复制能不能成功有很大一部分在原理图阶段就已经决定了。如果你在原理图上复制了一个子电路但不重命名元器件标号、不调整网络名AD会把新模块的元件自动分配成U1_1、R3_1之类的标号网络也会带上_1后缀。这种命名方式看着乱但对Room复制反而是友好的——因为AD能明确区分“这是第一路的U1那是第二路的U1”映射关系清清楚楚。如果原理图是手工绘制各路模块的元件标号完全不按规则来比如第一路运放叫U1A第二路运放叫U5A网络名也随意起那Room复制大概率会失败因为AD无法判断“目标Room里的U5A应该对应源Room里的哪个元件”。所以我的习惯是画重复模块前先在原理图里用标准多通道设计或者至少确保每路模块的元件标号、网络命名遵循同一套规则。这样不但Room复制顺畅后续BOM核对、生产调试也更省心。2.2 PCB预设置先定好规则再复制Room复制走线时走线的线宽、过孔尺寸、间距这些参数都受设计规则约束。如果规则设置得乱七八糟比如内层电源层线宽不够、间距太小复制过去的走线就会报一堆DRC错误到时候还得逐条修改反而比手动布线更麻烦。在导入PCB后、开始布局之前先花半小时把规则理清楚间距规则不同网络间距、同网络间距线宽规则电源线、地线、信号线的线宽上下限过孔规则不同类型过孔的外径、孔径区域规则如果某一路模块有特殊间距要求比如高压部分爬电距离提前用Room规则或区域规则限定规则设置有个技巧把常用参数写进规则优先级里而不是用默认值。默认的线宽可能是0.25mm如果电源模块需要0.5mm走线复制过来的走线宽度会先满足规则约束如果你没把规则优先级设好AD会自动把走线调窄结果就是整条线比源模块细了一圈。2.3 先集中精力做完整一个模块再考虑复制Room复制的前提是有一个“标准答案”。所以在复制之前挑一个模块作为样板把所有元件位置调到最优——信号流向从左到右、滤波电容靠近芯片引脚、电感底下不走敏感线、散热过孔均匀分布——然后把走线一根一根拉完再做一遍DRC确认没有错误最后才用这个Room去复制给其他模块。样本模块的质量直接决定所有复制模块的质量。如果你样板模块的布局就很敷衍复制出来的也是一堆有问题的布局而且因为是批量复制问题会被放大好几倍。我见过有人第一路布局时没注意电容位置复制到八路之后每一路的输入电容都离芯片太远最终只能一个个手改省的时间全赔进去了。3. AD16核心实操Room创建、分配与复制走线3.1 第一步绘制Room并分配元件在AD16里创建Room的路径是Design - Rooms - Place Rectangular Room也可以按快捷键DR调出。绘制时不要随手拖一个框就完事要确保Room边界框住整个模块的元件和走线区域。框得太紧复制后元件容易超出边界框得太松Room会覆盖到旁边模块的区域后面DRC检查时会误伤。Room画好之后接下来是把元件“装”进Room里。选中该模块的所有元件然后执行Design - Rooms - Assign Room Members有的版本叫Place Room Members在弹出的对话框里选目标Room确认后这些元件就和Room绑定了。判断是否绑定成功的方法是选中Room边框按下PCB面板里的筛选按钮或者直接看Room属性里的元件列表。这里有个容易漏掉的细节Room绑定的是元件不是走线。走线在复制时是作为“格式数据”被提取的不参与绑定。所以绑定元件时一定要把模块内所有元件都选中漏一个都不行。3.2 第二步复制Room格式把布局走线搬过去样板模块布局走线全部完成后就可以复制了。路径Design - Rooms - Copy Room Formats。执行命令后会弹出对话框让你分别指定源Room和目标Room。对话框里的选项需要注意几个关键项复制对象通常勾选Placement元件布局和Routing走线如果还想把Room框的尺寸也复制过去勾选Room Dimensions目标Room如果有多路模块可以一次选中多个Room作为复制目标覆盖方式复制会覆盖目标Room中已有的布局和走线操作前最好将当前PCB保存一个版本点击确定后AD会逐个处理目标Room。如果你的样板模块布线比较规整走线密度不高通常几秒钟就能完成。完成后要注意观察目标Room区域看是否存在元件重叠、走线交叉的情况。3.3 第三步复制后的微调与检查复制完成后别急着继续画其他部分。先做一轮检查元件是否全部在Room范围内有没有溢出到Room边界之外走线是否完整有没有丢失部分网络过孔位置、大小是否符合要求是否存在DRC报错尤其是间距和短路错误如果发现某个元件位置略有偏移不要直接在目标Room里拖动——这样会让后续的同步功能失效。更好的做法是回到源Room调整好位置重新复制一次。另外目标Room中的Room边框通常继承了源Room的尺寸和位置如果不同模块的周边布局有差异可以手动拖动Room边框调整不影响已复制的布局走线。3.4 第四步整体对齐与模块间协调多路模块放在同一块板子上除了每一路内部要一致路与路之间的位置关系同样重要。Room支持整体移动可以配合对齐工具快速排列各模块。具体操作点击Room边框选中RoomRoom会高亮显示所有绑定元件此时可以整体拖动Room或者用Align工具进行顶部对齐、底部对齐、水平等间距分布。如果你希望各路模块等间距排列可以用Distribution工具。这些操作只调整Room之间的相对位置不改变Room内部布局所以已经复制好的模块不会乱掉。这里我习惯的做法是所有模块都复制完成后再统一调整各自Room的位置把板子上的空间安排好然后做一次全板DRC核实所有模块之间没有间距冲突。4. 复制布局走线的进阶细节哪些能复制哪些复制不了4.1 能复制的对象比你想的更多使用Room复制时可复制的对象不止是元件坐标和走线路径。整理一下我实际用过的复制范围复制内容说明元件位置源Room内所有元件的相对坐标包括旋转角度走线路径铜线走线的形状、拐角、线宽按设计规则自动适配过孔走线上过孔的位置和尺寸覆铜区域如果Room内有铜皮前提是覆铜和网络匹配Room尺寸将源Room的宽度、高度复制到目标Room元件文字位置元件位号文字的位置和旋转方向让丝印也保持一致复制走线时AD会自动调整走线拐角和线宽使其符合目标Room所在位置的设计规则。也就是说如果目标区域有特殊区域规则走线复制过去后会按照新规则重新调整线宽这正是区域规则设置正确时能自动适配的原因。4.2 复制不了的内容需要手工处理的部分Room复制不是万能的下面这些内容复制不过去需要在复制后单独处理差分对差分对走线有严格的等长和间距要求Room复制对差分对的支持有限。复制后需手动检查差分对的间距和等长状态。总线走线的蛇形补偿蛇形走线若带有等长约束复制后长度信息不一定能完全保留需要重新做等长调整。Room内特殊规则如果源Room中放置了Design Rule区域规则例如某个Room内部对线距有特殊要求复制Room时该规则不会自动迁移需要自行匹配。类Class元件类、网络类不会从源Room复制到目标Room。如果复制后用类来管理规则需手工添加目标元件到对应的类中。这里我要特别提醒复制走线前确认源Room里的走线是否全部完成。如果源Room有一根走线只拉了一半Room复制不会帮你补全只会把半根线也复制过去后续DRC会报一堆未连接警告。4.3 与多通道设计Channel Design的配合如果你画的板子是多通道设计原理图里用Repeat命令生成的重复模块Room功能会更强大。在这种模式下AD会自动为每个通道生成Room并且网络名自动带通道后缀Room复制时少了手动映射元件的步骤直接选中所有目标Room复制即可。多通道模式下还有一个小技巧在Room上右键可以找到同步更新所有通道的菜单项。如果改了一路的布局可以批量同步到其他所有通道省去重复执行复制命令的麻烦。不过同步前建议保存工程因为同步操作不可撤销万一改错了回退会很麻烦。5. 常见问题与排查实录5.1 点击Copy Room Formats后没反应可能原因有几个方面。先是确认命令是否选对了源Room和目标Room——操作时先单击选中源Room再执行命令然后在对话框里指定目标Room顺序反了会出现无效果的情况。其次检查目标Room里是否有与源Room对应的元件。如果目标Room是个空RoomAD不会自动创建元件所以不会产生任何变化。这种情况要去原理图确认元件是否成功导入PCB或者手动将目标元件分配进Room再复制。还有一种情况是Room被锁定了。Room本身可以在属性面板里设置锁定锁定时只能选中无法修改复制命令会静默失败。处理方式是取消锁定再执行。5.2 复制后部分走线丢失是没勾选对选项吗走线丢失大概率是四个方面的原因排列组合。最常见的是没有勾选Routing选项只勾选了Placement自然只搬了位置没搬走线。这个只要执行命令时留意对话框选项即可解决。第二种情况是源Room中存在未完成的走线或者走线存在短路复制时AD会跳过这些无效走线只复制规整的走线。第三种情况是目标Room中的元件网络名与源Room不一致导致逻辑映射失败走线无法搬运。第四种是走线宽度超出目标区域规则允许范围此刻AD直接不生成超限走线也需要检查规则差异。我实操的经验是复制前先对源Room做一次DRC确保源模块零错误。源模块越干净复制成功率越高。5.3 复制后元件出现重叠或超出Room边界这通常是因为目标Room比源Room小或Room位置紧挨着其他元件区域。元件的相对位置是按坐标映射的Room复制不会自动判断空间是否足够只是机械地把坐标搬过来。处理方式其实简单在复制前先调整目标Room的尺寸和位置让它和源Room的可用空间大致相当再执行复制。如果已经出现重叠可以整体选中重叠的Room将它们移动到开放区域再逐个微调位置。5.4 DRC报Room边界与走线冲突错误Room边界在PCB上属于对象如果走线从Room边框下方穿过某些设计规则检查会报错。尤其是在Room重叠区域两个Room之间的元件和走线可能会交叉DRC会报Room spacing违规。解决思路是尽量让Room边界避开其他元件的走线路径。如果无法完全避开可以在DRC设置中单独关闭Room spacing规则在Design Rules - Placement - Room Definition里修改对应规则但要评估关掉后是否会影响其他检查。5.5 版本差异AD16和更高版本的操作位置不一样AD16的Room菜单路径偏传统很多选项藏在Design - Rooms菜单下而AD20之后的版本把Room操作整合到了右键菜单和属性面板里操作方式有变化。如果你后来换用更高版本花点时间在官方文档里重新刷一遍菜单位置不难。另外不同语言版本之间菜单名称有差异建议对照英文路径操作避免中文菜单翻译造成误解。6. 关于Room使用习惯的一点补充个人经验是Room这个功能适合“结构完全一致”的模块复制不太适合“大致相同但局部有差异”的模块。如果两路模块只是80%相似复制之后还要逐路修改反而不如分开布线灵活。这种情况下可以先复制再对不相同的部分单独调整利用Room达到快速起步的目的同时注意差异部分的特殊走线和过孔需要额外确认。还有一点复制之前务必要保存文件。Room复制虽然稳定性尚可但在大型PCB工程中偶尔会遇到程序无响应的情况尤其当板子上有大量覆铜、走线密集时复制操作对性能的消耗比较高。保存一个检查点遇到问题可以随时回退。画重复模块板子效率和安全两手都要抓。Room功能用好了以前要画一下午的活儿半小时干完而且每路模块的布局一致性远超手工操作。希望这篇东西能帮你少走点弯路让重复模块不再成为加班理由。
返回列表