INS8070ボード
CDP1802ボードの次は何にしよう、と考えていて選んだのがこれです。実は先日eBayを眺めていてついINS8070をポチってしまったので...
いつものようにEMILY Boardで動かします。
私は普段ボードを作るときは少なくともメインのチップを手に入れて(ヘタをすると何年も寝かせて)からなのですが、今回は珍しく到着前に作り始めてしまいました。
作っているうちに着くかなと思っていたのですが... 海外からなので時間がかかっているようです。
CDP1802ボードの次は何にしよう、と考えていて選んだのがこれです。実は先日eBayを眺めていてついINS8070をポチってしまったので...
いつものようにEMILY Boardで動かします。
私は普段ボードを作るときは少なくともメインのチップを手に入れて(ヘタをすると何年も寝かせて)からなのですが、今回は珍しく到着前に作り始めてしまいました。
作っているうちに着くかなと思っていたのですが... 海外からなので時間がかかっているようです。
このところCOSMAC関係が続いておりますが、今回をもって一旦終わる予定です。
ソフトウェアUARTも動いたことですし今更感もあるのですが、せっかく準備したUSARTも動かしてみました。
当初8251を考えていましたが、せっかく他がCMOSなのでそれに合わせるためと、クロックを5MHzにしてしまったので分周しなくても使えるという理由からμPD71051Cを使うことにしました。
前々回や前回書いたような厄介な点はありましたが、CDP1802ボードでUniversal Monitorを動かすのは思っていたより簡単でD(ump), G(o), S(et), L(oad)の各コマンドは動作するようになりました。
そうなると今度はSBC1802でも動かしてみたくなります。
ところがこれにはUART相当のハードウェアは無く、CPU内蔵のQ, EF3をシリアルポートとして使うようになっています。UARTの機能をソフトウェアで実現しなくてはなりません。
前回書いたようにCOSMACにはサブルーチン呼び出しの仕組みがありません。
それではどうするかというとSEP
命令を使います。
COSMACはメモリをポイントできるレジスタを16個 R(0)
~R(F)
と、4ビットのレジスタP
を持っています。R(0)
~R(F)
の内P
で選ばれたR(P)
がプログラムカウンタとして使用されます。
SEP
命令でP
に新たな値を設定することでサブルーチンを呼び出し、P
に元の値を設定することで戻ることができます。
CDP1802のハードウェアができたのでいつものようにUniversal Monitorを移植していきます。
以前SC/MP使いの憂鬱で書いたようにSC/MPはかなり癖の強いアーキテクチャでしたが、このCOSMACも負けず劣らずですね。
ちょうど先月末に1回目のワクチン接種を受けましたが、モデルナだったので4週後の28日に2回目接種を受けてきました。3日前のことです。前回より少し高めの熱(ピークで38.1℃)とちょっと腕の痛みも増した気がしますが、思ったほどキツくはありませんでしたね。
というわけで最近のお買い物です。
今日2度目のワクチン接種に行ってきまして、ついでに秋月に寄って不足していた(持ってるはずなんだけど行方不明)パーツを調達してきました。
CDP1802(とCDP1806も)のボード、いつものようにEMILY Boardと組み合わせるボードです。
CDP1802動かすだけならSBC1802でいいのですが、新CPUでいきなりソフトウェアUARTは敷居が高いかなと思って作ってみました。
現在EMILY BoardでCDP1802 / CDP1806を動かすCPUボードを製作中ですが、動くまでまだ時間がかかりそうなのでシリアルクロックの話を少し書いてみようかなと思います。
PCと自作のマイコンを接続する最も簡単な方法の一つが調歩同期シリアルです。
マイコンボードを新たに作る場合、最終的には必要なくてもデバッグ用などにあると重宝するので、まずこれを動かすことが初期の目標になることも多いですね。
でマイコン内蔵にしろ外付けにしろUARTを動かすには(通常通信レート×16の)クロックが必要になります。
専用に発振器を用意してしまうのが簡単で自由度も高いですが、CPUクロックと共通の発振器から供給できれば部品を減らせます。その場合必要とするシリアルクロックの整数倍の発振器が使えればピッタリのクロックが得られますが常にそうできるわけではありません。PLL等を使わない限り整数分の一のクロックしか得られませんから近似値で代用することになります。この誤差はどの程度まで許容できるのか考えてみましょう。
MB8867と一緒にこんなものも調達していました。目的は同じです。
同じく富士通のMB8863H、1991年製です。プラスチックDIPですが富士通独特の下側に溝のあるタイプではありませんね。いつ頃切り替わったんだったかな。
今度のはパッケージに見合った機能、調歩同期シリアルの石です。要はMC6850 ACIAの富士通型番のものになります。
MB8861, MB8870はMC6800, MC6802に対して命令が増えているなどの拡張がありましたが、これはMC6850に何か拡張施されているのでしょうか? 前にも書いたと思いますが富士通関係のデータシートはなかなか見つからないので比較できていません。
これもまた入手したまま忘れていたものですね。
富士通のMB8867、1992年製です。
型番からMB8861, MB8870の仲間らしいことは想像できますね。
600mil幅の24ピンパッケージという立派な外観からシリアルかタイマあたりのペリフェラルかなと思うかもしれませんが、実はこれクロックジェネレータです。8080同様、オーバラップしない2相クロックでしかもTTLレベルではないものを要求するのでこのようなものが用意されたのでしょう。
1992年でCERDIPというのもちょっと不思議な気がします。バイポーラプロセスで発熱が多いからかな。