2021-04-12 23:33 — asano
カテゴリー:
以前お見せしたSH7045ボードを動かしてみたくなってこんなボードを作ってみました。
あのボードは電源さえつなげば動かせるはずなのですが、今さらRS-232よりUSBシリアルのほうが便利、EMILY Boardに接続してみたい、ちょっとした実験などするのにユニバーサルエリアが欲しい、といった理由です。
電源はEMILY Boardから供給しますが、スタンドアローンで動かす場合は右上のコネクタからも+5Vを供給できます。
シリアルポートは写真では見にくいですが左下のところに6ピンのコネクタ(TTL-232R-5V用)を設けてあります。
メモリはオンボードでCS0空間に16ビット幅の27C4096が、CS1空間に32ビット幅のSRAMが載っているので、EMILY BoardのRAMはCS2空間に配置します。本当はCS0空間に配置すればUV-EPROMを焼き直さずにすむのですが残念ながらCS0がコネクタに接続されていません。いずれジャンパ線を引っ張って動かしてみるつもりで16ビット幅で配線してあります。
左上のソケットは8ピンが24C64用(EMILY Boardの設定用)、20ピンはグルーロジックとしてGAL16V8Bを搭載予定です。
SH7045はフラッシュROM内蔵ですが、書き換え回数を超過しても替えの入手のめどはないので外部ROMを使うことにします。それに合わせてJP1の設定は内蔵ROM無効・CS0空間は16ビット幅にしています。
シリアルポートは下の基板で使うのでJP2を全オープンにしてレベルコンバータを切り離しておきます。
これは現在の姿、当初は電源とシリアルさえつなげばソフトウェアのテストは開始できるとEMILY Board用のバス配線を省略したままテストを始めました。
それでシリアルへの文字出力・エコーバックのテストプログラムを試したのですが当初まったく動作しませんでした。左下のLEDはシリアルの初期化ルーチンへ行ったか・戻ってきたかなどの確認用に付けたものです。
続いてシリアルクロックSCK0を見たのですが、出力されているはずのクロックが出ていません。TXD0/RXD0はPACRL2
で設定するだけでよいのに、SCK0はPAIORL
で方向を決めてやらないといけないのですね。
この辺りでシリアル動かすのは以外に時間がかかるかもしれないということでEMILY Board用の配線とソフトウェアのチェックを並行して行なうようになりました。
PAIORL
の変更でクロックは出るようになりました。9.6kHzのはずが2.4kHzになっていたのはBRR
の計算間違いです。
シリアルはまだ入出力ともまったく動きません。
TXD0・RXD0の波形を確認してもどちらも"H"のままです。TXD0はともかく、PC→SH7045のRXD0が変化しないのは変です。
もしやと思ってTTL-232R-5Vを外してみたところTXD0の波形が確認できました。
お恥ずかしいことにTXD0・RXD0が逆になっていたのでした。
これでUniversal Monitorの移植ができるようになりました。そちらについては次回書こうと思っています。
EMILY Boardの接続についてはまだ動かせていません。というよりGAL16V8を挿すだけで動作がおかしくなってしまいます。GALの出力はEMILY Board(まだ接続していません)側のコネクタにしか接続していないはずなんですが...
コメントを追加