SuperSimpleController(その13)モニタの制作 [OriginalCPU]
前回の記事で書いたように自作CPUのプリント基板(下の写真)ができたので今回はモニタの制作について少し書いてみます。
始めにシリアル通信ができるように手持ちの調歩同期シリアル通信用IC(MC68B50)を載せたシリアルアダプタを汎用基板(秋月さんの両面スルホールCタイプ)を使って作成しました。
Simple8Zの拡張用コネクタからはI/Oアクセス時にアクティブ(lowアクティブ)になるIOR/信号を出していますが、MC68C50のE信号(イネーブル信号)はhighアクティブなのでトランジスタを使ってIOR/を反転して接続しています。
また、PIC12F683でシリアル通信用クロック(9600x16)を生成しています。
具体的な回路図は「SuperSimpleController(その10)I/O命令追加」の記事を参照してください。
下の写真はSimple8Z本体に今回作成したシリアルアダプタを接続した状態のものです。
マシン語のディバッグもさることながら、今回の様にある程度まとまった処理を実行すると以前の1パス試験では出現しなかった問題が発生するのでマイクロコードも修正しつつの作業になります。
ICソケットを痛めないようにuCODE用のROMにもゼロプレッシャーソケットを付けました。
まだ作成途中で部分的にしかコマンドを実装していませんが、Hexローダーでモニタをロードし、動かしているサンプル画面が下図になります。ディバッグのために1MHzの外部クロックで動かしています。
もうどこから見てもCPUそのものではありませんか?
モニタ内のHexロード機能('R'コマンド)、ダンプ及び実行コマンドの試験のために作成したHello表示とエコーバックを行う試験用プログラムのソースも貼っておきます。
★追記 2021/04/09
Twitterにポストした動画付きコメントを貼っておきます。
EEPROMに書いたHexローダーでモニタをロード&起動後に上記の試験用プログラムのヘキサファイルをモニタの'R'コマンドでロードしてから'G'コマンドで実行しています。
★追記 2021/04/12
最初はI2Cロガーの時のようにシリアルアダプタをCNCを使って片面基板で作成しようと考えていましたが、片面基板ではピンヘッダの固定力が弱く、抜き差しする際にピンが動きパターンが剥がれる恐れがあるので上述のように両面スルホールの汎用基板を使い手配線で作成することにしました。
CNCでの作成用にパターン設計等はしていたので貼っておきます。
トランジスタでIOR/信号を反転してMC68B50のE信号として入力していますが、立上りタイミングが2us程度遅れたので下記のパターン図にはないですが、ベース抵抗にパラでスピードアップコンデンサとして220pFを追加(遅延は0.3us程度に改善)しています。
CNCでパターン切削から穴開け、外周切取りまで行いますが、パターン切削時のCNC制御画面が下図です。
[TOP] [ 前へ ] 連載記事 [ 次へ ]
プリント基板化したSimple8Z |
|
始めにシリアル通信ができるように手持ちの調歩同期シリアル通信用IC(MC68B50)を載せたシリアルアダプタを汎用基板(秋月さんの両面スルホールCタイプ)を使って作成しました。
Simple8Zの拡張用コネクタからはI/Oアクセス時にアクティブ(lowアクティブ)になるIOR/信号を出していますが、MC68C50のE信号(イネーブル信号)はhighアクティブなのでトランジスタを使ってIOR/を反転して接続しています。
また、PIC12F683でシリアル通信用クロック(9600x16)を生成しています。
具体的な回路図は「SuperSimpleController(その10)I/O命令追加」の記事を参照してください。
シリアルアダプタ(部品面) |
|
シリアルアダプタ(半田面) |
|
下の写真はSimple8Z本体に今回作成したシリアルアダプタを接続した状態のものです。
マシン語のディバッグもさることながら、今回の様にある程度まとまった処理を実行すると以前の1パス試験では出現しなかった問題が発生するのでマイクロコードも修正しつつの作業になります。
ICソケットを痛めないようにuCODE用のROMにもゼロプレッシャーソケットを付けました。
Simple8Z with serial adapter |
|
まだ作成途中で部分的にしかコマンドを実装していませんが、Hexローダーでモニタをロードし、動かしているサンプル画面が下図になります。ディバッグのために1MHzの外部クロックで動かしています。
もうどこから見てもCPUそのものではありませんか?
モニタロードと操作のサンプル画面 |
|
モニタ内のHexロード機能('R'コマンド)、ダンプ及び実行コマンドの試験のために作成したHello表示とエコーバックを行う試験用プログラムのソースも貼っておきます。
モニタ試験用Hello&Echo back試験プログラム(Simple8Z用アセンブリ言語) |
|
★追記 2021/04/09
Twitterにポストした動画付きコメントを貼っておきます。
EEPROMに書いたHexローダーでモニタをロード&起動後に上記の試験用プログラムのヘキサファイルをモニタの'R'コマンドでロードしてから'G'コマンドで実行しています。
ROMとGALを使ったオリジナルCPUを検討中
— skyriver (@wcinp) April 8, 2021
自作CPU(Simple8Z)をプリント基板化できたのでシリアルアダプタを接続してモニタを作成中です
マイクロコードも修正しつつの作業ですがだいぶCPUらしくなってきました^^https://t.co/eXocj3biJf#Simple8Z #オリジナルCPU pic.twitter.com/wKBvC5zmCv
★追記 2021/04/12
最初はI2Cロガーの時のようにシリアルアダプタをCNCを使って片面基板で作成しようと考えていましたが、片面基板ではピンヘッダの固定力が弱く、抜き差しする際にピンが動きパターンが剥がれる恐れがあるので上述のように両面スルホールの汎用基板を使い手配線で作成することにしました。
CNCでの作成用にパターン設計等はしていたので貼っておきます。
トランジスタでIOR/信号を反転してMC68B50のE信号として入力していますが、立上りタイミングが2us程度遅れたので下記のパターン図にはないですが、ベース抵抗にパラでスピードアップコンデンサとして220pFを追加(遅延は0.3us程度に改善)しています。
片面基板パターン設計 |
|
CNCでパターン切削から穴開け、外周切取りまで行いますが、パターン切削時のCNC制御画面が下図です。
CNCでのパターン切削画面 |
|
[TOP] [ 前へ ] 連載記事 [ 次へ ]