![](https://blogimg.goo.ne.jp/user_image/54/17/2552fe1e2c61f0c3339abd40cd58134c.png)
ブログ担当の後藤です。
世界情勢が不安定ですね。
相変わらず、電子部品は入手困難です。
今はひたすら、設計・開発の仕事に専念しています。
音楽関係では無い製品の開発のお仕事にも関わっています。
楽器・音響業界と違う畑の製品だと、求められる性能の範囲や精度が変わってくるので、いろいろ勉強になります。
ということで、最近手掛けている仕事で見つけた豆知識をご紹介します。
回路やプリント基板の設計で使用するCAD、皆さんは何をお使いですか?
弊社では主に、KiCADを使います。
その他はクライアントからの指定でEagleを使うことが多いです。
Eagleは数年前に単独の製品でサブスクリプション購入から、Fusion360との抱き合わせでのサブスクリプション購入に変わりました。
Fusion360は所謂、3DのCADですね。
3Dで設計する機構部分に他のCADを使っていると、「Fusion360は要らないからEagle単体で安くしてほしい」と思うものです。
そんな不満を抱えつつ、回路図を描き始める訳ですが。
回路規模が大きくなると、モジュールを使った階層式の回路図を描かないと、全体を把握するのが困難になります。
あ、モジュールと言っても、モジュラーシンセのモジュールとは違いますからね(笑)
ここで言うモジュールは、回路をブラックボックスで表現した物のことを言います。
言わば、1つの機能ブロックとしてまとめた仮想部品のシンボルと言ったところです。
下図はEagleの回路図エディッターに表示されるコントロールパネルです。
この真ん中あたりに、モジュールとポートのアイコンが有ります。
左側の黒いのがモジュール、右側の白いのがポートのボタンです。
では、回路図の最初のページに、モジュールを置いてみましょう。
モジュールのボタンをクリックすると、モジュールの選択ウィンドウが開きます。
過去に、モジュールを登録したことがあれば、ここに表示されますが、新規で追加する場合は、
Newの右側のテキストボックスに、所望の名前を入力してOKボタンを押します。
今回は"TRIAL"という名前にしてみます。
(名前は自動的に大文字になります)
すると、カーソルにくっついて、このような黄色の枠が現れます。
これがモジュールです。
TRIALの後に勝手に識別子として1が付いてますね。
とりあえず、回路図上の任意の場所に、クリックしてモジュールを置きます。
この時点でDesign ManagerのBrowserを見ると、下図の様になります。
上から2段目の"Sheet 1/1"という回路図にモジュールが配置されています。
TRIAL(1)の下にも"Sheet 1/1"という回路図が有りますが、こちらはモジュールの中の回路図になります。
この時点では、"Sheet 1/1"が自動で作成されてますが、複数ページが必要なモジュールは、
回路図をモジュールに追加していけば良いです。
TRIALモジュールの中の回路図に、例として下図の「左から右へ受け流す」回路が有ったとします。
ネット"IN1"~"IN3"がモジュールの入力、"OUT1"~"OUT3"がモジュールの出力とした場合で話を進めます。
先ほどのモジュールを置いた回路図に戻ります。
このモジュールにポートを追加します。
右側の白いボディのボタンをクリックします。
モジュールの黄色の枠の任意の場所でクリックすると、デフォルトでin/out(入出力)のポート(-<->- ←こんなやつ)が出現します。
ここでは、左側に配置してます。
※ポートの位置は後で変えられないので、配置する場所には注意が必要です。<訂正>ポートの位置も後で変えられます。
※入出力属性は後で変えられるので、心配不要です。
ポートを配置すると、ポートにアサインするネットの選択ボックスが開きます。
複数選択は出来ません。
複数の信号をまとめて1つのポートに割り当てる場合は、あらかじめバスにしておきます。
こんな感じになりました。
この手順で問題無いのですが、例えば以下の事情が生じた場合は、ポート名を手動でメンテしなければいけません。
1)上記の手順で作業した後でネット名を変更した場合
2)モジュールの回路図を作成する前に、任意のモジュールを置き、仮の信号名をポートにアサインした場合
できれば、下の階層の回路図でネット名を変更したら、自動で上層にもアノテーションして欲しいんですけどね。
Boardにスイッチした時点でネットがボードに反映されるというEagleの仕組みが生んだ問題点かもしれません。
で、ポート名を後から修正する方法を見つけるのに苦労したので、ご紹介します。
手順1)"Info"コマンドボタンを押す。
手順2)変更したいポートが接しているモジュールの枠の辺りで"ctrl"キーを押しながらクリックする。(Windowsの場合)
例えば、IN1を変更したいのであれば、下図の赤い矢印の先の辺り。
これが実は難しくて、下図のように「モジュールのプロパティ」が開いてしまったりします。
モジュールのプロパティでは、ポートの属性を変更できません。
成功すると、下図のダイアログが開きます。
手順3)ポートの名前、入出力(Direction)を変更します。
逆に言うと、ポートに関しては、これしか変更できません。
そのため、ポートの配置場所は、後でネットをつなげる時に困らない場所にしておきましょう。
<訂正>
同じ要領でポートの位置も変更できます。
1)Moveコマンドボタンをクリックしてアクティブにしておきます。
2)"ctrl"キーを押しながら、移動したいポートのモジュールとの接点辺りをクリックします。
3)ポートとモジュールの色が変わってハイライトされた状態で、マウスでポートを移動します。
ポートがモジュールの外形に沿って移動してればOK。
モジュールが移動してしまう場合は、ポートを正しく掴めてないです。
4)位置が決まったら、クリックして移動完了です。
Windowsは"ctrl"キーですが、Macは”⌘(command)”キーですね。
ちなみに、Eagleのバージョンは9.6.2です。
おまけ)モジュール間を接続するネットには、自動でポート名が割り当てられるようになっていません。
なので、モジュール同士を接続するネットを手動でポートと同じ名前にする必要が有ります。
ポートからネットを引き出した時点で、自動で反映してくれると良いのですが、
Eagleは基本的に、気を利かせてくれないんですよね。
どなたかの助けになれば幸いです。
今回は、Eagleにおける、モジュールのポート属性を編集する方法をご紹介しました。
※コメント投稿者のブログIDはブログ作成者のみに通知されます