まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

2017年12月

PICKit3でPIC12F1822の書き込み

 PICの開発環境のメモです。

ホストはWindows10、書き込みツールはPICKit3、ターゲットはPIC12F1822。

(1)開発環境をダウンロードしてインストール。現時点で最新はv4.05。
MPLAB X IDE(Microchip)
MPLAB X IDEインストール後、8bit用のコンパイラ XC8をインストール。
MPLAB XC Compilers
(Microchip)

(2)PIC書き込みジグの製作

以下を参考にした。
PIC12F1822を使ってみる(OVERDRIVE)
MPLAB X IDEの使い方(東京海洋大学 田原研究室)
ICSP Programming Adapter

 8/14/20ピン対応のつもり。外部電源とPICKit3給電の切り替え付き。

2017PIC-JIG

 実体配線図です。
2017PUIC-JIGhaisen

(3)書き込み操作
 MPLAB X IDEを起動。プロジェクトファイルを読み込むかNew Projiectを開始する。

書き込み器の選択は[File]→[Project Properties (プロジェクト名)]をクリックするとウィンドウが出てくるので、そこで指定。PICKit3から給電するかどうかはCategoriesで表示されてるツリーからPICKit 3をクリックすると右側にOption Categoriesが表示されるので、そこから[Power]を選択して指定する。

TRS-80修繕仕切り直し

 さて、しばらく間が空いたがTRS-80の修理を再開する。その前に今回の方針。

 現象としては、Z80が動作するとビデオ出力の水平方向が乱れる。

TRS80HDRVSHIFT

 水平同期信号は LS157 Z43-9 CHAINクロックをZ65で8分周した後、Z50で14分周してHDRVが作られる。これはLS93 Z50-11 ピン。
 表示されるデータは2つのLS166 Z10 キャラクタ / Z11 セミグラフィックスの出力のOR。このシフトレジスタ用のクロックはSHIFTで、 LS157 Z43-4 。これはMODESELによって原発振10.6445MHz(64文字モード)かその半分(32文字モード)に切り替わる。
 水平方向にゆらぎが生じるということは水平同期信号と表示データのタイミングがずれてしまうためと考えられる。これはSHIFTとHDRVのタイミング差だが、HDRVの元はCHAINなので SHIFTとCHAINのずれがCPUのバス駆動によるなんらかの原因で発生するようだ。
 CHAINはSHIFTクロックを受けたLS92 Z58 で生成されるので、このあたりに絞っていじってみる。
具体的にはLS92 Z58のソケット化、ノイズ対策、10.6445MHzの2倍のオシレータからLS74で二分周して安定した原発振クロック信号を与える、など。

 ノイズ発生源としてはZ80のアドレス/データ/制御信号だが、アドレスバスと制御信号は常に暴れているのでこのあたりから対策する。LS367出力にダンピング抵抗、またはメッキ線でバイパス、これでDRAMの駆動が苦しいと考えられれば32Kx8のSRAMにリプレース、など。

 そんな感じで。

大型LEDサイズ比較

 単なる比較の写真です。

30101BS

左から:
A-2301SR(秋月電子)
30101BS(Ali Express)
50101BS(共立エレショップ)

30101BSは50101BSの半分以下、A-2301SRは50101BSの1/4サイズ。

SandyBridge世代のマザーボードと最新のNVIDIAビデオカード

 前回の続き。そして解決編。

 PCIeの+12V供給を疑い、ジグを作って安定化電源から外部供給。これでやってみても不安定な現象は変わらず。+5%の12.6Vに振っても同様。

2017GPU3

 スロットでの差はないし、あとはどこに違いがあるんだろうかと情報収集を再度行ったら次のページが当たった。

NVIDIA GTX 1070 が正常作動しない時のチェックリスト(ぼくんちのTV別館)

 読んでみると「GTX7xx以降で」「2012年頃のマザーボード」と該当する話が。いま取り付けているGTX750ではBIOS画面に行けないのでGTX640に差し替え、これは問題なく起動してBIOS設定画面が開く。ここで PCI ROM Priorityを EFI Compatible ROM から Legacy ROMに変更。GTX750に戻して起動。

 たったこれだけでビープ音もなくWindowsが起動した。今までの苦労は。

 ついでにPCIe 2.0設定を3.0に変更したら起動しなかった。これは2.0のままにしておくことに。ぼくんちのTV別館さんに感謝。


※GTX1050については確認ができたら追記します。→問題なく起動しました。

PCIeの引き出し

 前回の続きでビデオカード GTX 1050Ti の修理があがってきたものの、取り付けて電源を入れるとWindowsは立ち上がらず再起動を繰り返すという現象を繰り返す。以前使っていた GTX 750 のボードは数回再起動を繰り返した後NVIDIAの文字を表示、崩れた画面を表示してからWindowsが立ち上がる。これもおかしい。これらのビデオカードは別のPCでは問題なく動く。さらに電源は600W品に交換しているのでマザーボード側の問題のように思える。消費電力を疑い手持ちのビデオカードで切り分けると:

GTX640 : 65W 問題なく起動
GTX750 : 60W 数回再起動を繰り返した後Windows起動
GTX 10650Ti : 75W  再起動を繰り返し、ブラックアウト

 GTX640とGTX750では消費電力は逆だがこれはTDPの値を拾ってきたので電源ON時の突入電流の違いが影響するのだろうと推測。さて、マザーボードを取り外すのはちょっと面倒なのでうってつけのジグを使うことにした。


Longruner USB 3.0 PCI-E Express 1x - 16x エクステンダー ライザーカード アダプター (ビットコイン採掘)+ 20cm電源ケーブル+ 60cm USB 3.0延長ケーブル 新型 LK81-1Longruner USB 3.0 PCI-E Express 1x - 16x エクステンダー ライザーカード アダプター (ビットコイン採掘)+ 20cm電源ケーブル+ 60cm USB 3.0延長ケーブル 新型 LK81-1

Longruner
売り上げランキング : 19177

Amazonで詳しく見る
by G-Tools
 主に仮想通貨のマイニング用途で複数のビデオカードを接続するのに使われるものだが、これを経由して外部から12Vを供給するようにする。ただしリンクはx16からx1となる。マザーボード側には小さなカードエッジを差し込み、USB3.0ケーブルを流用して9ピンを延長し、外部に引き出す。

2017GPU1

 このように外部に引き出してパソコンを動作させることができた。外部電源の端子で電圧を確認すると定常運転で11.79V。x16スロットのあるほうの基板裏側からみると電源は以下のように接続されている。3.3Vはケーブル経由では来ていない。この基板上で作られているようだ。

2017GPU2

 で、外部電源供給のかたちで使ってみたが再起動する現象はかわらない。PCIeの2,3,4番目のスロット経由でやってみても同様。少なくともスロット経由で供給される3.3Vは関係なさそうに思われる。次はここから線を引き出して電源投入時を観測してみるか。このパソコン使ってるのでレオポンさんチームのように走りながら修理するような感じなのだ。

 今回ちょうどインターフェース紙1月号の付録、コンピュータ手帳2018にPCIeの信号一覧が載ってたので役に立ったよ。これは便利。

Interface(インターフェース) 2018年1月号Interface(インターフェース) 2018年1月号

CQ出版 2017-11-25
売り上げランキング :

Amazonで詳しく見る
by G-Tools

記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ