KZ80 CPUB REV3 - kuninet/Z80_CPUB GitHub Wiki
Z80 CPUボード (KZ80-CPUB) REV3
概要
-
SBC8080 SUBルーズキットなどとセットで動作するZ80 CPUボードです。SBC8080バスに接続して動作します。
- SBC8080 CPUルーズキットと互換を目指しています。^^)>
-
☆CPUボード単体ではRAM/ROM/シリアル等のチップがないため、必ずSBC8080 SUBルーズキット、KZ80-IOB/1MSRAM等と合わせて動作確認ください。
REV2からの改良点
- Intel 8259割り込みコントローラー用のINTA(割り込みアクノリッジ)信号の出力対応を実施しました。
- Z80制御信号(\M1、\RD、\WR、\IORQ、\MEMRQ...)用の専用バスを装備しました。KZ80-ZilogIOで使用します。
基板製造データ等
- プリント基板製造のためのKiCADデータ、ガーバーデータなどは以下にあります。
回路について
- 回路図はこちらにあります。
- Z80 CPUのアドレスバス、データバス
- Z80 CPUのアドレスバス、データバスはSBC8080バスへ直結しています。
- データバスについては10kΩでプルアップしています。これはZ80 CPUの割込みモード0(ゼロ)での動作の際 FFhをデータバスへINPUTする(RST 38hを認識させる)ことを意図しています。
- メモリー読み・書き、I/O読み書き制御信号
- メモリー読み・書き/I/O読み書き制御信号はZ80 CPUの#MEMREQ/#IOREQと#RD/#WRをORゲート(74HC32)へ入れて生成しています。
- 水晶振動子発振回路
- 水晶振動子はインバータ(74HC04 or 74HCU04)で発振させています。
- リセット回路
- リセット回路は抵抗器+電解コンデンサで構成した回路からシュミットトリガインバータ(74HC14)を通してZ80 CPUへ接続しています。
- また、SBC8080バスへi8080系チップ用の正論理のリセット信号も出力しています。
- REV2から外部からのリセット入力に対応しています。
- 割込み入力/出力
- SBC8080バスの割込み入力は正論理のため、Z80 CPUの負論理リセット端子にインバータを通して接続しています。
- 割り込みアクノリッジ信号(#INTA)は、Intel 8259割り込みコントローラーには対応する回路となっています。
- DMA関係
- SBC8080バスのHOLD/HLDAとZ80 CPUをインバータ経由で接続しています。
- またDMA対応としてHLDA信号がHレベルとなった際に#MEMR/W、#IOR/W信号をハイインピーダンスとするためSBC8080バスとの間に74HC125を配置しています。
組み付けする部品等について
部品番号 | 仕様 | 数量 | 備考 |
---|---|---|---|
U1 | Z84C0020PEC | 1 | Z80 CMOSタイプ |
U2 | 74HC14 | 1 | 74LS14 |
U3 | 74HC04 | 1 | 74HCT04 (CMOS必須) |
U4、U5 | 74HC32 | 2 | 74LS32 |
U6 | 74HC125 | 1 | 74LS125 |
U7 | 74HC74 | 1 | 74LS74 |
U8 | 74HC08 | 1 | 74LS08 |
C1、C3、C4、C5、C9、C10、C11、C12 | 0.1μF | 8 | 積層セラミックコンデンサ |
C2 | 47μF | 1 | 電解コンデンサ |
C6、C7 | 22p | 2 | 積層セラミックコンデンサ |
C8 | 100μF | 1 | 電解コンデンサ |
D1 | 1N4148 | 1 | 小電力ダイオード |
D2 | OSRRH23133A | 1 | LED |
J1 | HIF3FC-40PA-2.54DS | 1 | 40 ピン L 型ボックスヘッダ |
J2 | MJ-179PH | 1 | 2.1mm φ 平脚DCジャック |
R1、R2、R6 | 4.7kΩ | 3 | カーボン抵抗 |
R3 | 1kΩ | 1 | カーボン抵抗 |
R4 | 1MΩ | 1 | カーボン抵抗 |
R5 | 470Ω〜1kΩ | 1 | カーボン抵抗(LED用) |
RN1 | L091S103LF | 1 | 10kΩ 8素子 9pin 集合抵抗 |
RN2 | 1 | 4.7kΩ 8素子 9pin 集合抵抗 | |
S1 | SS-12D00-G5 | 1 | スライドスイッチ |
SW1 | DTS-6-V | 1 | 小型タクトスイッチ |
Y1 | HC49/US | 1 | 水晶振動子 7.3728MHz |
ICソケット40pin | 1 | ||
ICソケット14pin | 7 |
- 本ボードで使用するZ80 CPUは Z84C0020PEC(CMOSタイプ)の稼働を確認しています。
- クロックに使用する水晶振動子は回路図上 7.3728MHzとしていますが、10MHz程度までは動作しました。(18MHzだとダメでした...)
- ロジックICは水晶振動子の発振に使用するインバータは必ずCMOSタイプを使用してください。数MHzなので74HC04で発振します。アンバッファードタイプのインバータ(74HCU04)の方が良いかもしれません。
- 水晶発振用インバータ以外は74LSタイプでも動作すると思います。
- 電解コンデンサは極性がありますので注意してください。
- タンタルコンデンサの使用も可能だと思いますが、その場合逆接続は大変危険(爆発の危険アリ)ですので十分確認してください。
ソフトウェアについて
- SBC8080データパックの機械語モニター、Tiny BASIC、Grant's BASIC等が動作します。
- SBC8080 SUBルーズキット用にROMを焼く際は、EEPROM 28C256タイプはピンの互換性が無いため、そのままではつかえません。(下駄を自作すればOKですが...)
ライセンスについて
- README.mdにも書きましたが、この基板に関連するデータ等について MIT License のもとで公開します。LICENSE.txtを参照してください。
謝辞
- 本基板を作成するにあたり、いろいろな助言、アイデアをいただきました。ありがとうございます。
- @vintagechips さま (SBCシリーズ原作)
- @tendai22plus さま
- @tomi9tw さま
- @DAI_2040 さま
- @mobi1255 さま
- Twitterで助言頂いた皆々様