Pic24MC68Kマイコン(その1)構想 [68K]
以前、「3チップ構成Pic24CPM68Kマイコン」の記事に自作のMC68008ボードを使ってCP/M-68Kを動かす内容を書きましたが、今回は8ビットバスのMC680008ではなく、MC68000を使ってCP/M-68Kを動かしたいと思います(実際にはCMOS版で16MHz動作の MC68HC000P16 を使用予定)。
今回の目標として全体をMC68Kのチップに近いサイズにまとめたいと考えています。使用予定のメモリは+5Vで動作可能で容量が 512K x 16bit でアクセスタイムが 55ns のTSOPパッケージの AS6C8016 で、前述のMC68008の時の2倍の容量になります。
MC68HC000P16は今でも海外の通販サイト等で数百円で購入できます(もっと高い値付けのものも沢山ある)。しかし、安価なものは偽物というリスクが常にあります。
購入済みのMC68HC000P16を無水アルコールを含ませたティッシュで拭いてみたところ、ティッシュが黒くなり、なんと MC68000P8 の文字が浮かんできましたw
下の写真は上の方のチップがアルコールで拭いたもので、比較のために拭く前のチップの状態と同じものを下側に並べました。
別のショップから購入した2個のMC68HC000があるのですが、これらは刻印の文字サイズと刻印内容は上記の偽物の写真と全く同じで、無水アルコールで擦るとティッシュが黒くなりましたがいくら擦っても刻印は変化しませんでした。偽の刻印を書く前の表面の削りが上記のものより深い(と言うか上記のものは削っていない?)のではないかと思われ、ティッシュの色と同様に限りなく黒に近いグレーな状態です。
更に別のショップから購入したMC68000P16(下の写真)は無水アルコールで拭いてもティッシュは全く黒くならず、刻印も変化しませんでした。本物だと信じたいですが、HCではないので消費電力が大きいです。
気を取り直して今回の構想の話に戻って、MC68K と PIC とのインターフェースについては MC68008 の時と同様で「3チップ構成68Kマイコンの構想」の記事に書いたようにMC68KのRESET命令を使用します。
以降の記述では自分用のメモの意味も含めデータシートからの引用が多く含まれますがご容赦ください。
最初に信号レベルについてですが、下図が68Kのレベルになります。クロックについてもV20の時のような特別に厳しい条件は無いようです。
下表がMC68Kの電気特性で、これならPICで制御可能なレベルです(PIC側の入力には5Vトレラントであることが必要)。
次にメモリアクセス関連ですが、下図がMC68Kのメモリアクセスタイミングダイアグラムです。データバスが16bitなので上位バイト/下位バイトそれぞれにセレクト信号(UDS#,LDS#)があります。これは後述するメモリ(AS6C8016)と同様です。
下図がメモリチップ側のリードサイクルです。特別な仕掛け無しにMC68Kと接続できそうですね。
下図がメモリチップ側のライトサイクルです。上記のMC68Kのライトサイクルを見るとLDS#信号がアクティブな期間が最も短いので、それに対応するLB#,UB#でコントロールされたライトサイクルを記載しています。こちらもMC68Kと簡単に接続できそうです。
下図はPICからのメモリライト時に使用予定のWE#でコントロールする場合のライトサイクルです。
★追記 2021/12/09 {
メモリの真理値表を追記します。ライト時に OE# はdon't care になります。
}
MC68Kとメモリのアクセスサイクルを前置きとして書きましたが、ここからPIC側の対応に関して記述します。
PIC側のメモリアクセスはパラレルマスタポート(PMP)機能を使用します。PMPはある程度汎用的に作られていますが、16bitのデータを扱う場合はバイト毎に分割して扱う必要があります。
今回使用するモードは「16 ビットデータ、非多重化アドレス」です。下図にリード/ライトサイクルを示します。
PIC側のデータバスは8bitで時分割で2バイト分を扱うのでメモリ側とのデータバス接続を切替える必要がありますが、一度に16bitを読み書きすることは無いこと、及びメモリ側はセレクトされていないバイトバスはハイインピーダンスになることからPIC側データバスとメモリ側ハイバイトバスとの間に74HC245を1個だけ設け、ロー側のバイトバスは常に接続した状態にすることで使用チップ数を節約します。
実際にPICとメモリの接続実験結果を書きたいところですが、注文したメモリ(AS6C8016)がまだ届いていないので今回はこの辺にしたいと思います。
しかし、今回はブレッドボードで評価後、回路図を整理しパターン設計をするといういつもの手順とは異なり、先行して回路設計とパターン設計を進めています^^
[TOP] [ 前へ ] 連載記事 [ 次へ ]
今回の目標として全体をMC68Kのチップに近いサイズにまとめたいと考えています。使用予定のメモリは+5Vで動作可能で容量が 512K x 16bit でアクセスタイムが 55ns のTSOPパッケージの AS6C8016 で、前述のMC68008の時の2倍の容量になります。
MC68HC000P16は今でも海外の通販サイト等で数百円で購入できます(もっと高い値付けのものも沢山ある)。しかし、安価なものは偽物というリスクが常にあります。
購入済みのMC68HC000P16を無水アルコールを含ませたティッシュで拭いてみたところ、ティッシュが黒くなり、なんと MC68000P8 の文字が浮かんできましたw
下の写真は上の方のチップがアルコールで拭いたもので、比較のために拭く前のチップの状態と同じものを下側に並べました。
購入したMC68HC000P16の偽物 |
|
別のショップから購入した2個のMC68HC000があるのですが、これらは刻印の文字サイズと刻印内容は上記の偽物の写真と全く同じで、無水アルコールで擦るとティッシュが黒くなりましたがいくら擦っても刻印は変化しませんでした。偽の刻印を書く前の表面の削りが上記のものより深い(と言うか上記のものは削っていない?)のではないかと思われ、ティッシュの色と同様に限りなく黒に近いグレーな状態です。
更に別のショップから購入したMC68000P16(下の写真)は無水アルコールで拭いてもティッシュは全く黒くならず、刻印も変化しませんでした。本物だと信じたいですが、HCではないので消費電力が大きいです。
購入したMC68000P16(多分本物?) |
|
気を取り直して今回の構想の話に戻って、MC68K と PIC とのインターフェースについては MC68008 の時と同様で「3チップ構成68Kマイコンの構想」の記事に書いたようにMC68KのRESET命令を使用します。
以降の記述では自分用のメモの意味も含めデータシートからの引用が多く含まれますがご容赦ください。
最初に信号レベルについてですが、下図が68Kのレベルになります。クロックについてもV20の時のような特別に厳しい条件は無いようです。
MC68Kの信号レベル |
|
下表がMC68Kの電気特性で、これならPICで制御可能なレベルです(PIC側の入力には5Vトレラントであることが必要)。
MC68Kの電気特性 |
|
次にメモリアクセス関連ですが、下図がMC68Kのメモリアクセスタイミングダイアグラムです。データバスが16bitなので上位バイト/下位バイトそれぞれにセレクト信号(UDS#,LDS#)があります。これは後述するメモリ(AS6C8016)と同様です。
MC68Kのメモリアクセスダイアグラム |
|
下図がメモリチップ側のリードサイクルです。特別な仕掛け無しにMC68Kと接続できそうですね。
メモリ(AS6C8016)チップ側のリードサイクル |
|
下図がメモリチップ側のライトサイクルです。上記のMC68Kのライトサイクルを見るとLDS#信号がアクティブな期間が最も短いので、それに対応するLB#,UB#でコントロールされたライトサイクルを記載しています。こちらもMC68Kと簡単に接続できそうです。
メモリ(AS6C8016)チップ側のライトサイクル1 |
|
下図はPICからのメモリライト時に使用予定のWE#でコントロールする場合のライトサイクルです。
メモリ(AS6C8016)チップ側のライトサイクル2 |
|
★追記 2021/12/09 {
メモリの真理値表を追記します。ライト時に OE# はdon't care になります。
メモリ(AS6C8016)チップ側の真理値表 |
|
MC68Kとメモリのアクセスサイクルを前置きとして書きましたが、ここからPIC側の対応に関して記述します。
PIC側のメモリアクセスはパラレルマスタポート(PMP)機能を使用します。PMPはある程度汎用的に作られていますが、16bitのデータを扱う場合はバイト毎に分割して扱う必要があります。
今回使用するモードは「16 ビットデータ、非多重化アドレス」です。下図にリード/ライトサイクルを示します。
PIC PMPメモリリードサイクル |
|
PIC PMPメモリライトサイクル |
|
PIC側のデータバスは8bitで時分割で2バイト分を扱うのでメモリ側とのデータバス接続を切替える必要がありますが、一度に16bitを読み書きすることは無いこと、及びメモリ側はセレクトされていないバイトバスはハイインピーダンスになることからPIC側データバスとメモリ側ハイバイトバスとの間に74HC245を1個だけ設け、ロー側のバイトバスは常に接続した状態にすることで使用チップ数を節約します。
実際にPICとメモリの接続実験結果を書きたいところですが、注文したメモリ(AS6C8016)がまだ届いていないので今回はこの辺にしたいと思います。
しかし、今回はブレッドボードで評価後、回路図を整理しパターン設計をするといういつもの手順とは異なり、先行して回路設計とパターン設計を進めています^^
Pic24MC68Kのパターン(設計中) |
|
[TOP] [ 前へ ] 連載記事 [ 次へ ]
2021-11-24 12:52
nice!(0)
コメント(0)
コメント 0