H8/532ボード(ハードウェア編)
カテゴリー:
PLLが途中ですが、並行して作っていたマイコンボードが動き始めましたのでそちらを取り上げようと思います。
H8シリーズの最初のH8/532のボード、もちろんEMILY Boardで動かします。
幸いノンマルチプレクスバスなので通常のユニバーサル基板を使用します。配線も一対一接続なので厄介なところはありません。
一応未使用ポートをピンヘッダに出して、SCIもTTL-232R-5Vを接続できるようにしてあります。
PLLが途中ですが、並行して作っていたマイコンボードが動き始めましたのでそちらを取り上げようと思います。
H8シリーズの最初のH8/532のボード、もちろんEMILY Boardで動かします。
幸いノンマルチプレクスバスなので通常のユニバーサル基板を使用します。配線も一対一接続なので厄介なところはありません。
一応未使用ポートをピンヘッダに出して、SCIもTTL-232R-5Vを接続できるようにしてあります。
uPD78CG14ボードの基板と一緒に注文していたのがこのEMILY Board +16の基板です。
現時点でのEMILY Boardのフル拡張状態です。
これで8ビット・16ビット・32ビット幅のバスが使えるようになります。メモリ構成的には4k×8bit, 4k×16bit, 4k×32bitですが、プロセッサボードに簡単なアドレスデコーダを積むことで16k×8bitや8k×16bitのような使い方も可能です。
EMILY Boardの基板化では数点間違いがあったのでその修正と、16ビットバス拡張用のEMILY Board +8の追加のために発注していたプリント基板が出来てきました。
早速1枚ずつ組み立ててみました。
プロセッサボード無しでコンソールから両方のメモリが読み書きできるか確認したところ問題なしです。
続いてプロセッサボードを接続してみます。
ちょうど手近にあったのがCDP1802ボードだったのでそれを使いました。いつものようにUniversal Monitorをロードして実行してみますが動きません。
EMILY Boardの基板化の最後で書いたアドレスラッチ付きユニバーサル基板でNSC800を動かしてみました。
EMILY Boardでプロセッサのお試しはかなり楽になりましたが、アドレスラッチが配線済みになったことでマルチプレクスバスでも簡単に試せるようになりました。
ということで最初のお試しには判別ルーチンを書いてみたかったNational SemiconductorのNSC800を選んでみました。
まずは必要最小限で動かしてみて、その後でシリアルのNSC858を追加してみようと思っています。
ROMエミュレータに続いてEMILY Boardも基板化してみました。
既存のボードからIC類を移植して組み上げたところです。
これをプリント基板化した理由はROMエミュレータとは少し異なります。
EMILY Boardは新たなプロセッサをちょっと動かしてみるには便利なのですが、それ以上のことをしようとするとメモリ容量がネックになります。メモリ容量を拡大した改良版を計画しているのですが...
その前に現状の資料を整理しておこうと回路図を清書することにして、その確認のために実際に作ってみました。送料を除くと約500円で作れるのでこんなことも気軽にできてしまいます。
2650ボードが動き始めたのでソフトウェアを書いていきます。
前回ループが動作したのでメモリからの読み出しは動いており、次は書き込みができることを確認しなくてはなりません。
テストコードを書いても良いのですが、EMILY BoardのUART機能を使うための初期化ルーチンを動かしてみることにします。これはメモリに数バイトの定数を書き込むだけなのでこのテストにはうってつけです。
正しく書けたかどうかはEMILY Boardの機能でメモリをダンプしてみれば一目瞭然です。
特に問題なかったのでいつものように1文字出力・メッセージ出力・行編集と進めていきます。
ここまで動くようになる頃にはだいぶ慣れてきていますので、あとは黙々と実装していくだけです。
例によって書いていて気になったことをあげてみます。
今度はSignetics 2650Aを動かしてみました。
例によってEMILY Boardで動かすことにしました。
CPUの他にシリアル通信用の2651 Programmable Communication Interface(PCI)も搭載します。
まずは動作に最低限必要なデバイスのみを載せて試してみることにします。
先日入手できたuPD7807ですが、uPD78C10ボードを若干変更することで動かすことができました。
μPD78C10をμPD7807に載せかえるにあたって問題となりそうなのは以下のピンです。