今回の記事では、KiCadをはじめとするEDAで設計したデータから必ず作成する、ガーバーデータ(Gerber Data)についてお話します。
「ガーバー」とは
ガーバーデータ、正確にはガーバーフォーマット(Geber Format)と呼ばれるファイル形式は、プリント基板を製造する工程で使用されるデータフォーマットの中で最も広く使用されているファイル形式です。
プリント基板の導体層や外形の形状イメージ、穴あけドリルの加工情報などを定められた書式で記述した数値データのリストです。
上記の画像は、KiCadで作成したGerberファイルをメモ帳で開いたものです。
ファイルの先頭にはヘッダーファイルと呼ばれる基本情報を記述した部分があります。その下に描かれたレイヤーから生成された配線、塗りつぶしといった情報を表現するデータが頂点のX,Y座標を基にして記述されていきます。
このリストを機械加工関係の経験がある人が目にすれば、多くの人は「これはGコードだ」と言うでしょう。
「Gコード」と「ガーバーフォーマット」の歴史
プリント基板を収納する筐体やパーツを作るときにも使用する「Gコード」は、NC制御と呼ばれる自動切削加工において必要になる加工情報、刃物の移動する位置について「X,Y座標をもとにして記述」しているデータフォーマットです。
結論としては、ガーバーフォーマットは「プリント基板加工用に特化したGコード」ということになります。
その歴史は、1960年代にアメリカで製造技術のデータ化と標準化が押し進められ、アメリカ電子工業会(EIA:現Electronic Industries Alliance、旧:Electronic Industries Association)でNC加工設備の標準制御言語として「RS-274」と呼ばれるGコードが標準化されました。
プリント基板の製造時に使用するフォトマスクの作成にもこのGコードが利用され、当時フォトプリンタの最大手メーカーだった企業がGerber Systems社です。
初期のフォトプリンタはこのGコードを利用したベクター方式(始点と終点の間を自動的に描く方式)で印刷する方式で、プリント基板の導体層表面に描かれた塗り潰しや複雑な形状の再現は苦手としていました。
少し意外に思われるかもしれませんが、製造設備の歴史ではベクターデータの活用の方が先で、ラスターデータを利用するようになるのは10年近く後のことなのです。
上記の図はわかりやすいように極端に描きましたが、当時のRS-274フォーマットで塗りつぶしを指示する場合、このようにたくさんの線データで埋めていく「ハッチング」という処理で代替する方式がとられていました。
1979年、EIAによってGコードの最終改訂版としてRS-274-Dフォーマットが作成され、翌年の1980年に策定、同年中にGerber Systems社によって同社のフォトプロッタに対応するデータ形式を基準とした「EIA RS-274-Dのサブセット」という書式が出版されました。
これ以降、同社のサブセットを含んだEDA及び基板製造設備用のGコードファイルフォーマットはメーカーのGerber Systems社の名前をとって「ガーバーフォーマット」と呼ばれ一般化していきました。
これが現在、われわれがKiCadやEDA内で使用しているフォーマットのもととなった「標準ガーバー」と呼ばれるファイル形式です。
ここでひとつだけ余談ですが、「RS-274-D」そのものは現在でもNC工作機械用のGコードフォーマットの名称であり、基板製造には利用しない制御命令の仕様なども多数含まれています。
回路エンジニアが知る「標準ガーバー」とは、厳密には「フォトマスク作成限定RS-274-D+フォトマスク用サブセット」であるということを念のため知っておきましょう。
「ベクター」から「ラスター」へ、再現性向上の拡張フォーマット
標準ガーバーフォーマットが広く利用されるようになってまもなく、フォトプロッタに「ラスターデータ(指定されたエリアを点群の情報で定めたデータ)」にも対応した機種が登場しました。
これにより、ガーバーフォーマットに塗り潰しや微細な文字等の表現が可能なラスターデータへの対応が求められるようになりました。
今ではほとんどのフォトプロッタはラスターデータ対応型となっています。
Geber Systems社はBarco社に買収されながらも開発が続けられ、1998年にラスターデータにも対応したRS-274Xが規格化され文書が発表されました。
これが「拡張ガーバー」として現在使われているRS-274Xです。拡張ガーバーのフォーマットは標準ガーバーの命令を拡張する形式で作られており、基本的にはRS-274X未対応のソフトウェアでも標準ガーバーフォーマットとして読み込めるように作られています。
※ ただし、標準ガーバー記述部分以外は読み込めないため、EDAツール間を行き来したデータでは正常な基板形状が再現できない場合がありますので注意しましょう。
KiCadで設計したプリント基板を標準ガーバーフォーマットでファイル出力すると、ラスターデータとして塗り潰されたゾーンは一定の間隔でハッチング処理されます。
拡張ガーバーフォーマット(KiCad標準設定)でファイル出力すれば、プリント基板エディターで描いた通りの導体面を成形することができます。
ファイル統合による効率アップ
拡張ガーバーフォーマットの特徴は、ラスターデータ対応だけではなく、最大の改良項目として「ファイル単体で基板の描画情報を内包する」ことができる点です。
プリント基板では、半田付け用パッドの形状や標準化されたパッド形状といった、いわゆる「アパーチャ」の情報を記したデータが必要になります。
標準ガーバーフォーマットでは、配線や描画の端点や線幅といった情報以外は持っていないため、Dコードと呼ばれるアパーチャの形状情報を記したリストファイルが別途必要になります。もしこのアパーチャリストが記載されたファイルの出力を忘れると、導体層の正常な形状を再現できなくなるリスクがあります。
拡張ガーバーフォーマットではそのリスクをなくすため、データファイルの中に情報が記述されています。
KiCadにて、あえて標準ガーバーフォーマットを指定してファイルを生成した場合、記述そのものは拡張ガーバーと同じ構成で書かれますが、標準ガーバー仕様では使われない部分はコメントとして処理されています。
今でも現役?標準ガーバーフォーマット
以前に「一部のプリント基板製造業者では、標準ガーバーフォーマットが必要になる場合がある」というお話をしたことがありました。
KiCadでは、ガーバーファイルの出力メニューで拡張フォーマットの使用をするか否かを選択できますが、基本的には製造業者から求められない限り拡張X2フォーマットのままファイルをプロットすることが推奨されています。
前述のとおり、拡張ガーバーの利用開始が1998年であり、拡張フォーマットの利用開始から2022年時点でもまだ20数年しか経過していません。
20年という歳月において、ソフトウェアや昨今のIoT技術の世界ではとてつもない進化が遂げられてきましたが、製造業の工作機械の世界では20年前の設備はまだまだ現役で動いています。
さすがにもうじき設備の耐用年数には限界が来るでしょうから、これからは徐々に入れ替わっていくでしょう、しかし、それでも拡張ガーバーフォーマットが存在しない時代の工作設備は、まだ何年先であっても稼働を続けていることでしょう。
「最新型IoTデバイスの制御基板は、標準ガーバーでしか読み込めない設備で量産されている」
ということも、まったくないとは言い切れない点は少々複雑な気分ではあります。