• ベストアンサー

FPGAの入力インピーダンスについて

FPGA(spatan3のxc3s200)の入力インピーダンスがどの程度の値なのかご存知の方いらっしゃいましたら、 教えていただけないでしょうか? FPGAの入力インピーダンスはものすごく大きいものだと思っていたのですが、 Vp-p=3.3Vの信号を50Ω(同軸ケーブル)の抵抗を介してFPGAに入力し、 FPGAの入力部の電圧をオシロスコープで測定した結果、1.8Vほどまで電圧降下していました。 オシロスコープの内部抵抗は1MΩですので、FPGAの入力インピーダンスが 極端に小さく、 その結果分圧が起きて、電圧降下が起きたと考えています。 なので、データシートで確認をしようと思ったのですが、入力インピーダンスの項目がありませんでした。 どなたかご存知の方いらっしゃいましたら、教えていただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tance
  • ベストアンサー率57% (402/704)
回答No.5

No.2 tanceです。 このような場合はいくつかの方法がありますが、信号が周期的な 信号であって、途中で止まったり"H"と"L"の密度が変化しない のであれば、コンデンサ結合が簡単です。(クロックのような信号) FPGAの入力には例えば、100kΩの抵抗を3.3Vへ1本と、同じく 100kΩをGNDへ1本つないでおきます。(これで1.65Vを作る) そこへコンデンサ(セラミックコンデンサの10uFくらいが 適当か)で信号源をつなぐと、信号が来ているときはちゃんと 動きます。 そうでなくて、ビットストリームのように"H"と"L"の密度が 変わる信号だったり、信号が止まったりすると、ちゃんとした レベルシフト回路が必要になります。 レベルシフト回路にはたくさんの方式があります。ただ、信号源の 性質にも拠るので、どれが良いかは単純には決まりません。 信号のタイミングが重要なのか、周波数だけが問題なのか、 立ち上がりと下がりではどちらが重要か、信号源のインピーダンスは どうか・・・など具体的にならないと最適な設計はできません。 急場しのぎであれば、(信号の性質にもよりますが)大容量コンデンサ で結合して、FPGA側にはショットキダイオードを使ったオーバー 電圧保護回路を設けると、よほど低周波でないかぎりたいてい 動きます。 それでひとまず時間稼ぎができるなら、その間にちゃんとした レベルシフト回路を作るのが良いと思います。

noname#137276
質問者

お礼

丁寧な説明で画像まで作っていただきありがとうございます。 おかげで、しっかりと電位をあげることが出来ました。 ありがとうございました。

その他の回答 (4)

回答No.4

>FPGAの入力インピーダンスが極端に小さく、 >その結果分圧が起きて、電圧降下が起きたと考えています。 もしも,本当にそんなにインピーダンスが低かったら他の会社,他の人はどうやって使っているでしょう?消費電流もものすごいことになってしまって,ちょっと想像しただけでも使い物になりませんよね? 他の信号と短絡している,あるいは入力のつもりが出力に設定して'L'レベル出力が出ている・・I/O用のVCCが3.3V未満になっている/供給されていないところにつないでいる・・など,使い方が間違っているという方向から疑ってかかったほうがよろしいかと.

noname#137276
質問者

お礼

回答ありがとうございます。 調べてみて分かったのですが、Vp-p=3.3Vの信号は基準電圧が0Vなのですが、 FPGAへの入力は0~3.3Vとなっております。 Highが2.5V~3.3V、Lowが0V~0.7Vです。 そのため、何か不具合が発生していたと思われます。 ですから、1.65Vの直流バイアスをFPGAの入力部に付加してあげなければいけないと思うのですが、 何かよい方法はあるでしょうか?

回答No.3

FPGAのピンがLow出力して、出力同士が衝突しているとは考えられませんか? 「Vp-p=3.3Vの信号」を出力するデバイスも、FPGAも出力電流を制限する回路が内蔵されていると思いますので High出力とLow出力が衝突すると大体中間くらいの電圧になると思います。 一度、FPGAのピンアサインやFPGA内部回路で出力に設定していないか などを確認されてはいかがでしょうか。

noname#137276
質問者

お礼

回答ありがとうございます。 調べてみて分かったのですが、Vp-p=3.3Vの信号は基準電圧が0Vなのですが、 FPGAへの入力は0~3.3Vとなっております。 Highが2.5V~3.3Vで、Lowが0~0.7Vです。 そのため、何か不具合が発生していたと思われます。 ですから、1.65Vの直流バイアスを付加してあげなければいけないと思うのですが、 何かよい方法はあるでしょうか?

  • tance
  • ベストアンサー率57% (402/704)
回答No.2

間違いなく入力にアサインされていれば、一般的に言うインピーダンス は高いですが、周波数が高いといわゆる抵抗よりも容量の方が 効いてきます。Spartan3の入力容量は仕様では3pF~10pFとなって います。(グローバルクロックはもっと低容量かも) 同軸ケーブルの50Ωの抵抗をつなぐ、という意味がよくわかりません。 抵抗を接続しているのでしょうか。それとも同軸ケーブルだけを 接続しているのでしょうか。 周波数が高いと同軸ケーブル~FPGAの接続のしかたによっても 信号のレベルが落ちます。この石は600MHzくらいでもトグルする ようですが、もし信号周波数が500MHzくらいあったとすると、 入力容量の影響は大きいです。 そんなに高周波ではなくても、同軸ケーブルの端部を長く剥いている と信号レベルが落ちます。プリント基板のパターンにも影響されます。 試しに100kHzくらいのデューティ比50%の信号を入れてみてください。 これでも減衰するようだと、何かが根本的におかしいです。 (本当に入力?) 100MHzを越えるとオシロのプローブの当たり方でも観測される 信号レベルや波形は相当変わります。長いGND線や、プローブの 先を普通の線で延長したりするとテキメンです。 周波数と、50Ωの抵抗を入れているのかどうかを教えてください。

noname#137276
質問者

お礼

回答ありがとうございます。 信号周波数は250kHzですので容量の心配はないですね。 調べてみて分かったのですが、Vp-p=3.3Vの信号は基準電圧が0Vなのですが、 FPGAへの入力は0~3.3Vとなっております。 そのため、何か不具合が発生していたと思われます。 ですから、1.65Vの直流バイアスを付加してあげなければいけないと思うのですが、 何かよい方法はあるでしょうか?

回答No.1

spatan3のxc3s200について知っているわけではありませんが、通常FPGAの入力インピーダンスは非常に高いはずです。(書かれているような現象は起こらないレベルです) ですので、今回の問題が発生している原因は、I/Oポートの設定が間違っているのではないかと考えられます。 または、このFPGAのI/Oポートの電圧を1.5Vとしていることはありませんか? 電源電圧より高い電圧が入力されると、内部の保護素子(ダイオード)により電源電圧+0.3V程度に電圧がクランプされます。 もしこの場合、50Ωの抵抗が電流制限の役割を果たしてくれますが、FPGAがダメージを受けている可能性もあります。

noname#137276
質問者

お礼

回答ありがとうございます。 >通常FPGAの入力インピーダンスは非常に高いはずです。 やはりそうなのですか…。 FPGAのI/Oポートは3.3V用に設定しております。 直流電圧源から、3.3Vの電圧を直接かけてみましたが、 しっかりと3.3Vでており、動作も正常です(特にFPGAがダメージを受けているような感じはありません)。

関連するQ&A

専門家に質問してみよう