[caption id="attachment_4324" align="alignright" width="300" caption="make-symbol-device-package-bsdl.ulp起動時の画面"][/caption]構想中の回路を入力するついでに、EAGLE Ver.6を試しに使ってみようと思った。まずはライブラリに部品を登録しなければならない。64pinのTQFPなのでパッドの位置を手入力するのは無理。いつもはperlの自作スクリプトで scrファイルを吐かせて作成しているが、Ver.6になったのでEAGLE付属のulpに使えるツールがあるかもしれないと探してみると make-symbol-device-package-bsdl というのが、それっぽい。出現するダイアログを見ると便利そうだ。

でも使い方がわからないので、ソース覗き見+試行錯誤で何とか調べてみたので報告する。

プログラムを一通り読もうかと思ったが3800行もあるので諦めて、なかに書いてあるHelpの文字列などから使い方を推察した。変更履歴によるとVer 4.13のころからあったらしい。 そもそもICのBSDLファイル(JTAG用のピン配列定義ファイル)を読み込んで、そのICのライブラリ(パッド情報、回路図のシンボル)を作成するプログラムらしいが、BSDLでなく、いろんなテキストファイルを読み込んで処理できるらしい。 

[caption id="attachment_4326" align="alignright" width="282" caption="信号名・端子・属性を書いたファイル"][/caption]秋月電子の新製品にあった超高精度SPIバスRTC(リアルタイムクロック)DS3234Sのライブラリを作ってみる。データシートを見ながら、端子の信号名とピン番号と属性を書いたテキストファイルを作成した。項目はTABで区切るので、Excelで作成しTAB区切りのテキストファイルで保存しても使える。属性は IN/OUT/PWR/NCなどがかける。これは、EAGLEでシンボルを作る際のピン属性と同じ。面倒だったら全てPAS(Passive,受動素子)にしておけば、DRCには引っかからないはず。


[caption id="attachment_4328" align="alignright" width="300" caption="ファイル読み込み、Parse後の状態"][/caption]ファイルができたら、EAGLEで適当なLIBファイルを編集し、メニューのFile/Run、あるいはULPアイコンで make-symbol-device-package-bsdl.ulpを実行する。するとダイアログが現れるので、画面上部の「Browse」ボタンで作成したテキストファイルを選択し、画面中央の「Parse -->>」ボタンをクリックすると、右のような状態になる。


[caption id="attachment_4329" align="alignright" width="300" caption="Packageタブでパッケージの情報を入力"][/caption]次にPackageタブをクリックし、Package PAD Layoutの「Dual 3」をクリックし、データシートを見て書く部分の寸法を入力し、PAC Nameにパッケージの名前、何でもイイのだがSmall Outlineパッケージの20ピンなので「SO-20」と入力、最後に画面下の「Accept parameter」のチェックボックスをチェックするとパッケージが作られるみたいだ。(若干あいまい)


[caption id="attachment_4332" align="alignright" width="300" caption="最後に「Make」タブでライブラリを生成"][/caption]「Make」タブをクリックし、「Symbol」と「Device」のチェックボックスをクリックすればライブラリが出来上がるので、最後に「Ok」を押して終了する。(「Cancel」を押せば、部品を生成せずにプログラムを終了できそうだが未確認)


[caption id="attachment_4333" align="alignright" width="300" caption="ULPを抜けると生成されたデバイスの編集状態"][/caption]プログラムを抜けるとライブラリ・エディタに生成したデバイスを編集している状態になっているので、不満な点は直していきましょう。


[caption id="attachment_4334" align="alignright" width="300" caption="回路図に配置してみる"][/caption]ちなみに信号名に「NC@14」のように@+数字が付いているものがあるが、これは同じ信号名が複数のピンに付けることができないというEAGLEのライブラリの制限を回避するための機能で、@以下の部分は回路図では表示されない。右の画面が、試しに作成した部品を回路図に配置してみたところ。シンボルの横幅が長すぎるので、シンボルエディタで修正してある。


[caption id="attachment_4335" align="alignright" width="300" caption="生成されたパターン"][/caption]念のため、生成されたパタンをエディタで開いてみたのが右の画面。それらしくできているが、パッドの上に線が描かれているのが気になる。 p板とかだと、パッド上にシルクデータがあってもマスクしてくれるが、Olimexとかだと気にせずシルクを印刷してくるような気がする。PCBCartがどっちだったか思い出せない。レイヤーはtDocuなので、tDocuをシルクとして出力しないか、寸法を調整するなどしてパッドにシルクがかからないように調整するのがいいだろう。(tDocuって、シルクに出力されるんだっけ?)


以上で説明を終わる。

EAGLEには、沢山ulpがついてくるが、使い方がわからないので、あまり使えていない。このulpが便利だよというような情報があれば、是非教えて頂きたい。