AD18实战:从Gerber到CAM350,一站式掌握PCB生产文件输出与验证

桔梗橘花枝

1. AD18生成Gerber文件前的准备工作

在开始生成Gerber文件之前,有几个关键步骤需要特别注意。这些准备工作看似简单,但往往决定了后续文件输出的质量和可读性。我遇到过不少工程师因为忽略这些细节,导致板厂反馈文件无法识别或出现错位问题。

首先,原点设置是重中之重。建议将原点放置在PCB外框的左下角,这个位置便于后续加工和测量。具体操作:在AD18中点击"Edit"→"Origin"→"Set",然后选择板框左下角作为坐标原点。我曾经有个项目因为原点设置在了板子中央,导致钻孔文件偏移了半个板子的距离,差点造成生产事故。

其次,层标注是提高文件可读性的有效方法。建议在每一层都用文本标注对应的层名称(如"Top Layer"、"Bottom Layer"等)。特别是在Drill Drawing层,一定要添加".legend"文本(不带引号),这个标记会自动生成钻孔图例。实际操作中,我发现很多工程师会忘记这个步骤,结果在CAM350中查看时无法快速识别各层信息。

还有一个容易被忽视的细节是钻孔数据表。通过"Place"→"Drill Table"命令,将钻孔数据表放置在PCB上。这个表格会包含所有钻孔的尺寸和数量统计,对板厂和后续检查都非常有用。记得把它放在不影响布线又不显眼的位置,通常我会放在板框外的右下角。

注意:在设置原点时,建议先切换到机械层(Mechanical Layer)进行操作,避免误触其他元素。同时检查单位设置(毫米或英寸),确保与后续Gerber输出保持一致。

2. Gerber文件生成详细步骤

2.1 基础参数设置

在PCB界面点击"File"→"Fabrication Outputs"→"Gerber Files",会弹出Gerber设置对话框。第一个标签页"General"中有几个关键参数需要特别注意:

  1. 单位选择:必须与PCB设计时使用的单位一致。如果设计时用的是毫米,这里就选Millimeter;如果是英寸,则选择Inches。我曾经因为单位不一致导致输出的Gerber尺寸缩小了25.4倍,差点酿成大错。

  2. 格式选择:推荐使用2:5格式(即整数2位,小数5位)。这个格式精度足够应对大多数PCB设计,也是行业通用标准。有些老厂可能要求2:4格式,但2:5兼容性更好。

  3. 前导零设置:建议选择"Suppress leading zeroes"(抑制前导零)。这个选项可以减少文件大小,同时不影响数据精度。不过要注意,这个设置必须与后续钻孔文件输出保持一致。

2.2 图层设置技巧

切换到"Layers"标签页,这里控制哪些层会被输出:

  1. Plot Layers:通常选择"All on",输出所有使用的层。但如果某些机械层没有实际内容,可以手动关闭以减少文件数量。我一般只保留板框所在的机械层。

  2. Mirror Layers:保持"All off"即可,除非你有特殊镜像需求。曾经有个同事不小心勾选了镜像选项,结果输出的底层Gerber是镜像的,导致焊接面完全反了。

  3. 机械层选项:右上角的"Include unconnected mid-layer pads"通常不需要勾选。如果勾选,每层Gerber都会包含机械外框,导致文件冗余。

2.3 高级参数解析

"Advanced"标签页中的参数虽然不常修改,但理解它们可以避免一些奇怪的问题:

  1. Film Size:默认值通常够用,但如果遇到"菲林太小"的报错,可以尝试将X/Y值改为9。这种情况多发生在拼板设计或元件离原点很远时。

  2. Position on Film:选择"Reference to relative origin"(参考相对原点),这样能确保各层对齐。

  3. Batch Mode:建议选择"Separate file per layer"(每层单独文件),这样管理和检查更方便。

  4. Plotter Type:现代设备都支持"Unsorted(raster)"(未排序光栅)模式,处理速度更快。"Sorted(vector)"是老式绘图机需要的,现在基本不用。

  5. G54 on aperture change:这个选项是为老式光绘机保留的,现代设备都不需要,保持不勾选即可。

设置完成后点击"OK",Gerber文件就会生成在工程目录下的"Project Outputs"文件夹中。建议把这些文件单独复制到一个新建的"Gerber"文件夹,方便后续管理和发送给板厂。

3. 钻孔文件输出要点

3.1 钻孔文件生成

钻孔文件(NC Drill Files)是PCB生产中的关键文件,操作路径:"File"→"Fabrication Outputs"→"NC Drill Files"。这里有几个必须注意的参数:

  1. 单位与格式:必须与Gerber文件设置完全一致!如果Gerber用的是2:5格式,这里也要选2:5;Gerber抑制前导零,这里也要同样设置。我曾经因为格式不一致,导致钻孔全部偏移,损失了整批板子。

  2. Leading/Trailing Zeroes:选择与Gerber相同的"Suppress leading zeroes"。

  3. 坐标格式:选择"Reference to relative origin",确保与Gerber文件对齐。

点击"OK"后会弹出单位设置对话框,再次确认单位与Gerber一致。生成的钻孔文件通常有两个:.TXT和.DRR,前者是实际钻孔数据,后者是钻孔报告。

3.2 钻孔文件验证

生成的钻孔文件需要特别检查以下几点:

  1. 文件完整性:确保.TXT文件不为空,且.DRR文件中有完整的钻孔统计。

  2. 单位一致性:打开.TXT文件,检查头部信息中的单位是否与设计一致。

  3. 钻孔数量:对比.DRR文件中的钻孔数量与设计中的过孔、通孔数量是否匹配。

我曾经遇到过一个案例:设计中有200多个过孔,但输出的钻孔文件只有180个。后来发现是因为部分过孔被误标记为测试点,没有被包含在钻孔文件中。这种问题只有仔细检查才能发现。

4. IPC网表与坐标文件输出

4.1 IPC网表文件生成

IPC网表是验证PCB电气连接正确性的重要文件,生成路径:"File"→"Assembly Outputs"→"Test Point Report"。

在弹出的对话框中选择"IPC-D-356A"格式,这是行业标准格式。点击"OK"后会连续弹出几个确认对话框,都直接确认即可。生成的.ipc文件会包含所有网络的连接信息,板厂会用这个文件进行电气测试。

在实际项目中,我发现IPC网表特别适合检查以下问题:

  • 网络短路或开路
  • 元件封装错误
  • 网络名称不一致

4.2 坐标文件输出

坐标文件(Pick and Place文件)用于SMT贴片机编程,生成路径:"File"→"Assembly Outputs"→"Generates pick and place files"。

关键设置:

  1. 输出格式:选择CSV格式,兼容性最好。
  2. 单位:与Gerber保持一致。
  3. 包含元件:通常全选(包括SMD和通孔元件)。
  4. 坐标基准:选择"Body Center"(元件中心),这是贴片机的标准参考点。

生成的.csv文件会包含所有元件的位号、坐标、旋转角度和所在层信息。建议用Excel打开检查,确认没有异常值。特别是旋转角度,我遇到过180度错标为0度的情况,导致元件贴反。

5. CAM350文件导入与检查

5.1 文件导入步骤

打开CAM350,点击"File"→"Import"→"AutoImport",导航到存放Gerber文件的文件夹,选择任意一个文件后点击"Next"。

关键检查点:

  1. 文件格式:确保Type为RS-274-X的各层,Format列显示为ELA2.5(与Gerber输出时的2:5格式对应)。如果显示ELA2.4,必须手动改为ELA2.5。
  2. 钻孔格式:Type为NC DATA的行,Format必须为Excellon-2.5。如果显示Excellon-2.4,同样需要手动修改。这个错误会导致钻孔位置偏移,我曾经因此损失过一批板子。

导入完成后,所有层会叠加显示。双击左侧图层列表中的层名可以单独查看每一层。

5.2 常见检查项目

在CAM350中,我通常会进行以下几项关键检查:

  1. 层对齐检查:使用"Info"→"Measure"工具测量各层关键点的距离,确保没有偏移。特别是钻孔层与其他层的对齐。

  2. 阻焊开窗检查:对比焊盘层(如Top/Bottom Layer)和阻焊层(如Top/Bottom Solder Mask),确认所有需要焊接的焊盘都有开窗。

  3. 丝印清晰度:检查丝印层(如Top/Bottom Overlay)是否清晰可读,没有与焊盘重叠。

  4. 钻孔精度:通过"Tables"→"NC Tool Table"查看钻孔尺寸是否与设计一致。特别注意不同尺寸的钻孔数量是否正确。

  5. 板边检查:确认机械层定义的板框与各层内容没有冲突,特别是铜皮与板边的距离。

CAM350还提供了DFM(可制造性设计)检查功能,可以自动检测最小线宽、最小间距、最小焊盘等问题。建议在发送给板厂前都运行一次DFM检查。

6. 常见问题与解决方案

6.1 Gerber文件问题

问题1:导入CAM350后发现层不对齐。
解决方案:检查原点设置是否一致,Gerber和钻孔文件是否使用相同的单位和格式。

问题2:某些层在CAM350中显示异常。
解决方案:回到AD18检查该层是否有有效内容,Gerber输出时是否勾选了该层。

问题3:文件过大,板厂无法处理。
解决方案:检查是否有不必要的层被输出,尝试关闭"G54 on aperture change"选项。

6.2 钻孔文件问题

问题1:钻孔位置偏移。
解决方案:确认钻孔文件与Gerber使用相同的原点和单位设置。

问题2:缺少某些钻孔。
解决方案:检查这些钻孔是否被标记为测试点,需要在钻孔输出设置中包含测试点。

问题3:钻孔尺寸错误。
解决方案:检查PCB设计中的钻孔定义,确认没有使用非标准的钻孔符号。

6.3 CAM350导入问题

问题1:某些层无法导入。
解决方案:检查文件格式是否正确,尝试手动导入(File→Import→Gerber Data)。

问题2:图形显示不完整。
解决方案:检查Film Size设置是否足够大,尝试增大数值。

问题3:钻孔飞到板外。
解决方案:确认钻孔文件的Format设置为Excellon-2.5(与Gerber的2:5格式对应)。

在实际项目中,我建议建立一个检查清单,每次输出生产文件后都逐项核对。这个习惯帮我避免了很多低级错误,特别是赶工期的时候更容易出错。另外,不同板厂可能有特殊要求,最好事先沟通确认文件格式和内容要求。

内容推荐

从零到一:使用Apache Commons Daemon将Java GUI应用打造为Windows系统服务
本文详细介绍了如何使用Apache Commons Daemon将Java GUI应用转换为Windows系统服务,实现24小时后台运行和开机自启。通过环境准备、服务化改造实战步骤、高级配置与问题排查等内容,帮助开发者快速掌握Java应用服务化技术,提升系统稳定性与可用性。
头歌平台实操:如何用GDB调试Linux 0.11内核捕获前3个系统调用
本文详细介绍了在头歌平台上使用GDB调试Linux 0.11内核并捕获前3个系统调用的实操方法。通过环境准备、GDB配置、断点设置及系统调用解析等步骤,帮助学习者深入理解操作系统内核工作原理,提升调试效率。
别再只盯着定位精度了!聊聊UWB天线设计里那些容易被忽略的‘坑’:色散、匹配与方向图稳定性
本文深入探讨了UWB天线设计中常被忽视的关键问题,包括色散效应、阻抗匹配和方向图稳定性。通过实际案例和数据分析,揭示了这些因素如何影响定位精度,并提供了抗色散设计、自适应匹配电路等解决方案,帮助工程师在智能门锁、医疗机器人等应用中优化UWB天线性能。
Vue项目集成Luckysheet:打造高效Excel在线协作编辑系统
本文详细介绍了如何在Vue项目中集成Luckysheet,打造高效的Excel在线协作编辑系统。通过零学习成本的操作界面、轻量级集成和实时协作能力,Luckysheet解决了团队协作中的版本混乱和修改冲突问题。文章包含从基础环境搭建到高级功能实现的完整教程,特别适合需要在线表格协作的开发者参考。
UE4 虚幻引擎右键菜单失效与.uproject关联修复全攻略
本文详细解析了UE4虚幻引擎中.uproject文件右键菜单失效的常见问题及修复方法,包括安全软件冲突、注册表修复、环境变量配置等解决方案。通过系统性的排查与修复步骤,帮助开发者快速恢复右键菜单功能,提升开发效率。
别再手动截图了!用Lumerical脚本批量导出FDTD仿真数据(附Python处理代码)
本文介绍了如何利用Lumerical脚本和Python代码实现FDTD仿真数据的自动化批量导出与处理,大幅提升光子器件设计效率。通过详细讲解数据获取机制、批量导出流水线构建和高级数据处理技巧,帮助工程师摆脱手动截图,建立从仿真到分析的全自动工作流。
MFC老项目焕新:不升级VS,用VS2015给旧程序添加Excel 2016数据导入导出功能
本文详细介绍了如何在VS2015环境下为老旧MFC项目添加Excel 2016数据导入导出功能,无需升级Visual Studio版本。通过环境配置优化、线程安全架构设计、工程化封装实践和性能优化策略,实现高效稳定的Excel操作,特别适合工业控制和数据采集系统升级需求。
模电小白也能懂:图解共射-共基放大电路工作原理(含常见问题解答)
本文通过生活化类比和直观图解,详细解析了共射-共基放大电路的工作原理及其高频特性优化方法。这种经典电路结构在射频前端、视频信号处理等场景中表现优异,特别适合模电初学者快速掌握。文章包含电路结构拆解、高频特性提升原理、设计要点及常见问题解决方案,帮助读者深入理解这一电子工程中的重要技术。
西门子S7-1500双机TCP通信:从硬件组态到程序调试的完整实践
本文详细介绍了西门子S7-1500双机TCP通信的完整实践,从硬件组态到程序调试的全过程。涵盖硬件准备、网络搭建、TIA Portal软件配置、TCP连接组态实现方式及调试技巧,特别适合工业自动化领域需要稳定高效数据传输的场景。通过实际案例分享,帮助工程师快速掌握S7-1500的TCP通信技术。
RoBERTa优化实践:从BERT预训练到性能突破的关键策略
本文深入探讨了RoBERTa模型相比BERT的性能优化策略,包括动态mask、移除NSP任务、大batch训练等关键技巧。通过GLUE和SQuAD任务的实际测试数据,展示了RoBERTa在准确率、训练速度和硬件利用率上的显著提升,为开发者提供了从预训练到下游任务适配的完整实践指南。
手把手教你用Python+ROS给越疆Dobot机械臂写个“分拣助手”:从图像识别到抓取投放
本文详细介绍了如何使用Python和ROS为越疆Dobot机械臂开发一个视觉分拣系统,涵盖从图像识别到精准抓取投放的全流程。重点解决了像素坐标到机械臂坐标转换的核心难题,并分享了实际项目中的避坑经验,适合自动化分拣领域的开发者和爱好者参考。
在CentOS 7上从零搭建Cadence IC617+MMSIM151+Calibre2015:一份避开了所有常见坑的保姆级配置清单
本文提供了一份在CentOS 7上从零搭建Cadence IC617+MMSIM151+Calibre2015的详细配置指南,涵盖了系统准备、依赖库配置、软件安装、License配置、环境变量设置等关键步骤,特别标注了20多个新手容易踩坑的关键点,帮助IC设计工程师高效搭建完整的开发环境。
FPGA实战:如何用IDELAY2优化LVDS接口时序(附XAPP585代码解析)
本文深入探讨了FPGA设计中IDELAY2模块在优化LVDS接口时序的高阶应用,结合XAPP585应用笔记的工业级解决方案,详细解析了硅片级延迟链工作原理和多通道相位对齐技巧。通过实战案例展示如何解决高速信号完整性问题,特别适用于医疗影像设备和车载显示控制器的设计。
从Java 8到Java 17:一次企业级应用升级的实战避坑指南
本文详细介绍了企业级应用从Java 8升级到Java 17的实战避坑指南,涵盖升级前的环境评估、核心升级步骤、常见兼容性问题解决方案及升级后的验证策略。通过实际案例和最佳实践,帮助开发者高效完成升级,避免常见踩坑问题,提升系统性能和现代化特性支持。
不止于解包:用AssetStudio深度分析Unity项目结构与资源依赖关系
本文深入探讨如何利用AssetStudio超越简单的Unity资源解包,进行项目结构与资源依赖关系的深度分析。通过解析TypeTree、构建资产关系图谱等高级技巧,帮助开发者从资源布局中学习项目规范,识别核心资产,并处理复杂情况。文章结合实战案例,展示了如何通过逆向工程洞察Unity项目的设计哲学与架构决策。
从源码编译Git到解决libcurl依赖:一次完整的HTTPS协议支持修复之旅
本文详细记录了从源码编译Git到解决libcurl依赖问题的完整过程,特别是针对HTTPS协议支持的修复。通过逐步编译OpenSSL、Curl和Git,解决了常见的`fatal: Unable to find remote helper for 'https'`错误,并提供了环境配置和验证方法,帮助开发者彻底解决Git的HTTPS协议支持问题。
为什么Win7共享打印机必须开防火墙?深入解析0x000006d9错误机制
本文深入解析了Win7共享打印机时常见的0x000006d9错误机制,揭示了为何必须开启Windows防火墙才能成功共享。通过剖析打印后台处理程序与防火墙API的关键依赖关系,解释了终结点注册、规则验证等技术细节,并提供了实用的错误排查方法和安全配置建议。
别再只用PCA了!用sklearn的Isomap处理‘瑞士卷’这类非线性数据,保姆级实战教程
本文详细介绍了如何使用sklearn的Isomap算法处理非线性数据如‘瑞士卷’,通过对比PCA的局限性,展示Isomap在捕捉数据非线性结构上的优势。包含从原理到实战的完整教程,帮助读者掌握降维技巧,提升机器学习项目效果。
别再乱试了!Android开发中这13个系统字体到底怎么选?附完整效果对比图
本文深入解析Android开发中13种系统字体的特性与选型策略,涵盖无衬线体、衬线体和等宽字体的适用场景及渲染效果对比。通过实战案例和版本兼容性分析,帮助开发者解决字体选择难题,提升应用用户体验和品牌调性。特别推荐`sans-serif-medium`在Android 10+设备上的优异表现。
ESP32实战:从WiFi连接到HTTPS数据解析(基于ESP-IDF与VSCode开发环境)
本文详细介绍了如何在ESP32开发板上实现从WiFi连接到HTTPS数据解析的全过程,基于ESP-IDF框架和VSCode开发环境。内容包括开发环境搭建、WiFi连接优化、HTTPS请求实现、JSON数据解析以及项目集成调试技巧,为物联网开发者提供了一套完整的实战解决方案。
已经到底了哦
精选内容
热门内容
最新内容
SAP MM 物料主数据批量创建与增强:BAPI_MATERIAL_SAVEDATA 实战进阶
本文深入解析SAP MM模块中BAPI_MATERIAL_SAVEDATA接口的批量创建与增强策略,涵盖物料主数据管理、性能优化及自定义字段扩展等实战技巧。通过化工行业案例,展示如何高效处理上万条物料数据,并分享错误处理、事务控制等关键代码实现,助力企业提升供应链管理效率。
QT6.5国内镜像高速下载与安装全攻略
本文详细介绍了QT6.5国内镜像高速下载与安装的全过程,帮助开发者解决官方源下载慢的问题。通过清华、阿里云等国内镜像站,下载速度可提升20-100倍,大幅缩短安装时间。文章包含Windows、macOS和Linux系统的具体安装步骤,以及常见问题的解决方案,是QT开发者的实用指南。
Windows 11 下 Oh My Posh 与 IntelliJ 终端集成问题排查指南
本文详细介绍了在Windows 11系统下解决Oh My Posh与IntelliJ终端集成问题的完整指南。从环境配置、字体设置到常见问题排查,提供了一系列实用技巧和优化建议,帮助开发者高效解决终端显示异常、主题不生效等问题,提升开发体验。
告别卡顿与高带宽:手把手教你用AV1编码器压缩4K视频(以QAV1为例)
本文详细介绍了如何使用AV1编码器(以QAV1为例)高效压缩4K视频,解决卡顿与高带宽问题。通过实战参数配置、硬件加速技巧和自动化流程,帮助内容创作者在不牺牲画质的前提下显著降低带宽消耗,提升视频传输效率。
FPGA千兆网硬件设计实战:RTL8211EG布局优化与EMI控制
本文详细探讨了FPGA与RTL8211EG千兆网PHY芯片的硬件设计优化策略,重点介绍了PCB布局、信号完整性控制和EMI抑制的实战技巧。通过合理的层叠设计、差分对布线和电源系统优化,可显著提升千兆以太网的通信稳定性和抗干扰能力,为工业自动化设备提供可靠的网络硬件解决方案。
超维小课堂 | 2、从Pixhawk硬件选型到PX4固件编译:如何为你的无人机项目搭建核心系统
本文详细介绍了从Pixhawk硬件选型到PX4固件编译的全流程,为无人机项目搭建核心系统提供实用指南。内容涵盖硬件型号匹配、编译环境搭建、固件定制化配置及实战调试技巧,特别适合需要RTK定位、SLAM或视觉算法的无人机开发者。通过实际案例解析,帮助读者避开常见陷阱,提升开发效率。
AT24C08 EEPROM页写操作避坑指南:为什么你的数据会被意外覆盖?
本文深入解析AT24C08 EEPROM页写操作中数据意外覆盖的根本原因,揭示I2C接口设备的页缓冲机制陷阱。通过页边界计算算法、增强型写入流程和高级防御技巧,提供避免数据覆盖的实用解决方案,帮助开发者提升嵌入式存储系统的可靠性。
实战篇-OpenSSL之AES加密算法-CBC模式填充策略与数据对齐
本文深入探讨了OpenSSL中AES加密算法的CBC模式填充策略与数据对齐问题。通过对比ZeroPadding和PKCS7Padding的差异,揭示了PKCS7填充在数据完整性保障上的优势,并提供了实战中的代码示例与最佳实践方案,帮助开发者避免常见的加密陷阱。
给BQ769x0数据手册做中文笔记:一个硬件小白的避坑与实战心得
本文分享了硬件小白学习BQ769x0电池管理芯片数据手册的实战心得,详细解析了引脚连接、三大子系统工作原理及通信避坑指南。通过具体案例和代码示例,帮助初学者快速掌握BQ769x0的核心功能,避免常见错误。
告别命令行恐惧:用SourceTree在Mac上优雅管理你的Gitee项目(附SSH密钥配置全流程)
本文详细介绍了如何在Mac上使用SourceTree优雅管理Gitee项目,包括SSH密钥配置全流程。通过图形化界面简化Git操作,提升开发效率,特别适合不熟悉命令行的开发者。内容涵盖环境准备、SSH密钥深度配置、SourceTree核心工作流及异常处理,助你轻松实现版本控制。