「負論理」の解説

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
このエントリーをはてなブックマークに追加
2019年07月25日 更新。
用語:負論理
読み:ふろんり
同義語・似た意味の言葉:アクティブロー
概要

論理回路において、「ボタンが押された」、「起動後一定の時間が経過した」、「センサが異常を検出した」など、何かが起こった時や、何かをこれからしなければならない等の状況で電圧がHになり、それらの条件が成立しない時には電圧がLになる信号を、正論理(positive logic)の信号といいます。逆に、何かが起こった時や、何かをこれからしなければならない等の状況で電圧がLになり、それらの条件が成立しない時には電圧がHになる信号を、負論理(negative logic)の信号といいます。

注:ここでHは、閾値より高い信号電圧を表しています。またLは、閾値より低い信号電圧を表しています。

正論理は、意味のある現象が起こった時に高い電圧が出る信号の方式なので、アクティブハイ(active high)ともいわれます。また負論理は、意味のある現象が起こった時に低い電圧が出る信号の方式なので、アクティブロー(active low)ともいわれます。

正論理と負論理は、対比する形で説明すると意味が把握しやすいため、このページでは負論理だけでなく、正論理についても説明します。

目次

1. 真理値と電圧の対応 … 1ページ
2. 正論理信号と負論理信号の簡単な例 … 1ページ
3. 正論理回路と負論理回路ではAND回路とOR回路が入れ替わる現象について … 1ページ
3-1. 負論理のAND回路は正論理のOR回路と物理的に同じ回路になる … 1ページ
3-2. 負論理のOR回路は正論理のAND回路と物理的に同じ回路になる … 1ページ
4. 正論理の回路記号の端子に丸印をつけて負論理の回路を表らわす方法 … 1ページ
5. 正論理と負論理の曖昧さ … 1ページ
5-1. 同じ回路なのに信号名で正論理か負論理かが変わる例 … 1ページ
5-2. 信号の命名がまずいために正論理か負論理かが判断しにくい例 … 1ページ
5-3. 信号名が付いていないために正論理か負論理かが判断できない例 … 1ページ
広告

1.真理値と電圧の対応

先ほど、正論理とは意味のある現象が起こった時に電圧Hを出力し、意味のある現象が起こらなかった時は電圧Lを出力する信号の方式の事だと説明しました。別の言い方をすると、正論理は、真理値0を電圧Lに対応させ、真理値1を電圧Hに対応させる、真理値と電圧の対応方法だといえます。この事を表したのが表1です。

表1、正論理の場合の真理値と電圧の対応
真理値 電圧
0 (偽) L
1 (真) H

注:論理学において命題が「真」(T)である事を論理回路では2進数の"1"で表し、論理学において命題が「偽」(F)である事を論理学では2進数の"0"で表します。

逆に負論理は、真理値0を電圧Hに対応させ、真理値1を電圧Lに対応させる、真理値と電圧の対応方法だといえます。この事を表したのが表2です。

表2、負論理の場合の真理値と電圧の対応
真理値 電圧
0 (偽) H
1 (真) L

2.正論理信号と負論理信号の簡単な例

正論理信号を発生する回路の簡単な例として、押しボタンスイッチのボタンが押されている時(ONになっている時)はH、ボタンが押されていない時(OFFになっている時)はLになる信号、PRESSEDを発生する回路を図1に示します。

図1、スイッチのボタンが押されている時にHになる正論理の信号を発生する回路
↑ 画像をクリックすると拡大
図1、スイッチのボタンが押されている時にHになる正論理の信号を発生する回路

この回路は、押しボタンスイッチSW1と抵抗R1から構成されています。SW1とR1は直列接続されていますが、それらが接続されている部分の電圧を取り出したのが、PRESSEDという信号です。

参考1:電子回路設計の分野では、信号あるいは信号線には、図1のPRESSEDの様に、英数字の文字列で名前を付ける習慣があります。通常アルファベットには大文字を使いますが、小文字を使う場合もあります。また英数字だけではなく、"_"、"/"、"#"等の記号を信号名(信号の名称)に使う場合もあります。

参考2:"PRESSED"は、「押されている」という意味の英単語です。この様に、信号名には、意味の推測できる英単語、またはその略語を使うのが習慣になっています。

図1の回路においてVDDとは、論理回路を動かすための正の電源電圧を表しています。

ボタンが押されていない場合(SW1がOFFの場合)は、PRESSED信号は、抵抗R1によってGNDにプルダウンされているため、出力電圧が0[V]、すなわちLになります。

一方でボタンが押されている場合(SW1がONの場合)は、PRESSED信号は、SW1経由でVDDにショートされるため、出力電圧がVDD、すなわちHになります。

PRESSED信号の表す命題(真偽が明確に定められる事柄)が「ボタンが押されている」事だとすると、真理値と電圧の関係は表3の様になります。

表3、PRESSED信号の真理値と電圧の関係
真理値 電圧
0 (偽) L
1 (真) H

注:真理値が0(偽)の場合は、「ボタンが押されている」という命題が成立しなかった、すなわちボタンが押されていない事を意味します。一方で真理値が1(真)の場合は、命題が成立した、すなわちボタンが押されている事を意味します。

表3から分かる様に、真理値0は電圧Lに対応しており、真理値1は電圧Hに対応しているので、確かにPRESSED信号は正論理の信号であるといえます。

次に、負論理信号を発生する回路の簡単な例として、押しボタンスイッチのボタンが押されている時(ONになっている時)はL、ボタンが押されていない時(OFFになっている時)はHになる信号、PRESSEDを発生する回路を図2に示します。

図2、スイッチのボタンが押されている時にLになる負論理の信号を発生する回路
↑ 画像をクリックすると拡大
図2、スイッチのボタンが押されている時にLになる負論理の信号を発生する回路

信号名PRESSEDには、上線が付いていますが、この様に、負論理の信号の信号名には、上線を付ける習慣があります。

注:ただし、あくまでも習慣なので、必ず負論理の信号名に上線を付けなければならない訳ではありません。信号名に上線を付けない場合は、その信号が負論理の信号である事を、別の手段で説明する必要があります。

図2の回路も押しボタンスイッチSW1と抵抗R1から構成されていますが、SW1とR1の位置関係が、図2の回路と図1の回路では、上下逆になっています。

図2の回路でボタンが押されていない場合(SW1がOFFの場合)は、PRESSED信号は、抵抗R1によりVDDにプルアップされているため、出力電圧がVDD、すなわちHになります。

一方でボタンが押されている場合(SW1がONの場合)は、PRESSED信号は、SW1経由でGNDにショートされるため、出力電圧が0[V]、すなわちLになります。

PRESSED信号の表す命題が、図1のPRESSED信号の場合と同様に「ボタンが押されている」事だとすると、真理値と電圧の関係は表4の様になります。

表4PRESSED信号の真理値と電圧の関係
真理値 電圧
0 (偽) H
1 (真) L

表4から分かるように、真理値0は電圧Hに対応しており、真理値1は電圧Lに対応しているので、確かにPRESSED信号は負論理の信号であるといえます。

3.正論理回路と負論理回路ではAND回路とOR回路が入れ替わる現象について

正論理回路と負論理回路とでは、AND回路OR回路が入れ替わる現象があるので、説明します。

3-1.負論理のAND回路は正論理のOR回路と物理的に同じ回路になる

AND回路とは、2つの入力が共に1の場合は出力が1になり、それ以外の場合は出力が0になる回路と定義されています。

注:3入力以上のAND回路もありますが、ここでは2入力のAND回路のみを考えています。

よって、AND回路の2つの入力信号の信号名をAとBとし、出力信号の信号名をYとすると、真理値表は表5の様になります。

表5、AND回路の真理値表(真理値表記)
入力 出力
A B Y
0 0 0
0 1 0
1 0 0
1 1 1

A、B、およびYが全て正論理の信号だとすると、AND回路の電圧表記の真理値表は、表5中の0L1Hに書き換えれば得られます。その結果を表6に示します。

表6、正論理のAND回路の真理値表(電圧表記)
入力 出力
A B Y
L L L
L H L
H L L
H H H

表6の真理値表に従って動作する正論理のAND回路は、図3の様な回路記号で表わす事になっています。

図3、正論理のAND回路の回路記号
↑ 画像をクリックすると拡大
図3、正論理のAND回路の回路記号

ここで、A、B、およびYが全て負論理の信号だとすると、AND回路の電圧表記の真理値表は、表5中の0H1Lに書き換えれば得られます。また、信号が負論理になった事が分かりやすい様にするには、A、B、Yのそれぞれの信号名に上線を付けて、ABYとする方がいいでしょう。その結果を表7に示します。

表7、負論理のAND回路の真理値表(電圧表記)(1)
入力 出力
A B Y
H H H
H L H
L H H
L L L

この表の行の順番を入れ替えて見やすくすると、表8の様になります。

表8、負論理のAND回路の真理値表(電圧表記)(2)
入力 出力
A B Y
L L L
L H H
H L H
H H H

表8は、正論理のOR回路(図4参照)の真理値表(表9参照)と、(ABYがそれぞれA、B、Yになっている所を除いて)一致します。つまり、負論理のAND回路は、物理的には正論理のOR回路と同じ回路なのです。

図4、正論理のOR回路の回路記号
↑ 画像をクリックすると拡大
図4、正論理のOR回路の回路記号
表9、正論理のOR回路の真理値表(電圧表記)
入力 出力
A B Y
L L L
L H H
H L H
H H H

正論理のOR回路と同じ働きをするからといって、負論理のAND回路を、図5の様に正論理のOR回路の回路記号で表したのでは、AND回路である事が分かりにくいので、負論理のAND回路を図6の回路記号で表わす習慣があります。

注:ただし負論理のAND回路を、図5に示す様に、正論理のOR回路の回路記号で書いても間違いではありません。

図5、間違いではないが推奨されない負論理のAND回路の表記法
↑ 画像をクリックすると拡大
図5、間違いではないが推奨されない負論理のAND回路の表記法
図6、推奨される負論理のAND回路の回路記号
↑ 画像をクリックすると拡大
図6、推奨される負論理のAND回路の回路記号

図6をみると分かる様に、負論理のAND回路の回路記号は、正論理のAND回路の回路記号の入力端子と出力端子に、全て丸印が付いています。

この丸印は、NOT回路を表しています。つまり、図6の回路記号は、図7の回路の省略記法だと考える事もできます。

図7、図5の回路記号の意味合い
↑ 画像をクリックすると拡大
図7、図5の回路記号の意味合い

参考:NOT回路は正論理の信号を負論理に変換したり、負論理の信号を正論理に変換したりできます。正論理の信号を負論理に変換する場合には図8の回路記号を、負論理の信号を正論理に変換する場合には図9の回路記号を使う習慣があります。負論理側の端子に丸印を付けると覚えれば、覚えやすいでしょう。(さらに詳しい話は、NOT回路の項目をご覧ください)

図8、正論理の信号を負論理に変換する場合のNOT回路の回路記号
↑ 画像をクリックすると拡大
図8、正論理の信号を負論理に変換する場合のNOT回路の回路記号
図9、負論理の信号を正論理に変換する場合のNOT回路の回路記号
↑ 画像をクリックすると拡大
図9、負論理の信号を正論理に変換する場合のNOT回路の回路記号

図7の回路の2つの負論理の入力信号ABはそれぞれ、NOT回路で正論理信号AとBに変換された後、正論理のAND回路に入力されます。正論理のAND回路の出力信号Yは、NOT回路で負論理の信号Yに変換されて出力されます。

この様に、図6の回路記号は、正論理のAND回路の入力端子に、正論理を負論理に変換するNOT回路が付いており、出力端子には、正論理を負論理に変換するNOT回路が付いている様子を表しているのです。

3-2.負論理のOR回路は正論理のAND回路と物理的に同じ回路になる

前の項では、負論理のAND回路が正論理のOR回路と物理的には同じ回路になる事を説明しましたが、この項では、逆に、負論理のOR回路が正論理のAND回路と物理的に同じになる事を説明します。

OR回路とは、2つの入力の少なくとも一方が1の場合は出力が1になり、それ以外の場合は出力が0になる回路と定義されています。

注:3入力以上のOR回路もありますが、ここでは2入力のOR回路のみを考えています。

よって、OR回路の2つの入力信号の信号名をAとBとし、出力信号の信号名をYとすると、真理値表は表10の様になります。

表10、OR回路の真理値表(真理値表記)
入力 出力
A B Y
0 0 0
0 1 1
1 0 1
1 1 1

A、B、およびYが全て正論理の信号だとすると、OR回路の電圧表記の真理値表は、表10中の0L1Hに書き換えれば得られます。その結果を表11に示します。

表11、正論理のOR回路の真理値表(電圧表記)
入力 出力
A B Y
L L L
L H H
H L H
H H H

注:表11は、表9と同じ表です。

表11の真理値表に従って動作する正論理のOR回路を、図4の回路記号で表わす事は既に説明しました。

図4(再掲)、正論理のOR回路の回路記号
↑ 画像をクリックすると拡大
図4(再掲)、正論理のOR回路の回路記号

今度は表10のA、B、およびYが、全て負論理の信号の場合を考えます。

負論理の場合は、表10中の0H1Lに書き換えれば電圧表記の真理値表が得られます。その際に、負論理信号である事が分かりやすい様にするために、A、B、Yを、それぞれABYと書き直す方がいいでしょう。この様にして得られた真理値表を表12に示します。

表12、負論理のOR回路の真理値表(電圧表記)(1)
入力 出力
A B Y
H H H
H L L
L H L
L L L

表12の行を入れ替えて見やすくすると、表13の真理値表が得られます。

表13、負論理のOR回路の真理値表(電圧表記)(2)
入力 出力
A B Y
L L L
L H L
H L L
H H H

この真理値表は、表6に示した整理論理のAND回路の真理値表と、(ABYがそれれぞれA、B、Yとなっている所を除いて)一致します。つまり、負論理のOR回路は、物理的には正論理のAND回路と同じ回路なのです。

正論理のAND回路と同じ働きをするからといって、負論理のOR回路を、図10の様に正論理のAND回路の回路記号で表わしたのでは、OR回路である事が分かりにくいので、負論理のOR回路を図11の記号で表わす習慣があります。

注:ただし負論理のOR回路を、図10に示す様に、正論理のAND回路の回路記号で書いても間違いではありません。

図10、間違いではないが推奨されない負論理のOR回路の表記法
↑ 画像をクリックすると拡大
図10、間違いではないが推奨されない負論理のOR回路の表記法
図11、推奨される負論理のOR回路の回路記号
↑ 画像をクリックすると拡大
図11、推奨される負論理のOR回路の回路記号

4.正論理の回路記号の端子に丸印をつけて負論理の回路を表らわす方法

前の章で説明した様に、図6に示した負論理のAND回路の回路記号は、図3に示した正論理のAND回路の回路記号の各端子に、NOT回路を表す丸印を付けたものになっています。

図6(再掲)、推奨される負論理のAND回路の回路記号
↑ 画像をクリックすると拡大
図6(再掲)、推奨される負論理のAND回路の回路記号
図3(再掲)、正論理のAND回路の回路記号
↑ 画像をクリックすると拡大
図3(再掲)、正論理のAND回路の回路記号

また図11に示した負論理のOR回路の回路記号は、図4に示した正論理のOR回路の回路記号の各端子に、NOT回路を表す丸印を付けたものになっています。

図11(再掲)、推奨される負論理のOR回路の回路記号
↑ 画像をクリックすると拡大
図11(再掲)、推奨される負論理のOR回路の回路記号
図4(再掲)、正論理のOR回路の回路記号
↑ 画像をクリックすると拡大
図4(再掲)、正論理のOR回路の回路記号


図6や図11の回路記号において、丸印は正論理と負論理とを変換するためのNOT回路を表している事は、既に説明したとおりです。

これらの例の様に、正論理の回路記号が決まれば、負論理の回路記号を別に定義しなくても、正論理の回路記号の各端子に丸印を付ける事で、負論理の回路記号が得られます。

この考え方を拡張すると、全ての端子が負論理でなく、一部の端子が負論理になった回路の記号も、正論理の回路記号の負論理の端子のみに丸印を付ける事で得られます。

例えば、A端子だけが負論理でB端子とY端子は正論理のAND回路の記号は図12の様になります。

図12、A端子だけ負論理でB端子とY端子は正論理のAND回路
↑ 画像をクリックすると拡大
図12、A端子だけ負論理でB端子とY端子は正論理のAND回路

参考:図12の回路は、ALでかつBがHの時にYがHになります。参考までに図12の回路の電圧表記の真理値表を表14に示します。

表14A端子だけ負論理でB端子とY端子は正論理のAND回路の真理値表(電圧表記)
入力 出力
A B Y
L L L
L H H
H L L
H H L

また、A端子とY端子が負論理でB端子のみが正論理のOR回路の回路記号は図13の様になります。

図13、A端子とY端子が負論理でB端子のみが正論理のOR回路
↑ 画像をクリックすると拡大
図13、A端子とY端子が負論理でB端子のみが正論理のOR回路

参考:図13の回路は、ALまたはBがHの時にYLになります。参考までに図13の回路の電圧表記の真理値表を表15に示します。

表15A端子とY端子が負論理でB端子のみが正論理のOR回路の真理値表(電圧表記)
入力 出力
A B Y
L L L
L H L
H L H
H H L

この様に、丸印を負論理の信号を表わす記号としてとらえると、A端子とB端子が正論理でY端子が負論理のAND回路の回路記号は、図14の様になります。

図14、A端子とB端子が正論理でY端子が負論理のAND回路の回路記号
↑ 画像をクリックすると拡大
図14、A端子とB端子が正論理でY端子が負論理のAND回路の回路記号

これは、図15に示す、全ての端子が正論理のNAND回路の回路記号と同じになります。

図15、全ての端子が正論理のNAND回路
↑ 画像をクリックすると拡大
図15、全ての端子が正論理のNAND回路

図14の回路も、図15の回路も、電圧表記の真理値表は、共に表16の様になるため、Y端子が負論理のAND回路と解釈しようと、Y端子が正論理のNAND回路と解釈しようと、回路の物理的な動作は同じです。

表16、図14および図15の回路の電圧表記の真理値表
入力 出力
A B YまたはY
L L H
L H H
H L H
H H L

しかし、図14の回路の真理値表記の真理値表は表17の様になる一方、図15の回路の真理値表記の真理値表は表18の様になり、図14はあくまでAND回路で、図15はあくまでNAND回路である事が分かります。つまり、図14の回路と図15の回路では、Y信号およびY信号の意味の解釈が変わるのです。

表17、図14の回路の真理値表記の真理値表(AND回路の真理値表)
入力 出力
A B Y
0 0 0
0 1 0
1 0 0
1 1 1
表18、図15の回路の真理値表期の真理値表(NAND回路の真理値表)
入力 出力
A B Y
0 0 1
0 1 1
1 0 1
1 1 0

結局、図14の回路と図15の回路を見分けるには、信号名に上線が付いているかどうかで見分けるしかありません。仮に信号に名前が付いていなければ、両者は全く区別が付きません。この事は、後述する正論理と負論理の曖昧さにつながります。

5.正論理と負論理の曖昧さ

信号が正論理か負論理かというのは、回路図を見れば明瞭に分かるものでは必ずしもなく、ある種の曖昧さを持っています。その曖昧さについて、回路の例を挙げながら説明します。

5-1.同じ回路なのに信号名で正論理か負論理かが変わる例

先ほど図1の回路は正論理の信号を発生すると説明しました。しかし、見方を変えれば、同じ回路でも負論理の信号を発生する回路だとも解釈できます。

図16の回路をご覧ください。(比較のために図1の回路を再掲ます)

図16、スイッチのボタンが押されていない時にLになる負論理の信号を発生する回路
↑ 画像をクリックすると拡大
図16、スイッチのボタンが押されていない時にLになる負論理の信号を発生する回路
図1(再掲)、スイッチのボタンが押されている時にHになる正論理の信号を発生する回路
↑ 画像をクリックすると拡大
図1(再掲)、スイッチのボタンが押されている時にHになる正論理の信号を発生する回路

図16の回路は、図1の回路と全く同じ構成になっています。ただ、信号名のみがPRESSED(図1)からRELEASED(図16)に変わっています。

"RELEASED"は「離された」を意味する英単語です。図1のPRESSED信号はボタンが押された事を検知するための信号なのに対し、図16のRELEASED信号はボタンから指が離れている(すなわちボタンが押されていない)事を検出するための信号なのです。

図16の場合、RELEASED信号の表す命題が「ボタンが押されていない」事なので、真理値と電圧の関係は表19の様になります。

表19RELEASED信号の真理値と電圧の関係
真理値 電圧
0 (偽) H
1 (真) L

注:真理値が0(偽)の場合は、「ボタンが押されていない」という命題が成立しなかった、すなわちボタンが押されている事を意味します。一方で真理値が1(真)の場合は、命題が成立した、ボタンが押されていない事を意味します。

この様に、RELEASED信号は、真理値0が電圧Hに、真理値1が電圧Lに対応しているので、確かに負論理の信号であるといえます。

図1の回路と図16の回路は、物理的には同じ回路です。それにも関わらず図1は正論理の信号を発生し、図16は負論理の信号を発生しています。この事が示すのは、正論理か負論理かというのは、回路の物理的な構成により決まるのではないという事です。

それでは、何が正論理か負論理かを決めるかというと、回路設計者の設計意図(あるいは回路図を読んだ人の解釈)です。

図1の回路は「ボタンが押されている事を検知したい」という意図で設計されています。PRESSED信号が「ボタンが押されている」という命題が真(1)か偽(0)かを表しているので、真理値と電圧の関係が表3の様になり、正論理になったのです。

一方で図16の回路は、物理的には図1の回路と同じものであるものの、「ボタンが押されていない事を検知したい」という意図で設計されています。RELEASED信号が「ボタンが押されていない」という命題が真(1)か偽(0)かを表しているので、真理値と電圧の関係が表19の様になり、負論理になったのです。

同様の議論をすることにより、図2の負論理の信号を生成する回路と物理的には同じ構成である図17の回路が、正論理の信号を生成する事が分かります。

図17、スイッチのボタンが押されていない時にHになる正論理の信号を発生する回路
↑ 画像をクリックすると拡大
図17、スイッチのボタンが押されていない時にHになる正論理の信号を発生する回路
図2(再掲)、スイッチのボタンが押されている時にLになる負論理の信号を発生する回路
↑ 画像をクリックすると拡大
図2(再掲)、スイッチのボタンが押されている時にLになる負論理の信号を発生する回路

参考:スイッチの例で説明するより、温度センサの話をする方が理解しやすいかもしれません。あらかじめ設定した温度より高くなるとHを出力し、設定温度より低くなるとLを出力する温度センサがあるとします。このセンサの出力信号に、HOTという名称を付けるなら正論理になり、COLDという名称を付けるなら負論理になります。この様に、信号名により、正論理と負論理が変わります。

この様に考えると、実は信号の命名の仕方が、正論理か負論理かの判断をする上で重要になる事が分かります。

PRESSED(あるいはPRESSED)という信号名からは、ボタンが押されている事を検知したいという設計者の意図が感じられます。そのため、ボタンが押されている事に意味を持たせている(ボタンが押されている時に真理値が1になる)と推測されます。

もし図2の回路で信号名がPRESSEDと上線がないものだった仮定すると、「PRESSEDという信号名なら正論理なので、ボタンが押されている時にHを出力するはずなのに、この回路ではLを出力してしまう。設計者は信号名に上線を付け忘れたか、それともスイッチと抵抗を誤って反対に配置したのかもしれない」と、設計者以外の人が、設計ミスを見つける事が可能になります。

5-2.信号の命名がまずいために正論理か負論理かが判断しにくい例

図1図16と同じ回路でありながら、図18の(a)や(b)の様な信号名を付けた場合について考えてみましょう。

図18、推奨できない信号名の付け方の例
↑ 画像をクリックすると拡大
図18、推奨できない信号名の付け方の例

図18(a)では、信号名に"A"という、意味を持たない記号を付けています。これでは、ボタンが押されている時に真理値が1になるのか、あるいは逆にボタンが押されていない時に真理値が1になるのかがわかりません。負論理の場合に信号名に上線を付けるという習慣を必ずしも守っていない人が設計した場合には、正論理か負論理かを判断する材料がありません。

図18(b)では、信号名に"BTN_STAT"という意味ありげな文字列を使っています。これが"button state"(ボタンの状態)の省略形だと分かったとしても、"button state"からは、ボタンが押されている時に真理値が1になるのか、ボタンが押されていない時に真理値が1になるのかがわかりません。

この様に、図18(a)の様な命名法では、何のための信号かが名称より判断できませんし、図18(b)の様な命名法では、正論理か負論理かが信号名からは判断できません。よって、これらの様な曖昧な信号名の付け方は、極力避けるべきだといわれています。

5-3.信号名が付いていないために正論理か負論理かが判断できない例

さらに言うと、図18の様に、全ての信号線にとりあえず信号名が付いていれば、負論理の信号に上線を付けるという習慣を守っている限り、信号名から正論理・負論理の区別がつくのですが、回路図中の全ての信号に信号名が付いているとは限りません。

図19を見てください。これは、マイコンを使った基板で、押しボタンスイッチの状態を検出する時に、よく見かける回路です。

図19、マイコンで押しボタンスイッチの状態を検出する回路
↑ 画像をクリックすると拡大
図19、マイコンで押しボタンスイッチの状態を検出する回路
実際にはGPIOのピン名称は"GPIO"ではなく、例えば"PA2"(ポートAの第2ビット)などの名称が付いています。ただ、このピン名称は、マイコンの種類ごとに命名規則が違いますし、どのピンを使うかによっても名称が異なりますので、ここでは"GPIO"と記しています。

スイッチの状態を検出するための信号線が、マイコンのGPIO(汎用入出力)のピンに入力されています。この様に、回路図中で押しボタンスイッチがマイコンのすぐ近くにある場合は、いちいち信号名を付けないのが普通です。

参考:信号に名称を付けるのは、複数ページの回路図で別のページの回路に配線をつないだり、別の基板に信号をつないだり、あるいは同一ページの離れた所に信号をつなぎたい場合などが多いです。まれに、説明の都合上、近くの部品同士を結ぶ信号線にも信号名を付ける事があります。

回路図から、スイッチがONの時にGPIOピンにLが入力され、スイッチがOFFの時にGPIOピンにHが入力される事は分かります。しかし信号名がないので、スイッチがONになるのを検出したいのか、スイッチがOFFになるのを検出したいのかが分かりません。よって、この信号線は正論理か負論理かを決定する事ができません。

ただ、この回路図を読んだ人が、正論理と判断しようと、負論理と判断しようと、回路の動作に違いはありません。正論理信号や負論理信号は、物理的に存在するものではなく、回路図を見た人の頭の中に、概念として存在するのです。

ある信号を正論理と解釈すべきか、負論理と解釈すべきか(設計者が信号名に上線を付けるべきか否か)を決めるのに、絶対的に守るべきルールではないものの、従うとしばしば役に立つルールがあります。それは、2つの状態の内、「その状態になっている時間が長い方を真理値0に割り当て、その状態になっている時間が短くて例外的に起こる状態の方に真理値1を割り当てる」というルールです。

身の回りの押しボタンスイッチが付いている電化製品、例えば電卓やインターホンを思い浮かべてみましょう。これらの製品に付いている押しボタンは、ほとんどの時間、押されない状態で放置されています。そして、電卓の場合なら、利用者が何か計算をしようとした時に、計算したい数字や四則演算のボタンを押します。(インターホンの場合なら、家の中の人を呼び出したい場合にボタンを押します)

この様に、ほとんどの電化製品に付いている押しボタンスイッチは、平常時はボタンが押されていない状態になっており、ユーザーが操作しようとした時にだけONになります。「その状態になっている時間が長い方を真理値0に割り当て、その状態になっている時間が短くて例外的に起こる状態の方に真理値1を割り当てる」というルールを適用すると、ボタンが押されていない状態が真理値0で、ボタンが押されている状態が真理値1になります。

図19の回路の場合も、SW1は通常はOFFで、操作した場合だけONになると仮定すると、ボタンが押されていない状態で電圧がHになる事から、GPIOにつながっている信号線は負論理という事になります。

広告
このエントリーをはてなブックマークに追加

関連用語

関連ページ

このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。
こちらのページもおすすめです。