はじめに
こんにちは。 最近、電気って面白いと感じるようになったトットです。
前回の異なる電圧レベルのディジタル IC をつなぐには・・・・という、質問に対し、
私 : 『 FPGA 出力バッファの Open Drain を使用し出力をハイインピーダンス状態にし、プルアップすることによって、出力電圧とは関係なく入力側の閾値を満たすことができます。 』と伝えたところ、
先輩 : 『 ハイインピーダンスの出力の意味に関しては、正解だけど、50点 ! 』
先輩 : 『 これだと、 Cyclone ® IV の Absolute Maximum を超えてしまうよ ? の Absolute Maximum を超えるとデバイスはどうなるんだっけ ? 』
私 : 『 デバイスを破損させることになります。 』
異なる電圧レベルのディジタル IC をつなぐには・・・と考えていると・・・
先輩 : 『 Open Drain を使ってみ ? 』
私 : 『 Open Drain・・・そうか!基板にトランジスタを付け加えて Open Drain にすればいいのか!! 』
基板にトランジスタを付けて Open Drain
ちなみに電流の流れは・・・
基板にトランジスタを付けて Open Drain にすることによりデバイスを破損せず、異なる電圧レベルのディジタル IC でも接続できます。
なるほど、だからハイインピーダンの状態が必要なのかと感心しつつ、VIHが低いインターフェースの時はどうしたらいいのだろう?と疑問に思ったので調べてみました。
VIH が低いインターフェースの時は・・・・
I/O バンクで VOH のレベルを選択し、電圧レベルを下げ閾値を満たします。
これで異なる電圧レベルのディジタル IC をつなぐ時も安全に FPGA を取り扱うことができるとホッとしたトットでした。
今回のまとめ
FPGA の出力電圧値が受信側の汎用 IC の入力電圧値よりも低い場合
基板にトランジスタを付け Open Drain (出力はハイインピーダンス) + pull up により電圧レベルを上げる。もしくは、レベルシフタを使用。
FPGA の出力電圧値が受信側の入力電圧値よりも高い場合
I/O バンクから規格を選択により電圧レベルを下げる。