自作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ドライブを何度も開けたり閉めたりしました。
結局コネクタの接触不良だったらしくドライブ側のフレキケーブルコネクタがはずれかけており、こいつを差し込み直したらアップデートに成功し無事ゲームができるようになりました。
時間がかかった理由としては、このエラーはよくコネクタの接触不良で起きているようなのですが、マザボ側のフレキケーブルコネクタばかり見ていました。
だって、ドライブ側はテープで覆われてたし、だいたい電源を付けた時ドライブが動こうとしたり、レーザーが光ってたり、強制イジェクトは動作したんですよ。
なので最初に接触不良ではないと決め付けたのがいけませんでした。
ジャンクマザーボードH170M-PLUS修理
お値段なんと500円でした!!
ASUS H170M-PLUS
とゆーやつです。
お家に持って帰ってまずやったことはマザーボードを眺めることです。
舐めるように眺めます。
外見から故障箇所が解れば儲けもんです。
購入時CPUソケットをチェックしてみましたが、
ピン折れはなさそうでした。
他の箇所も特に怪しいところはありませんでした。
動作確認をしてみます。
おっ画面映ったぞ、これは当たりか??
と思ったらすぐにシャットダウンしてしまいました。
なにかエラーを吐いてたみたいなので確認してみると
USB Device Over Current Status Detected !!
と表示されていました。
USBデバイスに電流が流れすぎてます‼
というエラーみたい
USBがショートしてるのかな??
今度はUSBに繋いでいたマウスとキーボードをはずして起動してみました。
USB Device Over Current Status Detected !!
同じエラーがでました。orz
マザーボードにほこりがつまってショートさせることもあるので
エアーダスターできれいにしてから起動してみました。
USB Device Over Current Status Detected !!
同じエラーがでました。orz
こういうときはとりあえずcmosクリアを試してみます。
ボタン電池を外して数十秒放置すればOKです。
USB Device Over Current Status Detected !!
同じエラーがでました。orz
うーんとりあえずどっかのUSBがショートしているのは間違いなさそうなので
マザーボードからでてるUSBの電源を1つずつチェックしていったら
電源がきてないやつがあるはずだ!!と思ってチェックしてみたら
ありました!!
このUSBポート2つです。起動している時、他のUSBは電源がきてるのに
こいつらだけきてないです。
USBの電源供給の切り替えを行うFETがどっかにあるはずなので
そいつが壊れてショートしてると目星をつけました。
みつからない……どこにあるの??
さんざん探しましたが結局分かりませんでした。
しばらく悩みましたが。
思い切って逆に電源を供給してみる事にしました。
テスターでチェックしてみると
電源がきてないUSBポートは、ショートしているわりには
電源とGND間の抵抗が髙かったのです。
本当にショートしてたら、電源を供給するのはまずいですが、
どーせジャンクだし、このまま動かないよりは試してみよう!
とゆー事でお隣のUSBからジャンパーして電源を引っ張ってきます。
そして電源おーーん
きたあああああああああああああああああああああああああああああああああああああああああああああああああ
BIOSに入りましたあああ
やったーーーーーーーーーー
最近のBIOSは近未来的でかっこいいなぁぁぁぁぁぁああああいえええええええいい
windows入りのHDDを繋いだら無事windowsまで起動してくれました。
一通り周辺機能を確認してみましたが問題なく動いているみたいです。
結論として電流が流れすぎてますよーというエラーは今回の場合
USB電源の供給部分が壊れていて電源きてなかったから起きてたみたいです。
最終的に壊れたUSBポートの電源はお隣から鈴メッキ線で引っ張ってきました。
この状態で問題のUSBポートにデバイスを刺したら
問題なく動いてくれたました。
ジャンクGTX1070修理
ジャンクなGTX1070搭載グラボをゲットしました。
お値段なんと5000円でした!!(桁間違えてないです)
意気揚々と購入し早速PCへ刺してみました。
わーーLED光ったあああああああ通電はするぞ
きたか?
映らない…
うーん
あっ電源が足らないのかな??
デュアル電源にしてみよう!
グラボ専用に550w電源をつけて
スイッチおーーーん!!!
映らない…
あれ??これもしかしてPCIe用電源ピン6ピン刺してもダメなのかな??
でも使っている電源に8ピンPCIe電源コネクタはないなー
創ろう!!
こんどこそ!!
映らない…
あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああダメなのかーー!!!
5000円損したのかあああ
グラボのヒートシンクをはずしてコンデンサがぶっ飛んだりしてないかチェック
してみたけど
怪しいところはとくになし…
こうなったら最終手段でジャンク界では有名なグラボ修理法をためしてみよう
オーブンレンジで焼きます!
先人達のブログを拝見させていただき焼き時間を決めました。
主にこちらのブログを参考にさせていただきました。
PCが起動しなくなったのでグラボ(R9 270X)をオーブンで焼いて修理した話 | SmartAll(スマータル)
今回は190℃で4分ほど焼いてみたいと思います
焼きたいGPU以外はアルミホイルで保護します
焼き終わったら急には冷まさずゆっくり冷まします。
オーブンレンジ内に1時間程放置しておきました。
動作チェックしてみます…
映ったーーー!!!
ん?どうやらPCIe電源を刺し忘れていたようですね。
グラボに補助電源を投入したら無事windowsが起動してくれました。
ちゃんと映ってます。画面にノイズがあるわけでもないです。
ゲームもできました!
やったああああああああ!!!!!!!