自作CPU #4 低周波クロックの動作確認

昨日低周波クロックの動作確認をしましたが、計算と合わないのが気になりもう一度波形を確認しました。

f:id:Hamakita:20171130220759p:plain

低周波クロックの最高周波数でこのような波形となりました。

波形から1周期が13msとすると周波数は76.92Hzになりました。

理論値は73.75Hzですから昨日の観測結果より理論値に近いみたいです。

自作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というのはオシロスコープで観察した結果であって理論値とは少しずれています。低周波クロックの回路は、

f:id:Hamakita:20171130002154p:plain

こんな感じです。

  1. 電源投入始めコンデンサは充電されていない。
  2. 入力がLとなる。
  3. OUTがHとなる。
  4. OUTから電流が抵抗を通りコンデンサに充電される。
  5. インバーターの+閾値まで充電されると論理がひっくり返りOUTがLに
  6. コンデンサから電流が抵抗を通り放電する。
  7. インバーターのー閾値まで放電されると論理がひっくり返りOUTがHに

この繰り返しで動作する。このインバーターは普通のNOT素子(HC04)とは違ってシュミットトリガインバータというもので閾値を二つ持っているのが特徴。このおかげでアナログ的なカーブを描いた電圧の立ち上がり(コンデンサの充電)を入力にしても出力が乱れない。普通のインバーターでは閾値付近の電圧を入力されると出力がチャタリングのように乱れてしまう恐れがある。また閾値を二つ持つことでコンデンサの充放電の時間稼ぎができるためクロックを生成できる。

回路図の可変抵抗によって充放電の時間を調整し、クロックの速さを変える。

データシート

によると+閾値は2.5V,-閾値は1.6Vらしい。

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 #2

今日はスタック用のメモリ周りとプログラムカウンタとジャンプ先のアドレスを格納するためレジスタ(ジャンプレジスタ)周りを配線しました。レトロな感じをだしたいのでなるだけDIPのICを使いたかったのですが、スペースと入手性の都合上、レジスタとメモリは表面実装です。

このあたりを配線しました。

f:id:Hamakita:20171128203648p:plain

ジャンプレジスタとプログラムカウンタを裏表の同じ位置に配置したので、特にそのあたりの配線がきつかったです。

自作CPU #1

今趣味でロジックICを主に使った自作CPUを作っているので、せっかくだから日記としてブログにやったことを記録していく事にします。次の二つを参考にさせていただきました。

渡波 郁 CPUの創りかた

・中日電工さんのホームページ

TTLでCPUを作る組立てキット・トランジスタでCPUを作る組立てキット・TK−80互換マイコン組立キット・Z80マイコンボード・BASIC制御マイコンボード

 

 

回路図はほぼ完成しており、今基板図を製作中です。昨日はクロックジェネレーター周りとINPUTのトライステート周りを配線しました。

このあたりを配線しました。

f:id:Hamakita:20171127113714p:plain

 

 

現在の基板図全体です。スペースが足らないのでさらにこの上に基板をくっつける予定

f:id:Hamakita:20171127113717p:plain

 

試しに上の状態から自動配線を試してみました。

f:id:Hamakita:20171127114352p:plain

 左半分を配線するのにかなりの時間を使ってしまって疲れていたのか、もうこれでいいんじゃね?

と思ってしまいました。しかし自分で配線したほうがきれいになるので頑張ろうと思います。

ジャンクPS3(YLOD,8002F14E)修理

ジャンクなPS3を入手しました。1080円でした。

とりあえず電源をつけてみましたが

まったく起動しませんでした。

調べてみると結構有名な故障らしくYLODと呼ばれるものだとわかりました。

原因はCPU,GPUの発熱による半田クラックらしいので、

グラボを焼く手順でオーブンで焼いてみました。

CPU、GPU以外はアルミホイルでつつんでおきます。

そうすることで起動することができました。

ドライヤーやヒートガンでYLODを修理する人が結構いるみたいですが、

個人的にはオーブンで焼いたほうがいいと思います。

オーブンだと温度管理ができるので。

その後HDDがついてなかったのでシステムソフトウェアをインストール

しようとしましたが、ここで問題がおきました。

システムソフトウェアはUSBメモリにいれて読み込ませようとしましたが、

異様に探索が遅いのです。

USBケーブルでコントローラをつなぎPSボタンを押す

スタートボタンとセレクトボタン同時押しでシステムソフトウェア探索

↑これが異常にながい

結局数時間放置することでアップデート画面に移行することはできましたが。

何度やっても8002F14Eというエラーが出るようになりました。

電源をいれたとき光学ドライブの調子が悪い

(ディスクが吸い込まれないし内部にディスク入ってないのにディスク入ってると認識してる)のが分かったのでそいつがあやしいとは思ってたのですが案の定でした。

このエラーはBDドライブのエラーらしいです。

ここからが時間がかかりました。BDドライブを何度も開けたり閉めたりしました。

結局コネクタの接触不良だったらしくドライブ側のフレキケーブルコネクタがはずれかけており、こいつを差し込み直したらアップデートに成功し無事ゲームができるようになりました。

時間がかかった理由としては、このエラーはよくコネクタの接触不良で起きているようなのですが、マザボ側のフレキケーブルコネクタばかり見ていました。

だって、ドライブ側はテープで覆われてたし、だいたい電源を付けた時ドライブが動こうとしたり、レーザーが光ってたり、強制イジェクトは動作したんですよ。

なので最初に接触不良ではないと決め付けたのがいけませんでした。

 

ジャンクマザーボードH170M-PLUS修理

ジャンクなLGA1151世代マザーボードをゲットしました。

お値段なんと500円でした!!

ASUS H170M-PLUS

ゆーやつです。

 

f:id:Hamakita:20170812011257j:plain

お家に持って帰ってまずやったことはマザーボードを眺めることです。

舐めるように眺めます。

外見から故障箇所が解れば儲けもんです。

購入時CPUソケットをチェックしてみましたが、

ピン折れはなさそうでした。

他の箇所も特に怪しいところはありませんでした。

 

動作確認をしてみます。

 

f:id:Hamakita:20170812012411p:plain

おっ画面映ったぞ、これは当たりか??

と思ったらすぐにシャットダウンしてしまいました。

なにかエラーを吐いてたみたいなので確認してみると

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つずつチェックしていったら

電源がきてないやつがあるはずだ!!と思ってチェックしてみたら

 

ありました!!

 

f:id:Hamakita:20170812011329j:plain

このUSBポート2つです。起動している時、他のUSBは電源がきてるのに

こいつらだけきてないです。

 

USBの電源供給の切り替えを行うFETがどっかにあるはずなので

そいつが壊れてショートしてると目星をつけました。

 

みつからない……どこにあるの??

 

さんざん探しましたが結局分かりませんでした。

しばらく悩みましたが。

思い切って逆に電源を供給してみる事にしました。

 

テスターでチェックしてみると

電源がきてないUSBポートは、ショートしているわりには

電源とGND間の抵抗が髙かったのです。

本当にショートしてたら、電源を供給するのはまずいですが、

どーせジャンクだし、このまま動かないよりは試してみよう!

とゆー事でお隣のUSBからジャンパーして電源を引っ張ってきます。

f:id:Hamakita:20170812011021j:plain

 

そして電源おーーん

 

 

 

 

f:id:Hamakita:20170812011045j:plain

きたあああああああああああああああああああああああああああああああああああああああああああああああああ

BIOSに入りましたあああ

やったーーーーーーーーーー

最近のBIOSは近未来的でかっこいいなぁぁぁぁぁぁああああいえええええええいい

 

windows入りのHDDを繋いだら無事windowsまで起動してくれました。

一通り周辺機能を確認してみましたが問題なく動いているみたいです。

結論として電流が流れすぎてますよーというエラーは今回の場合

USB電源の供給部分が壊れていて電源きてなかったから起きてたみたいです。

 

最終的に壊れたUSBポートの電源はお隣から鈴メッキ線で引っ張ってきました。

f:id:Hamakita:20170812011031j:plain

この状態で問題のUSBポートにデバイスを刺したら

問題なく動いてくれたました。

 

 

ジャンクGTX1070修理

ジャンクなGTX1070搭載グラボをゲットしました。

お値段なんと5000円でした!!(桁間違えてないです)

意気揚々と購入し早速PCへ刺してみました。

 

わーーLED光ったあああああああ通電はするぞ

きたか?

 

 

映らない…

うーん

 

あっ電源が足らないのかな??

デュアル電源にしてみよう!

 

グラボ専用に550w電源をつけて

スイッチおーーーん!!!

 

映らない…

 

あれ??これもしかしてPCIe用電源ピン6ピン刺してもダメなのかな??

でも使っている電源に8ピンPCIe電源コネクタはないなー

創ろう!!

 

f:id:Hamakita:20170809024934j:plain

こんどこそ!!

 

映らない…

 

あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああダメなのかーー!!!

5000円損したのかあああ

 

グラボのヒートシンクをはずしてコンデンサがぶっ飛んだりしてないかチェック

してみたけど

f:id:Hamakita:20170809024954j:plain

怪しいところはとくになし…

 

こうなったら最終手段でジャンク界では有名なグラボ修理法をためしてみよう

オーブンレンジで焼きます!

 

先人達のブログを拝見させていただき焼き時間を決めました。

主にこちらのブログを参考にさせていただきました。

 

PCが起動しなくなったのでグラボ(R9 270X)をオーブンで焼いて修理した話 | SmartAll(スマータル)

 

今回は190℃で4分ほど焼いてみたいと思います

焼きたいGPU以外はアルミホイルで保護します

f:id:Hamakita:20170809024944j:plain

焼き終わったら急には冷まさずゆっくり冷まします。

オーブンレンジ内に1時間程放置しておきました。

 

動作チェックしてみます…

 

 

 

f:id:Hamakita:20170809024925j:plain

映ったーーー!!!

ん?どうやらPCIe電源を刺し忘れていたようですね。

グラボに補助電源を投入したら無事windowsが起動してくれました。

ちゃんと映ってます。画面にノイズがあるわけでもないです。

ゲームもできました!

やったああああああああ!!!!!!!