現在地

昔のクロック信号(電圧レベル編)


カテゴリー:

先日のZ8581NS32C201, 8080用の8224など、昔のプロセッサには専用のクロックICが用意されていることがよくありました。

普通のロジックICで扱えないほど周波数が高いわけでも無いのに何故専用ICが用意されていたのでしょう?

それは電圧レベル的にもタイミング的にも特殊な信号が要求されることが多かったからです。通常ロジックレベルの矩形波を供給すればよい、組み込み用なら発振回路も内蔵されていて水晶を繋げるだけで良いこともある、現在とは状況が違っていました。

電圧レベル

Intel 8080

まずはかなり厄介な部類のIntel 8080のDC特性をデータシートから拾ってみます。

Symbol Parameter Min Max Unit
VILCClock Input Low Voltage VSS - 1 VSS + 0.8 V
VIHCClock Input High Voltage 9.0 VDD + 1 V
VILInput Low Voltage VSS - 1 VSS + 0.8 V
VIHInput High Voltage 3.3 VCC + 1 V

※ VCC=+5V, VDD=+12V

VILC, VILについては普通です。

クロック以外の入力信号のVIHの3.3Vは当時一般的だったN TTLではドライブできませんが、8228 System Controller and Bus Driver for 8080A CPUを使えばTTLレベルに変換できました。現在の74HCシリーズなら直接ドライブ可能です。

さて本題のVIHCですが、なんと9Vをスイングしなくてはなりません。8224 Clock Generator and Driverはこのドライバを持っていますが、汎用品でならディスクリートで組むか7407のような高耐圧オープンコレクタバッファを低抵抗でプルアップでしょうか。8224, 8228は8080より遅れて登場していますので、それまでは苦労したのだと思います。

Zilog Z80

Zilog Z80 CPUは命令の拡張もさることながら、ハードウェア設計がやりやすくなったことも人気の秘密でしょう。

それでもクロック入力は特別な扱いになっていました。上と同様にDC特性をデータシートから拾ってみましょう。

Symbol Parameter Min Max Unit
VILCClock Input Low Voltage -0.3 0.45 V
VIHCClock Input High Voltage VCC - 0.6 VCC + 0.3 V
VILInput Low Voltage -0.3 0.8 V
VIHInput High Voltage 2.0 VCC V

※ VCC=+5V

VIL, VIHは普通のTTLレベルになっています。

VILC, VIHCは5Vスイングにはなっていますが、VIHCのVCC-0.6Vは普通のTTLでは無理です。よくZ80 CPUのCLKに330Ω程度のプルアップが付いていることがありましたが、あれはこのVIHCの対策です。

このプルアップ抵抗のみで本当に仕様を満たすのかは少し疑問が残ります。
まぁ実績はある回路なので実用上問題は無いのでしょう。市販のパソコンにも使われている例があります。
2018年7月10日 追記:
とはいえZilog公認の方法("Z80-CPU Technical Manual"参照)なので何らかの確認はされているはずです。

もちろん74HCなどのCMOSでドライブすれば問題ありません。

Intel 8085

8085ではついにクロック信号の特別扱いがなくなり、VILC, VIHCという項目はなくなっています。

Symbol Parameter Min Max Unit
VILInput Low Voltage -0.5 0.8 V
VIHInput High Voltage 2.2 VCC + 0.5 V

これなら普通のTTLで問題ありません。

Motorola MC6800

MotorolaのMC6800はZ80に近い特性になっています。時代的には8080に近いので比べてみると、電源が5V単一なこととこのクロックの点でかなり使いやすくなっているといえるでしょう。

データシートからDC特性の一部を抜粋してみます。

Characteristic Symbol Min Max Unit
Input High Voltage Logic VIH VSS + 2.0 VCC V
φ1,φ2 VIHC VCC - 0.6 VCC + 0.3 V
Input Low Voltage Logic VIL VSS - 0.3 VSS + 0.8 V
φ1,φ2 VILC VSS - 0.3 VSS + 0.4 V

VILC, VIHCはZ80 CPUとほぼ一緒です。

MOS Technology 6502

MCS6500ファミリにはクロックジェネレータ内蔵の650xと外部クロックの651xがあります。

Characteristic Symbol Min Max Unit
Input High Voltage Logic,φ0 VIH VSS + 2.4 VCC Vdc
φ12 VIHC VCC - 0.2 VCC + 0.25 Vdc
Input Low Voltage Logic,φ0 VIL VSS - 0.3 VSS + 0.4 Vdc
φ12 VILC VSS - 0.3 VSS + 0.2 Vdc

650xではφ12は内蔵クロックジェネレータの出力なので外部から入力するのはφ0だけで、これはTTLレベル(マージンがありませんが)です。
651xではφ12を外部から5V一杯の振幅で供給する必要があります。

次回はタイミングについて書く予定です。

参考文献・関連図書: 
8080A/8080A-1/8080A-2 8-bit N-Channel Microprocessor データシート, Intel.
8224 Clock Generator and Driver for 8080A CPU データシート, Intel.
8228 System Controller and Bus Driver for 8080A CPU データシート, Intel.
Z80-CPU, Z80A-CPU Product Specification, Zilog.
「PASOPIA全回路図」,『I/O』1982年11月号,pp.361-378,工学社.
8085A 8-bit Microprocessor データシート, Intel.
MC6800 データシート, Motorola.
MCS6500 Microprocessors Preliminary Data Sheet, MOS Technology.
"Z80-CPU Technical Manual", 1976, Zilog.

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。