2016-07-30 19:26 — asano
カテゴリー:
MC68kボードは少しずつ製作したわけで、今回はその第1期工事(下写真の明るい部分)です。
私の個人的な製作としては珍しくこの部分は回路図を(手書きメモ程度ですが)書いていました。それを発見してからとも思っていたのですがなかなか出てこないので記憶を手繰って書くことにしました。発見したら訂正も含めて紹介しますね。
この時点のスペックは以下になります。
CPU | MC68000 8MHz | デバイスは10MHzのEF68000P10 |
---|---|---|
ROM | 32kB | モニタ・Tiny BASIC |
RAM | 64kB | SRAM |
SIO | 1ch |
MPUもこのときはトムソン製のEF68000P10を載せていました。確か秋月電子で1,000円で買った記憶があります。
やはり64ピンDIPというのは存在感のあるパッケージです。
隣はSN74LS393N、モトローラのロゴ入りです。メインクロックの分周とシリアルのクロック分周に使われているようです。
上のスイッチはリセットですね。実はこのリセット回路は設計に大チョンボがありまして、リセットしても何回かに1回しか正常に起動しないのです。その部分の回路図を記憶で書き起こしたのがこれです。
これの何が問題かわかりますか?
MC68000は外部からリセットをかける際にRESET(上図ではnRESET)とHALT(上図ではnHALT)を同時にLにする必要があります。ところがこの回路だと積分回路出力を別のバッファで受けているので、RESETとHALTのタイミングがずれてしまいます。
今見たら74S04と74ALS00のゲートが1つずつ余っているようなので部品追加なしに修正しようと思えばできそうです。
さて次の段に行きましょう。HN4827128G-25が2つ、それぞれ128kbitなので合計32kBのROMになります。68000は16bitバスなので8bit幅のROMが2つ必要になり、書き込むときもアドレスの偶数・奇数で分けて書き込む必要があります。ビッグエンディアンなので偶数アドレスが上位になりD8~D15に、奇数アドレスが下位のD0~D7に接続されます。間違ってROMを違うほうに挿すと当然動作しないのでROMには鉛筆で、基板には油性ペンで「H」「L」と書かれています。
隣は16MHzの発振器ですね。ここで8MHzではなく16MHzを分周していたことが第2期のMC68881の増設に利いてくるのですが、このときは単に手に入ったものを使ったのか、一度分周した方がデューティが50%に近いと考えたのか、今となってはわかりません。
次の段にはHM62256LP-12が2つ、64kBのRAMを構成しています。まだ256kbitは高かったと思うのですが、将来のCP/M-68K(最低限128kB必要)に備えたのだと思います。あとでもう2つ積めば満たせますから。
隣はHD7407P、68000は先述のRESET, HALT以外にもDTACKにもオープンコレクタが使用されるのでそれらを一手に引き受けています。これは30V耐圧で遅延も大きく、こんなところに使うものではないのですが、手持ちが大量(100個以上)にあったので使いました。
次の段は順にDM74LS138N, SN74LS32N, MB74LS27, SN7474N, HD74ALS00Pです。この辺りは回路図を発見しないとなんとも。
次の段、M74LS161APはシリアルクロックの13分周でしょうか。
M74LS175PはDTACKが帰ってこないときにBERRを発生してバスエラーにするタイマのような気がします。MC68kではアクセスを受けたメモリやI/OはDTACKで応答する必要があります。遅いデバイスはこのDTACKを遅れて返すことによってMPUを待たせZ80のWAITのような効果を持たせられるのですが、デバイスの存在しないアドレスをアクセスすると誰もDTACKを返さないので止まってしまいます。そこである程度待ってもDTACKが帰ってこないときはBERRをアサートしてアクセスをエラー終了させる必要があるのです。まぁ面倒なときはどこにアクセスしてもDTACKを返してしまうという安直な方法もありますが。
M74LS148Pは割り込みのエンコーダですね。
SN74S04Nは、インバータは汎用過ぎて用途は、回路図の発見待ちです。
スイッチはシリアルポートのボーレートの切り替えようです。
最後の段、MC68881RC16Aは第2期工事なので次回にします。
HD68A50P(ACIA)はシリアルですね。MC68000のE信号はクロックの1/10なので1MHz品の6850でも構わないはずですが、1.5MHzの68A50を使っています。これも入手の都合でしょうか。
MAXIMのMAX232CPEはRS-232レベルコンバータですね。今では互換品も含めて当たり前のように使いますが、私が使ったのは確かこのボードが初めてだったはずです。
以上、これまでに製作したZ80ボードと比べ配線量も多く、クロック周波数も上がっていたのですが、前述のリセット問題を除いてトラブルの記憶はあまりありません。またここまでの範囲でモニタ・Tiny BASICが動作するようになりましたので、これ以降は少しずつ動作確認しながら進めていけるようになったわけです。
そして、これが私が手にした(学校で使えるとかは除いて)最初の16bitコンピュータになりました。PC-9801互換機を購入するのはこの何年かあとのことです。
コメントを追加