パスワードを忘れた? アカウント作成
13863546 journal
日記

kitune-sanの日記: 自作PCメモ その3 8

日記 by kitune-san

せっかく自作PCを組むので、配線して終わりではつまらないので回路図を見ながら動作の理解を深めたいと思う。
あと、代替の部品や回路の検討も行っていきたい。
ざっくりデータシートと回路図を見ながらメモしているので、文章はめちゃくちゃだし間違いもあると思う。
間違いはそのつど修正する。

参考はここの189ページ目(64/256K System Board)から

○ Sheet 1 of 10 

8088
8088がメインのプロセッサで、この内、READY,CLK,RESETは、8284Aに接続されている。

AD0-AD7,A8-A19は、アドレスバスでLS373に接続されている。なおアドレスバスの内、AD0-AD7はデータバスを兼ねており、これはLS245に接続されている。

S0-S2は、8088からのバス制御の命令が出力され、これが8288へ接続されている。

INTRは、外部からの割り込みを受け付ける入力で、AD0-AD7とともに8259Aへ接続されている。

NMIは、外部からの割り込みを受け付ける入力で、割り込みコントローラを介さない割り込みのようだが詳しいことは他の回路を確認したときに調べることにする。
NMIのnon-maskable-interruptとは、割り込みを無効(マスク)できないという意味である。

・クロックジェネレータ(8284A)
8284Aには発振回路があり、このICでX1-X2に接続された発振子の分周をおこない、5MHz(10MHz)のクロック信号を生成し8088のCLKへとクロックを供給している。(CLK88)
OSC端子には分周される前のクロックが出力されており、外部のバスへ引き出されている。
PCLK端子には、CLKのクロックをさらに分周し、タイマーやスピーカーの回路に使用されているようである。
/RES端子には、PWR GOODと呼ばれる信号が外部に接続(おそらく電源ONスイッチ)されており、この入力がLOWとなり、かつクロック供給が行われたときに8088へ接続されたリセットが解除されるようになっている。(RESET)
RDY1,AEN端子は、バスに接続された回路の準備が完了したことを確認する入力で、準備が完了すると8088へ伝え、8088が動作を開始するよう(READY)だが、詳しいことは他の回路を確認したときに調べることにする。

代替の部品は82C84A
部品が手に入らない場合は自分でロジックICとフリップフロップを組み合わせてもできそう

・アドレスバス(LS373)、データバス(LS245)
参照先は適当にググって一番上に出てきたものなので、若干ピンの名前が違うけれども気にしない。
アドレスバスは、AD0-AD7,A8-A19の合計20ビットあるが、この内AD0-AD7はデータバスを兼ねている。
基本的にはアドレスバスの出力を受けたメモリなどがデータバスにデータを返すため、このままだとデータとアドレスがぶつかってしまう。ではどうするか。
ここで出てきたのがLS373。これのラッチ出力機能を使用したのである。
まずはじめにアドレスをAD0-AD7,A8-A19に出力し、LS373の各D端子に入力をする。その後、G端子にラッチ入力(H)をする。
すると、LS373の各Q端子には、AD0-AD7,A8-A19の入力がそのまま出てくる。その後ラッチ入力をLに落とせばアドレス端子の状態がどうなろうとQ出力状態が保持される。
この間に、AD0-AD7をLS245を使用して入力なり出力なり処理をしようとアドレスバスの状態が変化することはない。
これらの処理は、8088から司令を受けた8288が行っている。

代替部品は、いくらでもありそう。
ただ、CMOSを使う場合には注意が必要。バスに接続する回路にTTLを使用してしまうと、TTL->CMOSの場合レベルを確実に検出できないかもしれない。
CMOS->TTLでは問題ないように見えるが、CMOS側のドライブ電流を確認しなければならない。結構面倒である。(これはTTLも同じか)
外部バスは、おそらく入力/出力ともにTTLだと思うので、完全にCMOS構成に置き換えるのは難しい?

80C88では、アドレスバスに82C82と、データバスに82C86が使用されている。
DC Electrical Specificationsを見た感じでは、上記の問題を考慮されているようである。

・バスコントローラ(8288)
バスコントローラは、アドレスバスとデータバスの制御を行っている。
8088に接続された/S0-/S2信号によって、各コマンド信号(/MRDC,/MWTC,/AMWC,/IORC,/IOWC,/AIOWC,/INTA)の制御を行う。
それぞれのコマンド信号については、それを使用する回路を調べる際に確認することにする。
ALE信号は、アドレスバスの制御IC LS373の/G端子に接続されており、アドレスのラッチ制御を行っている。
DT/(/R)信号は、データバスの制御IC LS245のDIR端子に接続されており、データの入出力制御を行っている。
DEN信号は、データバスの制御IC LS245の/G端子に接続されており、データのラッチ制御を行っている。
(出力(W)の場合は、データバス側へデータを出力する処理、入力(R)の場合は、データバスの状態を、AD0-AD7へ出力する処理)
この信号は、割り込みコントローラの(/SP)/(/EN)の信号とNANDを作っており、割り込みコントローラによって強制的にバスへの出力状態になるようになっている。(実際にはラッチをしないとバスへは出力しない)
/AENとCENは、それぞれアドレスバスの有効/無効、コマンドの有効/無効を制御する入力で、シート1外にあるので詳しいことは他の回路を確認したときに調べることにする。

代替の部品は82C88, uPD8288D?

・割り込みコントローラ(8259A)
割り込みコントローラは割り込み要求が入ったことを検出し、それを8088に伝える動作を行っている。
IR0-IR7は割り込み要求の入力である。IR0にはタイマー割り込み、IR1にはキーボードの割り込みが割り当てられている。その他は外部に引き出されている。
INT端子は、8088に割り込み要求が入ったことを伝える信号である。
/INTA端子は、割り込み要求が入ったことを検出した8088が、割り込み処理を受け付ける準備ができたことを検出するための入力である。(8288の/INTA端子に接続されている)
(/SP)/(/EN)端子は、8288のDEN端子とのNANDを介してデータバスの入出力制御を行う出力で、LS245のA側(8088側)への出力によって後述の割り込みベクタとのデータがぶつかることを阻止するための出力である。
D0-D7は、8088のデータバスに接続されており、割り込み発生時に割り込みベクタを8088へ通知するための出力である。(あとレジスタの設定にも使用する)
/CS,/RD,/WRは、8259Aへの割り込み設定(割り込みマスクなど)の書き込み・読み出しを行う際に使用する入力端子。具体的なレジスタの設定などは割愛。(データシートICWx,OCWxの項)
これらの制御方法は、シート1外にあるので詳しいことは他の回路を確認したときに調べることにする。

代替の部品は82C59A, uPD8259A
ここまでで、入手性が一番悪そう。

続く!   …のか?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by taka2 (14791) on 2019年03月18日 22時44分 (#3583198) ホームページ 日記

    > CMOSを使う場合には注意が必要

    CMOS汎用ロジックの定番4000シリーズだと、動作速度が74無印よりも遅いのも注意が必要かと。
    で、74HCTならTTLとの相互接続も問題ないし、速度的にもLSとほぼ同等ですね。
    基本的にTTLのと同名だから代替品も探しやすいし。

  • by alp (1425) on 2019年03月19日 21時39分 (#3583865) ホームページ 日記
    i8088, i8284 は若松とオレンジペコにある。互換の uPD8288, uPD8259A, uPD8253 は若松にある。TTL類もそろいそう。i8255A はどうにでもなるはず。i8237-5(Am9517-5) がどこにも見当たらないが、CMOS 版の uPD71037 が若松にあるので、これを使うことになるか。SN75477 が見当たらない。これは本気で無いかも。
    • by kitune-san (48712) on 2019年03月19日 22時15分 (#3583886) 日記
      探していただき恐縮です。
      SN75477ってなにかと思ったら、スピーカーの出力と、ドライブの制御にあるリレー駆動に使っているトランジスタのことですね。
      ほかでも使っているかもしれません。
      すみませんまだそこまでしっかり見ていないのではっきりと言えないのですが、それなりに電流を駆動できるトランジスタ(かデジトラ)に差し替えできるのではないかと思います。
      親コメント
  • by Anonymous Coward on 2019年03月18日 3時27分 (#3582697)

    現行の電源規格もいくつか改訂入っているかと思いますが、動きますかね。
    あるいは昔の電源を探してくる?
    ACアダプタ対応電源基板なんてのもあるから、こちらも自作することになったりして。

    • by kitune-san (48712) on 2019年03月18日 21時39分 (#3583160) 日記
      電源についてはそんなに難しいこと考えてなくて、±5V,±12VのAC-DC電源を買ってきてつなぐぐらいしか考えてなかったです。
      PowerGoodSignalをなんとかしないといけないけど多分大丈夫でしょう。
      どちらかというとビデオカードとFDドライブをどうするか考え中・・・
      親コメント
      • by alp (1425) on 2019年03月19日 0時13分 (#3583245) ホームページ 日記
        VGAについては、全部自力で組むなら若松にある PVGA1A が使えなくはないです。でもWEBで探せる資料だと、見てもわからないところがある。Monotor Detect 回りとか。RAMDAC も今さらで入手できるんだろうか?

        正直どっかでカードを探してきた方がいいような気も……

        FD はちょっと探せば普通に新品で手に入ります。あとは Microchip の FDC37C78 あたりを Digikey とかで入手すれば FDC 回りはたいした手間ではないはず。

        親コメント
typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...