ARTICLE DETAIL

资讯详情

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

Altium Designer多通道设计与Room复制:相同模块复用实战指南

Altium Designer多通道设计与Room复制:相同模块复用实战指南 给一块8通道信号调理板做PCB的时候我走过一段弯路8路电路结构一模一样我没有用AltiumDesigner的多通道功能而是老老实实复制了8份原理图在PCB里又手动摆了8遍布局、拉了8遍走线。两个通宵下来板子倒是出来了但问题一堆位号混乱、部分通道的滤波电容方向不一致、后期客户要改阻值时我得逐页去改原理图改到第5个通道就开始怀疑人生。后来专门研究了一遍AD里“相同模块复用”的路子才发现这件事在AltiumDesigner里是有系统化方案的而且操作起来并不复杂。这篇文章就把我的经验和踩坑记录整理出来。无论你是在做电源板、采集板、电机驱动板还是IO扩展板只要项目里有多个功能相同或高度相似的模块这套思路都能帮你把原理图和PCB的工作量砍掉一大半同时保证通道之间电气一致性和布局一致性都处于可控状态。文章不分水平新手按步骤照着做就行老手可以直接跳到后面的选型对比和坑位清单。1. “相同模块复用”到底在复用哪一层东西先说一个容易被忽略的概念AD里的模块复用并不只是“复制粘贴”。很多人第一反应是把一组元件复制一下、换个位号继续用这确实也是一种复用但它只解决了“画图工作量”的问题并没有解决“维护一致性”和“后期同步修改”的问题。真正意义上的相同模块复用需要分两个层面去理解。1.1 原理图层面的复用电路逻辑的复用原理图复用的目标是让同一个电路功能块在工程中被“多处引用”而不是把电路重新画一遍。最常见的技术途径有三种多通道设计通过 Sheet Symbol 的 Repeat 语法让一张子原理图在编译时自动展开成多个通道每个通道继承相同的电气连接结构。工程模板把常用模块做成独立的子原理图文件在需要时方便地引用或复制到新工程。原理图片段Schematic Snippets选中一段画好的电路保存成片段之后插入任意新位置。其中多通道设计是AD对“相同模块”支持最彻底的一种方式因为它是从原理图编译阶段就定义了“这8个模块是同源的”后续PCB同步、位号生成、规则应用都会围绕这个同源关系来展开。原理图的复用决定了你的电气网络不会因为手工复制而出现断网或者错连的问题。1.2 PCB层面的复用布局走线成果的复用PCB复用的目标是把样板通道的布局和布线的“结果”复制到其余通道。这里要复用的不只是“元件放个大概位置”还有具体的走线轨迹、过孔、敷铜、丝印、走线宽度、甚至局部的规则约束。PCB层面复用依赖的是一个叫 Room 的概念。Room 在AD里是一个由设计者定义的范围区域可以把一组元件和它们相关的布线框在一起。当多个通道被分别框在不同Room里时你只要把一个Room调好就能把这份“布局布线模板”复制给其他Room。这个操作在AD菜单里叫“复制房间格式”Copy Room Formats后面我会专门展开讲。1.3 二者是怎么关联起来的可能有人会问我在PCB里直接复制元件和走线行不行行但只能做一次性复制。复制完之后源模块和目标模块之间没有任何关联后面你改了源模块目标模块不会自动同步。而如果用多通道设计 Room这种方式原理图上的一个修改经过编译和同步可以推送到所有通道的PCB上。所以我的看法是哪怕你这次只做2路相同模块也值得用多通道来做不为别的就为以后改板子的时候能少熬夜。2. 多通道设计从一张子原理图到N个电气通道这一节是整篇文章的操作核心。我用一个实际项目来演示假设我要设计一块4通道压力传感器采集板每个通道由放大器、滤波器和ADC前端组成四个通道完全一致。2.1 先把“模板通道”当作独立子图来画新建一个工程然后在工程里新建一张子原理图命名成类似 CH_Amp_Filter.SchDoc。把单个通道的完整电路画在这张子原理图上。画图时有几个重要细节通道内部的局部网络直接用网络标签比如 VOUT、FB、INP、INN。这些网络将来会被AD自动加上通道后缀不用担心四个通道之间短路。通道对外连接的信号比如传感器输入、放大输出、电源要画成端口Port不要画成全局网络标签。端口在顶层图纸上会体现为Sheet Symbol上的端口引脚方便后续连接。电源网络可以用电源端口VCC、GND因为电源本来就是全局共享的。如果你用普通网络标签去连电源后面在PCB同步时反而会出现一些奇怪的隔离问题。一句话总结信号走端口电源走电源端口内部细节走网络标签这是多通道设计最省心的连接习惯。2.2 在顶层图纸上放置Repeat语法的Sheet Symbol接下来在顶层原理图一般在工程里新建一个 Top.SchDoc上放置Sheet Symbol放置 → 图纸符号 并让这个Sheet Symbol指向刚才的 CH_Amp_Filter.SchDoc。关键操作来了双击这个Sheet Symbol在属性中找到“Designator”标识符或者“参数”相关的栏位填入如下格式Repeat(CH_Amp_Filter,1,4)这里冒号冒号之间的含义是Repeat参数告诉编译器将 CH_Amp_Filter 这个子原理图重复4次通道编号从1到4。不同AD版本里Sheet Symbol属性面板的入口可能不太一样有的版本会直接在“Properties Designator”里写有的版本需要添加一个参数来写但语法基本一致都是Repeat(子图名, 起始序号, 结束序号)。填入并确认后编译工程Project → Compile。编译完成后打开“Projects”面板展开工程结构你就会看到 CH_Amp_Filter 展开成了4个通道实例通道名类似CH_Amp_Filter_1 CH_Amp_Filter_2 CH_Amp_Filter_3 CH_Amp_Filter_4这就是多通道设计最直观的效果电气上画一次逻辑上展开成N份。2.3 通道命名规则与网络后缀编译后每个通道里的网络名会自动带上对应通道标识。例如你子图里画了一个叫 VOUT 的网络标签四个通道会分别变成VOUT_CH1 VOUT_CH2 VOUT_CH3 VOUT_CH4而你在电源端口上的 VCC、GND则保持原样仍然是全局共享的 VCC 和 GND。这就是前面说的“信号走端口、电源走电源端口”的好处AD自动帮你把局部网络隔离到各自通道全局网络又不会丢。位号也是类似逻辑。多通道展开后各通道里元件的位号会自动生成带通道后缀的编号比如 U1 变成 U1_CH1、U1_CH2或者类似 U1_1、U1_2 的格式具体格式取决于你的工程配置。这个后缀非常重要因为它是PCB阶段Room复制时判断“哪个原件对应哪个原件”的依据。如果位号对不上复制Room格式时AD会找不到映射关系。2.4 同步到PCB从通道图到Rooms继续在原理图端检查完电气规则ERC后进入同步环节在原理图编辑器里执行“设计 → Update PCB Document ”或者先新建一个空PCB文件再执行更新。在弹出的 Engineering Change OrderECO对话框中把所有变更打勾并执行。完成后进入PCB编辑器你会看到板框旁边出现了4个Room分别对应4个通道且元件已经被自动分配进各自的Room。如果在PCB编辑器里没看到Room可以按 L 打开显示配置在“Rooms”层级里确认Room被勾选显示。Room在PCB里表现为一个矩形区域左上角有Room名称点选后可以拖动调整边界位置。到这一步多通道的骨架已经搭好接下来要做的是怎么把一个通道的布局布线复制给其他通道。3. 样板通道调好后如何批量复制给所有Room很多教程讲到多通道生成就结束了但实际项目里最让人头疼的其实是这一步Room生成之后到底怎么把第一个通道的布局布线“复制”给其他通道而且要做到一模一样、不出乱子。3.1 理清Room和元件的所属关系在复制之前先做一次“对齐检查”。打开PCB面板右下角Panels → PCB在对象类型里选择Rooms可以看到当前板子上的Room列表。逐个点击Room验证每个Room内包含的元件数量是否一致位号是否符合通道后缀规则。这一步很容易被忽略但它的重要性在于复制Room格式要求源Room和目标Room的元件之间有一一对应的映射关系。万一某个元件因为原理图上的小错误没有进入正确的通道Room后面复制时那个元件就会原地不动破坏整个模块的完整性。3.2 把样板通道的布局布线做到“极致”别急着复制。先花时间把第一个Room内部的布局、布线、过孔、走线宽度、差分对等全部调到满意的程度。因为这一份成果就是后面所有通道的“母版”样板质量决定了复用后的整体质量。布局时建议把机械固定孔、接插件朝向、滤波电容位置等都考虑进去。布线方面高频敏感信号离干扰源远一点电源线根据电流算好宽度过孔位置合理。只要样板通道做好了后面复制的通道原则上不需要再返工所以这里的“慢”反而是最快的。有些设计还需要在样板通道内铺局部地铜。注意这里我建议先不铺铜或者只在复制完成后再统一铺铜。原因后面会讲主要是Room复制对多边形铜皮的支持比较“个性”不同版本的AD差异也很大容易踩坑。3.3 核心命令设计 → 房间 → 复制房间格式这是AD里最关键的复用操作我每天做多通道板子都靠它。具体路径是设计 → 房间 → 复制房间格式Copy Room Formats执行后会弹出一个设置对话框需要做的操作选择源Room也就是你精心调好的那个样板通道。选择目标Room可以是一个也可以是多个按住Ctrl可以多选。选择复制内容通常勾选“元件位置”和“布线”根据情况勾选“Room尺寸”和“规则”。点击“应用”ApplyAD会弹出选项让你再次确认源与目标之间的位号映射一般选“自动匹配”即可。确认后目标Room内所有元件的坐标、方向以及走线、过孔会被整体复制过去。复制完成后建议立刻旋转一下板子对比看看。正常情况下两个Room里的走线是一模一样的只是网络后缀多了通道号例如都是 AN0_P_CH1 到 AN0_P_CH2。这时DRC通常不会报短路因为网络名虽然带后缀但物理连接关系已在各自通道内闭合。3.4 为什么“复制房间格式”能保证不短路这里有一个底层逻辑值得说明Room复制的本质不是“拷贝图像”而是按网络连接关系进行“重新布线”。源通道里的走线是连在 VOUT_CH1 和 GND 之间的复制到目标通道时AD会自动把这条走线映射到 VOUT_CH2 和 GND 上。因为源通道网络和目标通道网络之间通过位号映射建立了对应所以走线不会被“张冠李戴”。这也是我反复强调位号后缀要规范的原因位号映射一旦错位复制出来的走线等于在乱连。如果你只是用普通的编辑→复制→粘贴粘贴出来的走线还会保留源通道的网络名比如 VOUT_CH1 被硬生生贴到目标通道里目标通道里却没有 VOUT_CH1 这个网络于是DRC直接给你刷一片未连接错误。这就是“普通复制”和“支持Room映射的复制”的本质区别。3.5 复制完成后的收尾工作所有Room都复制好后记得做这几件事把Room摆放整齐避免Room和Room之间重叠。Room边界会影响后续一些规则作用范围重叠容易让DRC里“InRoom”类规则产生交叉影响。运行一次DRC设计 → 设计规则检查重点看短路、开路、间距错误。用“测量距离”功能抽查几个关键尺寸比如第二个通道和第四个通道上的同一颗电容距离相对板边的坐标差应该是一致的。备份工程文件。Room复制这种批量操作最怕复制到一半发现源Room的走线本身有根漏掉的飞线改完又得重新复制。每完成一个大步骤就存一次档不吃亏。4. 不建多通道也能复用特殊粘贴、PCB片段和模板库多通道方案适合“同源多个通道”的场景。但实际工作中还有另外两类需求一是我这张板上只有2个相同模块不想为了它去折腾多通道二是我想把一块成熟板上的某块电路搬到另一块完全不同的板子上。这两种情况需要的是另一套复用手段。4.1 特殊粘贴在PCB上直接复制元件和走线如果你已经用普通方式画好了一块区域想在同一PCB上复制一份可以用“编辑 → 特殊粘贴”Paste Special。相比普通粘贴特殊粘贴的优势是能在粘贴时选择是否保留网络名、是否复制规则等选项。具体操作思路选中源模块的所有元件和走线按 CtrlC 复制。执行“编辑 → 特殊粘贴”在弹出的对话框里选择“粘贴到当前位置”、“保持网络名”或“保持设计规则”。粘贴后手动拖动到目标区域。这里最大的坑是网络名冲突。如果源模块的网络在整张板子上是唯一的比如 NET_1粘贴出来的副本仍然叫 NET_1这意味着源模块和目标模块的电气网络被连在一起这在某些场景下不是你要的结果。所以特殊粘贴更适合“复制参考图”而不是“复制完整电气副本”。如果你需要目标模块的网络名自动变成 NET_1A 这样带后缀的独立名称建议回到原理图里用“多通道”或手动命名的方式把网络名区分开再同步到PCB。4.2 阵列粘贴对付LED点阵和重复排列如果你的模块是小规模的、且需要按矩阵排列比如LED驱动电路或者按键阵列可以选中模块后用“编辑 → 阵列粘贴”Paste Array功能设置行列间距、排列数量一次性生成N份。阵列粘贴省掉了重复摆位的体力活但位号需要重新编号。粘贴后你需要在PCB里用“工具 → 标注 → 重新标注PCB”对位号进行整理或者回原理图统一编号后再次同步。否则一张板上会出现多个 U10 重号DRC会报重复位号。4.3 PCB片段Snippets跨板搬运的神器PCB片段比较适合“这块频率源电路我在上一块板设计过这次想原封不动搬过来”的场景。操作路径一般是这样的在PCB编辑器里选中要复用的模块包括元件、走线、Room、甚至规则。右键选择“Snippets → 创建片段”或者从“Snippets”面板中执行新建。给片段起名比如 “LDO_5V_模块”保存。在新的PCB里打开Snippets面板把片段拖拽到板子上AD会尝试恢复元件封装、走线、网络。PCB片段本质上是一次性的“快照式”复用它不保留“源模块和目标模块的关联”。之后你改了源模块片段不会更新想要更新需要重新保存片段。因此它更适合成熟的、不需要再改动的标准模块不适合还在迭代阶段的设计。4.4 几种方案的横向对比为了让选型更直观我把自己常用方案的取舍整理成了一张表方案原理图工作量PCB复用效果后续统一修改能力适用场景多通道Room复制需额外学Repeat语法最强走线/元件秒级复制强原理图改一次同步全部同一板≥3路相同模块手动复制特殊粘贴低一般需要手动处理网络名/位号弱无法自动同步临时画个示意/快速验证阵列粘贴低适合规则排列但位号要重标弱LED点阵、按键阵列PCB片段低跨板搬运方便但不追踪修改弱-中成熟模块跨板复用原理图模板库高需要配合原理图同步中-强团队级标准化模块选型原则我后面还会细化但大致思路是数量越多、后续改动概率越大越值得用多通道方案数量少、电路成熟不变用片段或模板更省事。5. 晚点踩不如早点踩Room复制和多通道的常见坑这部分是全文最“值钱”的地方。前面把流程讲通了但如果没躲开下面这几个坑你很可能在一个看起来不难的环节卡半天。5.1 坑一元件没有进到正确的Room多通道同步到PCB后偶尔会遇到某个元件没有被自动分配到对应Room常见原因是原理图里该元件的位号后缀和通道通道不一致或者元件所在的网络没有正确连接到通道端口上。这时候我先去原理图重新编译一次再执行一次Update PCB看是否恢复。如果还是不行可以在PCB编辑器里选中这个元件在Properties面板的“Rooms”栏手动指定它属于哪个Room。但这不是根本解法根本解法还是回原理图检查连通性和通道状态。5.2 坑二Room复制后走线复制了但敷铜没跟上这个问题我踩过不止一次。多通道复制Room格式时走线、过孔、元件位置可以复制但铜皮Polygon Pour的复制在不同AD版本里表现很不稳定。有时候源Room的地铜没复制过去有时候复制过去了但重铺后的挖空区、散热孔和源Room不一样。我的对策是不在样板Room里铺铜先把所有通道的走线复制完再整体切割整板地铜让AD统一执行一次重铺。这样既保证了每个通道下方的地平面一致也减少了后期修改挖空区的麻烦。建议所有需要敷铜的设计都采用“先复制成套走线最后统一铺铜”这个顺序。5.3 坑三设计规则里写死了Room名导致只对部分通道生效新手容易在Design Rules里这样写Where The First Object Matches : WithinRoom(ROOM_CH1)这个写法本身没错但问题是它只对ROOM_CH1生效。等你新增一个ROOM_CH9时忘了去规则里加一句这个通道就缺少对应约束DRC不报错但实际设计可能超规。更稳妥的做法是用“组件类”Component Class作为规则范围。把所有通道的同类元件统一加入一个类例如“All_OpAmp”然后在规则里写InComponentClass(All_OpAmp)这样无论通道增加多少、Room名称怎么变规则都会自动涵盖所有通道对应元件。5.4 坑四修改样板通道后目标通道没有同步更新多通道的同步逻辑是这样的你在原理图里修改电路结构编译并Update之后PCB的通道列表会同步但Room内部的布局布线不会自己重新复制。如果你改的是某个元件的封装或值同步后可能我在PCB上看到四个通道的元件都变了但走线没变如果你改的是走线层或线宽规则可能所有通道的走线都受影响。所以正确的习惯是改完原理图并同步到PCB后再重新跑一次“复制房间格式”把样板通道的最新走线推到其余通道。不然就会出现“第1通道是新版布线和参数第2到第4通道还是旧版”的尴尬情况。5.5 坑五更新PCB时手动改过的布局被冲掉有一类常见事故是这样的目标Room复制完后你又手动挪动了某颗电容的一小段位置结果下次从原理图执行Update PCB时AD可能根据多通道模板把目标Room重新拉回标准布局你手动做的小调整就丢了。解决方法是如果那个手动调整对所有通道都有意义先改样板通道再重新复制如果只对某一个通道有意义比如给某个通道额外加一个调零电阻就把这个通道从“严格多通道同步”中拆出来原理图里单独处理或者用“在通道中禁用更新”之类的选项不同版本入口不同通常在Room属性里让它不再跟着模板强制刷新。5.6 我会跑一遍的自查清单每次完成一轮“相同模块复用”之后我会花三分钟过一遍这张清单[ ] 所有通道的元件数量一致位号后缀对应[ ] 各通道网络名带正确通道后缀电源网络未加后缀且全局连通[ ] 走线宽度、过孔参数在通道间一致[ ] 敷铜为统一重铺没有“漏铜”通道[ ] DRC不报短路、开路、重复位号[ ] 丝印方向避免镜像或旋转不一致[ ] 规则范围用组件类/类而不是写死Room名如果这些检查都通过那复用就基本成功了。个人体会是模板通道一定别赶时间它是整块板子的底线。你越愿意花时间把第一个通道做细后面复用出来的N个通道就越省心。而如果你在复制完后还需要挨个通道去修补那说明前面大概率有一个环节没做对回过头去修根因比在复制结果上打补丁有效得多。
返回列表