レトロ電子工作

電子工作はじめました!
基本的な所からゆっくりゆっくり進めていきます

TTLレベル と 流せる電流

2019年08月23日 06時30分37秒 | 技術資料
8085A-CPU の 信号を、
 特にアドレス・ライン(16本)すべてを LEDでモニタリングしたい。 今、どのアドレスを実行しているのか 目で見て分かるからだ。
 そのために ↓ こんな パターンの基板を手に入れた。名称:「I/O BOARD」
(基板のみで ¥720円… LEDや抵抗、スイッチは自分で用意)
 16個のLEDで 16ビットの信号のHi/Lowを監視(基板の左下側)できると共に、DIPスイッチで16ビットのHi/Low信号を出力できるようだ。

これを使って8085Aが出す アドレス信号を見ようと思うのだが
そもそも、
8085Aの出力端子は、電流を何mAまで流せるのだろうか?
(LEDを直接 駆動できるのだろうか??)

今回手に入れた 三菱のCPU: M5L8085AP のデータ ブック内をかなり探してみたがその数値が見つからない。 TTLで構成されたCPUだろうから「TTLレベル」に準拠しているであろうことは、想像に難くないが・・・

----------------------------------------------------------------------------------------------
TTLレベル とは:
 基礎知識のおさらい!
 1)入力の場合
  2V以上あれば Hi とみなし、 0.8V 以下なら Lowと見なす。
 2)出力の場合
  Hiの信号は 2.4V以上の電圧を出力し、Lowの場合は0.4V 以下を保つ事!


 LowとHiの入力、出力信号の条件の差が ノイズ・マージンとなり 誤動作を防いでいる。 入出力間のマージンは両方とも0.4V だが、Hiの入力信号は 5Vから見れば 3Vのマージンがあり、Low信号は 0.8V しか無い・・・とも言える。
 だから、リセットとか割り込みとかの信号は、通常 Hi にしておき、Lowになって 初めて意味のある信号とする 負論理 が使われてきた。 Hi側に吊り上げておけば 3V以上のノイズパルスが入らない限り Lowとはみなされないので、普段 Lowにしておくより安全だからだ! (通常 Lowだと 0.8V程度のノイズが入っただけで Hiと認定される可能性があるから)
----------------------------------------------------------------------------------------------

80系のCPUより 最近 流行っている H8系のCPUだと
 LEDを直接駆動できる (10mA以上を流せる)特殊なI/Oピンが用意されていたりする。 例えば、H8/3069のポート5番が まさにそれで、CPUから LEDを 直接  接続して光らせる事が出来る 。 その他のピンは 2mA までしか流せない ・・・ そのことがデータシートに明記されている。

通常は、IOL とか IOH と呼ばれる数値がそれにあたる。
I=電流、O=出力、L=Low・・・ つまり 「出力がLowの時に流せる電流」と
I=電流、O=出力、H= Hi ・・・ つまり 「出力が Hi の時に流せる電流」だ。

 <OKIセミコンダクタ>社の  80C85Aのデータシート↓をみていたら、
それらしき記述を発見した。(OKIの資料↑はたいへん詳しく書かれています)

左2つの CPU は、
 Low出力の時 +2mA で、 出力が Hi の時 -400μA となっている。
 厳密には ① Lowの時に 2mA 流しても 0.45V 以下になることを保証する。
②  Hi の時に -400μA 流しても 2.4V 以上になることを保証する。という意味だが、”この数値で測定している” ということは、これが電流の規格だと考えてい良い。
 Hi出力=「電流 吐き出し」では、取り出せる電流があまりに小さくてLEDは光らせることが出来ないのが分かるし、
 
負論理=「電流 吸い込み」でLEDを接続しないと駄目なことが よく分かる。

ただ、この OKI の8085はC-MOSタイプであり、今ある 三菱の M5L8085APは C-MOSで出来てはいないので(N-MOS? 内部素子が違う)参考にならないかもしれない。 そこで、本家 <Intel>社の 8085Aのデータシート内を探してみた。

そしたら・・・ ↑  ありました。 IOL=2mA、 IOH=-400μA OKIのと同じ。
これで設計しましょう。

それにしても <OKIセミ>の MSM80C85AH というCPUは、他の8085とはすごく違いがあるのが分かった。 C-MOSタイプだから Hi出力でも -2.5mA流せるし、何よりもCPU全体の 消費電流が 20mAしかかからない。 (元祖の1/10の省エネ) これならCPUが熱くはならないだろう。

 これを踏まえて、モニタ用の LEDに流す(流せる)電流を考え、制限抵抗の値を決めます。 ・・・ 負論理なら半分の1mA程度は流しても良いでしょう。
 よって、えいっや!で 抵抗は 3.3KΩ にしました。  あまり使わない値の加? その辺に たくさん余ってたし・・・(笑)

ブレッド・ボードで 実際に使うLEDと3.3KΩをつないで、LEDの明るさを確認します。
① 消灯時:
② 点灯時: (計算上は 1.3mAほど流しているはず)

 なんとか 点灯しているのが分かりますので、これでOK とします。
(本来、このLEDに流すべき電流の1/10ですが 目視判別できるのでOK)

----------------------------------------------------------------------------------------------
2020年から 「プログラミング」の授業が始まります。

 その教材として micro:bit のような 小さな制御基板を使って、LEDを点滅させるプログラムなんかを教えるようですが・・・ こういった 本当にLEDを点灯させられる能力があるのか? 電流とは? 抵抗とは?? といった 基本的な所から教えてあげないと、本当の技術者は 育って来ないと思う。
 誰かが考えて、すべて用意されている 「動いて当たり前」のハードウェアを 動かして喜んでいるだけでは・・・ 何も実力は付かないのでは?

 、と 危惧する 老兵 です。