Eagle メモ、その 2.


同一のピン名

TPS62044.sym
例は TPS62044 なる DC-DC コンバータ。 いくつかのピンが同一名称をもつが、こういう場合、@ + 適当に数字、を name の後ろに付加しておくと、
TPS62044.sch
回路図上では取り除かれて同じ名前で表記される (ライブラリ上での表記では GND と PGND が重なって汚いが、 もちろん回路図上では離れてくれることを前提にしてデザインしてる)。

また、Pwr ピンにかぎり、その名前のネット名を自動的にもつようになっているが、 このネット名も @ 以下をはぎとったものになる。
... なんかえらく言い回しがもってまわってるが、 よーするに GND, GND@1, GND@2 ... は回路図上で明示的に繋がなくても、 ボード上では勝手に GND に落ちてくれる。

留意点みっつ。

レイヤその 1.

HSIP3-P2.30B.pac
東芝 HSIP3-P2.30B パッケージ。 秋月とかで売ってる 500mA 級ロードロップレギュレータ TA48M シリーズを寝かせて使う時のもの。 ヒートシンクが接触する部分は単なる長方形を TOP レイヤに置いただけだが、 そのままだとオートルータはそこに銅箔があることを理解せずに配線してしまう。 そのため restrict レイヤで覆った。

関連するレイヤ:
tStop レジストしない領域。tStop でパッドをくくっておかないと銅箔が露出しない (熱伝導悪そう ...)。 もちろん Pad とか Smd とかを draw したときは自動的に tStop でくくってくれる。
tCream たぶんクリームハンダをのせる領域。 もちろん Smd では自動的に tCream してくれる。手で smd パッドもどきを描いた場合も tCream でくくっておくのが推奨なんだろーがリフローしなきゃかんけーねー。
tGlue 糊。スイッチの尻の中央とか。でもやっぱ手で付ける分にはかんけーねーか。
tKeepout 部品のガタイの範囲を DRC に伝える。上記 HSIP3 の場合はヒートシンク部分とパッド部分全体を Keepout でくくっとくのが本来だし、そうしとくべきだな。 というわけで手持ちについては修正してたり。
もっとも cmd-snap-board.ulp 等で自動再配置しないなら関係ない。
tRestrict オートルータの配線拒否。
vRestrict オートルータによる via 配置禁止。via はハンダ面が露出してるので、 金属ハーネスをもつ部品の下に置くことはできない。 たとえばクリスタルオシレータ(下図)の下は vRestrict しておくべきだが、 ... オシレータの下は vRestrict どころか bRestrict (基板の裏面側も配線禁止) してもいいのかもしれない。ライブラリレベルで設定してしまうとボードレベルで解除できないので そこまでしてないが。

OSC. 5x7.pac
5mm x 7mm 級オシレータ。金属ケースじゃないけど、ピン無しでハンダ付けが面倒いので近所に via が露出することを嫌った。 0.5mm 離れればまあよかろ。また、オシレータ直下を配線が通過することを禁止した。
... あ、「発振器下面にアース置け」ってデータシートに書いてある ... 下面てどっち?

留意点ふたっつ。

レイヤその 2.

Spartan IIE.pac
Spartan IIE の TQ144 パッケージ。周囲の白点は GND, VCCINT, VCCO のピン位置。その外周の数字はピン番号、 内周の数字はブロック名 ... とコメントもりだくさんだがすべて tDocu レイヤなのでシルクになったりはしない。 基板には描かないのになんでこんなもんが要るかというと、レイアウトエディタ上でのパスコン配置のため。 VCCINT, VCCO ピンそばに置かなきゃいけないし、オートルータはパスコンを上手に扱えないし、ぶちぶち。

関連するレイヤ:
tPlace デフォルトのシルク。
tName 一般には部品番号 (IC1, IC2 ... 等)。CAM Processor は、デフォルトではこの領域もシルクとみなす。
tValue 一般には部品定数、名前 (1uF, OP07C ... 等)。CAM Processor は、デフォルトでは この領域はシルクにしない。
tDocu 一般には部品形状。DIP のゲジゲジな姿とか、パッドに部品がどうかぶさってくるかを描く。 デフォルトではシルクにならない。 ... というか、シルクにするとピンがパッドに乗るまさにその部分にシルクが乗ってしまうので シルクにすべきでない。

一般には tName レイヤのみをシルクにするのだが、こうすると定数がシルクにならない。 部品番号 (name) よりも定数値 (value) を優先したい部品があるからといって両方をシルクにすると基板上が煩い。 試しにチップ抵抗、チップキャパシタについて tName レイヤに ">VALUE" を設定したパッケージも作ってみたところ、 ちゃんと value が tName レイヤに置かれた。よしよし。これで必要なやつだけパッケージを切替えればおっけー。
調子にのって name も value もないのも作った。こちらはパスコンの 0.1uF で使うことを想定。

ULPs

使ったことのあるものから。Olimex41 以外はすべて Eagle 本家の ulp.
del-devices.ulp
.lbr 中のすべての dev を消去しようとする。 もちろん「消していいか?」と訊いてきたところで OK 押せばぜんぶ消去されるが、 そういう使い方をするのでなく、消去しようとしたリストを copy & paste で多少書き換えることが想定されている。 ... つーか、つまり実質的に dev リストを出力する ulp.
ライブラリエディタ内から File → Export → Directory すると .sym, .pac はリストになるのに .dev はリストにならないから、その対処みたいなもの。
cmd-renumber.ulp
ボード上の部品配置順に番号 (name) を振り直す。もちろん対応する回路図上の番号もなおる。
renumber-sch.ulp
回路図上での部品配置順に番号 (name) を振り直す。もちろん対応するボード上の番号もなおる。 Create from schematic するととりあえず部品はボード外に番号順に並べられるので、 その直前に renumber-sch しとくとけっこいい形で部品が並ぶ。 大量の部品があるときは能書きから想像するよりかなり便利。
count.ulp
Pad, via, smd, hole の数をかぞえる。
del-pack-sym.ulp
どの dev からも使われていない pac や sym を除去する。 ちゃんとあるじゃん。これで間違って dev コピってしまってもおっけー。
find.ulp
コマンドラインから "run find 名前" として使うことが想定されている。 「名前」のところに viewpoint が移動して、zoom して、名前のデバイス等を選択する。 回路図上でもボード上でも使える。名前は "N$3" といった配線名などでもよく、Show と併せて 回路図上での配線がボード上でどうなったかをみるのによく使っている。
import-bmp.ulp
ボードに bmp を張り付ける。つーてもカラー画像を張り付ける訳にはいかない訳で、 32 色までピックアップしてあげるとそれなりの絵を貼ってくる。
まあ、シルクにするかしないか銅にするかしないかで 4 色くらいしか{使わない/使えない}けど ...。
olimex41.ulp
silkwidth とかは eagle 4.11 では動かない。かわりにこれを使う。 フォントを vector にしておかないと意味ないのは相変わらずなので、 個人作成のライブラリではシルクになる可能性のあるテキストはライブラリの時点で vector を使うようにしてる。
olimex41.ulp は Olimex の こちら から。
part2html.ulp
回路図エディタのメニューから File → Export → Partlist しても parts list は出来るけど。 その整形版。レイアウトエディタから使う。これ持って買いだしにいけってか。 ただ、どっちにしても部品名順にならぶのであって値順に並んだりはしないので、 まだしも Partlist のが使いやすかったり。

わかんないトコみっつ。

下図は QFP-10 パッケージの裏面 (Texas Instruments の TPS61027 から) だが、中央の powerpad は長方形でない。 5x7 オシレータのパッドも長方形でないものがある。律義に形に合うパッドにするかどうかは別として、 そういう長方形でないパッドを描くにはどうすればいいか?

QFP-10

もちろん smd パッド (← これは長方形にしかならない) を囲うように polygon や rectangle で TOP レイヤに描き、tTOP や tCream を適切に処理すればライブラリとしては描けるが、オートルータはそれを処理できないし、 DRC も通らない (当の smd パッドと polygon が接触しているという error を出す)。

ふたつめ。

QFP の四隅のハンダ溜りのような、 デフォルトではどこにも繋がってない銅箔だが、どこかに繋がることは許されているようなものを表現するにはどう描けばいいか?

上の場合と同じく適当に描くとオートルータはその銅箔を無い物として扱うので、 そこを複数のワイヤが通過してしまうことがありえる。 tRestrict を設定するとワイヤが一本も通過できなくなる。一本(一種類)だけ通過することを許したい。どうすればいいか?

わかんないトコみっつめ

port.sym
回路図上で離れたところにあるワイヤを同一のネットとしてみなすためのシンボル ... のつもりで描いたもの。

このままだと value に何と書こうが、この port を置いたワイヤ全てが同一のネットに繋がってしまう。 ワイヤ毎にネット名を指定しなおせばこのままでも使えるが、 できれば、このシンボルの value (or name) に書いたものが自動的に繋がるワイヤのネット名になってほしい。 どう書けばいいか?

ちなみに Pwr ピンならば name がそのままネット名になるが、Pwr ピンをもつ sym は必ず pac をもたなくてはならない。 pac を持たない仮想デバイス (supply.lbr に入ってる 5V とか Vcc とか、そういうやつ) として作りたいが、 そうすると使えるのは Sup ピンだけである。

ところで、frams.lbr には既製の同上なシンボルが入っている。 使い勝手は一緒で、配線名は別に手で指定しなければならないが ...。

ライブラリ

抵抗 (1005 〜 2012, アキシャル縦, アキシャル横), コンデンサ (1005 〜 2012, CY55), 電解コンデンサ (東信チップ, ラディアル 5mm 〜 7mmφ), インダクタ (CR43, CDRH125, CDH74, PM54, LHB0608, アキシャル縦、アキシャル横), オペアンプ (OPA656, OPA2690, THS4500, AD8130, ...), ログアンプ AD8307, ADC (ADC08100, ADS1112, ADS2807, ADS5203, ADS5204, ADS7828, ...), DAC (DAC904, TDA8752 ...), USB FX2 (CY7C68013-56), EZ-USB-2135S, SW/DC-DC コンバータ (LM2663, LT1054, ...), FPGA (SpartanIIE TQ144, PQ208), FPGA 用 ROM (XC18V01, XC18V02, XCF0*S), など: デバイス一覧

趣味もろばれのライブラリセットかも〜。

ところで

去年たしか 7/1 〜 8/31 と豪快に休みをとったんじゃなかったっけ、 Olimex さん家 ...。 6/30 時点で予告出てないんだけど、まだ大丈夫かな ...。 あれ、8/1 〜 31 だったかな。おぼえてーねーな。
[日記へ] [目次へ]