現在地

8031/8032ボード(ハードウェア編)


テーマ:

カテゴリー:

またEMILY Board使って新たなプロセッサが動くようになりました。

8031/8032ボード
今回作ったのはIntelのMCS-51ファミリの8031/8032用のボードです。

このファミリはEA/Vppで内蔵ROMを切り離せるので8058とか8751なども使えると思いますが、8031/8032の入手性は悪くないのでわざわざROM内蔵品を使うことも無いでしょう。

基板 表側
いつものように基板上の部品を見ていきましょう。

左上の24LC64 EEPROMはEMILY Boardの設定用のもの、特に無くても動作します。CPUボードをいろいろ付け替える際に手間が省けるので載せています。

SN74LS573Nはアドレスラッチ、マルチプレクスバスなので必要です。今回上のコネクタと8031/8032のピン配置がうまくマッチしたので配線がとても楽でした。

GAL16V8Bはグルーロジックとして使ってみました。自分の回路でまともに(GALのテストとかではなく)使うのは初めてですね。本来は別のボードに使おうとして「GAL動かしてみた」のですが、完成はこの8031/8032ボードが先になってしまいました。中身については後ほど。

発信器はいつものSG-8002DC、周波数は11.0592MHzです。Timer 2の使える80C32ならもっと自由に選べるのですが、ボーレートジェネレータにTimer 1しか使えない8031に差し替えることも考慮してこの周波数にしています。内蔵UARTを使わないならこの周波数にこだわる必要はありません。

P80C32はちょうど手近にあったものを使いました。

6ピンのコネクタは内蔵UART用のものです。

基板 裏側
裏側です。

左上の20ピンコネクタのところ、上下を接続して16ビット拡張ボードを使って8kB化できるようにしています。

ここから青線(データバス)を辿った先がアドレスラッチですが、コネクタへも8031/8032へも隣接するピン同士の接続になっているのがわかると思います。被覆剥いたりしなくてすむのとメッキ線はハンダ付けのとき押さえていなくて良いので作業しやすいのです。

最後にGALの中身についてです。

現状では次のようになっています。

Name		dec;
Partno		GAL16V8B;
Date		2020/07/19;
Revision	0;
Designer	asano;
Company		Electrelic;
Assembly	E_8031;
Location	dec;
Device		G16V8;

/* Input */

Pin 1 = !PSEN;
Pin 2 = !RD;
Pin 3 = !WR;

Pin 4 = A12;

Pin 7 = A15;

Pin 8 = MODE;

Pin 11 = !RESIN;

/* Output */

Pin 12 = !CS0;
Pin 13 = !CS1;

Pin 17 = RESET;
Pin 18 = !WROUT;
Pin 19 = !RDOUT;

/*  */

RESET = RESIN;

WROUT = WR;
RDOUT = RD # PSEN;

CS0 = !A12;
CS1 = A12;

どう見てもGAL使うまでも無いですね。インバータが2つと負論理ORなので74LS00で済んでしまいます。

なのになぜGALかというと、GAL使ってみたかったというのもありますが、メモリ構成を変えてみたいからというのがメインです。

現在はコード空間と拡張RAM空間を区別せずに8kBとしていますが、それぞれ4kBずつ割り当て、しかもそれだけだとコード空間の書き換えが出来ないので8000H以降のアドレスではコード空間用の4kBを拡張RAM空間に見せて書き込みできるように、といったことを計画しているからです。そのために使っていないA15が配線してあったりします。

参考文献・関連図書: 
87C52/80C52/80C32/87C54/80C54/87C58/80C58データシート, Intel.

コメントを追加

Plain text

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