2016-12-11 17:28 — asano
今回は古いマイクロプロセッサ、モトローラのMC6802です。
モトローラが1970年代中頃にMC6800というプロセッサを発売しました。インテルの8080発売直後のことです。
これは特殊な2相クロックを供給する必要があったり使いにくいところがあったので、数年後クロックジェネレータを内蔵したMC6802が発売されました。写真のデバイスは1989年製と思われ、末期のものと思われます。
このMC6802にはクロックジェネレータのほかに128バイトのRAMも内蔵されています(禁止することもできます)。容量は少ないですがちょっとした制御用には十分でしょう。確かファミリにROM+I/Oというのもありましたから、組み合わせれば最小2チップ構成が可能でした。
インテルの8085も8080を使いやすくしたという点では似ていますね。こちらも8085(CPU)+8355(ROM+I/O)+8155(RAM+TIMER+I/O)の3チップ構成が可能です。
ところでMC6800/MC6802の後継に「究極の8ビット」と呼ばれたMC6809があります。バイナリレベルで互換性はありませんが、アセンブラのソースレベルではほぼ上位互換になっていて簡単な修正で移行できるそうです。
このMC6800,MC6802,MC6809のクロックについて私は大きな誤解をしていました。私がマイコン製作をしていた頃は既にMC6809の時代だったのでMC6809がEとQを使うのは知っていて、ファミリデバイス(MC6821とかMC6850とか)が共通なのでてっきりMC6800やMC6802もそうだと思い込んでいました。今回MC6800とMC6802のデータシートを読んでビックリです。
- MC6800のクロックはφ1とφ2で、これらはHがオーバラップしないクロックが必要です。フリップフロップのQとQでいけそうに思えますがどうでしょう。立上がりと立下りの非対称性が出るとアウトな気もします。4分周してデューティ1/4の信号だとHの期間が足りなくなるのでクロックを落とす必要があります。
- MC6802のクロックは内部で生成されるためお任せにできます。MC6800でのφ2に相当する信号がEとして出力されます。外部ではあまり必要の無い信号ですからφ1に相当する信号は出てきません。
- MC6809ではQとEが用いられます。これらは90°位相のずれた信号で、Qが先にHになります。
ファミリデバイスはE(MC6800ではφ2)だけを必要とするので共通に出来るというわけでした。
コメントを追加