自作CPU #6 1枚目の基板完成
1枚目の基板の配線作業が完了しました。
こんなに密度の高い基板を設計したのは初めてでかなりの時間を要しました。
さらにこの基板の上に10cmX10cmの基板を乗っける予定なのでハードウェアの進行度としては2/3程完了したといった具合です。
自作CPU #3
今日はスタック周りと昨日やってたプログラムカウンタ周りの電源線を配線しました。
あとクロックジェネレーターとクロック選択回路が少し不安だったので、ブレッドボードへ組み、テストしてみました。問題なく動いたっぽいです。クロックの選択はロータリーDIPSWで16パターン選択できるようにします。
L固定,H固定,手動クロック,低周波数クロック約0.33Hz~約66.66Hz(VRで可変)
976Hz,1.953kHz,3.906kHz,7.813kHz,15.625kHz,31.25kHz,
62.5kHz,125kHz,250kHz,500kHz,1MHz,2MHz
の16パターンです。このうち低周波クロックについて自分でも動作原理を忘れてしまいそうなのでメモしておきます。
低周波クロックの約0.33Hz~約66.66Hzというのはオシロスコープで観察した結果であって理論値とは少しずれています。低周波クロックの回路は、
こんな感じです。
- 電源投入始めコンデンサは充電されていない。
- 入力がLとなる。
- OUTがHとなる。
- OUTから電流が抵抗を通りコンデンサに充電される。
- インバーターの+閾値まで充電されると論理がひっくり返りOUTがLに
- コンデンサから電流が抵抗を通り放電する。
- インバーターのー閾値まで放電されると論理がひっくり返りOUTがHに
この繰り返しで動作する。このインバーターは普通のNOT素子(HC04)とは違ってシュミットトリガインバータというもので閾値を二つ持っているのが特徴。このおかげでアナログ的なカーブを描いた電圧の立ち上がり(コンデンサの充電)を入力にしても出力が乱れない。普通のインバーターでは閾値付近の電圧を入力されると出力がチャタリングのように乱れてしまう恐れがある。また閾値を二つ持つことでコンデンサの充放電の時間稼ぎができるためクロックを生成できる。
回路図の可変抵抗によって充放電の時間を調整し、クロックの速さを変える。
RC直列回路の過渡現象解析からコンデンサの電位差の式はt=0で5vのステップ入力とすると
\[V_C = E(1-e^{-\frac{1}{RC}t})\]
変形して
\[t=-RC\ln(1-\frac{V_C}{E})\]
半周期は\[V_C=2.5\]までの時間から\[V_C=1.6\]までの時間を引いたものだから
(1.6Vまで充電された状態で充電が始まる。)
R=100k+470の時の周期は2.9sゆえに周波数0.34Hz
さらに
R=0+470の時の周期は13.56msゆえに周波数73.75Hz
0.33Hzの方は辻褄があったのですが66Hzの方が少しずれてしまいました。
放電のケースも考えなければならないかな。
171130追記
もう少し理論値に近いっぽいです。もう一度観測したら
76.92Hzでした。
自作CPU #1
今趣味でロジックICを主に使った自作CPUを作っているので、せっかくだから日記としてブログにやったことを記録していく事にします。次の二つを参考にさせていただきました。
・中日電工さんのホームページ
TTLでCPUを作る組立てキット・トランジスタでCPUを作る組立てキット・TK−80互換マイコン組立キット・Z80マイコンボード・BASIC制御マイコンボード
回路図はほぼ完成しており、今基板図を製作中です。昨日はクロックジェネレーター周りとINPUTのトライステート周りを配線しました。
このあたりを配線しました。
現在の基板図全体です。スペースが足らないのでさらにこの上に基板をくっつける予定
試しに上の状態から自動配線を試してみました。
左半分を配線するのにかなりの時間を使ってしまって疲れていたのか、もうこれでいいんじゃね?
と思ってしまいました。しかし自分で配線したほうがきれいになるので頑張ろうと思います。
ジャンクPS3(YLOD,8002F14E)修理
ジャンクなPS3を入手しました。1080円でした。
とりあえず電源をつけてみましたが
まったく起動しませんでした。
調べてみると結構有名な故障らしくYLODと呼ばれるものだとわかりました。
原因はCPU,GPUの発熱による半田クラックらしいので、
グラボを焼く手順でオーブンで焼いてみました。
CPU、GPU以外はアルミホイルでつつんでおきます。
そうすることで起動することができました。
ドライヤーやヒートガンでYLODを修理する人が結構いるみたいですが、
個人的にはオーブンで焼いたほうがいいと思います。
オーブンだと温度管理ができるので。
その後HDDがついてなかったのでシステムソフトウェアをインストール
しようとしましたが、ここで問題がおきました。
システムソフトウェアはUSBメモリにいれて読み込ませようとしましたが、
異様に探索が遅いのです。
USBケーブルでコントローラをつなぎPSボタンを押す
スタートボタンとセレクトボタン同時押しでシステムソフトウェア探索
↑これが異常にながい
結局数時間放置することでアップデート画面に移行することはできましたが。
何度やっても8002F14Eというエラーが出るようになりました。
電源をいれたとき光学ドライブの調子が悪い
(ディスクが吸い込まれないし内部にディスク入ってないのにディスク入ってると認識してる)のが分かったのでそいつがあやしいとは思ってたのですが案の定でした。
このエラーはBDドライブのエラーらしいです。
ここからが時間がかかりました。BDドライブを何度も開けたり閉めたりしました。
結局コネクタの接触不良だったらしくドライブ側のフレキケーブルコネクタがはずれかけており、こいつを差し込み直したらアップデートに成功し無事ゲームができるようになりました。
時間がかかった理由としては、このエラーはよくコネクタの接触不良で起きているようなのですが、マザボ側のフレキケーブルコネクタばかり見ていました。
だって、ドライブ側はテープで覆われてたし、だいたい電源を付けた時ドライブが動こうとしたり、レーザーが光ってたり、強制イジェクトは動作したんですよ。
なので最初に接触不良ではないと決め付けたのがいけませんでした。