Что нужно знать о GERBER ?

Введение
 
  • Программные комплексы для проектирования PCB могут выводить данные в разных форматах,
    но для предоставления информации на производства печатных плат Gerber становится стандартом. Для всех современных САПР GERBER является обязательным, а некоторые САПРы, например Cadence's Allegro, работают только с GERBER - RS274X.
    При формировании файлов для фотоплоттеров многие конструкторские группы на производствах используют САМ350 для загрузки топологии используется формат GERBER.

     


Разновидности GERBER.
 
  • В формате GERBER есть две разновидности - RS274D который несет информацию об используемых аппертурах в отдельном файле GAP, и RS274X который имеет расширенную систему команд, что позволяет создать более точный Gerber файл для фотоплоттера.

Что такое RS274X?

Это улучшенный вариант стандартного RS274D, который позволяет включать в файл дополнительную информацию:

  • описание формата данных и системы измерения
  • описание апертур
  • определения для нестандартных апертур
  • информацию для контроля негатива
  • объединение нескольких слоев РСВ в одном файле
  • специальные определения многоугольников

Где можно скачать официальную спецификацию RS274X?

Спецификация RS274X была разработана в компании “Gerber Systems” и приобретена “Barco Systems Corporation”. Сейчас спецификация 427X доступна по адресу: http://www.barco.com/ets/data/rs274xc.pdf

Или у нас на сайте (но у barco может быть новее) -
http://www.pcb.spb.ru/soft/standart/rs274xc.pdf


Информация о форматах в заголовке 274X
 

Всего в одной строке RS274X передает ключевую информацию о формате, подавлении незначащих нулей и режиме данных:

  • формат (x, y)
  • отбрасывание незначащих нулей (ведущих, конечных или никаких)
  • координаты (абсолютные или относительные)

где:

FS = объявление формата
L  = подавление ведущих нулей
T  = подавление конечных нулей
D  = явный знак десятичной дроби(т.е. без подавления нулей)
A  = абсолютный координатный режим
I  = относительный координатный режим
Nn = длина последовательности, где n - количество цифр (редко используется)
Gn = функциональный код (редко используется)
Xa = формат входных данных (максимально 5.5)
Yb = формат входных данных
Zc = Формат входных данных (редко используется)
Dn = код черчения
Mn = дополнительный код

Пример

%FSLAX24Y24*%
Объявление формата, подавление ведущих нулей, абсолютные координаты, формат данных = 2.4

%FSTIX44Y44*%
Объявление формата, подавление конечных нулей, относительные координаты, , формат данных = 4.4


Информация о системе измерений
 

В файлах RS274X координаты и апертуры могут быть описаны в дюймах или миллиметрах.
Объявление меры:

%MOIN*% указывает на дюймы
%MOMM*% указывает на миллиметры


Полярность матрицы
 

Со старым RS274D, приходилось дополнительно сообщать оператору фотоплоттера о желаемой полярности матрицы. В RS274X команда в начале файла может инвертировать полярность матрицы.

%IPPOS*% - позитив (слева)
%IPNEG*% - негатив (справа)

Не путайте полярность матрицы с полярностью отдельного слоя. Можно построить очень сложный чертеж, объединяющий темные и светлые участки и слои, а затем установить общую полярность матрицы.


Вложенные определения апертур
 

Одним из основных недостатков старой спецификации RS274D, было отсутствие определений апертур в файле данных. Приходилось передавать эту информацию на бумаге или в виде текстового файла, подобного приведенному ниже:

Определения апертур

D-код Форма         РазмерX  РазмерY
d10   круг          0.010
d11   квадрат       0.030
d12   прямоугольник 0.060    0.020
d13   термо         0.050
d14   овал          0.060    0.025

Здесь несколько апертур очевидны - круг, квадрат и прямоугольник. Но овал и термо в интерпретации оператора могут выглядеть как угодно. Например:


Основной         Развернутый     Квадратный 

С 274D, построение точной термической формы возлагалось на оператора фотоплоттера, и требовало значительных усилий на создание этих заказных апертур и поддержку библиотек.

Даже очень сложные апертуры могут быть описаны в 274X, используя макрокод, который фотоплоттер (и надо надеяться ваше программное обеспечение) синтезирует автоматически.


Основные апертурные определения
 

RS274x включает несколько "стандартных" апертур, которые используются более чем в 90% случаев при формировании контактных площадок методом засветки:

  • окружность
  • прямоугольник
  • овал
  • симметричный многоугольник

Все они позиционируются по геометрическому центру и, при желании, могут использоваться с круглым или прямоугольным отверстием.

Стандартный круг

%ADD{код}C,{$1}X{$2}X{$3}*%

где:

AD     объявление описания апертуры
D{код} d-код, которому эта апертура назначена (10-999)
C      сообщает 274X что это макрос круга
$1     внешний диаметр (дюймы или mm)
$2     если указан, определяет диаметр отверстия
$3     если указаны $2 и $3, определяет размер прямоугольного отверстия

Примеры окружностей

%ADD21C,.100*%           (a) код D21, 	круг, диаметр 0.10
%ADD22C,.100X.050*%      (b) код D22, 	круг, диаметр 0.10, 
					круглое отверстие 0.05
%ADD23C,.100X.050X.050*% (c) код D23, 	круг, диаметр 0.10, 
					квадратное отверстие 0.05
%ADD24C,.100X.050X.025*% (d) код D24, 	круг, диаметр 0.10, 
					прямоугольное отверстие 0.05x0.025

Стандартный прямоугольник

%ADD{код}R,{$1}X{$2}X{$3}X{$4}*%

где:

AD     объявление описания апертуры
D{код} d-код, которому эта апертура назначена (10-999)
R      сообщает 274X это макрос прямоугольника
$1     длина прямоугольника по X (дюймы или mm)
$2     высота прямоугольника по Y
$3     если указан, определяет диаметр отверстия
$4     если указаны $2 и $3, определяет размер прямоугольного отверстия

Относительно деталей апертур овальной и многоугольной формы (которые редко используются) смотрите Gerber Format Guide, Doc 0000-000-RM-00.


Макросы апертур
 

Макрос апертур можно рассматривать как тип языка программирования, в котором сложные определения апертур строятся из серии простых примитивов. Это очень мощная характеристика RS274X, но при ее использовании возможны проблемы .

Запомните, по существу 274X - стандарт Gerber Scientific's, и фотоплоттеры других изготовителей не всегда совместимы с ним полностью. Дело в том, что существуют подмножества 274X, работающие с простыми командами, а сложные, например макросы апертур, не обрабатывают вовсе или интерпретируют не правильно. Соответственно и большинство программ проектирования PCB не используют сложные макросы апертур.

Тем не менее, без макроса почти невозможно описать контактную площадку с термобарьером, и поскольку это очень важный элемент для подключения цепей к сплошным внутренним слоям и цепям питания, мы приведем для него подробный пример макроса.

Примитивы макроса

Мы говорили, что макрос подобен языку программирования, где сложные апертуры строится из одной или более форм называемых примитивами. Доступные следующие примитивы:

Имя примитива   Номер     Описание и параметры примитива
Circle           (1)      круг
Line Vector   (2 или 20)  прямоугольник определенный конечными точками,
                          шириной и поворотом.
Line Center     (21)      прямоугольник определенный центром, длиной,
                          шириной и поворотом.
Line-Lower Left (22)      прямоугольник определенный нижней левой
                          координатой, длиной, шириной и поворотом.
Outline          (4)      очерчивает область определенную парами 
                          координат. Максимум 50 вершин.
Polygon          (5)      симметричный многоугольник с 3-10 сторонами.
                          определялся центром, внешним диаметром 
                          и поворотом.
Moire            (6)      реперный знак определенный центром, количеством
                          кругов, толщиной круга, длиной линий 
                          перекрестия, толщиной линий и поротом.
Thermal          (7)      термобарьер определенный внешним диаметром,
                          внутренним диаметром, толщиной перемычек
                          и поворотом.

Пример макроса апертуры – Термобарьер

Термобарьер настолько важный элемент, что для него существует собственный примитив, хотя его можно и построить из других примитивов.

%AMTHERM100*7,0,0,0.100,0.050,0.025,0.0*%
%ADD32THERM100*% назначение THERM100 d-коду 32
где:
AM       - объявление макроса апертуры
THERM100 – имя для макроса
*        - знак окончания имени
7        - примитив 7, (термобарьер)
0,0      - сначала два параметра: центр x,y
0.100    - третий параметр: внешний диаметр(рисунок А)
0.050    - четвертый параметр: внутренний диаметр(рисунок В)
0.025    - пятый параметр: ширина перемычек(рисунок С)
0.0      - шестой параметр: угол поворота (здесь не использован)

Многочисленные слои
 

Обычная практика в промышленности PCB – изготовление фотоматриц на основе многочисленных файлов Gerber, по файлу для каждого слоя и различных масок. При этом, оператору фотоплоттера всегда передают четкие инструкции, нарушить которые, он считает своим долгом. Вот как обычно это выглядит:

Инструкци для вычерчивания  XYZ
Матрица1:     Верхний слой
targets.gbr   позитив
comp.gbr      позитив
padmaster.gbr позитив
Матрица2:     Нижний слой
targets.gbr   позитив
sold.gbr      позитив
padmaster.gbr позитив
Матрица3:     Средние слои
vcc1.gbr      негатив
clearance.gbr негатив
traces.gbr    позитив

RS274X включает две специальных команды, %LPD*% и %LPC*%, что организовывает в файле данные о слоях. Разумно комбинируя команды LPD/LPC с командой IP (полярностью изображения) можно быстро и легко построить сложные внутренние слои. В примере ниже мы покажем, как могут использоваться LPD/LPC , чтобы установить изолированный проводник в слое заземления.

Основная трудность размещения цепи в сплошном слое состоит в удалении металла вокруг нее и связанных с ней контактов. Со стандартным Gerber, зачастую приходится заполнять весь слой небольшими штрихами металла везде кроме мест, где должен быть зазор. Это приводит к очень большому и громоздкому файлу Gerber.

Создавая такой файл Gerber в 274X, чтобы сделать зазор, мы можем использовать LPC (очистка слоя).

G04               Параметры изображения ***
%MOIN*%
%FSLAX24Y24*%
%IPNEG*%          Это изменит полярность всей матрицы, устраняя 
                  необходимость заполнять весь слой штрихами металла.
%ADD10C,,,*%      Здесь мы определяем несколько круглых и термо апертур.
%ADD11C...*%
%ADD12C...*%
%AMTHERMAL*...*%
%ADD13THERMAL*%
G04
%LNINTERNAL_VCC*% Это наш основной сплошной слой VCC, состоящий из 
                  зазоров вокруг неподключаемых площадок, 
                  термобарьеров для подключаемых, зазора от края платы, 
                  широкой линии, которая будет служить зазором 
                  для внутреннего проводника.
%LPD*%            Указывает, что цифровые данные темные. Тем не менее, 
                  когда вся матрица инвертируется, данные будут светлыми.
G54D10*
Данные
Данные
Данные
G04               Новый слой ***
%LNTRACE_VCC*%    В этом слое проводник цепи и две площадки A и B
%LPC*%            Обратите внимание, что данные здесь светлые, 
                  но когда вся матрица будет инвертирована, 
                  данные в ней будут черными (негатив).
G54D12*
Данные
Данные
Данные
M02*              Конец работы
Ниже проиллюстрировано, как легко может быть нарисован сплошной слой, в него внедрен отдельный проводник, и затем весь образ восстановлен.

Данные слоя INTERNAL_VCC.

Обратите внимание на большие площадки в A и B, и жирную линию между ними. Они обеспечат нам необходимый зазор вокруг внедренного проводника.

 

Данные внутреннего проводника в слое TRACE_VCC.

После того, как слой определен как LPC, он вычитается из данных сплошного слоя INTERNAL_VCC.

 

Темный слой VCC объединен со светлым слоем проводника.
Инвертируем полярность (4-я строка нашего файла) и получим то, что хотели.

G36/G37 Многоугольники
 

Команды G36/G37 для построения многоугольников определены в спецификации RS274X, но только современные фотоплоттеры Gerber поддерживают их. Тем не менее, это очень мощные команды и в будущем, для описания сложных данных найдут широкое применение.

Когда фотоплоттер встречает команду G36*, он немедленно изменяет режим и игнорирует любые установки апертур, и все последующие команды черчения воспринимает как контур закрашенного многоугольника. В приложении, создающем файл Gerber, просто нужно нарисовать чистые многоугольники.

Пример использования G36/G37

G04 G36/G37     Пример полигона ***
%MOIN*%
%FSLAX24Y24*
%IPPOS*%
%ADD10C,,,*%    Здесь мы определяем немного апертур
%ADD11C...*%
%ADD12C...*%
G04*
%LPD*%
G54D10*         Выбор апертуры с кодом D10
G01*
G36*            Переключение в режим многоугольника,
                размер и форма D10 теперь не имеют значения.
X123Y123D02*    Переход в начальную позицию с “поднятым пером”
X234D01*        Рисование линии контура
Y456D01*        Рисование линии контура
X234D01*        Рисование линии контура
Y123D01*        Рисование линии контура (контур замкнулся)
G37*            Выход из режима многоугольника.

Обратная сторона RS274X
 

Итак, мы только что обсудили преимущества 274X - вся необходимая информация вставляется в единственный файл и появляется возможность использовать мощные команды для эффективного построения матриц PCB.

Плохо то, что в использовании все еще находятся устаревшие программы CAM и фотоплоттеры, которые не поддерживают 274X (например фотоплоттер EMMA).

Что делать если, к примеру, ваше программное обеспечение PCB (например, Allegro), выполняет только 274X, а у Вас на производстве стоя фотоплоттеры типа EMMA - обращайтесь к нас у нас есть специально написаное програмное обеспечение для перевода формата GERBER - EMMA80,85 Посмотреть на программы !
 

Перевод из 274X в 274D
 

Некоторые программы Gerber CAM могут прочитать RS274X и сохранить данные в формате 274D. Например используйте для этих целей CAM350 !