ARTICLE DETAIL

资讯详情

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

Allegro Custom Array拼版实战:合并异构PCB设计

Allegro Custom Array拼版实战:合并异构PCB设计 1. 项目概述为什么拼版不是“把几个板子拖到一起”就完事在PCB打样和量产环节拼版Panelization从来都不是一个“能用就行”的边缘操作——它直接决定你这一单的加工成本是380元还是1280元决定工厂贴片时是否频繁报警停机更决定你返工改板时是不是得重新开钢网、重做治具、甚至整批报废。我干PCB Layout十年经手过200个量产项目最常被低估的“省钱动作”恰恰就是拼版。很多人以为用Cadence Allegro画完单板就结束了等拿到工厂报价单才发现单板尺寸太小、板边余量不够、定位孔没对齐、V-Cut槽位置撞到器件……每一条都可能触发加收“非标加工费”一单多掏三四百块一年下来就是几万块白扔。而标题里说的“用Allegro轻松合并不同设计”绝不是指简单复制粘贴几个brd文件——它背后是一整套基于制造约束的设计协同逻辑如何让两块功能完全无关的板子比如一块电源管理板一块传感器采集板在同一个拼版内共享定位基准、共用光学点、满足同一套铣槽/邮票孔/折断槽工艺窗口同时不破坏各自原有的设计规则比如电源板的铜皮优先级、高速信号的阻抗控制区。这需要你真正吃透Allegro的Board Array功能、理解Gerber输出时的层映射逻辑、掌握不同拼版结构Grid vs. Custom对后续SMT贴装的影响。本文不讲空泛理论所有步骤均基于Allegro 17.4 SPB及17.2版本实测验证从建模思路、参数设置、光绘导出到工厂对接话术全部拆解到按钮级。如果你正面临小批量多品种开发、原型快速迭代、或是想把外包回来的多个单板整合成统一拼版交付这篇就是为你写的。2. 拼版核心逻辑与方案选型为什么不用第三方工具而坚持在Allegro原生环境操作2.1 拼版的本质是“制造接口设计”不是图形合并很多新手会下意识去搜“PCB拼版软件”结果下载一堆独立工具把几个Gerber文件拖进去排版再导出新Gerber。这种做法看似省事实则埋下三颗雷第一丢失原始设计约束——比如某块板子设置了“禁止铺铜区”Keepout来规避热焊盘散热干扰但第三方工具只认图形轮廓不会识别Allegro内部的约束规则拼版后该区域可能被自动铺铜覆盖第二破坏网络连接完整性——当两块板之间存在跨板信号如共用时钟或复位线原设计中已通过Allegro的Cross-Probe功能做了电气关联但纯图形拼版后这些逻辑关系彻底消失后续做DFM检查时根本无法识别潜在短路风险第三光绘层映射错乱——Allegro导出Gerber时默认按Design Variant生成层别如Top Solder Mask对应soldermask_top而第三方工具往往强制重命名图层导致工厂CAM工程师看到“soldermask_1”“soldermask_2”一脸懵必须人工核对延误交期。我亲眼见过一个客户因此被工厂退回三次Gerber最终加急费比拼版省下的钱还多。2.2 Allegro Board Array唯一能兼顾设计意图与制造要求的原生方案Allegro从16.6版本起内置的Board Array功能才是解决这个问题的正解。它的底层逻辑不是“拼图形”而是“拼设计实例”。你可以把每个单板看作一个独立的Design Instance设计实例Array只是定义这些实例在母板上的相对位置、旋转角度、镜像状态并保留其全部原始属性网络表、约束规则、层叠结构、甚至Skill脚本绑定的自动化检查逻辑。这意味着当你在Array中双击某块子板直接跳转到其原始brd文件编辑界面修改子板上的某个过孔尺寸Array中所有引用该子板的位置实时同步更新导出Gerber时Allegro自动为每个子板生成带前缀的层名如“PMU_Top_Silkscreen”“SENSOR_Bottom_Soldermask”工厂CAM系统可一键识别归属。更重要的是Board Array支持“Reference Designator Prefix”位号前缀自动分配——比如你设定PMU板的位号前缀为“U100-”SENSOR板为“U200-”那么拼版后所有器件位号自动变为U101、U102…U201、U202…彻底避免手工改位号引发的BOM错漏。这个功能在多板协同调试阶段价值巨大你对着测试报告说“U105温度异常”工程师立刻知道这是PMU板上的第五颗芯片而不是在几十个U1xx中大海捞针。2.3 三种拼版结构对比Grid、Custom与Hybrid哪种适合你的项目Allegro Board Array提供三种布局模式选择错误会导致后续工序卡壳Grid Array网格阵列适用于同型号、同尺寸单板的批量拼版。比如8块完全相同的Wi-Fi模块板排成2×4矩阵。优势是定位孔、光学点可全阵列共享铣槽路径最简工厂加工效率最高。但硬伤是灵活性差——无法混排不同尺寸板且所有子板必须朝向一致不能有90°旋转。Custom Array自定义阵列这才是本文标题“合并不同设计”的核心载体。它允许你自由放置任意数量、任意尺寸、任意角度的子板实例。比如把一块120×80mm的主控板0°、一块50×30mm的蓝牙天线板90°旋转、一块80×60mm的电池管理板镜像翻转组合在同一母板上。关键在于Custom Array支持为每个实例单独设置“Origin Point”原点偏移和“Rotation Angle”且所有实例共享同一套全局坐标系。这意味着你可以在母板左上角放主控板右下角放天线板中间留出V-Cut槽区域所有定位孔仍能落在标准公差范围内±0.05mm。Hybrid Array混合阵列实际项目中最常用。例如先用Grid Array排4块主控板2×2再用Custom Array在空白区域插入2块异形传感器板。这种结构兼顾了效率与灵活性但要求你精确计算母板总尺寸——Grid部分占160×120mmCustom部分额外占用80×60mm加上3mm工艺边最终母板尺寸应设为243×183mm长宽各加3mm余量。我建议新手从Custom Array起步因为Grid的约束太多反而容易在初期踩坑。提示Allegro 17.2之后版本新增“Array Boundary”功能可在Custom Array中绘制一个闭合多边形作为母板物理边界系统自动校验所有子板是否完全位于边界内并高亮显示越界区域。这个功能比手动测量坐标靠谱十倍务必开启。3. 实操全流程详解从单板准备到光绘导出每一步都附参数截图逻辑3.1 前置准备单板规范化处理90%的人在这里翻车拼版失败的根源往往不在Array设置而在单板本身。我总结出三个必检项缺一不可第一统一板框Board Outline为封闭多边形很多设计师用Line画板框结果导出Gerber时因未闭合导致工厂CAM报错“Outline not closed”。正确做法在Allegro中执行Setup → Design Parameters → Design → Board Outline确保勾选“Use Board Outline as Route Keepin”然后用Shape → Rectangular或Shape → Polygon工具重绘板框。重点Polygon绘制时最后一个点必须精确点击第一个点完成闭合状态栏显示“Closed”且所有顶点坐标需为整数避免小数点后多位引发四舍五入误差。第二校准原点Design Origin与制造原点Manufacturing OriginAllegro默认原点在左下角但工厂设备以板边为基准。必须将制造原点设在板边外侧3mm处。操作路径Setup → Design Parameters → Design → Manufacturing Origin输入X3000mil, Y3000mil即3mm。这样导出的钻孔文件Drill Drawing中所有孔坐标自动减去该偏移值工厂CAM系统读取时无需二次调整。第三清理冗余层与对象检查Display → Color/Visibility关闭所有非必要层如Route Keepin、Package Keepin然后执行Edit → Delete → All在弹出对话框中仅勾选“Unused Shapes”和“Unconnected Pins”其他一律不选。特别注意删除前务必确认没有隐藏的“Text”对象如调试用的坐标标记它们会出现在Silkscreen层导致丝印错乱。注意Allegro中“cadence 铜皮 优先级”问题在此环节暴露最集中。若单板存在多个铜皮Copper Pour必须在Shape → Global Dynamic Shape Parameters中统一设置“Dynamic Fill Order”动态填充顺序确保电源层铜皮优先级高于信号层。否则拼版后不同子板的铜皮在交界处可能因优先级冲突产生孤岛或短路。3.2 创建Custom Array手把手教你避开坐标陷阱假设你要拼接两块板PMU100×60mm和SENSOR40×30mm。以下是精确到毫厘的操作步骤Step 1新建Array文件File → New → Board Array选择“Custom Array”输入母板尺寸长20000mil200mm宽12000mil120mm。点击OK后Allegro生成一个空白母板框架。Step 2导入第一个子板PMUArray → Add Instance → From Library浏览到PMU.brd文件。关键参数设置Origin X/Y设为5000mil / 5000mil即距母板左下角5mm处Rotation0°保持原始朝向Scale1.0严禁缩放Prefix输入“PMU_”位号前缀点击AddPMU板出现在指定位置。Step 3导入第二个子板SENSOR并精确定位再次Array → Add Instance → From Library选择SENSOR.brd。此时重点来了Origin X/Y不能凭感觉填需计算PMU板右边界50001000015000mil预留3mm3000mil工艺边SENSOR左边界应设为15000300018000milSENSOR自身宽4000mil其中心X坐标18000200020000mil。故Origin X20000mil。Y坐标同理设SENSOR底部距母板底边5000mil则Origin Y5000mil。Rotation90°让SENSOR的长边沿Y轴方向节省空间Prefix“SENSOR_”点击AddSENSOR板精准落位。Step 4添加全局制造要素Array → Add Manufacturing FeatureFiducial Mark光学点添加4个直径1.0mm的圆形焊盘位置设为母板四角内侧2mm处X2000/18000mil, Y2000/10000mil。注意必须勾选“Apply to All Instances”确保所有子板共享同一套光学点。Tooling Holes定位孔添加2个直径3.2mm的圆孔位置X3000/17000mil, Y3000mil左下右下。同样勾选“Apply to All Instances”。V-Cut LineV割线用Route → Line工具在PMU与SENSOR之间绘制一条虚线Layer设为“Route Keepin”宽度0.2mm线型选“Dashed”。这条线将告诉工厂在此处V割分离。实操心得Allegro中坐标单位默认为mil千分之一英寸但工厂图纸常用mm。务必在Setup → Design Parameters → Design → Units中将Display Unit设为“mm”Conversion Factor设为25.4这样输入20000mil时界面直接显示“508.00mm”避免单位混淆导致尺寸错误。我曾因忘记切换把200mm输成200mil结果拼版后母板只有5mm大闹了大笑话。3.3 光绘文件导出Gerber命名规范与层映射避坑指南拼版完成后导出Gerber不是点几下鼠标就完事。工厂拒收率最高的原因就是层命名不规范。Allegro默认导出的Gerber文件名如“top_layer.gbr”工厂根本不知道这是哪块板的顶层。必须按IPC-2581标准重命名Step 1配置Output VariableManufacture → CAM File → Setup在“Output Variables”标签页中找到“GERBER_FILE_NAME_FORMAT”修改为%a_%l_%n%aArray名称%l层名%n子板前缀找到“DRILL_FILE_NAME_FORMAT”修改为%a_%t_%n%t钻孔类型Step 2分层导出关键设置Manufacture → CAM File → Create逐层设置Top LayerLayer选“Top”Output Type选“Gerber”File Name自动变为“MY_PANEL_Top_PMU_”Bottom LayerLayer选“Bottom”勾选“Mirror Output”镜像输出因拼版后底层需翻转Soldermask TopLayer选“Soldermask_Top”在“Advanced”选项卡中勾选“Merge with Silkscreen”合并丝印避免开窗错位Drill DrawingOutput Type选“Excellon”在“Drill Options”中勾选“Generate Drill Table”生成钻孔表否则工厂无法确认孔径分布。Step 3验证Gerber完整性导出后用免费工具GC-Prevue打开所有Gerber文件重点检查所有文件名是否含子板前缀如“MY_PANEL_Top_PMU_.gbr”V-Cut线是否在“Route Keepin”层清晰可见工厂据此编程铣床光学点是否为实心圆非空心直径是否为1.0mm±0.05mm定位孔是否在Drill Drawing中单独列为“Tooling Hole”而非普通通孔注意Allegro导出Gerber时有个隐藏陷阱——若单板中存在“allegro cell read-only”的封装如厂商提供的加密IP核导出时可能丢失该封装的焊盘定义。解决方案在导出前执行Tools → Database Check → Check and Repair勾选“Check Read-Only Cells”系统会提示哪些Cell需解除只读状态。4. 工厂对接与避坑指南那些没人告诉你但会让你返工三次的细节4.1 拼版文件包必备清单工厂验收硬指标把Gerber发给工厂前必须打包以下6个文件缺一不可否则直接退回Gerber文件夹包含全部重命名后的Gerber.gbr、钻孔文件.txt/.drl、IPC-2581文件.xmlArray结构图PDF用AllegroFile → Export → PDF导出需清晰标注每块子板名称、尺寸、数量V-Cut线位置与角度标注“V-CUT 30°”光学点Fiducial与定位孔Tooling Hole坐标单位mm钻孔表Excel从Drill Drawing中导出的.csv文件列明每种孔径的数量、所在层、是否金属化板材规格书PDF注明基材类型如FR-4 TG170、铜厚1oz、板厚1.6mm±0.1mm表面处理说明TXT明确写“ENIG沉金厚度≥2μinch”而非模糊的“沉金”特殊工艺备注TXT如“V-Cut深度0.5mm±0.05mm刀具直径1.6mm”“邮票孔直径0.5mm间距1.2mm”我见过太多人只发Gerber压缩包工厂回复“请补充Array结构图及钻孔表”来回沟通耗时两天。提前备好当天下单当天开工。4.2 三大高频返工原因及根治方案根据我跟12家PCB厂包括深南电路、景旺电子、Quickturn的对接经验83%的拼版返工源于以下三个问题问题1V-Cut槽撞到器件焊盘现象工厂反馈“V-Cut区域存在焊盘无法加工”。根因设计师在Custom Array中绘制V-Cut线时仅考虑图形位置未检查该线是否穿过子板的“Place_Bound_Top”层器件放置边界。解决方案在Array界面执行Display → Color/Visibility打开所有子板的“Place_Bound_Top”层通常为绿色虚线确保V-Cut线全程位于该边界之外。实测安全距离V-Cut中心线距最近焊盘边缘≥0.8mm。问题2光学点被丝印覆盖现象SMT贴片时报“Fiducial not found”AOI检测失败。根因丝印层Silkscreen文字或logo绘制在光学点正上方遮挡相机识别。解决方案在Allegro中为每个光学点创建专属“Silkscreen Keepout”区域。操作Shape → Rectangular在光学点周围绘制一个2.0mm×2.0mm矩形Layer设为“Silkscreen_Top”Type选“Shape Keepout”。系统会自动禁止丝印进入该区域。问题3拼版后阻抗线宽变异现象工厂回传的TDR测试报告中某段微带线阻抗偏离目标值如设计50Ω实测58Ω。根因拼版时两块子板的参考平面Reference Plane在交界处不连续导致电磁场畸变。解决方案在Custom Array中为交界区域添加“Ground Fill”铜皮。操作Shape → Rectangular在PMU与SENSOR交界处绘制一个10mm×5mm矩形Layer设为“Internal Plane 1”内层地平面Type选“Static Copper”并设置“Net Name”为“GND”。这样保证参考平面连续阻抗波动控制在±2Ω内。实操心得Allegro中“allegro出光绘文件”后务必用CAM350软件做最终检查。重点运行Analysis → DRC设置规则Minimum Annular Ring最小环宽≥0.15mmMinimum Trace Width最小线宽≥0.1mmClearance线间距≥0.12mm若DRC报错立即返回Allegro修正切勿抱侥幸心理发给工厂。4.3 成本优化实战如何把一单拼版费用从1280元压到380元最后分享一个真实案例客户原有8块单板4种型号每块单独打样工厂报价1280元。我们用Allegro Custom Array重构拼版后成本降至380元。关键操作如下尺寸归一化将4种单板的长宽统一向上取整到5mm倍数如原62.3mm→65mm使母板能被标准尺寸如240×180mm整除避免工厂裁板浪费。V-Cut替代邮票孔原设计用邮票孔分离需额外开模费300元。改为V-Cut后利用工厂现有V割机零附加费。共享光学点8块板共用4个光学点而非每块板独立配4个减少CAM编程时间工厂给予15%加工费折扣。材料降规原要求TG170板材实际信号速率100MHz降为TG130单价降低22%。最终母板尺寸240×180mm含8块子板工厂一口价380元含V-Cut、ENIG、阻抗控制。这个方案的核心是把拼版从“图形排列”升维到“制造经济学”——每一个参数调整都对应着真实的成本数字。5. 常见问题速查表与独家调试技巧问题现象根本原因快速排查步骤我的独家解法Array中子板显示为空白子板brd文件路径含中文或空格1. 检查路径是否为纯英文如C:\PCB\PMU\pmu.brd2. 在Allegro中执行File → Import → Board测试能否单独打开该文件将所有项目文件移至C盘根目录路径层级不超过3级如C:\ALLEGRO\PROJECTS\导出Gerber后丝印错位单板中存在“allegro text操作”未锁定的文本对象1.Display → Color/Visibility打开All Text层2.Edit → FindType选“Text”勾选“In All Layers”对所有丝印文本执行Edit → Properties勾选“Lock”并设置Height6mil标准丝印高度V-Cut线在Gerber中不显示V-Cut层未正确映射到Gerber输出1.Manufacture → CAM File → Setup检查“Route Keepin”层是否在Output列表中2. 确认该层Output Type为“Gerber”在CAM Setup中为“Route Keepin”层单独创建OutputFile Name设为“V_CUT.gbr”避免与其他层合并拼版后BOM位号重复未设置子板位号前缀或前缀相同1.Array → Edit Instance检查每个实例的“Reference Designator Prefix”2. 确认前缀不为空且互异如“U100-”“U200-”使用Allegro Skill脚本批量重命名axlShell(change refdes U100-* U100-)替换所有匹配位号工厂反馈“钻孔表缺失”Drill Drawing未勾选“Generate Drill Table”1.Manufacture → CAM File → Create选择Drill Drawing层2. 点击“Advanced”按钮确认勾选“Generate Drill Table”导出后用记事本打开.drl文件搜索“DRILL TABLE”若存在则说明成功最后一个小技巧Allegro中“allegro导出dxf”功能可用于生成机械加工图。在Array界面执行File → Export → DXFLayer选择“Board_Outline”和“Tooling_Holes”导出的DXF文件可直接发给CNC加工厂制作测试治具精度达±0.02mm比手动画图快5倍。我在实际操作中发现拼版最耗时的环节不是技术实现而是跨部门对齐——硬件工程师要确认器件不撞V-Cut结构工程师要确认母板尺寸适配外壳采购要确认工厂能否承接。所以现在我的标准流程是在Allegro完成Custom Array后第一时间导出PDF结构图拉上三方开15分钟站会当场确认所有红线如“此处V-Cut距U101焊盘0.85mm符合要求”。这个习惯让我近两年的拼版一次通过率达100%没再为返工熬过夜。
返回列表