GERBER简介.命令与格式转换
1. GERBER介绍
1.1. Gerber的作用
Gerber格式是线路板行业软件描述线路板(线路层、阻焊层、字符层等)图像及钻、铣数据的文档格式集合。 它是线路板行业图像转换的标准格式。
不管你的设计软件如何强大,你都必须最终创建Gerber格式的光绘文件才能光绘胶片。 早期的光绘机是由精确的伺服系统及受它控制的用来装高对比度胶片的 X-Y 桌面组成的。一个很亮的光源直透过快门,透过光圈,聚焦在胶片上。控制系统把 Gerber 命令成适当的桌面移动、轮子的转动和快门的开闭。
当快门打开,光柱透过光圈把光圈的影像暴光在胶片上。当快门打开、桌面同步移动时,线条或条纹被影像到胶片上。使用正确的命令控制桌面的移动、光圈的选择和快门的操作,光绘机就能在胶片上生成任何需要的影像。
Gerber Scientific (现在的 Gerber 系统)开始通过生产精密的机器来控制光绘机工业。“Gerber”这个词在光绘业已经名不副实。
1.2. Gerbr的分类
现存Gerber有两个版本:
扩展Gerber即RS-274X,被普遍使用; 标准Gerber即RS-274D,是老版本,正逐渐被废弃并被RS-274X所取代。
RS-274X
RS-274X(又称扩展的Gerber格式,或者X-Gerber格式)是二维矢量图像描述格式,也是线路板行业图像描述的标准格式。 RS-274X是一种可读的ASCII格式,包含了一系列控制码和坐标信息,组成图像的元素是在特定位置画好外形的线和flash。正性和负性图形对象可以组合。
RS-274X文档包含了线路板各层图像的完整描述,具有线路板图形成像需要的所有元素,不需要扩展文件。Aperture可以定义正性物件和负性物件。铜皮不需要像在RS-274-D中那样指定为
RS-274X 是对线路板各层的完整、强大、清晰的标准描述,能被自动导入及处理。这使得它能被用于快速安全的数据转换及可信和自动化的工作流程。
RS-274X 格式的aperture 是整合在gerberfile 中的,因此不需要
aperture文件(即,内含D 码)。
RS-274-D
老式的RS-274-D(又称标准Gerber格式)是EIA 的 RS-274-D 标准码所衍生的用于控制多领域数控机床的数据格式。Gerber RS-274-D用于控制矢量光绘机,该机器是二维数控机床。Gerber RS-274-D是包含了控制码及X,Y坐标的ASCII格式。
Gerber RS-274-D是20世纪60、70年代被研制出来控制矢量光绘机。该机器现在已经被镭射光绘机取代。Gerber RS-274-D本身不能描述图像信息。它不包含坐标单位及Aperture信息。Aperture是物件的形状说明,类似于PDF文档的字体。光绘机操作人员自己手工设定坐标单位和Aperture,用text文件描述,称为Aperture文件或者由于历史原因称为wheel文件。Aperture文件主要用于操作人员读写,没有标准。每个EDA软件甚至每个设计人员都有自己不同的aperture文件设计及名称转换习惯。PCB制造人员必须自己理解并手工输入到CAM系统。
RS-274-D只支持简单的图像操作。因为其极大的局限性,人们只得创建一些复杂的图形,如stroking,也就是填充块或者填充线。
RS-274-D是数控标准而不是图像描述标准。没有Aperture文件匹配,一个RS-274-D 文件是没有作用的。但是Aperture文档没有统一的标准。
1.3. CAD导出GERBER文件的问题
有一些CAD软件制作出的RS-274X文档是难于处理的。有些文档包含语法或者语义错误。有些文档数据精确度太低,导致在非常精确的线路板厂产生巨大的舍入误差。
1、Gerber导出精确度(网格计算)通常至少比CAD系统的精确度高10倍。
2、有些CAD系统仍然使用填充块来填充而不是使用外形填充,或者使用填充的SMD而不是使用灵活的Aperture定义。填充块不会使文件无效,但是会造成处理时间更长,难度更大。因此,填充块应该被废弃。
2. Gerber命令
Nn 顺序编号──这是用於盘式磁带机的档案搜寻,因为磁带机的档案搜寻是依次序搜寻的,和磁碟机作用方式不同,不过现在使用盘式磁带机的人已经很稀少了,因此略过不再加以介绍。
2.1. Gerber文件实例
下面简单的举例说明GERBER格式的内容和结构:
G90* 1
G70* 2
G54D10* 3
G01X0Y0D02* 4
X450Y330D01* 5
X455Y300D03* 6
G54D11* 7
Y250D03* 8
Y200D03* 9
Y150D03* 10
X0Y0D02* 11
M02* 12
2.2. G-Codes: 设置初始条件
Gerber 调用Gxx命令作为初始码。大多数情况下,这些码被用来配置机器在绘图之前的状态。有一些G码对认识Gerber文件是很重要的:
G90/G91 相对/绝对坐标
在第一行的G90命令告诉机器数据坐标是绝对的,每一个坐标的设置都是相对于桌面的原点(0,0)。绝对的反面就是相对,也就是所有的坐标都是相对与前一坐标增加的。相对坐标就是通过G91 命令设置的。
现在您也许很少看到 G90 ,因为许多软件把绝对坐标作为默认的设置,并且不再标注 G90。这就产生了一个问题——许多后来产生的数据格式也不再费心于 G91 命令。如果您在您的CAM工作站上看到象图3那样的一团“爆炸图”,那就有可能是您试图用绝对坐标方式来读用相对坐标方式生成的文件;当然,也有可能是您使用相对坐标方式来读绝对坐标方式的文件。
G70/G71 英寸/毫米
实例代码中第二行G70表示下面的数据是使用英寸(INCH)作单位的, 这也是一个在GERBER文件中很少出现但很重要的G码。在美国和欧洲大部地区习惯使用英寸,而在世界大部分地区却习惯使用毫米(millimeters)做单位,或者两者都使用。G71就是表明单位是公制。 1英寸等于25.4毫米。
G54. D码选择
在第三行的G54是用来表明光圈转换的,它是最常用的G码,是用来指示光绘机把光孔轮转到适当的位置,这个位置是由紧跟在G54后面的Dxx来指示的。现在G54常常被省略,只是靠D码(除D01、D02、D03)来指示光绘机变换光圈。
G04:注解命令
大多数的光绘机都会忽略G04后面的内容。G04就好象MS-DOS批处理文件中的“REM”命令一样,它后面的内容只是为了帮助人们更容易理解文件.
G01:画直线命令
在一些光绘机中要求圆弧命令必须用G01配合,G01只是表示光绘机桌面的移动是直线的。
画圆弧命令:G02/G03 和 G74/G75
如果有必要而且Gerber文件里有相应的命令,Gerber 光绘机也能画圆弧。
在很早的时候,圆弧是很少用到PCB(print circuit board,印刷电路板)设计中。后来,为了平衡板材的张力、还有一些是为了减小高速电路的高频发射,在PCB设计中开始使用圆弧。并且使Gerber命令有了相应的发展。
基本的圆弧命令语法:
G##X#####Y#####I#####J#####D##*
实例: G02X40Y30150J0D01*
G##代表GO2、G03。G02是指示光绘机顺时针画弧,G03是指示光绘机逆时针画弧。I,J表示圆弧的另一个重要的点——圆心。这些命令最好是不要省略。
下面我们将花费一点时间来详细讨论画圆命令。早期的光绘机只能画弧度不超过90度的圆弧,现在的光绘机已经能画360度的圆弧。这就留下一个问题:360度的弧的数据格式也同90度一样,只是在文件头上用G74、G75标出,当光绘机读到G74时,它就开始以90度方式处理下面的数据;当它发现G75时就以360度的方式处理下面的数据。 如果您的数据没有错,而且您的CAM软件能正确处理圆弧,那么在您处理90度文件时,您的工作站的显示器上就不应该出弧度大于1/4圆的弧;相反并不成立,处理360度文件时,有可能看到弧度很小的弧,这是因为大多数“新”光绘机在设计时就考虑到兼容性问题。
现在我们来研究一下光绘机是如何处理圆命令的,刚刚了解Gerber文件的人大多数会认为G##X#####Y#####I#####J#####D##*会包含一个圆弧的所有内容,其实不然,它前面的一个点也是很重要的,这个点就是圆弧的起点,而G##后面的点是圆弧的终点,I,J是圆心相对与起点的相对坐标。所以大多数软件生成的圆弧命令是这样的:G01X#####Y#####D02*G##X#####Y#####I#####J#####D01* (xys注:在一些光绘机中要求圆弧命令必须用G01配合)
顺便提一下,您选购您的CAM软件时一定要试一试它处理圆弧的能力。
3. GERBER坐标精度
(坐标以inch或mm为单位)
X ± m.n X轴向的座标值──有效数值范围为 ± 0.000001 到 ± 999999.999999
Y ± m.n Y轴向的座标值──有效数值范围为 ±0.000001 到 ±999999.999999
Z ± m.n Z 轴向的座标值──有效数值范围为 ±0.000001 到 ±999999.999999
Im.n 画弧的中心座标对应平行投影於X 轴向的位置──有效数值范围为 ±0.000001 到 ±999999.999999
Jm.n 画弧的中心座标对应平行投影於Y 轴向的位置──有效数值范围为 ±0.000001 到 ±999999.999999
Km.n 画弧的中心座标对应平行投影於Z 轴向的位置──有效数值范围为 ±0.000001 到 ±999999.999999
W ± m.n 内建文字的旋转角度──有效数值范围为 -999999.999° 到 999999.999°
4. 转换GERBER时应注意的问题
4.1. Protel for DOS 转Gerber 时应注意的问题
1、D 码匹配的上下限不要设得太宽,这样容易造成偏差太大,致使最小间距无法保证。
2、有时填充区(Fill)转换可能造成错乱。此时应将D 码表中的方型D 码全部删除,再重新转换。
3、在D 码匹配不上而要求手工匹配时,一定要选方式3。
4、在圆弧(arc)转换时,步距(Arc Quality)不要设得太小,否则会造成数据量过大,而且圆弧边缘不光滑。
5、阻焊扩大值可以是负值。
6、圆弧转换可以选择圆弧描述还是直线描述。
Software Arcs: on 为直线描述,转换时用折线近似园弧。
Software Arcs: off 为圆弧描述,真正的园弧描述方式。
对于能够接受圆弧描述的光绘机最好采用圆弧描述。这样做Gerber 文件数据量小,光绘圆弧边缘光滑。
(其实所有的圆弧你放大n倍之后都是 有棱角的,因为PI是无限循环的小数,计算机处理时都是以积分的形式显示的,就是将圆转换为n条直线连接在一起, 那个use soft arc的选项 一般只能将圆弧尽量的平滑,在铺铜的拐角处的圆弧比较明显,具体到走线就不那么明显了,你输出gerger 用cam350看,放大后还是可以看到棱的)
7、当所用D 码超过24 个时,应将G54 选项打开。
8、当单面焊盘需要打孔时,要将Options\Single layer Pad Holes 项目打开。
9、有些工具软件可以由MAT 文件产生完全配置的D 码表。
4.2. Protel for Windows 转Gerber 时应注意的问题
1、用PFW 可根据PCB 文件自动生成D 码表。但该D 码表中的D 码可能多达数百个,此时应清楚知道你的光绘系统D 码的容量是多少。
2、如果采用的D 码表不是由PFW 自动生成的,以下情况可能导致错误:
①在PFW 中可能有大小为0 的焊盘或线条;
②有Relief 型的焊盘时;
③D 码不配置时。
在以上情况下在MAT 文件中会出现很大的D 码。
3、PFW 中有长八角型焊盘,在转换时D 码表中不应有此种D 码。因为在现行的多数光绘系统中都不接受这种定义,出现这种D 码会导致错误。遇到这种情况时应采用填充方式匹配这种D 码。
4、最好采用用户自定义的D 码表,而不要用PFW 自动生成的D 码表。
4.3. PADS 转Gerber 时应注意的问题
1、PADS 预设的D 码表中的D 码容量太小,需要扩充其容量。
2、有的PADS 文件需要进行铜皮填充后在转换。
3、由于PADS 软件设计线路的特殊性,需要注意观察每图形中要选取哪些元素,避免出现失误造成转出图形错误。
4.4. PowerPCB 转Gerber 时应注意的问题。
1、有的PowerPCB 文件需要进行铜皮填充后在转换。
2、PowerPCB 是PADS 的Windows 版本软件,因此在文件的转换中基本与PADS 相同,同样的问题也是需要注意观察每图形中要选取哪些元素,避免出现失误造成转出图形错误。