ご覧いただきありがとうございます。ここでは、回路図を描くときに、部品をつなぐ信号の名称の付け方をルール化することで得られるメリットやその考え方についてご紹介いたします。信号の命名規則をしっかりとすることで、
・回路を理解しやすくなり、設計作業がより効率的に進められる。
・自分含め設計チームのメンバーが後で回路図を見たときに、誤解や設計ミスを防ぐことができる。
といったメリットがあります。可読性の向上、ともいえるでしょう。
命名するときに、規則を思い出して付けるというちょっとしたひと手間がありますが、それによって得られるメリットは大きいので、ぜひ検討していただければと思います。 また、命名規則をしっかりすることで、単に他の信号と区別するだけでなく、信号名自体に回路の構成や動作などの意味を含ませる、ということもできるようになります!
よい信号名で回路の動きがわかる

例えばこんな回路があったとします。OverCurrent という信号名が書かれています。おそらく電流を検出するための回路があって、過電流という状態になったらマイコンへ伝えるという回路であることは、なんとなくわかるとは思います。しかしこれでは情報量が少なすぎ😭ますね。具体的な回路の動作を理解するためには、オペアンプらしきものやその周辺部品、及びマイコンのデータシートをそれぞれ読まなければなりません。そこで、この信号名に命名規則を設けて、例えば以下のように表現してみましょう。

信号名を CUS_OVCB_DI というように変えてみました。このことで、「電流センサ回路で過電流を検知し、それを負論理でマイコンに入力する」ということがより具体的にわかるようになります。いちいちデータシートを読まなくても、より回路の理解が深まります。ここでは信号名のなかに、どの回路ブロックとのインタフェースか、どういう意味の信号なのか、電気的な特徴、の3つの要素を含ませています。
どの回路ブロックとのインタフェースか
一般に組込機器の回路は、マイコンを中心として周辺に各機能をもった回路ブロックが配置されているという構成が多いと思います。そこで、マイコンから見て、どの回路ブロックに繋がっている信号か、を表記しました。CUSは、CUrrent Sensorということで電流検出回路のブロックと繫がっている信号を表しています。
どういう意味の信号なのか
これが信号名の本体ともいえるでしょう。過電流(OVer Current)の意味でOVCB とつけてみました。一番最後のBは負論理を表しています。「論理」と言っている時点で、これはデジタル信号であることを意味しています。出力しているのもオペアンプで電圧を出しているのではなく、コンパレータの出力であることが想起できます。デジタル信号として1やHighのときがその事象なら正論理、0やLowでその事象なら負論理となります。ここでは、Lowになったら過電流が発生したことを表す、ということになります。負論理の場合はB以外にも、信号名の上に線を引いたり、#、N、Bなどを信号名の前や後ろに付けたりします。よくあるのはリセットの信号で、負論理のリセットは以下のように表されたりします。 Bは上に引く線(Bar)のことを意味しているのではないかと思います

負論理のリセット信号表記の例
この他にもいろいろあります
電気的な特徴
デジタル信号であり、マイコンから見ると入力なので、DI(Digital Input)としました。マイコンとしても、A/Dコンバータでアナログ信号として受けるのではなく、CMOSやTTLなどのデジタル信号で受けているものと想起できます。
OverCurrentと表記するよりも、CUS_OVCB_DI と表記した方が、回路の動作や信号の特徴など、より多くの情報を含ませることができるのではないかと思います。情報が増えたものをフルスペルで表記すると名前が長くなってしまうので、英数文字2~4文字で表現するようにしてみました。
間違いにくい工夫により、設計の効率や品質を高める

回路図上の信号名は、どんな名前であっても電気的な特性には当然ながら影響はありません。技術的に考えれば名前はなんでもいいのです。しかし、前述のような命名規則を遵守することで、設計作業の効率や設計品質の観点ではメリットが大きいです。命名規則によって得られるメリットは以下のようなことが考えられます。
メリット1:設計作業の効率が上がる
信号名の中に、繋がり先・信号の意味・電気的特性が表記されていることで、後から回路図を見たときに、これらをいちいち調べる必要がありません。繋がり先や意味は、回路図が複数ページになっていたら調べるのが手間ですし、もっと上位概念のアーキテクチャ設計図を見る必要があるかもしれません。極性等を知るため電気的特性を確認するには、各部品のデータシートを見る必要があるかもしれません。このような作業をする時間を省略できるということは、設計効率を向上させるのに大きく貢献できると思います。
メリット2:設計品質が向上する
信号名だけで回路の動きがある程度表現できるので、上位のアーキテクチャの観点から間違いがないか、といったことが気づきやすくなります。また、信号名で極性などの電気的特性がわかることも大切です。正論理か負論理か、つまりHighのときにその事象が起こるのか、それともLowのときか、を間違えることによる不具合は、現実問題として設計現場でとても多く発生しますよね🤔。このように設計的な間違いや勘違いを未然に防げることは、設計品質の向上に貢献できると思います。
デメリットとしては、回路図を描くときに、一旦立ち止まって命名規則を確認しなければならないということでしょうか。確かにちょっとしたひと手間ではありますが、上記のメリットを考えれば、非常に小さな手間ではないでしょうか。こういった命名規則の徹底は、各設計担当者ではなく設計リーダーの役割になるのではないかと思います。規則をいちいち指示するのは嫌われ役になりがちですが😅、上記のメリットをしっかり説明すれば、各担当者も対応してくれるのではないでしょうか。「忙しくていちいち命名規則を確認していられない!」という人には、忙しいから規則を遵守できないのではなく、規則を遵守してないから忙しくなっているのだ、というように説得しましょう!
ソフトウェア等のソースコードを書くという設計では、ハンガリアン記法とかASIAN記法などのように命名規則が決められているのが一般的ですね。文字だけなので、ルール化させていないと可読性の良くない(=品質の良くない)設計になってしまうからでしょう。回路図の場合は図や記号があるので、このあたりが疎かになってしまうのかもしれません。私は過去にVerilogで論理回路設計をしていたことがあるからかもしれませんが、電子回路設計で回路図を作る時にも信号名の命名規則がとても気になってしまいます。
まとめ
回路図を描くときに、部品をつなぐ信号の名称の付け方をルール化することで得られるメリットやその考え方についてご紹介しました。回路の動作や信号の特徴など、より多くの情報を含ませることで、設計効率の向上と、設計品質の向上といったメリットが期待できます。ちょっとしたひと手間で、設計作業の忙しさが軽減し、設計ミスに対応する時間も減らせるという好循環につながるのではないかと思います😊


