[16664]  CHANPON改造
投稿者:YU さん   2001-11-01 17:27:41
一部の山猫マシンで動作が不安定なCHANPONことIFC-USUP-TXですが、うちのXa7 (G8VSU A・ A1・) でもやっぱり安定動作してくれませんでした。症状としてはWindowsの起動途中でDLLの読み込みエラーを起こしたり、突然リセットがかかったり、あるいはメモリーエラーが出たり、などです。セーフモードでも起動に失敗していました。
そこで、まりもさんのホームページを参考に、クロックスキュー回路もどきを追加してみたところ、なんとか安定動作してくれるようになったようなので報告します。

まりもさんのページでは、マザーにインダクタを追加してクロックを遅延させていますが、うちのXa7は本体の上に色々と物が乗っていてバラすのが面倒だったので(笑)CHANPONの方を改造することにしました。
CHANPON上のクロック線を追跡してみると、カードエッジから入ってすぐのところで、なぜか0Ωのチップ抵抗が直列に入っています。まるで、今回のトラブルを設計者は予期していたかのようです。
この0Ωの抵抗を外して、15Ωの一般的なカーボン抵抗を取り付けました。なぜチップ抵抗を使わずにカーボン抵抗を使ったのかといいますと、カーボン抵抗にはその構造上わずかな寄生インダクタンスがあるため、それによる遅延を期待したためです。
抵抗値を15Ωにしたのは、たまたま目の前に15Ωの抵抗が落ちていたからです。

改造の結果ですが、このメッセージはALL SCSI化したCHANPON装備Xa7から書き込んでいますので、動作には今のところまったく異常がないことになります。なにしろ改造前はWindowsが起動すらしなかったのですから、改造の効果は十分あった思います。

解析結果を発表してくれたまりもさん、ありがとうございました。
  1. あくありうす さん   2001-11-02 00:12:09
    おおっ、これなら私にもできそう・・・ってpin番号か何か場所が分からないと試せませんね。と、適当な抵抗もてもとにないのでちょっと試せませんねぇ。
    是非やってみたいですね。
  2. YU さん   2001-11-02 13:10:59
    交換する抵抗はR86です。ディップスイッチの設定表のすぐ下にあります。
    山猫機のマザーにはバリエーションがたくさんあるので、機種によって最適な抵抗値は変わってくると思います。
    もっとも古いG8TTYだと15Ωでは安定せず、33Ω〜51Ωぐらい必要なのではないかと予測しています。
    これから試す人はマザーの型番と抵抗値と抵抗の種類を報告していただけるとありがたいです。
  3. YU さん   2001-11-02 13:36:50
    その後の状況ですが、昨日の夜からずっと電源を入れっぱなしで使っていて、2回ほど原因不明のエラーが発生しました。
    使っているのはWindows98SEで、エラーの原因がCHANPONにあるかどうかは不明なんですが、もう少し抵抗値を変えて試してみたいと思います。
  4. YU さん   2001-11-02 15:24:59
    さらに補足しておきますと、抵抗を直列に入れるだけの疑似ディレイ回路は本当はあまり好ましくないので、できる人はちゃんとした遅延回路を作った方がいいと思います。
  5. ELO さん   2001-11-02 21:11:54
    Xa12/K12(G8VSU)に15.1Ω1/4Wカーボン抵抗にてロジアナ98@500MHzで
    遅延時間を測定してみました。
    サンプリング周期が最大2nsなのでそれ以下の遅延は測定不可能なんですが
    測定画面上では概ね2nsの遅れで10クロックに1回くらの割合で遅延無し
    とういう結果になりました。実際の遅延は0.5ns〜1ns程度ってとこでしょうか。
  6. YU さん   2001-11-03 00:07:26
    ELOさん検証をありがとうございます。
    アナログ的な対策なので、遅延があったりなかったりということはないはずです。ロジアナのサンプリングレートの関係でパルスが拾えてないだけでしょうね。
  7. ほへ さん   2001-11-03 00:38:56
    ふと疑問に思ったのですが、炭素皮膜抵抗器の寄生インダクタンスって
    トリミングでカーボン層がらせん状に切られているために発生するわけですよね。
    でもこのインダクタンス、抵抗値とどの程度比例するものなんでしょう?

    あくまで抵抗である以上、あまりインダクタンスが大きくなるのは避けようとして
    膜質そのものも段階的にどこかで変えてそう(それに伴ってトリミング方法も変わって
    抵抗値とインダクタンスの比例関係が崩れる点がありそう)な気もするんですけど…
    見当違いだったらごめんなさい。
  8. YU さん   2001-11-03 02:56:05
    > このインダクタンス、抵抗値とどの程度比例するものなんでしょう?

    ほへさんの考えているとおり、カーボン抵抗のカッティングの巻き数と抵抗値はまったく比例していません。
    僕が使った15Ω1/2Wの抵抗は、らせんがほぼ4周していました。寄生インダクタンスだけではあきらかに容量が不足しています。結果的に、遅延の大半は抵抗成分の方で作られているということになります。
    それに、抵抗のリード線によって線路長が長くなったことによる遅延も入ってきますから、計算だけで遅延時間を正確に求めるのはかなり難解で、カット&トライで動作点を見つけていった方がいいんじゃないかという考えなので、抵抗を変えたことによる寄生インダクタンスの変化については、実はあまり気にしていません。
  9. BVV5 さん   2001-11-03 06:29:31
    抵抗を入れて落ち着くのはダンパー効果で波形の乱れが減少するからでは?
    メモリカードでもちゃんとした国産カードだと、各信号ラインに22オーム前後のチップ抵抗がぎっしり入っています。いまや貴重品でほとんど見かけませんけど。
  10. まりも さん   2001-11-03 09:28:12
    CHANPONの動作不良の根本原因は、PCIクロックが汚いことにあるのではなく、PCIクロックへのダンパー効果による改善は、この場合はとくにないと思います。

    抵抗を入れることでPCIクロックのレベルが下がりますが、L-->Hに変化する閾値はPCIデバイス側で固定のため変わらず、クロックがややなまっている場合は閾のタイミングがシフトすることになると考えることができると思うのですが、どうでしょうか。Xa**の場合、PCIクロックジェネレータの出力電圧振幅が大きいようなので、かなり大きな抵抗(56オーム程度)を入れてレベルが減衰してしまっても、動くようです。

    私が実験したところでは、ゲート1個入れる程に遅らせた方が安定しましたので、カーボン抵抗の持つインダクタンス成分程度では不足のはずです。

    (固定ピッチフォントで見て下さい)
    振幅が大きいとき
    ........***...........
    .......*...*..........
    ......*.....*.........
    .....*.......*........
    ....*.........*.......___閾値
    ...*|..........*......
    ***.|...........***...

    振幅が小さいとき
    ........***...........
    ......*.....*.........___閾値
    ....*.|.......*.......
    ***...|.........***...

    0...............30ns
  11. YU さん   2001-11-04 08:24:17
    クロックがポジティブエッジでラッチされる場合はタイミングが遅れますが、ネガティブエッジでラッチされる場合は逆にタイミングが早まってしまいます。
    別の表現を使うと、クロックパルスのデューティ比がかなり偏ることになります。
    PCIブリッジのデータシートをちゃんと見たわけではないのでなんとも言えないのですが、バスレシーバ回路の作りによっては抵抗でクロックのレベルが上がって逆の現象が起こっている可能性もあります。

    その後の経過報告ですが、USBマウスがときどき動かなくなります。まだ少し不安定な部分が残っているようです。
  12. YU さん   2001-11-05 02:15:50
    さらに実験を続けてみました。
    抵抗を、抵抗値が同じ15Ωのチップ抵抗に交換してみたところ、またHDDのアクセスでエラーが頻発して、MS-DOSすら起動しなくなってしまいました。
    カーボン抵抗の寄生インダクタンスは想像以上に効いていたようです。
    次に、22Ωのチップ抵抗にしたところ、セーフモードは起動しますが、通常起動はできません。
    さらに22Ω1/4Wのカーボン抵抗に交換したら、Windowsの起動は問題なく (再起動を連続3回確認) USBが不安定という昨日までの状態に戻りました。ちなみにLANでは問題は出ていません。

    時間切れにより、今日の実験はここまでです。

    まりもさん方式の改造マザーでは、USBとLANの動作はどうでしょうか?検証が可能な方がいましたら、報告をお願いします。
  13. Xa233 さん   2001-11-05 13:06:48
    いっそのこと100Ωくらいのチップ抵抗を入れてみるというのはどうでしょう?最近はCMOSになってますから、クロックラインにもせいぜい1mA流れればいいほうですし電圧ドロップも気にしなくていいと思います。
    クロックラインの寄生容量はおそらく25pF程度のはずですから22Ωのときで0.5nS程度の遅延で、100Ωに変えると2.5nS程度になるはずです。
  14. YU さん   2001-11-05 23:54:50
    100Ωのチップ抵抗は手持ちがなかったので、とりあえず51Ωのチップ抵抗を付けてみました。
    SCSIとLANは問題ありませんが、相変わらずUSBが不安定です。USBマウスをぐりぐり動かすとWindowsが不正な処理で落ちました。
    USBが不安定なのは、PCIクロックとはまた別の要因があるように思えます。
  15. YU さん   2001-11-06 07:03:44
    2時間ほどネットであちこち検索しまくって、Microsoftのサポート情報の中で、Win98SEに標準で入っている物より新しいUSBのデバイスドライバが公開されているのを発見しました。
    http://support.microsoft.com/support/kb/articles/Q253/6/97.ASP
    今日はもう疲れたので、インストールとテストは明日の夜にでもやります。
  16. Xa233 さん   2001-11-06 12:56:42
    なるほど。とりあえず50Ωくらいから安定するわけですね。報告ありがとうございました。
  17. YU さん   2001-11-07 15:53:55
    半日ほど電源を落として、マシンが冷え切った状態で起動しようとしたら、また起動しなくなってしまいました。
    レジストリにエラーが見つかったので修復しました→再起動、の繰り返しです。
    もう一度抵抗を交換してみます。
  18. YU さん   2001-11-10 02:37:19
    意外な結末です。
    抵抗を交換してWindowsの起動実験をしている最中にマシンが完全に固まってしまいました。
    CHANPONを外して見てみたら、PCIブリッジのi21152が焦げていました。原因は不明です。
    というわけで、CHANPONが完全に壊れてしまったので、かわりのCHANPONも今からでは入手は無理そうですし、安定化実験は結論が出ないまま終了です。
  19. Xa233 さん   2001-11-10 23:36:08
    ご愁傷さまです。
    どっかのピンがショートしたんですかね。
  20. YU さん   2001-11-11 01:30:30
    > どっかのピンがショートしたんですかね。

    基板をルーペで隅々まで調べたんですが、ショートではなさそうです。
    クロックの立ち下がりエッジで発生する逆起電力でレシーバがやられたっぽいです。
  21. まりも さん   2001-11-11 13:29:34
    >クロックの立ち下がりエッジで発生する逆起電力でレシーバがやられた
    ダンパー抵抗を大きくしているくらいだから、その可能性は、なくはないにしても小さくなる方向では…。クロック遅延により遅れた21152の出力と、チップセットからの次のサイクルの出力とが衝突してしまうタイミングが出来てしまい、21152側のトランシーバが壊れたという可能性はないでしょうか。
  22. YU さん   2001-11-14 10:33:33
    > その可能性は、なくはないにしても小さくなる方向では…。
    結果的にインダクタンス成分が抵抗成分よりも21152に近い部分にできてしまうような配線になっていたので、可能性は小さくはなっていないです。
    ただ、ご指摘のとおり出力の衝突の可能性もありますね。
    こればっかりは波形観測しか確認する方法がありませんが、現物が壊れてしまったのではなんとも。