劉國敬,田洪濤,霍 杰,宋婉貞
(中國電子科技集團公司第四十五研究所,北京101601)
目前電子設計CAD軟件品種繁多,如Pads,Protel,Cadence,Mentor 等 多 達 20 幾 種 ,但所有的CAD設計軟件都可以生成Gerber文件[1],我們將 Gerber文件導入 CAM 350PCB測試制作軟件導出可解析的IPC-D-356A格式文件。IPC-D-356A格式文件是一種有特定排列格式的數據文件,這種數據格式可以使測試數據變得單一化,通過對IPC-D-356A數據文件的解析,可以重畫測試板的走線和焊盤點,實現其功能。
一般包括文件頭和文件體兩部分,信息第一列是以“P”開頭,單位參數信息區最重要。參數信息區表示的含義見表1。
數據文件的每一行都是由80個字符組成,各列的解析[2]見表2。

表1 頭文件解析
主體部分信息解析舉例說明:

解析:本焊盤是通孔,屬于名稱為$Net118的網絡,含有中間層,內孔徑7000 mm(280英寸),外孔徑為12500 mm(500英寸),焊盤坐標位置為(45054,65050)。
將Gerber文件導入CAM 350PCB測試程序制作軟件導出我們可解析的IPC-D-356A格式文件。根據IPC-D-356A文件提供的數據信息,可以從中抽取出以327開頭的焊盤信息文件*.Net,以099開頭的測試點信息文件*.Pad,以378開頭的走線信息文件*.Drw,以379開頭的相鄰網絡信息文件*.Adj和記錄網絡名稱信息的文件*.Id。用以上生成的5個過渡文件,根據不同的測試需求便可以生成PCB測試所需要的開路測試文件,短路測試文件,電容測試文件。
從IPC-D-356A中抽取以327開頭的焊盤信息生成*.Net文件格式規定為:

其中:SD 面信息(01:上層 02:底層 00:通孔),x、y中心點坐標,ID指所屬網絡號與 *.ID文件中的名稱相對應,DX、DY、D組合含義有三種:

表2 主體部分信息解析
(1)DX、DY有數據,D為空白:方形焊盤。
(2)DX、D有數據,DY為空白:圓形通孔焊盤,其中DX為外孔直徑,D為內孔直徑。
(3)DX有數據,DY、D為空白:圓形焊盤,DX為焊盤直徑。
從IPC-D-356A中抽取以378開頭的走線信息生成*.Drw文件格式規定如下:

其中:$Net0=3指屬于$Net0網絡的線有三條,01指上層走線,02下層走線80線寬,后面數據指線條的起始坐標。
記錄網絡名稱信息的*.Id文件格式規定如下:

這是一個過渡文件,1=$Net0含義指名稱為$Net0的網絡在*.Net、*Pad和 *.Adj文件中ID用標號1來代替,$Net24用標號4來代替。有時很多中間層網絡對我們生成測試文件和繪圖來說是不必要的,這時網絡與標號之間的對應關系就錯開,這個文件的顯著作用就體現了。
從IPC-D-356A中抽取以379開頭的相鄰網絡信息生成*.Adj文件格式如下:

其中:Num1=1 2 3 4 5的含義:指$Net0與$Net1,$Net0與$Net2,$Net0 與$Net3,$Net0 與$Net4,$Net0與$Net5是相鄰網絡(1 2 3 4 5對應*.ID中的網絡名稱)。
從IPC-D-356A中抽取以099開頭的測試點信息生成*.Pad文件格式如下:

Pad文件是PCB測試中生成開路測試文件,短路測試文件,電容測試文件的基礎,所有測試文件的信息都是基于*.Pad文件生成的。
PCB圖形還原是利用解析以上5種格式的文件,通過軟件編程[3]重畫測試板的走線和焊盤點,用于PCB測試中選擇基準點和錯誤查看等功能,利用焊盤和走線信息便可以實現PCB圖形還原,以$Net2舉例說明(見圖1):
$Net2網絡的焊盤數據信息(由*.ID文件中可知 3=$Net2):

$Net2網絡的走線數據信息:


圖1 $Net2網絡圖形還原示例圖
完整PCB板的圖形還原[4]在PCB測試系統可以實現選擇基準點,錯誤查看以及壞點重測等功能。如圖2所示。
本文所介紹的IPC-D-356A文件解析與PCB圖形重繪的方法已成功應用于PCB基板測試系統中,經過一年多的實際使用,運行結果表明此方法能夠準確的進行IPC-D-356A文件解析和PCB圖形重繪,為PCB測試中選擇基準點和錯誤查看提供了可靠保障。

圖2 完整pcb測試板選擇基準點功能
[1]沈精虎.電路設計與制作-Protel99SE詳解[M].北京:人民郵電出版社,2003.
[2]美國netlist格式標準.IPC-D-356A詳解[Z].英文版[DB/CD],2004.
[3]楊曉鵬.Visual C++6.0實用編程技術[M].北京:中國水利水電出版社,2005.
[4]孫 鑫.VC++深入詳解[M].北京:電子工業出版社,2006.