外部バス接続を手ハンダで接続

SHマイコンと,FPGAを外部バス接続で接続しているのですが、FPGA側で応答してくれません。
(通信速度=20MHz)
C/S信号、RD信号、アドレス信号は,FPGAの直前の波形をオシロスコープで測定すると、入っているようですが,応答を返してくれません。
(Hi/Loは区別できるのですが,ノイズがある。)

マイコンとFPGAの接続は,30cmくらいのケーブルを
ハンダ付け(手作業)しております。
テスタで計測した結果接続に不良はないと考えています。

外部バス接続において,どのくらいのノイズが許容されるのでしょうか。
また,外部バス接続でこのようなやり方はよくないでしょうか?
  • naksysさん

    なんか、とっても上手く行かないような作業内容ですね^^;
    感覚的に30cmは長いです。空中配線でなくても厳しい場合があります。

    空中配線は電流のリターンパスがないので、波形が乱れやすいです。
    やるなら、シールド線を使うか、バスの束にGND線を何本か混ぜて結束バンド等できつく縛ると信号がキレイになるかもしれません。

    あとは、バス速度を落とすか、バスウエイトをできるだけたくさん挿入するとかで対応できないでしょうか?
  • シールド線は使っていないです。
    『バスの束にGND線を何本か混ぜて結束バンド等できつく縛る』
    というのは,GND線を別のところから引き出すといった感じでしょうか?

    バスウエイトはMax値=15カウント設定しているので
    CS\, RDの波形は1μsくらいの長さになっています。
    バスクロック=CPUクロック=水晶でやっているので
    クロックダウンはできそうにないです。

    ちなみに,うまく行くような手作業接続としては
    どんな接続方法がかんがえられるでしょうか?

  • naksysさん

    >『バスの束にGND線を何本か混ぜて結束バンド等できつく縛る』
    >というのは,GND線を別のところから引き出すといった感じでしょうか?

    GNDはなるべく出力ポートの近くからとってください。
    (電流ループを小さくするのが目的なので)
    可能なら基板のGNDベタのレジストをカッターなどで削ってGNDを作ってもいいかもしれません。

    イメージ的には
    出力ポートからFPGAの入力まで電流が流れて、入力のところのGNDを経由して電流が出力バッファまで一周して戻ってくる面積を小さくしたいんですよね。


    たぶんケーブルインピーダンスでの不整合(反射)もあるので、
    ケーブルの両端にそれぞれ100Ωくらいの直列抵抗をいれてみるのも手ですね。
    正直私も上手く行く方法は分かりませんけども^^;
  • naksysさん

    もし、新規にケーブル接続で設計するなら
    信号1本につきGNDを1本ペアにした差動用のツイストペアのケーブルか、フラットケーブルで「GND・信号・GND・信号・GND・信号・・・・」とすると思います。

    そうすれば少なくとも電流のリターンパスも確保できて、伝送路の特性インピーダンスが整合できるのでダンピング抵抗の調整なんかが簡単になりますので。

    とりあえずCSとRS\,WRあたりの制御線を中心に対策してみてください。場合によってはアドレス線のバタつきでアドレスがよからぬ値に読めているかもしれません・・・・。


    ケーブルが長いと色々問題が起きるので、ケーブルの途中で一旦バッファで受け直して波形をキレイにする方法もあります。(一般的にはバッファで受けるとリターンパスが小さくなるなるので波形はキレイになります)
  • スタッフのチョコです。

    naksys様のスレッドにコメントさせていただきます。

    バスを手ハンダで接続する場合には,接続がきちんとできているかどうか以前に,信号のノイズの問題が考えられます。
    kirin様もコメントしているように,インピーダンスが整合できていないと反射波により波形が崩れてしまうことがあります。どちらにしても30㎝の配線だけというのは無理かと思います。
    とりあえずは,アドレスバスはFPGAのところで,抵抗でターミネーション(簡単な場合には,抵抗でプルアップ,だめなら,さらにプルダウン抵抗抵抗も追加)してみてください。
    その上で,ダンピング用のシリーズ抵抗を挿入して,反射波を減衰させるようなことも考えられます。
    バスのスピードが遅い場合には,波形を確認しながら,数十pF~百pF程度のコンデンサを付けてみるのも方法としては考えられます。
    これらの方法を,データを受け取るタイミングの前後の波形を確認しながら進めていくことになるかと存じます。
    なお,フラットケーブルには,隣り合った2本の線がより合されているものもありますので,そこらを使って,1本の信号ごとにグランド線を入れていくのが簡単かと思います。

    間にバッファを入れるのも一つの方法ですが,グランドが弱いとバスが余計に暴れることもあります。

  • みなさん、貴重なご意見ありがとうございます。
    参考にさせて頂きます。

    ハンダ不良かオシロのプローブあたり過ぎか
    不明ですが,
    リードライトできるようになりました。
    バスラインをチェックして,ショートしている線とかがあり、ハンダを当て直すことで解決しました。

    信号ラインは,ノイズが相変わらず乗っていますが・・・