Gerber 文件是光绘机专用的标准文件格式。现有274D、274X 两种常用格式。
Gerber 文件起源于矢量式光绘机,所以具有分立的D 码表。
Gerber-274D 是由Gerber 文件和分立的D 码表文件组成的。Gerber 文件只描述基本元素的位置,并不描述其形状和大小;而D 码表负责描述基本元素的形状和大小。
Gerber-274X 将D 码表变为内含的,为使用提供极大的便利。
Gerber 文件的常用基本元素主要有:Flash、线条、圆弧、轮廓线。
D 码的常用形状有:圆形、椭圆、方形、长方形、圆角长方、八角形、自定义形。
Gerber 文件可以是多层叠加的,叠加可以是擦除方式,以此来构成复杂的图形。
GERBER格式文件由一系列数据块(参数和代码)组成。每一数据块由块结束(EOB)符分开。EOB字符通常是星号(*)。
根据文件中出现的顺序,数据块分为以下两类:RS-274X参数, 标准RS-274D码。
下面简单的举例说明GERBER格式的内容和结构:
G90*
G70*
G54D10*
G01X0Y0D02*
X450Y330D01*
X455Y300D03*
G54D11*
Y250D03*
Y200D03*
Y150D03*
M02*
星号(*)是命令的结束符。这在有些软件和教材中被称为块(Block),大多数机器和软件只是按块处理Gerber命令,而不理会行。这里可以看出不同命令的相同之处:使用 G、D、M等命令和X、Y对应的数据。
数据码:ASCLL、EBCDIC、EIA、ISO 码。常用:ASC II 码。
数据单位:英制、公制。常用:英制。
坐标形式:相对坐标、绝对坐标。常用:绝对坐标。
数据形式:省前零、定长、省后零。常用:定长。
1 inch = 1000 mil = 2.54 cm = 25.4 mm
1 mm = 0.03937 inch = 39.37 mil
常用:3:3(公制,整数3 位,小数3 位)
2:4(英制,整数2 位,小数4 位)
2:3(英制,整数2 位,小数3 位)
3:3(英制,整数3 位,小数3 位)
例:025690 前导零后变为:25690 (Leading)
025690 后导零后变为:02569 (Trailing)
025690 不导零后变为:025690 (None)
正片(POSITIVE) :GERBER 描述是线路层,并且描述之图形主要是有铜部分。或GERBER 描述是防焊层,并且描述之图形主要是防焊部分(即盖油墨部分)。
负片(NEGTIVE) :GERBER 描述是线路层,并且描述之图形主要是无铜部分。或GERBER 描述是防焊层,并且描述之图形主要是无防焊部分(即不盖油墨部分)。
复合片(COMPOSTIVE) :GERBER 所描述的层次由不同极性层合成。通常是挖层和正极性层叠加。
挖层极性为c,主要起线路防护或追加制程资料等作用。
包括一个字符的功能码如D码,G码,M码等和坐标数据。X,Y格式的坐标数据描述线性位置,I,J格式描述弧形位置。
N码:顺序码,命名数据块顺序。(0-99999)
D码:绘图码,选择,控制光圈,指定线型。
G码:通用码,用于坐标定位。
M码:指定文件结束等。
D code 是绘图工具的控制码,本文也不列表说明, 大概就几种常用的 D code 予以介绍。 在这里笔者希望读者能去了解照相机的构造,因为光学绘图机的绘图动作,是综合了一般的笔式绘图机与照像机的动作而成的。
标识 |
功能 |
解释 |
D00 |
回复到原来的预设的座标位置 |
|
D01(D1) |
划线,开光圈。 打开快门,同时移动桌面到对应的X-Y坐标。 |
不能用自定义光圈划线 |
D02(D2) |
关光圈 关闭快门,同时移动桌面到对应的X-Y坐标。 |
|
D03(D3) |
闪绘光圈 打开快门,同时移动桌面到对应的X-Y坐标。然后快速地打开、关闭快门, 这样就形成一个曝光点。 |
作闪光动作, 其结果是像印章般的原地打印。 |
D04 |
提起绘图笔, 并做快速移动。 |
|
D05 |
结束D04 的功能。 |
|
D10-D999 |
D11 CIRCULAR 40 40 0 D12 SQUARE 10 10 0 D14 CIRCULAR 12 12 0 D15 CIRCULAR 15 15 0 D16 SQUARE 20 20 0 D17 CIRCULAR 20 20 0 |
选择由AD命令定义的光圈 |
General Function Code 通称 G Code,G code 大约有 35个之多,G code是用於绘图机的动作控制码,为避免读者太过吃力, 因此不列表说明,大概就几种常用的 G code 予以介绍,倘若读者希望能更进一步的了解,可以到网站http://www.barco.com/ets/data/index.htm 下载 RS-274-X des cription 的 PDF 档案,并用 Adobe Reader 去打开阅读。
标识 |
功能 |
解释 |
G00 |
关闭快门 |
|
G01 |
1倍线性运动 |
|
G02 |
顺时针圆周运动 |
|
G03 |
逆时针圆周运动 |
|
G04 |
注解命令,忽略当前数据块 |
大多数的光绘机都会忽略G04后面的内容 |
G05 |
更换镜头 |
|
G11 |
0.1倍线性运动 |
|
G12 |
0.01倍线性运动 |
|
G20 |
顺时针圆周运动 |
|
G21 |
顺时针圆周运动 |
|
G30 |
逆时针圆周运动 |
|
G31 |
逆时针圆周运动 |
|
G36 |
打开多边形填充 |
|
G37 |
关闭多边形填充 |
|
G54 |
准备选择光圈 |
更换镜头 一般会跟随着Aperture 的代码, 如D10 , D11 ... 如 G54D10* |
G70 |
指定英寸单位 |
|
G71 |
指定毫米单位 |
|
10倍线性运动 |
|
|
G74 |
关闭360度圆周运动 |
取消用360°的画圆功能, 恢复成以1/4圆弧的绘图方式 |
G75 |
打开360度圆周运动 |
|
G84 |
用大孔直径1/3 左右的钻头在XnYn 处钻直径为M 的大孔 |
|
G85 |
XnYn 和XmYm 之间钻SLOT |
|
G90 |
指定绝对坐标格式 |
|
G91 |
指定相对坐标格式[/HIDE] |
|
G36/G37多边形
只有较新的Gerber光绘机支持G36/G37 多边形命令。它是一个功能强大的命令语句,在末来多片模块电路描述复杂数据中有着广泛的应用。
光绘机见到G36指令后,它就会立即转换模式-忽略任何光圈设置把每一个画线命令当做多边形的边界来填充。
G36/G37应用实例
G04 G36/G37 Polygon Example***
%MOIN*%
%FSLAX24Y24*%
%IPPOS*%
%ADD10C,,,*%
%ADD11C...*%
%ADD12C...*%
G04*
%lPD*%
G54D10* 选择光圈D10
G01*
G36* 转换至多边形模式,光圈D10的半径和形状不起作用。
X123Y123D02* 移至初始位置
X234D01* 画一边界线
Y456D01* 画一边界线
X234D01* 画一边界线
Y123D01* 画一边界线并回到起始点
G37* 结束多边形模式
Miscellaneous Code,通称 M code 是绘图资料的叁数码,在此就几种常用的 M code 予以介绍。
标识 |
功能 |
解释 |
M00 |
停止程式运作 |
|
M01 |
有条件的停止程式运作 |
|
M02 |
结束 |
|
M03 |
结束磁带的程式或回带 |
|
M64 |
设定图档的原点位於绘图机的现在位置并继续绘图 |
|
M08 |
结束重复指令 |
|
M25 |
重复指令中定义块首,单独使用 |
|
M30 |
结束刀具指令 |
|
M48 |
带头指令,单独使用 |
|
M64 |
设定图档的原点位於绘图机的现在位置并继续绘图 |
|
M80 M90 |
在程序零位镜像XnYn 反转图形 |
|
M97 M98 |
在XnYn 位置沿X 轴钻字:TEXT 在XmYm 位置沿Y 轴钻字:TEXT |
|
*G04 THIS IS DEMO 注释
%FSLAX23Y23*% 省略前导零,绝对坐标X2.3, Y2.3
%MOIN*% 设定英寸单位
%OFA0B0*% 无偏移
%SFA1.0B1.0*% 输出比例X轴1.0, Y轴1.0
%ADD10C,0.010*% 定义D10码为圆,直径10MILs
%LNBOXES*% 层名为BOXES
G54D10* 以下为RS0274D数据
X0Y0D02*X5000Y0D01*
X5000Y5000D01*X0Y5000D01*X0Y0D01*
X6000Y0*X11000Y0D01*
X6000Y0D01*D02*
M02* 数据结束
以下是一个Gerber 格式文件及相应的图形:
X002Y002D02* 快门关闭移至(0.2,0.2)
D11* 选择光圈2
D03* 用所选光圈曝光
D10* 选择光圈1
X002Y008D01* 快门关闭移至(0.2,0.84)
D11* 选择光圈2
D03* 用所选光圈曝光
D10* 选择光圈1
X0104Y0084D01* 快门打开移至(1.04,0.84)
D11* 选择光圈2
D03* + 用所选光圈曝光
D12* 选择光圈3
X0104Y0048D02* 快门关闭移至(1.04,0.48)
D03* 用所选光圈曝光
X0064Y0048D02* 快门关闭移至(0.64,0.48)
D03* 用所选光圈曝光
GERBER格式是EIA 标准RS-274D的子集,它包含GERBER文件及D码两 部分。
扩展GERBER格式是EIA标准RS-274D格式的超集,又叫RS-274X。 RS-274X增强了处理多边形填充,正负图组合和自定义D码及其它功能。它 还定义了GERBER数据文件中嵌入光圈表的规则。
RS274X包含许多高级命令和控制语句,Gerber数据的生成者使用这些语句可以很精确地定义光绘——不象RS274D,除数据文件外必须附加一些关键的定义信息。
它是标准RS274D(Gerber)的一个扩展,包括:
·嵌入的格式,单位和数据信息
·嵌入的光圈
·传统光圈的定义
·胶片控制状态
·在一个文件中多层的嵌入
·特殊多边形的定义
在读这篇文章之前,你必须对Gerber命令有一个初步的了解。否则,你应先浏
览一下《关于Gerber》。
事实上,我们在这里提到的某些嵌入信息在RS-274D 中是用得到的,尽管很少使用。
按顺序分为下面几组:
AS 坐标选择
FS 格式描述
MI 镜像图像
MO 单位
OF 偏移
SF 比例因子
IJ 图像对齐
IN 图像名称
IO 图像偏移
IP 图像正负性
IR 图像旋转
PF 绘图胶片名
AD 光圈描述
AM 光圈自定义
KO 挖除
LN 层名
LP 层正负性
SR 移动与复制
IF 嵌入文件
|
数据块格式 |
|
AS Axis Select 坐标轴选择 |
%ASA[X|Y]B[X|Y]*% |
A B 输出设备坐标轴 X Y 数据文件坐标轴 |
FS Format Statement |
%FS[L|T][A|I][Nn][Gn]XnnYnn[Dn][Mn]*% |
L T L 省略前导零 T省略尾零 A I A 绝对坐标 I 相对坐标 Nn Gn Dn Mn 设定N G D M码的长度/范围, n=2 表示00-99 Xnn Ynn X23 表示X轴坐标数据是两位整数位,三位小数位 |
IF Include File 嵌入文件 |
%IF |
|
IJ Image Justify 图像对齐 |
%IJ[A[L|C]B[L|C>[ |
A A轴对齐 L 左或下对齐 C 中心对齐 B B轴对齐 |
IN Image Name 图像名称 |
%IN |
|
IO Image Offset 图像偏移 |
%IOA |
A B |
IP Image Polarity 图像正负性 |
%IP[NEG|POS]*% |
IPNEG 设置为负图 IPPOS 设置为正图 |
|
||
IR Image Rotate 图像旋转 |
%IR[90|180|270]*% 逆时针旋转图像 |
|
KO KnockOut 挖除 |
%KO[C|D][XnYnInJn]*% |
C Clear 挖除矩形块 D Dark 添补矩形块
XnYn 矩形块左下角坐标 In 矩形块宽度 Jn 矩形块高度 |
LN Layer Name 层名 |
:%LN |
|
LP Layer Polarity 层正负性 |
%IP[C|D]*% |
IPC 设置为负图 IPD 设置为正图 |
MI Mirror Image 镜像图像 |
%MI[A[0|1]B[0|1>*% |
0 不镜像 1 镜像 |
MO Mode 单位 |
%MO[IN|MM]*% |
IN 英寸,MM 毫米 |
OF Offset 偏移 |
%OFA |
A B |
PF Plot Film 绘图胶片名 |
%PF |
|
SF Scale Factor 比例因子 |
%SF[A |
A B |
SR Step & Repeat 移动与复制 |
%SR[Xn][Yn][In][Jn]*% |
Xn In X方向移动复制的数量和步长 Yn Jn Y方向移动复制的数量和步长 |
|
|
|
|
|
|
|
|
|
老的RS274D数据格式最主要的缺点是其中不包括光圈表,所以不得不产生一个光圈表文件,如下所示。
D-code |
形状 |
X方向尺寸 |
Y方向尺寸 |
D10 |
圆形 |
0.010 |
|
D11 |
正方形 |
0.030 |
|
D12 |
长方形 |
0.060 |
0.020 |
D13 |
散热盘形 |
0.050 |
|
D14 |
椭圆形 |
0.060 |
0.025 |
一些光圈的形状很好理解-圆形,正方形和长方形。但是后两者就不太好理解了,必须经过光绘操作者(CAM软件)的译解,如下所示:
用274D格式,建立一个精确的散热焊盘光圈对绘操作者来说是费时费力的工作,而且光圈库建立后必须保留好。
而用274X 格式,复杂的光圈库文件是用光圈宏编写的,光绘操作者(这里当然就是指CAM 软件)会不费吹灰之力自动地快速生成。
RS274X 包含有几种标准光圈,90%的曝光光圈使用的是标准光圈:
·圆形
·长方形
·椭圆形。
·多边形
这些光圈形状都是轴对称的,而且中心的开孔是圆形的或是长方形的。
AD Aperture Definition 光圈描述 |
|||||
%ADD |
|||||
n1 D码编号(10-9999) |
|||||
|
|
|
|
|
|
C(圆) |
外径 |
X向孔径 |
Y向孔径 |
|
|
R(长方) |
X向大小 |
Y向大小 |
X向孔径 |
Y向孔径 |
|
O(椭圆) |
X向大小 |
Y向大小 |
X向孔径 |
Y向孔径 |
|
P(正多边) |
外径 |
边数 |
旋转角度 |
X向孔径 |
Y向孔径 |
%ADD{code}C,{$1}X{$2}X{$3}*%
其中
AD 光圈描述参数
D{code} 光圈的标号
C 告诉274X这是一个圆形光圈宏
$1 外径的值(英寸或毫米)
$2 可选项,如果有孔的话,表示孔径
$3 可选项,如有的话$2 和$3 表示长方形内孔的长和宽
圆光圈的实例
%ADD21C,.100*% (a)外径为0.10 的光圈D21
%ADD22C,.100X.050*% (b)外径为0.10,内孔径为0.05 的光圈D22
%ADD23C,.100X.050X.050*% (c)外径为0.10,内孔为边长为0.05 的正方形光圈D23
%ADD24C,.100X.050X.025*% (d)外径为0.10,内孔为长为0.05 宽为0.025长方形光圈D24
%ADD{code}R,{$1}X{$2}X{$3}X{$4}*%
其中
AD 光圈描述参数
D{code} 光圈的标号
C 告诉274X这是一个长方形的光圈宏
$1 长方形光圈的X值(英寸或毫米)
$2 长方形光圈的Y 值
$3 可选项,如有的话,$3 表示圆形内孔的内径
$4 可选项, 如有的话,$3和$4分别代表长方形内孔的长和宽
简单地说,光圈宏就是以编程的方法在通用的光圈基础上构筑复杂的光圈,这是274X非常强悍的一个功能,当然它也有自己的缺点。
R274X是必要的Gerber 科学标准,有的厂家生产的光绘机不能识别274X,只能识别一些属于274X 子集的简单命令,象光圈宏这样的复杂光圈不能正确地译解,有的甚至根本不能译解。因此多数PCB 布线软件不能利用光圈宏。
因为散热焊盘在电源层和地层非常重要,所以这里有必要再讲一讲用简单原始的光圈构筑复杂的散热焊盘光圈宏。
我们说宏就象是一种编程语言——复杂的光圈是由一个或多个初级光圈组成的,已知的初级光圈有:
初级光圈名 |
初级光圈号 |
描述与参数 |
圆形 |
(1) |
圆的 |
线矢量 |
(2或20) |
起始点,宽度,旋转角度,起始点为角 |
中心线形 |
(21) |
中心点坐标,长,宽,旋转角度,起始点为方角 |
左下角线形 |
(22) |
左下角坐标, 长,宽,旋转角度 |
轮廓线索 |
(4) |
多组顶点坐标,最多50组 |
多边形 |
(5) |
一般多边形有3-10个边,中心点坐标,外径,旋转角度 |
波形纹 |
(6) |
中心点坐标,圈的数量,圈的厚度,十字线的长度,厚度及旋转角度 |
散热盘 |
(7) |
外径,内径,十字线的厚度和旋转角度 |
散热盘如此重要,它有自己的原始光圈,尽管它可以由其它的初级光圈宏来构筑。
%AMTHERM100*7,0,0,0.100,0.050,0.025,0.0*%
%ADD32THERM100*% D32 光圈为THERM100光圈宏
其中
AM: 光圈宏
THER100: 光圈宏名
*: 终止名
7:初级光圈7,是一个散热盘
0,0: 中心点坐标
0.100: 外径
0.050: 内径
0.025: 十字线的宽度
0.0: 十字线的旋转角度
AM Aperture Macro 自定义光圈 |
%AM [
|
1(圆) Exp 直径 圆心X 圆心Y 2/20(线) Exp 线宽 起点X 起点Y 终点X 终点Y 角度 21(长方形) Exp 宽 高 中心X 中心Y 角度 22(长方形) Exp 宽 高 左下X 左下Y 角度 4(多边形) Exp 点个数 起点X 起点Y X1 Y1 。。。角度 5(正多边形) Exp 顶点数 中心X 中心Y 直径 6(Moire) X0 Y0 外径 环宽 环间距 环个数 十宽 十长 角度 7(散热形) X0 Y0 外径 内径 口尺寸 角度 3 结束自定义
|
AM Aperture Macro 自定义光圈
数据块格式:%AM
[
|
$1 |
$2 |
$3 |
$4 |
$5 |
$6 |
$7 |
$8 |
$9 |
1(圆) |
Exp |
直径 |
圆心X |
圆心Y |
|
|
|
|
|
2/20(线) |
Exp |
线宽 |
起点X |
起点Y |
终点X |
终点Y |
角度 |
|
|
21(长方形) |
Exp |
宽 |
高 |
中心X |
中心Y |
角度 |
|
|
|
22(长方形) |
Exp |
宽 |
高 |
左下X |
左下Y |
角度 |
|
|
|
4(多边形) |
Exp |
点个数 |
起点X |
起点Y |
X1 |
Y1 |
。。。角度 |
||
5(正多边形) |
Exp |
顶点数 |
中心X |
中心Y |
直径 |
|
|
|
|
6(Moire) |
X0 |
Y0 |
外径 |
环宽 |
环间距 |
环个数 |
十宽 |
十长 |
角度 |
7(散热形) |
X0 |
Y0 |
外径 |
内径 |
口尺寸 |
角度 |
|
|
|
3 结束自定义 |
|
|
|
|
|
|
|
|
|
数据格式:整数位+小数位
常用:3:3(公制,整数3 位,小数3 位)
2:4(英制,整数2 位,小数4 位)
2:3(英制,整数2 位,小数3 位)
3:3(英制,整数3 位,小数3 位)
前导零、后导零和不导零:
例:025690 前导零后变为:25690 (Leading)
025690 后导零后变为:02569 (Trailing)
025690 不导零后变为:025690 (None)
*G04 THIS IS DEMO 注释
%FSLAX23Y23*% 省略前导零,绝对坐标X2.3, Y2.3
%MOIN*% 设定英寸单位
%OFA0B0*% 无偏移
%SFA1.0B1.0*% 输出比例X轴1.0, Y轴1.0
%ADD10C,0.010*% 定义D10码为圆,直径10MIL
%LNBOXES*% 层名为BOXES
G54D10* 以下为RS0274D数据
X0Y0D02*X5000Y0D01*
X5000Y5000D01*X0Y5000D01*X0Y0D01*
X6000Y0*X11000Y0D01*
X6000Y0D01*D02*
M02*数据结束
CAM350:
前导零、后导零和不导零:
例:025690前导零后变为:25690 (Leading)
025690后导零后变为:02569 (Trailing)
025690不导零后变为:025690 (None)
数据格式:整数位+小数位,
常用:2.3(英制,整数2位,小数3位)
2.4(英制,整数2位,小数4位)
3.3(英制,整数3位,小数3位)
“绝对坐标” 和 “相对坐标”
绝对坐标:即其坐标以0坐标为点,是一个绝对的值。是一个正值。
相对坐标:看其正负,相对坐标总是有正负的 ,当前坐标总是依照前一坐标递增或递减,就像我们需的数学一样
镜头档主要描述相应Gerber File 所用镜头之形状和大小
APETURE FILE GERBER FILE 完整的PCB LAYOUT 图形
D_CODE D 码即镜头编号
SHAPE 镜头形状
SIZE 镜头大小
主要描述钻孔档中用到的钻头大小有的还说明孔是PTH 或NPTH
钻孔盘一般以M48 开头排列在钻孔文件的前面也有单独以文件说明
DRILL RACK DRILL FILE 完整的钻孔图形
常用字段
Tool 钻头编号
Size 孔径大小
Pltd PTH 或NPTH 说明
Feed 下刀速
Speed 转速
Qty 孔数
由于gerber光绘文件以线段出现的,没有整体字符的概念。字符是通过线段出现的。
光绘机:
1.光孔轮
2.快门
3.用于曝光的光源
如图所示,光孔轮的边缘上有排列整齐的不同形状的小漏孔,这些小漏孔就是光圈。每一个光圈都有自己的名字,一般地,最小的光圈是D10,其次是D11。光圈有不同的形状,有圆形、正方形、矩形等。
快门的动作使光圈轮上的光圈曝光在底片上。用Gerber命令控制工作台的移动、光圈轮的转动(光圈的选择)和快门的开闭。将快门打开,光圈的形状就会曝光在胶片上。如果快门打开时工作台移动,胶片上就会呈现一条直线。给工作台加上一系列的控制移动的命令、选择光圈并且控制快门的开闭就能在底片上生成图象。
Modal 数据坐标:
在除去小数点,省略了无意义的0以后程序就完美了吗?不一定,当编写工作台仅在X或Y轴方向运动的程序时(一连串程序的坐标值X 或 Y有一个与上一行相同),将上一行不变的坐标参数再写一遍就显得实在太麻烦,为什么不记住上一行的X或Y,只写出与上一次不一样的X或Y呢?于是就出现了优化的Modal 写法。
这种光绘机存储上一个坐标值的观念被称为Modality, PCB 上有上百个X 或Y 值相同的孔,适当的有选择的删除一些重复的信息可以减少Gerber文件所占空间的大小。设计者不用特意强调文件是优化型的还是普通型的,因为每一个光绘机和CAM软件都兼容Modal。
Modal 命令:
Modalilty 不但对坐标,对命令也同样有效。例如有一组命令,当每一条都是画线段命令时就不需重复地写D01,可以让它一直生效到出现其他命令为止。
D1 not modal |
D1 modal |
X560Y230D2* X670Y305D1* X700D1* X730D1* X760D1* Y335D1* |
X560Y230D2* X670Y305D1* X700* X730* X760* Y335* |
现在看起来好象在Gerber中应用的所有命令都应该是modal型的。一旦发出一个命令就让它作用下去,直到下一个命令生效。但实际上有两个例外。有些品牌的光绘机不把D03视为modal,因为他们认为每一个曝光语句后都应加一个D03。
在PCB 工业中,由各个层面的Gerber 数据文件生成光绘工具是很标准的应用。尽管给光绘机操作者的指令是人工完成的--这会给误差和失误留下一定的空间。下面是传统的方法:
Film1:top 顶层
Targets.gbr pos
Comp.gbr pos
Padmaster.gbr pos
Film2:bottom 底层
Targets.gbr pos
sold.gbr pos
Padmaster.gbr pos
Film3:vcc
Vcc1.gbr neg
Clearance.gbr neg
Traces.gbr pos
RS274X 包括两个特殊命令--%LPD*%和%LPC*%,它们用来组织层内文件数据。与IP(图象极性)配合使用,你可以很快地生成一个复杂的地线层或电源层。在下面的实例中,你将看到LPD/LPC 是如何在一个电源层很容易地画一条导线的。
在电源层上画一导线的难点在于要去除导线及与其相连焊盘周围的金属铜箔。
用标准Gerber,布线软件不得不用众多小的填充图形来填充除所去除铜箔外的整个电源布线层,其结果是将产生一个巨大笨拙的Gerber 文件。
如果生成一个274X扩展Gerber文件,我们可以用LPC(明层)来画这条导线。
G04 Image Parameters***
%MOIN*%
%FSLAX24Y24*%
%IPNEG*% 这个语句将用来翻转图像的极性,以消除用小的填充块来填充大面积的电源层。
%ADD10C,,,*% 下面定义几个圆光圈和散热盘
%ADD11C...*%
%ADD12C...*%
%AMTHERMAL*%
%ADD13THERMAL*%
G04*
%LNINTERNAL_VCC*%这是一个基本的电源层,它包括明的焊盘,散热焊盘,用来定义电路板边界的外围线和导线的绝缘沟道的外轮廓。
%LPD*% 表示将上面的数据暗像,胶片反像后会翻转回来。
G54D10*
data
data
data
G04NEW LAYER***
%LNTRACE_VCC*% 用来定义导线及其相连的两个焊盘A 和B
%LPC*% 注意处理后的数据是明的或者说是反像后的
G54D12*
data
data
data
M02* 任务结束
下面几个图形显示的就是274X数据的几个步骤:
内容 |
CAD文件 |
Gerber文件 |
PCB板各层信息 |
有 |
有 |
焊盘大小和位置 |
有 |
有 |
线路长宽 |
有 |
有 |
元件名称、坐标 |
有 |
无 |
元件外形 |
有 |
无 |
网络名称 |
有 |
无 |
网络连接关系 |
有 |
无 |
元件Pin名称 |
有 |
无 |
目前EDA软件较多,因此CAD文件的类型也很多,常见的类型有 (注:用记事本将CAD文件打开后,可根据文件内容来识别CAD文件的类型)。
Accel (*.pcb) Cadence (*.cad) CadenceBRD (*.brd) CR3000 (*.BSF *.CCF...) CR5000 (*.ftf 和 *pcf) Docica (*.docica) Fatf (*.asc) Gencad (*.cad *.gen) Gencam (*.gcm) IPC (*.IPC) |
Mentor (Neutral) ODB++ (*.tgz) ODBxml (*.xml) OrCAD (*.min) Pcad (*.pdf) PowerPCB (*.asc) Protel (*.pcbdoc *.pcb) TopCAD (*.txf) Unidat (*.uni) Viscadif (*.paf) Vutrax (*.art) |
这些功能大部分都集中在 Analysis 菜单下。
这是软件自动检验丝印层与阻焊层间距的功能。Analysis -> Silk to Solder Spacing 就会弹出“Check Silkscreen”对话框。
首先选择要检查的两层,即Sildcreen_top/Soldermask_top 同时选中或Sildcreen_bottom/Soldermask_bottom 同时选中。然后在Clearance 中输入可以容忍的最效间距。最好在“Remove Old Silkscreen Errors”前打上勾,以免混淆。OK 后系统执行查找,此时屏幕底端左边显示“Silk to Sold Check”:右边显示百分比,执行完毕后会弹出一个报错信息框。“确定”后屏幕跳转至这两层信息,并且屏幕的右上方会增加一个信息显示/编辑条。在这里可以查看所有错误具体位置,可以点击“All”显示所有的错误,也可以在下拉框中选择某一个error,这样可以查询这个error 的具体位置。
在一般的EDA 软件中定义为Solder Mask 的地方,在实际做板的时候就是涂焊锡的地方。没有Solder Mask 的地方,做板时就时阻焊剂。阻焊剂的主要目的时避免在焊接过程中焊料无序流动而导致焊盘引线之键“桥接”短路,保证安装质量,提供长时间的电气环境和抗化学保护,形成印刷电路板的“外衣”。这个命令就时一个实现软件自动检查走线和Sold(焊料)间距的功能。
Analysis -> Solder Mask to Trace Spacing,就会弹出“Check Solder Mask”对话框。
在这个对话框中分别选择要检查的Electrical Layer 与Solder Mask Layer两层。也就同时选中Top/Soldermask_top 层,或者同时选中Bottom/Soldermask_Bottom 层。然后在Clearance 中输入可以容忍的最小间距。最好在“Remove Old Solder Mask Errors”前打上勾,以免混淆。OK 后系统执行查找,此时屏幕底端左边显示“Solder to Trace Check”:右边显示百分比,执行完毕后,如果发现错误则会弹出一个报错信息框。
同样的,确定后屏幕会跳转至这两层信息,并且屏幕的右上方会增加一个信息显示/编辑条。在这里可以查看所有错误具体位置,可以点击“ALL”显示所有的错误,也可以在下拉框中选中某一个error,这样可以查询这个error 的具体位置。
“Copper Slivers”时指那些在生产过程中容易造成脱落的细而窄的铺铜区域。这项功能不仅能检测出细窄的铺铜区域,而且还有修复/修剪功能。在执行这个操作前首先要打开需要检测的相关层。Analysis -> Copper Slivers 就会弹出“Copper Slivers Detection”对话框。
首先在“Find Slivers Less than”后输入最小能容忍的铜面积数。在“Processing Control”中可以选上“Fix Silvers”以修复细铜。选择“Remove Old Slivers”即消除原现产生过的检测结果如“Mask Silvers”。而在下面的“Search Area”中如果选择“Process Entire Layer”表示系统将对当前打开的所有层进行检测。如果选择“Window Area to Process”则表示先选择一个窗口,系统将对窗口所在区域进行检测。OK 后,系统将持续一端时间的检测,最后弹出一个提示信息,如果没有错误将显示“Found no new Slivers”.如果发现错误将弹出一个报错提示框,确定后屏幕会跳转至另一个编辑窗口。在这里可以查看所有错误具体位置,可以点击“All”显示所有的错误,也可以在下拉框中选中某一个error,这样可以查询这个error 的具体位置。
“Mask Slivers”是制那些在生产过程中容易造成脱落的阻焊层上(俗称“绿油”的阻焊剂)细而窄的区域。阻焊剂一旦剥落很容易滑向焊料造成不良后果。这一功能项就可以在生产之前预先检测并修复一下以免造成不必要的后果。
Analysis -> Mask Silvers,弹出一个“Mask Sliver Detection”的对话框。
首先在“Find Slivers less than”后输入最小能容忍的铜面积数。在“Processing Control”中可以选上“Fix Slivers”以修复细铜。选择“Remove Old Slivers”即取消原先产生过的检测结果如“Mask Slivers”。而在下面的 “Search Area”中如果选择“Process Entire Layre”表示系统将对当前打开的所有层进行检测。如果选择“Window Area to Process”则表示先选择一个窗口,系统将对当前打开的所有层进行检测。OK 后,系统将持续一段时间的检测,最后弹出一个提示信息,如果没有错误将显示“Found no new Slivers”。如果发现错误将弹出一个报错对话框。确定后屏幕会跳转至另一个编辑窗口,右上方出现一个信息显示/编辑条。在这里可以查看所有错误具体位置,可以点击“All”显示所有的错误,也可以在下拉框中选择某一个error,这样可以查询这个error 的具体位置。
在大多数的EDA 软件中设计PCB 时都会定义一层Solder Mask,这在生产上就是所谓的阻焊层,对于焊盘上未定义Solder Mask 的区域。也就是生产时上焊料、阻焊剂的地方,如果这各区域定义的过大,将会使该焊盘附近的走线或其他导电物体裸露在阻焊剂之处。从而在加工时该焊盘与其附近的金属走线容易形成“桥接”,造成短路现象。由此可见,生产上的“Solder Bridges”现象通常是由于设计阶段的mask 数据的不恰当定义并且CAD 系统又没有及时发现而引起的。因此,在生产加工之前快速的检测并修复“Solder Bridges”现象是非常必要的。
CAM350 不仅能快速的发现“Solder Bridge”,同时还能进行修复。加工前实现这一功能只要利用菜单Analysis -> Find Solder Bridges 打开“Solder Bridging”对话框。
在“Top Check/Bottom Check”前的小方框中打上勾可以选择只对表层或底层检测或者同时检测。在后面的“Mask Layer、Check Against”中选择正确的层,注意Soldermask_top 对应Top 层;Soldermask_bottom 对应Bottom 层。在“Bridge Distance”中输入最小能忍受的“桥接”间距。在下面的“Search Area”中如果选择“Process Entire Layer”表示系统将对当前打开的所有层进行检测。如果选择“Window Area to Process”则表示先选择一个窗口,系统将对窗口所在区域进行检测。OK 后,系统将持续一段时间的检测。如果发现错误系统将弹出一个报错对话框。确定后屏幕会跳转至另一个编辑窗口,右上方出现一个信息显示/编辑条。在这里可以查看所有错误具体位置,可以点击“All”显示所有的错误,也可以在下拉框中选中某一个error,这样可以查询这个error 的具体位置。
这个功能项是用来检验钻孔层的各种问题的。例如孔与孔之间的距离是否合理,是否在同一位置上有两个大小相同或大小不一的孔。
Analysis -> Check Drills,弹出Drill Alalysis 对话框。
“Overlapped Drill Hits”可以检查在同一位置是否有两个相互重叠的过孔。“Coincident Drill Hits (Different Sizes)”可以检验在同一位置是否有两个或两个以上的相同尺寸的过孔,但这些过孔是由不同的Tools 产生的。
“Redundant Drill Hits (Same Size)”可以检查在同以位置是否由两个或两个以上的相同尺寸的过孔,但这些过孔是由相同的Tool 产生的。“Drill Hole to Drill Hole Clearance”可以检验过孔之间的间距是否满足某种即定的规则。接着在“Layers to Analyze”中选择需要检验的层。
7.以上介绍的DFM 检验各项功能都可以在Info -> Report 菜单中产生一个报告显示检测结果。如Sliver Report、Solder Mask Errors Report、Silkscreen Errors Report 等并可保存为*.rpt 文件。
如果已经运行过这些检验功能,只是想看看他们具体所在的位置可以通过
Info -> Find 菜单来实现。也可以在Analysis 下的某个菜单项的对话框中直接点击即可。