(仮)釣りと電子工作 忍者ブログ
趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
[59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

昨日までの内容で、標準のプレステコントローラをUSBジョイパッドに変換できるようになった。まあ、ここまでは簡単なので、だれがやっても同じような感じになるだろう。

で、次に簡単そうなもの、ということで、

ネジコン -> GT FORCE をやってみよう。

ネジコンのプロトコルは、もうネットのあちこちに書いてあるので、説明不要。
問題は、GT FORCEである。GT FORCEのように見せるためには、GT FORCEの構造を知る必要がある。

ということで、ネットでGT FORCEの解析情報を集めてみたのだが、、、、ない!ぜんぜんない!

ということで、ヤフオクでGT FORCE買いました。10年前のものにもかかわらず、800円ちょっとしました。送料込みだと、1500円くらい?

さて、GT FORCEのようなUSBコントローラを解析するためには、

1.秋月で買えるZEROPLUSロジックアナライザ+USBブリッジを買ってキャプチャする
2.SnoopyPro.exeでキャプチャする
3.VMWareでusb.analyzer.enable = "TRUE"にしてvmware.logを読み解く

ほんとうは1.がいいのだが、お金がないので、仕方なく2.で。
2.がうまくいかなかったら、3.かな?

とりあえず、2.で初めてみる。


PR
信号のプロトコルについては、

store.curiousinventor.com/guides/PS2#hardware

に詳しくかいてある。PICとの接続方法も、ここを見ればわかる。

SPIというチップ間通信ではメジャーなプロトコルで、PICはこのSPI読み書きをハードウェアで処理できる。ハードウェアで処理できるメリットは、通信している間に別の処理ができることと、プログラムが簡単になること。

しかし、18F4550や18F2550のSPIにはバグがある(と俺は思っている)ので、SPIはソフトウェアで実装することにした。

いや、けっこうがんばったんだけど、20MHzのクロックでは、どうやってもだめだった。プレステのコントローラにあわせてクロックを調整すればどうにかなりそうだが、そうなるとUSB側が困る。

無理してハードウェアでやらなくても、プレステコントローラの通信速度は非常に遅いので問題なし。

ちなみにバグるのはMODE_11,SPI_FOSC_TMR2の組み合わせのみ。でもAE-18F2550ならこれしかとりえない。


そのままUSBでPCに接続するとHIDBootloader.exeが認識してくれて、プログラムを書き込むことができる。

が、書き込み後にUSBを抜き差ししてもプログラムは動作しない。

じつは、B4ポートが0Vのときは書き込みモード、5Vのときはプログラム動作モードとなっている。

つまり、HID bootloaderを使うためには、通常はB4ポートを5Vにプルアップしなければいけない。書き込みするときは、このB4をGNDにショートさせる。



microchipのサイトにあるUSBフレームワークには、ジョイパッド、マウス、キーボードのサンプルが入っていて、簡単にそれらが実装できるようになっている。が、残念ながらPIC18F2550用のが用意されていない。
で、仕方なくブートローダーにUBWとかいうよくわからないものを使ったり、microchipのではない独自のUSBフレームワーク使ったりしているのかも。

microchipのサイトにあるUSBフレームワークは、それに同梱されているHID bootloaderからUSB経由でロードできるようになっているので、今は賞味期限の切れたと思われるUBWやらを使わずに、すなおにmicrochip謹製HID bootloaderを使うべき。

しかし、これまたPIC18F2550用がない。

さて、どうしよう。。。。。 心配ご無用!

USB Device - HID - HID Bootloader - C18 - PIC18F4550.hex がそのまま使える。
ちょっとまて、チップが違うぞ、という人もいるが、気にしない。動けばいいのだ。2550と4550は2が4になっただけでほとんど同じもの。

ちなみにフレームワークもPICDEM FSUSB用のが無修正で動く。これも4550用だけど気にしない。へたにインクルードファイルをPIC18F2550用に切り替えるとエラーる。







ハードウェア完成しました。
見ての通り、プレステのコントローラをUSBに変換するものです。
とはいえ、DUAL SHOCK 2なんかをUSBに変換しても、なにも面白くない。

ということで、電車でGOコントローラやネジコンなど、キワモノ系対応の変換器を作ることにした。
ハードは簡単なのだが、問題はソフトというかファームウェア。

まあ、ぼちぼちやっていきます。

CIMG0366.JPG









カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
リンク
最新TB
バーコード
ブログ内検索
カウンター
Powered by ニンジャブログ  Designed by 穂高
Copyright © (仮)釣りと電子工作 All Rights Reserved
忍者ブログ / [PR]