「時代はアナログ」デジタルもアナログ

新年早々のエントリは、不可解な言葉から始まるのであった(笑)。電子回路を読み解く時の基礎知識の一つかな。

電子回路を弄っている人なら、ざっくり大きく分けてデジタル回路とアナログ回路があるってのは既知だと思う。だけど、時々この二つをあまりに大きく分け隔てて考えてて、どちらかが思いっきり嫌いになるとか、作業しててうまくいかなくなったりするってのが散見されるコトがある。

実はこの二つは、物理的には同じモンを扱っていて、その「解釈」の違いで「動作を決めている」だけだという点に充分な理解がないと、そうなりがちなんだよね。なので、その辺を少し書いてみようと思う。

●デジタルは実はアナログ

まずこれ。デジタル回路といえば定番なのはゼロかイチか、もしくはHighかLowかだと思う。回路の信号は基本的にはそのどちらかの値を取るので、後のコトは考えなくていい…原則的にはそう教わっていると思う。

無論、この原則はなんら間違っていない。ただ、実際にモノを作る時には物理的な問題という奴が発生する。ソコを忘れていると、「動くモンさえ動かなくなる」んだよね。いくら回路図と実際の配線を見比べて間違いがなくても、動かないってコトがあるのよ。学生諸氏は特にこの罠に陥りやすい気がする。何十回と見比べて見つからなくて、やがて疲れ果てて放棄するんだな(^_^;)。

まず最初に考えなくてはならないのは、そのゼロとかイチというのは物理現象的にどういう状態で表されているのか?というコト。今やと多くの場合、ゼロは0V、イチは5Vとか3.3Vになってると思う。つまり、アナログ値である「電圧値の変化」でもってそれらを「そう解釈している」だけなんだよね。決して回路の配線にゼロとかイチってのが流れてるワケではない。そんなものは物理量ではないからね。

じゃあ、例えばイチが5Vの回路に1Vが掛かったらどうなるだろう?それがゼロと解釈されるかイチと解釈されるかは、その回路の仕様で決まる。多くの場合、ゼロもイチもある程度のマージンがあって、ある電圧以下がゼロ、ある電圧以上がイチと解釈するようになっている。しかし、多くの場合その電圧は同じではない。例えば0.5V以下ならゼロ、3V以上ならイチと解釈し、0.5〜3Vの間は「不定」だったりする。

こんな環境に1Vなんて電圧が掛かればどうなるか…多くの場合はフラフラと値が変化するか、もしくは「偶然」マージンがもう少しあってどちらかに収束するか…やな。

「とはいえ、デジタル回路なんだからそんな中途半端な値は誰も出さないじゃないか」と思った方、少し考えて欲しい。たぶん中学までに習っていると思うが、世の中にはオームの法則ってのがある。抵抗値がゼロオームという素材は、ある特殊なモノを除いては存在しない。少なくとも家の中に転がってるようなものにはナイのよな。

そして、デジタル回路とはいえ電圧が掛かる以上、電流も流れる。大抵のデジタル回路においては、イチの方はマージンがデカいけど、ゼロの方はマージンがあまりないコトが多い。ちょっとした配線の引き回しの関係で、「向こうとコッチのGNDの間に1Vぐらいの電位差が出る」コトなんて、実は案外よく発生する…特にパワーを使う環境において顕著にね。

そんな状況で一方が出したゼロのつもりの0Vは、相手先では1Vになっているかもしれないワケ。これでは正常に動くハズもないわな。

しかもコレ、定常的に電位差が発生しているとは限らない。たとえばモータを駆動した瞬間だけ発生したりする。従って、いくらテスタで確認しても解らないし、モータを駆動してみないと解らない。こういうモンにテスタを持ってきても、なんら役には立たないのよ。

ではどうするか?名前ぐらいは聞いたことがあると思うが、オシロスコープという装置を使う。ソレ自体の使い方はココでは書かないが、電圧の波形を直接画面で確認できるので、瞬間的な問題も一発で見える。そういう確認なしにデジタル回路を弄っているのは、目隠しして手探りで作業するようなものだ。完成までの道のりはかなり遠く険しくなりますわ。

あくまで「デジタル回路」というのは、アナログ値である電圧を用い、その上下をゼロやイチと「解釈して」動いているという点を忘れてはいけないんだな。

●アナログはデジタル?

この段落は回路そのものの話ではないけれど、頭の体操的に読んでもらえればと思う。

一般に、針式の時計はアナログ時計と言われがちだけど、実はその大半はデジタルだと言ったらビックリされるだろうか。なぜなら、モータで回るものについては大抵そのモータの動きがステップ的になっているし、機械式なら大抵は内部にテンプという部品を持ちこれが一定時間ごとにギアを少しだけ進めるような仕掛けになっているから。

解りやすい例で言うなら、少なくとも秒針がチクタクと1秒刻みとかで動いていくものは、その中間の時間を表せないという意味においてデジタルなんだよね。

そもそもデジタルってのは、本質的には「離散化」したものというコトになっている。対するアナログは「連続」やな。連続しているモンを一定の間隔でブツ切りにしたものをデジタルと称しているってワケ。従って、本来連続しているハズの「時間」を1秒刻みに「ブツ切りで表示」している以上、これはデジタルという他ないのよ。

じゃあ、アナログの時計はドコにある?って疑問が湧くと思う。現実的には、日時計とか水時計の類はアナログと言って構わないだろうね。どちらも連続的に動くであろうから。

さて、ここで疑問が一つ発生する。砂時計はデジタルかアナログか…だ。砂は流れるように連続的に落ちてゆく。しかしその粒はハッキリ見えるので、最後の粒が落ちた時がリミットだ。これはデジタルかアナログか?

実はどちらとも解釈するコトができるんだな。そして、もっと言うなら、日時計も水時計も、分子レベルまで考えればデジタルかもしれない。「連続している」と思っているアナログ量も、実は究極的には離散値…つまりデジタル量かもしれないというのは、モノの見方の裏表を考える上で、ちょっとアタマの片隅に置いておいて悪くないコトだと思う。

昨今の高解像度LCDディスプレイが、写真よりも高い解像度に至った結果、大抵の人間の目にはその違いがわからなくなった。これも似たようなお話かもしれない。

●デジタル回路にせよアナログ回路にせよ

デジタルにせよアナログにせよ、回路を考えなければならなくなった時に純粋に数値だけを考えるのではなく、物理現象としての電子の移動にまで考えが至ると、実は割と簡単に解けるコトが多いんぢゃないかな。同様に、実装時にどう配慮せねばならないのか…もね。

回路は基本的に電子が流れていくコトで動作するワケで、その流れがどうなっていくのかを決めるのが回路構成や実装方法、およびその定数になる。自分が望む形に流れてくれるかどうかを考える時に、単に数値で考えるよりは、その粒がどう流れていくのかをイメージした方がうまくいくコトが多いとヲイラは思っている。

よくあるベタGNDも、回路によっては敷き詰めない方が良いケースだってある。電子の流れをどう考え設定するのかによって、実装方法までが変わってくるんだよね。ある程度の定石はあれど、基本的に毎回個々に考えるしかないんだな。

常に勉強するしかない…とも言う(笑)。