2016年11月16日の日記を表示中

2016年11月16日 (水)

後夜祭9

ついにオシロ出動。とりあえずは軽いデジタルの方で。何年ぶりでしょうか。

オシロ出動

延々0と1を繰り返すようなコードを書いて、チップの近くにピンを立てて、クロックとデータを引っ張り出して観測してみます。まずはうまくいく方。まあ、想定通りの波形に見えます。

うまくいく方の波形

そしてうまくいかない方。うむ、違いがわからんw

うまくいかない方の波形

同じカスタムチップが載ってるはずなのに、一体何が違うのか・・・。そういえば、JST NH 6ピンコネクタがない基板で、チップ近くの波形を取るのに立てたピン、位置的にはJST NH 6ピンコネクタと似てるよな・・・。もしかして、ここから信号入れたらうまくいったり・・・するわけ・・・うおおお、できた!!!!?

成功!?

慎重に、条件を変えながらポイントを絞り込んでいった結果、コネクタではなく、R6のところから流し込むとうまくいくという結論に到達しました。そうとわかれば、後は簡単。スーパーストリートファイターIIトーナメントバトルもご覧の通り。

スーパーストリートファイターIIトーナメントバトル

そして昨日、サブボードを交換したセイヴァー2と無印ヴァンパイアも一夜で帰ってきました。やったね。いずれも超安定してます。

ヴァンパイアセイヴァー2

ヴァンパイア

うーん、それにしても、R6のところから流し込むことで、回路上、何がどうかわるのか 、さっぱりわかりませんね。あるとすれば、配線抵抗の影響とか?でもそんなにシビアなのかな・・・?まあ、とりあえず、これでひとまずいつ何が起きても安心です。いやー、すっきり。

[コメントを書く]

kobayuz 2018/07/14(土) 23:19:06
こんにちは、初めまして。ちょくちょく閲覧させてもらってます。
リビジョン4を持ってるんですが、どうしても修理できません。
どうやって信号送ってるんでしょうか?CN2は一切繋がないんですか?
ちなみに自分はCN9ピンバージョンはうまく復号が成功します。
専用電源使わず、マザーにサブボード差したまま行っています。
nosuke 2018/07/16(月) 15:08:05
こんにちは、はじめまして。
ちょうどここ最近、別の方からも質問を受けまして、
過去の作業時の写真を見返して調べたりしていました。

DATA、CLOCK、SETUP1、SETUP2の4つの信号のうち、
CLOCKのみ、CN2からではなく、もっとチップの近く(R6のところ)に
接続しています。
↓こんな感じでピン立てて、そこから流し込みました。
https://twitter.com/konosuke/status/1015207680888078336

それ以外の信号は、普通にCN2のところに繋いでいるはずです。

もしかしたら、CN2のA32とC32の間に、後付されていたりいなかったりする
抵抗が関係していたりするのかも・・・。

基板引っ張り出して、もう一度キー飛ばして書き直して
確認してみようと思ってるんですが、なかなか気力がわかず(汗)
kobayuz 2018/07/16(月) 17:49:56
どうも、返信ありがとうございます。
のすけさんのおっしゃる通り、R6にピンを立ててそれ以外はCN2に接続して試して
みましたがうまくいきませんでした。
ちなみにCN2のA32の抵抗に関しては外して信号送信してみたりもしてみましたが成功せず・・・(涙)
マザーボードに差したまま行っている部分がマニュアル通りではないので、その辺りを
代えて、専用電源で行ってみるかまた試してみます。

海外のサイトではArduinoの電源を変えたらうまくいったなんて事例もあるみたいですが、
https://forum.arcadeotaku.com/viewtopic.php?f=26&t=36379&start=20
電源まわりはまかり間違うと基板をオシャカにしてしまいそうなので、なかなか踏み出せずにいますが(笑)
nosuke 2018/07/16(月) 23:47:07
ひとまず復活実績のあるスパIIトーナメント(93646B-3)の基板を
引っ張り出して見てみたんですが、抵抗はついていませんでした。
というわけで、抵抗はあんまり関係ないのかもしれませんね・・・。

うちでは、すべてマザーボードから外した状態で復活させたので、
そのへん、もしかしたら関係あるのかもしれません。
あと、基板側の電源は、普段基板動かすときに使っている電源を
そのまま使いました。
Arduino側は、普通のUSB充電器使って、多分、基板側と
GNDだけ共通化したんだと思います。。

あと、紹介頂いた海外の情報は知りませんでした。
ちらっと見たところ、似たような話がいろいろと書かれているようですね。
あとでじっくり読んでみます。
ありがとうございます。
nosuke 2018/09/02(日) 01:51:46
まだご覧になられているかどうかわかりませんが、アップデートがありましたので
記載します。あらためて93646B-3・93646B-4にどうやったら安定して書けるか、
色々実験して、新しいことが少しわかりました。

・実はR6のところからクロックを入れたからといって安定して書けるわけではない
・それよりも、クロック(Arduino #11)にだけ、他より長い配線を使ってやると安定するっぽい
(https://twitter.com/konosuke/status/1035736790483709959)
・配線の抵抗が関係あるのかは不明だが、うまくいくケースでは+2.7Ωくらいだった
・Arduinoとの間を長い配線で結んでやれば、クロックをCN2 A31につないでも問題ない
・2年前は、R6とArduinoの間をつなぐのに、割と長いICテストクリップを使っており、
それが効いていたっぽい
・Arduinoの電源は、基板と同じ電源から取った場合と、独立したUSB電源から取った場合の
どちらでもうまくいった(マザーボードから外した状態で書き込み)
・配線を長くすることでなぜ改善するのかは、まだよくわかっていない
(クロックが少し遅れることの効果?)
kobayuz 2018/09/04(火) 10:33:57
どうも、御無沙汰しておりました。色々試行錯誤してました(汗)

のすけさんのクロックPINを長くするやり方(×6位に伸ばして)で
見事修理できました! 情報を記載して頂き、ありがとうございます(涙)

CN9バーションと同じように、
93646B-4のCN2のはんだ面にピンを立てて、ICクリップで繋ぎ、マザーボードに差したまま
USB電源でArduinoを繋いでキーを送信したら、無事に立ち上がり感動で震えました。
(3回試して3回成功してるのでかなり安定しています)

※確かに最初R6に繋いで失敗した時は、クロックPINも他のPINと同じ長さでした。
 (CN2とR6が離れているため、Arduinoを基板真ん中辺りに置いて、ケーブルを左右にいっぱい伸ばす感じで
 ギリギリで繋いでました)

まさか、ケーブルを長くすることで成功するなんでびっくりですね。
Arduinoのプログラム内容を編集したら、同じケーブルの長さでもうまくいくのかもしれませんね。
ちなみに、抵抗あり無しにかかわらず成功してます。
(抵抗無しのMSHJと抵抗有りのVHUNTJ、両方とも成功しました)
nosuke 2018/09/05(水) 22:37:51
うおお、やった!!
おめでとうございます!
少しでもお役に立てたようで嬉しい限りです。
未だ、何でこれでうまくいくのかよくわからないまま悶々とした日々を
過ごしているのですが、今まで調べたことを総合すると、DATAとCLOCKの
相対関係というよりは、CLOCK単体の問題な感じがしています。
いつかは本質にたどり着きたいですね。
nosuke 2018/09/05(水) 23:48:53
あ、ちょっと進展あって、ケーブル伸ばす代わりに、75Ωくらいの
抵抗を入れてもよいことがわかりました。どうも、クロック信号が、
反射で乱れてノイズになってしまっていたのが問題だったようです。
ダンピング抵抗を入れて、これを安定させることで、
書き込みが安定するっぽいです。

https://twitter.com/konosuke/status/1037346684223684608

ちょっとケーブルを長くしただけで近い効果が得られたのは
不思議な感じです(75Ωの代わりに10Ωの抵抗入れただけだと
波形は全然改善しなかったので)。

あと、もしよかったら1点教えていただきたいのですが、M/Bに
挿した状態で書き込んだ際、CN7 B23はGNDに繋ぎましたでしょうか?

kobayuz 2018/09/06(木) 11:33:09
どうもこんにちは。
真相にかなり近づいていますね。
抵抗を入れる方がコンパクトになりそうなのでまた試させて頂きます(笑)
(ちょっとした機材の環境の違いで成功してる人としてない人に分かれている気がしますね)

自分の繋ぎ方ですが、
CN7には何も繋がないで、ArduinoだけをCN2に繋いでいました。
マニュアル通りCN2のA29~32、GND用にCN2のC32の計5本、
(CN9バージョンもCN9#1(5V)は繋がず、CN9#2~6までしか繋いでいません。 )

https://yahoo.jp/box/wRNhlR

ただ、このやり方は成功したら即画面で確認できるのは良いのですが、
その後Arduinoの電源を切ると、画面真っ暗になってまたキー消失状態に戻ってしまいます。
なのでかなり荒っぽいんですが、復号成功したら
Arduinoがまだ基板に繋がった状態からICクリップを1本1本外してました(笑)
たまにちょっとした接触で画面フリーズして、やり直しになってしまうんですが(汗)
全てクリップ外せたら、後は電池さえしっかり繋いでいれば基板の電源を切っても
キーが保持されている感じでした。
nosuke 2018/09/08(土) 01:34:57
情報ありがとうございます!

そしてうちでもM/Bに装着した状態で93646B-4の書き込みに成功しました!
当初、全然うまくいかなかったんですが、
ArduinoのGNDをJAMMAハーネスのGNDに直結するのをやめて、
代わりにサブボードのCN2 C32と繋ぐようにしたら、
安定して書けるようになりました。
本当に微妙な加減ぽいですね・・・。
あと、CLOCKに抵抗入れないと書けないのは変わらずw

そしてやはりCN7 B23には配線しておりませんでしたか。
こちらでも実験してみて、一切繋ぐ必要がないことを確認しました。
CN7 B23って、別にGNDでも何でもなくて、
サブボード単体だとCN1-C24にしかつながっていないようで
M/Bに装着するとM/B側の+5Vが出てくるピンだったりするんですよね
(一応、つないでも、M/B側でプルアップされているため、
ショートしたりはしないですが)。
なので、ここにわざわざGNDを繋ぐ必要があるのか、超疑問でした。
これでまた1つスッキリしましたw
kobayuz 2018/09/10(月) 17:42:06
そういえば、
公式サイトでも写真(画像)ではB23に繋いでいませんでしたね(笑)
1か月前位ですが、新しいアーケード用の電源を購入して、サブボードのみで
プログラムが成功した際、(CN9バージョンのみ成功しました)も最初に
CN7にはA25とA23しか繋いでいませんでしたが、それでうまく行ったので
B23には繋ぐ事はありませんでした。誤表記なんですかね?

ちなみに抵抗を入れたCN2からの復号も無事に成功致しました!
こちらの方が安定する気がします。ありがとうございます!

海外サイトの記載で見つけたのですが、

Rev. 3/4 boards have much longer traces for the programming signals
(they run almost the entire length of the board).
This means your programming signals are ~10" + whatever your actual programming cable length is.
Longer path means opportunity for noisier signals, so be careful with long cable length
(especially the GND connection between the Arduino and the B board).

信号の到達するまでの長さが、リビジョン3,4の方が遥かに長いので、ノイズが入りやすくなるので
より精度の高い信号が必要になる、という事なんですかね? ←翻訳はちょっと自信ないですが(汗)

※また、今回はマザーを複数所有してたので、実験でマザーボードのCN2から試しましたが
 全く問題なく修理できました。
 ちょうど、タクトスイッチが故障したマザーがあったので修理用に改造してしまえば、
 毎回ピンを立てる必要もなくなるので手間が減りそうな気がします。
 (フラットケーブルで繋いでコネクタ化しようかなと画策してます)
nosuke 2018/09/17(月) 22:55:47
こんにちは。お返事遅くなりました。

情報ありがとうございます。
そちらでも、抵抗でもうまく行きましたか。良かったです。

上記海外サイトの記述では、ケーブルを長くしすぎないように
気をつけろとありますが、クロック線については、実際は長くして
抵抗を増やした方が安定するのが何とも・・・w

ちなみに、kobayuzさんがM/Bに挿したままキーを書いている
というのに着想を得て、現在、「毎回起動直後に勝手にキーを
書きこむ装置」というのを作っております。

Arduinoの代わりに激安のPICマイコンを用い、これを
サブボード内に常設します。

マイコンは、電源が入ったら、リセットをかけて、勝手に
特定タイトルのキーを書き込み、最後にリセットを解除して
寝るという動作を自動で行います。毎回起動時にキーを
書くので、電池は不要となりますw

既に何個か試作して、新旧両サブボードで問題なく動作してます。
作ってみて、我ながら、かなりのインパクトというか、
完全に電池を外せるので、相当ストレスフリーになる感じですw

そのうち、何らかの形で公開する予定ですので、
その際はよかったら試してみてください。
kobayuz 2018/09/21(金) 16:21:03
おおっ!素晴らしいです!
ある意味電池レスの究極版ですよね。
これでもうサブボードをドキドキしながら開けなくてもよくなりますね(笑)

こういうのが自作できるのが凄いです。
公開を楽しみにしております。
(へたって電池がすぐ切れてしまうサブボードを何枚か持ってるので(笑)
復活させられるかもです)
nosuke 2018/10/03(水) 01:46:05
手作りだと数が多すぎて対応しきれないので、基板をおこすことに
しました(笑)。
作り方的なもの含め、そのうちご紹介予定です。

2016年11月16日の日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2016年11月
    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      

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ