CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

MC14500

プロジェクト再始動

ずいぶん放置していたMC14500基板にやっと手を付け始めました。 メインはMC14500なのに、それより遥かに高性能のPIC18F4550を半田付けしたところで今日はおしまい

基板やっと到着

9月にOLIMEXに発注したICUの基板がいまごろ到着しました。 実は9月末に一度留守中に到着していたのですが、郵便局の不在通知に気付かず そのまま忘れていました。 先週OLIMEXから「荷物戻ってきたよ!」と連絡があり、あわてて再送してもらいました。 発送元…

3Dレンダリング

基板の設計がほぼ完了したのでこれも3Dレンダリングしてみました 裏面です

部品見直し

ここまできて、設計に採用した部品が実際入手可能か心配になってきました。 システムの中核になるMC14500/MC14512/MC14599はもちろん手持ちのDIP品ですが 周辺のICは4000シリーズのICを何も考えずにスペースの都合でSOPに置き換えてしまっています。いまどき…

パタンほぼ完成

回路図入力画面で改めてERCを実行してみると見掛けつながっているように見えて実は電気的に結線されていないとか、未使用ゲートの処理の指摘がでてきたので、これらの修正と動作中の各ポイントの状態をPICを通してモニタできるように空きポートへ結線して回…

オートルータ実行

部品配置を整え、オートルータをかけているところです やはりこの大きさの基板にかなりの部品点数があるのでどうしても未配線が残ります。 部品の位置調整、回転で90%前後まで行きましたがそこから先がなかなか伸びません。 スルーホール部品のランドがか…

基板再設計

基板の外注がわりにうまくいったので調子に乗って、長いこと中断していたMC14500基板もEagleで再設計をはじめました。 PCBEでほとんど完成していましたがこれはあっさり捨て、 Eagleでもともとスケマチック入力はできていたのでボード図を起こすだけです。 …

パタン入力中(3)

予定していたパタンをすべて入力完了しました。うまくいけば初のジャンパレス基板となります。 最後に残って危ぶまれた電源ラインも、なんとか比較的太いラインで短く引き回しができています。 GNDの等電位面を白でハイライト表示させるとこんな具合です あ…

パタン入力中(2)

PICによるコントローラ部分のパタン引きも大体終わり、全体の80-90%くらいまで行った感じです まだジャンパは無しでいけてます あるパッドからパッドへラインを引く場合、同じ層のラインに取り囲まれてどうしたって無理と見えても 他のラインを整理するとな…

パタン設計続行中

ICU周りのロジックが8割がた終わりました。あとは制御用PIC周りです いまのところまだなんとかパタンだけで引き回しができています

パターン設計開始

いつも拡張ポートの部分がパターン引き回しが残ってしまうので、今回は拡張ポート部分から始めました。 入出力用のICから線を引き出しやすいようにICの向きを一部逆転させています。 プロの設計者から見たらタブーでしょうがシロウト工作なので全く問題無し…

部品レイアウト

回路図から拾った部品を150*100mmの基板にレイアウトしました もうかなりのみっちり感です このほかに主な信号ラインにLEDのインジケータを配置する予定。 メインのMC14500は他のロジックICに紛れて見た目わかりません

ICU制御CPU

ICUにリセットをかけた状態でプログラムメモリのバスを乗っ取り、アクセスできるようにしました。 ICUのプログラムコードをセットしたあとリセットを解除するとICUが走り出すはずです コントローラはPIC18F4550でUSBまたはシリアルでホストと接続できます

ICU周り設計

ICU、プログラムカウンタ、プログラムメモリ周辺の回路を引いて見ました これと前回のI/O周りを組み合わせれば完全スタンドアロンの構成となりますが このままではプログラムをロードすることができません。 仮にモニタを作ったとしてもデータ空間とコード空…

I/O設計

MC14500はオペコードは4ビット16種類しかありませんがオペランドを含めた命令長は自由に設計できます。 ここでは16ビット長としたのでオペランドは12ビットとなり、これがそのままデータアドレス空間となります。 この空間にI/Oとストレージメモリを割り付け…

ボード配置

ざっくりと100*150mmのボードに必要部品を配置しました。 このシステムの一番の問題はどのようにボード上のRAMにコードをセットするかということです スイッチをパチパチしてDMAするっていうのはぞっとするしMC14500にシリアルモニタを乗せるというのは 無…

ICU周辺回路

ICUの周辺を構成するチップです コードメモリ MCM14552 (4ビット*256ワード) パラレル入力 MC14512 パラレル出力 MC14099 パラレルといってもデータバスはあくまでも1ビットなので実際はマルチプレクサ/デマルチプレクサです これらはMC14500といっしょに…

MC14500

モトローラのIndustrialControlUnit MC14500を入手しました。 リレーシーケンス制御の置き換えとして開発された「1ビットCPU」です。 昔は交通信号機やエレベータ制御とかに使ったのでしょうか 中身は1ビットALUとレジス…